PWM, MCU e limitazione di corrente
Quanto segue è in parte connesso con un altro thread:
viewtopic.php?t=70445&p=725353#p725353
Un motore a corrente continua viene alimentato con un ponte H in PulseWidthModulation generata da una MicroControllerUnit, e per complicare le cose supponiamo che si tratti di una alimentazione a tensione alternata asimmetrica cioè LockedAntiPhase a frequenza piuttosto alta, decine di kHz, con relativi dead-time quando si passa da una polarità a quella opposta. In effetti il sistema LAP è preferibile quando vogliamo avere il controllo sia in accelerazione che in decelerazione.
Il problema è che a tutto questo vogliamo aggiungere una limitazione della corrente istantanea assoluta, misurata fra la batteria e il ponte H. Quando questa supera un valore di soglia prefissato a piacere, bisogna interdire istantaneamente (cioè entro pochissimi cicli della MCU) tutti i semiconduttori finali del ponte H e lasciarli interdetti fino all'inizio del successivo ciclo completo del PWM. Mi sono sforzato di ottenere questo risultato con MCU sia Atmel che dsPic ma sembra proprio che si tratti di una strada sbarrata. Ovviamente si può fare gestendo tutto in software senza utilizzare le funzioni PWM previste nei timer, ma allora addio alte frequenze con dead time, quindi va a finire che le estracorrenti anzichè limitarle le generiamo! Rimane la soluzione di un hardware esterno che realizzi la protezione. Infatti dando un'occhiata al datasheet dello half-bridge BTN7960 trovo una protezione di corrente inclusa ma non mi è molto chiaro se bisogna in qualche modo collegarla alla MCU.
Insomma come ci si regola in questi casi?
P.S. aggiungendo dei filtri RC sul segnale di massima corrente, pare che la gestione in software funzioni.
viewtopic.php?t=70445&p=725353#p725353
Un motore a corrente continua viene alimentato con un ponte H in PulseWidthModulation generata da una MicroControllerUnit, e per complicare le cose supponiamo che si tratti di una alimentazione a tensione alternata asimmetrica cioè LockedAntiPhase a frequenza piuttosto alta, decine di kHz, con relativi dead-time quando si passa da una polarità a quella opposta. In effetti il sistema LAP è preferibile quando vogliamo avere il controllo sia in accelerazione che in decelerazione.
Il problema è che a tutto questo vogliamo aggiungere una limitazione della corrente istantanea assoluta, misurata fra la batteria e il ponte H. Quando questa supera un valore di soglia prefissato a piacere, bisogna interdire istantaneamente (cioè entro pochissimi cicli della MCU) tutti i semiconduttori finali del ponte H e lasciarli interdetti fino all'inizio del successivo ciclo completo del PWM. Mi sono sforzato di ottenere questo risultato con MCU sia Atmel che dsPic ma sembra proprio che si tratti di una strada sbarrata. Ovviamente si può fare gestendo tutto in software senza utilizzare le funzioni PWM previste nei timer, ma allora addio alte frequenze con dead time, quindi va a finire che le estracorrenti anzichè limitarle le generiamo! Rimane la soluzione di un hardware esterno che realizzi la protezione. Infatti dando un'occhiata al datasheet dello half-bridge BTN7960 trovo una protezione di corrente inclusa ma non mi è molto chiaro se bisogna in qualche modo collegarla alla MCU.
Insomma come ci si regola in questi casi?
P.S. aggiungendo dei filtri RC sul segnale di massima corrente, pare che la gestione in software funzioni.