Pages: [1]   Go Down
Author Topic: Riutilizzare un motore BLDC di un Hard Disk con Arduino  (Read 1750 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
http://bradthx.blogspot.it/2010/02/fun-with-hard-drive-spindle-motors.html
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...smiley
Logged

0
Offline Offline
Shannon Member
****
Karma: 132
Posts: 10498
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

0
Offline Offline
Shannon Member
****
Karma: 132
Posts: 10498
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@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....

Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)

http://www.adrirobot.it/robozak/workshop/PONTE_H/ponte_h.htm ma funziona solo fino a 6V
http://pap-empilhador.blogspot.it/ ma senza un enable; non puoi spegnere il ponte.

Ciao Uwe

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

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

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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....
Logged

0
Offline Offline
Shannon Member
****
Karma: 132
Posts: 10498
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi son espresso male...smiley-grin
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).
« Last Edit: June 20, 2012, 09:00:19 am by Tr3nT » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Shannon Member
****
Karma: 132
Posts: 10498
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1]   Go Up
Jump to: