Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pitanje u vezi sa Microchipovim PIC18F23k20, enhanced pwm
#1
Poštovana ekipo,
Konstruisao sam solidan DC servo driver sa PIC18F23K20, međutim ostao mi je jedan problemčić koji ne mogu da rešim (tačnije mogu ali nije elegantno rešenje) a on se tiče enhanced PWM-a na pomenutom mikrokontroleru. Evo o čemu se radi, meni je DC motor vezan u full bridge koji se kontroliše pomoću dva IR2110 high side low side drivera gde je napajanje drivera gornjeg mosfeta urađeno tipičnim bootstrapingom kao u app.noti drivera. Ovo uslovljava da PWM ne moze da bude 0 i 100%, i u trenutnoj aplikaciji gde mi je PWM frekvencija 7.8kHz, dozvoljavam PWM od nesto manje od 2% do nešto više od 98%. Na 50% pwm motor je u aktivnom kočenju kako se pwm smanjuje motor ide sve brže 'u levo' odnosno kako raste ide sve brže 'u desno'. Neutralisanje viška KEMS iz motora se vrši kočionim otpornikom koji se uključuje malim histerezisnim komparatorom u MCU. Ovo je sve standardno. Driveri su vezani tako da su 'gornji levi' i 'donji desni' MOSFET odnosno 'donji levi' i 'gornji desni' MOSFET uključeni istovremeno, tj. ceo H most se pogoni sa dva PWM kanala koji su u fazi poput asimetričnog half-bridgea, naravno sa dead time-om kako bi se sprečilo uzdužno provođenje. Trenutno PIC generiše jedan pwm kanal koji se hardverski invertuje i pravi se dead time sto troši jedan TTL cip (74HC132) i prilično me nervira jer je divljačko rešenje, posebno ako uzmemo u obzir da PIC18F23k20 im tzv enhanced pwm modul koji moze da se konfigurise kao single pwm, half bridge pwm ili full bridge pwm u različitim konfiguracijama i plus ima dead time modul u sastavu enhanced pwma. Međutim kao za baksuza nema ni jednu opciju da generiše drive za asimetrični half bridge. Da li neko ima ideju kako ovo može da se reši u firmware-u? 

Puno hvala!
Reply


Messages In This Thread
Pitanje u vezi sa Microchipovim PIC18F23k20, enhanced pwm - by Papak - 05-20-2021, 05:56 PM

Forum Jump:


Users browsing this thread: 3 Guest(s)