Sto provando a controllare dei motori brushless (ventola) tramite l'uscita pwm di Arduino, di preciso il pin 5. Ora per funzionare funziona, ma emette un fischio fastidiosissimo.
Ho analizzato tramite logic tool del pickit 2 l'uscita e segna 943Hz...possibile?? Con un quarzo da 16Mhz l'uscita del pwm è così bassa?
Ho provato ad implementare il pwm via software ma non può funzionare: all'aumentare del codice si sfalsano tutti i tempi come è ovvio che sia...
A questo punto chiedo, avendo bisogno di pilotare 4 canali indipendenti:
uso i moduli pwm dell'atmega (se però c'è un modo per alzare la frequenza almeno oltre 20Khz, soglia udibile)
esistono integrati che io gli passo il valore del duty e loro gestiscono il pwm x i fatti loro?
Potresti ridurre il fischio mettendo delle capacità in uscita del ponte H, però occhi a non superare le specifiche nel datasheet.
uso i moduli pwm dell'atmega (se però c'è un modo per alzare la frequenza almeno oltre 20Khz, soglia udibile)
Si, c'è la possibilità di impostare il Fast PWM, leggi il datasheet, mi pare solo per il Timer0.
esistono integrati che io gli passo il valore del duty e loro gestiscono il pwm x i fatti loro?
Penso di si, per certo esistono dei driver con a bordo il PWM, sto facendo una ricerca perchè anche io devo pilotare dei motori dc + encoder in quadratura.
Che pirla esistono e come se esistono SG3525/26/27 c'è ne un milione, cerca alimentazioni switching.
Alcuni però hanno un ristretto range del PWM.
Riprendo la ricerca dopo una pausa, teniamoci in contatto.
Ok ciao.
cerca che ti cerca ho trovato come modificare il prescaler dei timer1 e timer2.
Questi pare non influiscano su delay(), millis(), ecc...e ho portato il pwm a 32KHz...perfetto...nessun fischio...
Ora sono alle prese con un altro problema: incrementare a step di 5% il duty dato che 1% di 255 = 2.55 e 2.55*5 = 12.75
Ciao a tutti:
La frequenza PWM del Arduino é di 490Hz. Questa frequenza é stata scelta proprio per problemi con motori.
Se alzi la frequenza avrai caratteristiche del motore diverse visto che la resistenza data dalle induttanze del motore aumenta con la frequenza; Le perdite nel ferro del motore aumentano. Anche i ponti H hanno un limite di frequenza per pilotarli in PWM.
Secondo me non puoi utilizzare dei integrati pilotaggio per alimentatori switching. Sono concepiti per altre finalitá e devi fare tutta la regolazione in analogico.
Ciao Uwe
Sto provando a controllare dei motori brushless (ventola)
Allora certo che fischiano.
I motori DC delle ventole sono motori "bifasici" o in pochi casi di ventole piú grandi "trifasici".
Se ne apri una vedrai:
Hanno sul rotore un magnete ad anello normalmente a 4 poli
Hanno sullo statore piú poli con avvolgimenti separati che vengono pilotati elettronicamente per generare un campo magnetico rotante che fa girare il rotore e percui la ventola. La combinazione del alimentazione PWM e del generare internamente 2 alimentazioni rettangolari genera un interferenza che senti come fischio.
Per risolvere il Tuo problema del fischio:
Comprati una ventola con controllo PWM (quelli a 4 fili) e dai il segnale PWM del Arduino nel entrata PWM della ventole.
no ma ora portandolo a 32KHz non si sente più nulla, essendo fuori dallo spettro udibile
Mi chiedevo se possa rovinarsi ma non credo...è come accendere/spegnere
Dipende da che ponte h stai usando :un L298 arriva a frequnze max di 40Khz ,per altri modelli va visto il datasheet.
Aumentare troppo la freq puo' portare al corto dei rami del ponte che non riescono a reggere la velocità di commutazione.
non uso ponti H
Sono ventole da pc...parlando con altra gente su un forum di elettronica mi hanno consigliato di tenere la frequenza bassa, sui 30Hz, dato che anche gli integrati destinati a tale scopo (fan controller) la mantengono all'incirca su quella freq li...
Ho quindi impostato il prescaler a 5, circa 31Hz
Hai comunque un buffer, cioè un transistor o mosfet che pilota il carico. Tra l'uscita del transistor ed il motore allora puoi mettere un filtro LC, cioè induttanza serie e capacità parallelo. Però si deve calcolare la frequenza di passa basso. Se con frequenza così bassa non riscontri problemi allora niente filtro al massimo una capacità da 100nF in parallelo al carico (cioè su i fili della ventola) solo per ripulire le armoniche generate dall'onda quadra.