Come posso far girare un vecchio motore HDD?


11

Ho rimosso un vecchio HDD IDE (40 Pin) del 1998 per l'utilizzo in un progetto di visualizzazione POV (Gr. 12 Computer Engineering), e ho cercato di farlo girare.

Il problema è che il motore HDD è DC senza spazzole, quindi richiede molto più di una semplice connessione a terra e sorgente. La nostra elettronica ha una corrente di uscita massima di circa 200 mA (555, transistor, altri circuiti integrati), quindi non posso lavorare con quelli.

Il collegamento dell'HDD con il PCB all'alimentatore accenderà il motore per circa 15 secondi prima di spegnersi.

L'HDD è completamente rimosso con solo il motore e il PCB avvitati nella base. Il motore ha 4 pin. Dal tempo trascorso a giocarci, c'è 1 pin per terra e 3 altri pin che penso siano per le 3 coppie di bobine.

Informazioni sull'HDD:

  • Fujitsu MPB3043AT
  • 12V DC 0.32A
  • 5 V CC 0,5 A.

materiali:

  • Arduino Uno
  • Vecchio HDD
  • PSU
  • breadboard
  • Batteria da 9 V.
  • Batterie da 1,5 V.
  • 74HC164 registri sihft a 8 bit
  • 555 Timer IC
  • 3904/3906 Transistor
  • Condensatori, resistori, potenziometri

Quali opzioni devo far girare il motore (preferibilmente senza l'alimentatore, ma sono aperto alle opzioni con l'alimentatore)? C'è un pin sull'IDE che mi permetterà di accenderlo / spegnerlo?

AGGIORNAMENTO 1: ho armeggiato con il cavo IDE. Quando collego il pin 27 (IO Ready) al pin 2 (Terra), il motore ha iniziato a girare come se lo avessi appena collegato all'alimentatore, ma solo per circa 10 secondi. E ho dovuto aspettare qualche minuto prima di riuscire a farlo girare di nuovo usando questo metodo

AGGIORNAMENTO 2: Si scopre che il motore ha solo 5 V e non 12 V, il che dovrebbe facilitare un po 'le cose


3
Non è possibile controllare facilmente il motore HDD tramite cavo IDE. A differenza delle unità floppy, in cui i comandi del motore vengono inviati direttamente tramite il cavo IDE, sulle unità disco fisso, il controller dell'unità dovrebbe calcolare la posizione del cluster e azionare il motore.
AndrejaKo

Grande. Questo è quello che ho pensato, ma come fa il computer a far girare l'unità?
Alex,

1
La maggior parte dei motori HDD sono motori BLDC (senza spazzole). Possono essere guidati da ESC senza spazzole. Il più economico sarebbe comprare l'hobby RC ESC e guidarlo con PWM.
Gossamer,

@Alex Yan Non ho studiato troppo il campo, ma penso che non lo faccia. Forse è meglio dire che al computer non importa se il disco gira o meno fintanto che l'unità risponde correttamente ai comandi. Forse potresti provare a falsificare alcuni comandi ATA sul disco e vedere se continua a girare. Ecco un elenco di alcuni comandi ATA. Non sono sicuro di quanto sia fattibile provare effettivamente a generare comandi. Arduino potrebbe essere troppo lento per il tuo uso.
AndrejaKo

1
Come eseguire il motore HDD utilizzando la scheda audio del PC youtu.be/R9Q1XrFZr5E

Risposte:


3

La maggior parte dei motori HDD sono motori BLDC (senza spazzole). Possono essere guidati da ESC senza spazzole. Il più economico sarebbe comprare l'hobby RC ESC e guidarlo con PWM. Qualcosa di simile a questo sarebbe bene. (peluche turnigy 25A).

25A significa che può essere utilizzato per far funzionare i motori fino a quella corrente senza danneggiare l'ESC. Potresti trovare anche un ESC inferiore (ma questo è abbastanza economico).

ESC composto da tre fili, non ci sono ESC a 4 fili. È necessario misurare la resistenza tra coppie di fili e collegare solo fili con resistenza più elevata. Uno con resistenza inferiore non viene collegato.


3

Non sono sicuro di aver ricevuto correttamente la tua domanda, ma presumo che tu stia chiedendo come far girare il motore HDD in modo continuo (anche supponendo che non hai ancora un circuito in atto per far girare il motore).

I motori AFAIK HDD sono motori passo-passo con 3 bobine per alimentare la sorgente di ingresso in diverse fasi di rotazione del motore. Dovrai fornire una tensione di alimentazione trifase per funzionare in modo ottimale.

Ho trovato un utile schema su Internet qui . Potresti creare il tuo circuito di pilotaggio basato sugli schemi mostrati qui.


Questo collegamento è OK come viaggio di apprendimento, ma i moderni circuiti integrati del controller rilevano anche i "bisogni" dei motori utilizzando i segnali delle bobine del motore per il feedback. Modificano i tempi dell'azionamento per adattarsi a ciò che il motore sta effettivamente facendo. (I controller Olde spesso utilizzavano sensori separati per determinare l'azione del motore. Questo è ancora fatto ma è molto più raro). Il controllo "OPen loop" dei motori non è una buona idea.
Russell McMahon,

3

Spero che non sia troppo tardi.

Ho scritto un articolo qui . Fondamentalmente stavo usando Arduino per inviare segnali discreti a tutte e 3 le fasi, ma quelle tre fasi si combinano per dare una forza attrattiva continua e far ruotare il rotore. Questi segnali consentono ai transistor Darlington di passare una corrente maggiore per pilotare il motore.


2
Benvenuto in EE.SE! In genere scoraggiamo le risposte basate principalmente su collegamenti a risorse esterne a questo dominio, poiché i collegamenti tendono a interrompersi nel tempo e la risposta non ha alcun valore. Puoi includere ulteriori informazioni qui in modo che la tua risposta abbia un valore duraturo?
Joe Hass,

2

Ho semplicemente usato un generatore freq da $ 3 (aliexpress.com) e un N-FET, collegato una fase a 12V, l'altra per drenare e sorgente a terra. Molto semplice. Ci sono due problemi, nessun avvio automatico (ho impostato a 60Hz e gli faccio una leggera rotazione), e c'è un limite di accelerazione, non puoi andare veloce o perde la sincronizzazione. I test rapidi hanno mostrato che la frequenza a 1000Hz non era un problema (circa 6W in ingresso a 12V). AGGIORNAMENTO: Ho ottenuto il motore del disco rigido per girare 25.000 rpm usando questo semplice generatore fet e freq. https://www.youtube.com/watch?v=SRk651ThM0k

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.