Taigis, kiek parašysiu kaip padarytas PWM kontroleris. Jis buvo kuriamas su kaikokiom įdėjom, bet tos įdėjos nebuvo realizuotos arba nebuvo reikalingos vėliau. Pirma mintis buvo, kad sistema bus skirta 24V sistemai, vėliau ji buvo naudojama 12V sistemoje, dabar Liion 4 celės. Buvo sugalvota analoginė per didelės srovės atkirta (šuntas, įtampos nuėmimas ir komparatorius), bet vėliau to buvo atsisakyta. Ir ta schemos dalis perdaryta į filtra ir buferį.
Schema kurią radau kompe. Ji kiek skiriasi nuo galutinės versijos. Pradžioje buvo dviejų pakopų stabilizatorius (IC2-IC3)+IC1. Mintis buvo tokia, kad borto 24V numušami iki 15V ir ši įtampa naudojama MOSFET draiveriui. Pakeliui, 15V mažinama iki 5V kuri skirta mikroprocesoriui (TINY138) ir “gazo pedalui”. Išėjimo mikroschema LM358 buvo maitinama iš 15V.
Po eksperimentų ir perdegimų liko tik 7805.
Veikimas toks- įtampa iš akumuliatoriaus, per dioda D1 (400V, 3A) eina į droselį L1. Neteisingos įtampos spaikai suvalgomi transilo D2 (kažkoks ~52V). Čia stovi elektrolitai ir pajungtas 7805 stabilizatorius bei LM358.
Iš 7805 penki voltai užglaistomi kelių elektrolitų patenka į MCU ir į “gazo” jungtį. Pradžioje ten stovėjo rezistorinis daliklis, dabar kiniškas holo variantas. Signalas per filtrą C2 ir R1, bei apsaugą D3 patenka į MCU.
MCU generuoja PWM signalą kuris per filtrą R6C patenka į LM358 buferį. Nes pernelyg “aštrus” signalas iš MCU kėlė problemas tolimesnėse grandinėse. R7 patempia signalą žemyn tada kai MCU dar nepasiruošęs darbui. Dabar signalas “be aukštų” eina į kitą plokštelę kuri išpjauta iš pramoninio įrenginio. Ten stovi UC3710T tikriausiai pagal tipinę schemą, įėjimo signalas irgi turi savo R daliklį, stovi keli kondensatoriai, diodas ir gana didelis transilas.
Signalas iš draiverio išsiskirsto į keturius mosfetus, kiekvieno mosfeto gate turi savo kelių omų buferį ir kelių kiloomų pull-down.
Programinė įranga “hard coded” konkrečiam holo davikliui. Nes holo daviklio dinaminis diapazonas gana mažas. Programinėje įrangoje numatytas “išėjimo kreivės” panaudojimas. Dabar kreivė naudoja linijinį dėsnį.
Dar kelios subtilybės- nėra visiškai mažų ir didelių PWM reikšmių. Per mažos reikšmės nepasuka motoro, tik cypia. O per dideliose nėra jaučiamo skirtumo. Todėl prie maksimalio reikšmės PWM išjungiamas ir MOSFETai atidaromi iki galo.
Source code ir sukompiliuoti failai: DC motoro variklio kontroleris.