Riutilizzare un motore BLDC di un Hard Disk con Arduino

Salve a tutti,
Sono venuto in possesso di un vecchio hard disk da 10000rpm e ne ho preso il motore( che ha 4 pin: 3 per le fasi e uno per la massa)...
Stavo cercando su Internet quale sia il metodo migliore per pilotarlo e ho trovato un'articolo che utilizza come integrato l'L293D
http://letsmakerobots.com/node/2898
Avevo però delle domande su come pilotarlo con l'arduino..
Infatti pensavo che i motori brushless per essere pilotati correttamente avessero bisogno di una circuiteria che riusciva a capire quando commutare le fasi, invece facendo riferimento a questo articolo:

lui semplicemente decide la frequenza di commutazione e tutto va( almeno da quello che ho capito)
Ma inoltre ho un'altro dubbio....il duty cycle delle tre PWM non dovrebbe essere del 33%? e poi non sono limitato utilizzando le PWM dell'Arduino che, così come sono, se non sbaglio lavorano a 490hz?
Visto che, da come ho letto, già con frequenze di 100hz il motore potrebbe arrivare a valori che mi servono(5000-6000rpm) mi conviene pilotare direttamente i 3 pin, sovraccaricando però un po' il loop dell'Arduino?
grazie...:slight_smile:

usare direttamente i pin arduino ha lo svantaggio che lo friggi; devi usare dei mosfet o simili per amplificare la potenza del segnale arduino.
Fatto ciò, nulla ti vieta di creare i 3 segnali con arduino al posto che usando l'apposito integrato; anzi negli ESC da modellismo che ho a casa per motori BL, all'interno c'è proprio un atmega, anche se non il 328p (ma una versione più "castrata" e quindi economica) e in versione SMD

sisi....infatti pensavo a 3 BJT in cui piloto il gate...
quindi basta questo?
per quelle frequenze non devo temere qualcosa?( tipo transitori o altro)?
e per il fatto del duty cycle mi puoi consigliare qualcosa?

non so, guarda i datasheet per le frequenze, per il duty cicle non so, dovresti farti i conti.

Non ho capito perché non vuoi usare un L293D?

Se usi il Brushless con un pilotaggio a frequenza fissa senza controllo della posizione del rotore é praticamente un motore sincrono con i rispettivi vantaggi/svantaggi (ha una velocitá di rotazione costante / non parte da solo)

I circuiti come i ESC o gli integrati che pilotano i motori dei HD o CD/DVD hanno un controllo della posizione per conoscere il momento di comutazione e percui partono da soli.

Se usi un Arduino e crei un sistema trifase con un L293D o dei Transistori devi programmare una rampa di accelerazione/decelerazione per far partire/fermare il motore.

Ciao Uwe

@uwe
forse io non ho capito bene il procedimento....
comunque devo pilotare gli ingressi del L293D no? o mi sbaglio?
e gli devo trasmettere l'onda quadra che mi serve in uscita giusto?
il fatto di usare i bjt era per comodità perchè ho quelli al momento....

comunque intendevo fare un controllo che mi permettesse di accelerare la rotazione del brushless fin a farlo arrivare a regime(e la sua decelerazione)...perchè comunque volevo pilotarlo con un potenziometro
ma non capisco perchè in quell'articolo i duty cycle delle onde quadre non sono al 33%...da quel poco che mi ricordo dovevano esserlo....

Il duty cycle é a 33% perché fai un sistema trifase ad onda quadra percui 1 onda é a + alimentazione e l' altre 2 sono a massa.

Il L293D puoi pilotarlo direttamente con Arduino.

Se vuoi fare una sostituzione del L293D devi usare 2 transitore in configurazione totem pole (un PNP verso + alimentazione e un NPN verso massa)

WORKSHOP - Ponte H ma funziona solo fino a 6V
http://pap-empilhador.blogspot.it/ ma senza un enable; non puoi spegnere il ponte.

Ciao Uwe

Ah ok..perfetto...come pensavo per il duty cycle...

Domani vado al negozio e vedo se hanno quell'integrato....:smiley:

scusa ancora una domanda( magari stupida) non posso usare 3 bjt indipendenti e 3 pin dell'Arduino? O vado incontro a qualche problema?

Un'altro dubbio...
Ma è possibile farlo senza sensore( tipo di hall)? Perchè dovrei sapere( più o meno) quando devo iniziare la commutazione ad inizio giro...altrimenti va a finire che le commuto non al momento giusto....

scusa non ti seguo, cosa c'è che non va nel sensore hall?

Mi son espresso male...:smiley:
Intendevo se fosse possibile senza alcun sensore, visto che su YT c'è chi riesce a pilotare il motore senza alcun feedback( nel caso del sensore di hall bisogna avere ad esempio la calamita nella faccia sotto del piatto).

Se vuoi usare il motore come motore brushless perché non usi l' integrato di pilotaggio originale del HD?
Ciao Uwe

a parte che la calamita puoi metterla di lato, oppure usare una banda nera/bianca e un led fotosensibile, etcc...

comunque gli stessi avvolgimenti sono dei sensori hall... certo moolto complicato usarli correttamente

senza feedback in assoluto credo che basti aumentare piano piano la velocità del motore e non dovresti avere alcun problema