Pagina 1 di 2

Stessa frequenza PWM Arduino

MessaggioInviato: 25 giu 2025, 17:27
da andre29
Ciao a tutti,
sto per provare a comandare un ponte trifase con Arduino. Poi passero a STM32.
Per comandare il ponte mi servono 6 pin PWM. (Ho già la potenza e il driver accetta il pin basso e alto).

Però il PIN 5,6 sono collegati al TIMER0 (62500 Hz) e i gli altri sono collegati ai TIMER 1/2 (31250 Hz). Anche settando i vari Prescaler non riesco a trovare un frequenza comune.
Esiste una soluzione?

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 25 giu 2025, 22:53
da EcoTan
Nella MCU che uso io (dsPic33), i pin PWM non sono collegati propriamente a dei timer bensì a un modulo PWM che utilizza il clock per conto proprio.
Oppure configuro i pin come digital output e faccio tutto in software.

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 26 giu 2025, 8:43
da esisnc
andre29 ha scritto:Ciao a tutti,
sto per provare a comandare un ponte trifase con Arduino. Poi passero a STM32.
Per comandare il ponte mi servono 6 pin PWM. (Ho già la potenza e il driver accetta il pin basso e alto).

Però il PIN 5,6 sono collegati al TIMER0 (62500 Hz) e i gli altri sono collegati ai TIMER 1/2 (31250 Hz). Anche settando i vari Prescaler non riesco a trovare un frequenza comune.
Esiste una soluzione?


Si, ma dovresti usare solo 3 uscite PWM, sotto lo stesso timer, e poi i comandi di ogni "gamba" (leg) del ponte trifase ai dispositivi "alti" e "bassi" li realizzi in modo hawdware con un driver dedicato che ti consente anche di regolare i tempi morti tra le commutazioni a tuo piacimento.
In alternativa devi passare a un micro diverso come ti ha suggerito EcoTan.

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 9:03
da andre29
esisnc ha scritto:
Si, ma dovresti usare solo 3 uscite PWM, sotto lo stesso timer, e poi i comandi di ogni "gamba" (leg) del ponte trifase ai dispositivi "alti" e "bassi" li realizzi in modo hawdware con un driver dedicato che ti consente anche di regolare i tempi morti tra le commutazioni a tuo piacimento.
In alternativa devi passare a un micro diverso come ti ha suggerito EcoTan.


Ho preso una demo board dell'ST che monta già i Driver L6398. Quindi avrei già il connettore con i segnali HIN e LIN.
Se cambiassi uC risolverei subito, però prima volevo pensare a qualcosa d'altro. Tipo a un Mux o un qualcosa tra il uC e il Driver.

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 9:17
da EcoTan
Alla fine i segnali H ed L sono semplicemente uno il negato dell'altro salvo il dead time, che comunque verrebbe dato dal driver. Per una prima prova "fredda" potresti mettere un semplice inverter tipo porta Not. Mi pare che il problema della frequenza rimanga, e forse anche del necessario sfasamento.

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 11:14
da stefanopc
Se lavori a 50 Hz e ti serve un approccio basico converrebbe fare tutto via Sw dedicando il Micro esclusivamente a questo compito.
Ciao

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 17:37
da andre29
Forse una cosa del genere potrebbe funzionare. Quando piloto il ponte ho bisogno di accendere il MOS alto o il MOS basso. Ma mai entrambi lo saranno contemporaneamente. Con una specie di switch (74LVC163157) mando la PWM sul gate che mi interessa.
Il Pull down mi serve per assicurarmi che il gate stia basso. Però rimane il problema dei tempi morti.
Che ne dite?


Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 18:04
da standardoil
Non mi è chiaro come lo stesso impulso possa comandare un MOS alto o un MOS basso
Cambiano mica i riferimenti di tensione tra i due casi?

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 27 giu 2025, 18:11
da EcoTan
Che motore, o che genere di carico, vuoi alimentare? Non è che possiamo pensare a un ponte senza avere un'idea delle tensioni e correnti in gioco.

Re: Stessa frequenza PWM Arduino

MessaggioInviato: 28 giu 2025, 17:31
da andre29
standardoil ha scritto:Non mi è chiaro come lo stesso impulso possa comandare un MOS alto o un MOS basso
Cambiano mica i riferimenti di tensione tra i due casi?


Hai ragione, sono stato troppo frettoloso a disegnare lo schema. Ho dimenticato il Driver.
Devo comandare un motore BLDC. Per il momento lo vorrei comandare con il controllo a trapezio tramite sonde Hall. Quindi se capito correttamente le configurazioni dei MOS per ogni posizione del rotore,per gamba un MOS è sempre acceso e l'antro no. Allora ho pensato a una cosa del genere. Vi torna? :roll: