21V DC motoro H bridge’as

Nuolatinės srovės šepetėlino variklio greičio reguliatorius. H tiltelis naudoja N tipo lauko tranzistorius apatinėje pusėje ir P tipo lauko tranzistorius viršutinėje pusėje. Sakydamas jog tai yra greičio reguliatorius aš šiek tiek meluoju, nes realiai nematuoju apsisukimų, o paprasčiausiai reguliuoju į variklį paduodamą galingumą, keisdamas PWM skverbtį (duty cycle).

Reguliatorius informaciją gauna priimdamas 7 baitų ilgio sakinį UART (COM – RS232) sąsaja. Sumanyta mechaninė sistema naudos 4 variklius todėl informaciniam sakinyje yra 4 variklių greičiai. Reguliatoriui priskiriamas numeris nuo 1 iki 4 išorinių mygtukų pagalba, taip jis pats išsirenka reikiamą informaciją.

Kompiuterio programa, sistemai testuoti, parašyta Lab View 8.6 programa. Papildomai jums reikės NI-Visa draiverių, kad veiktų COM sąsajos tvarkyklės (draiveriai).

Tiltelį valdo  Atmega8 paleista nuo išorinio 3,6864 MHz kvarco. Variklio PWM dažnis 14.4 kHz. Su laipsniniu greitėjimu, lėtėjimu ir stabdymu. Taip pat apsauga nuo krypties reversavimo kai variklių greitis ne 0. Reversavus kryptį variklis pirma laipsniškai sulėtinamas iki 0 rpm (ne stabdomas, o lėtinamas. Stabdymo ir greičio keitimo koeficientai gali buti skirtingi). Įgyvendintas avarinis išjungimas. Jeigu Error signalas (Atmega pin 32 INT0) pritraukiamas prie žemės tai greičio reguliatorius įjungia neutralią pavarą. Pats reguliatorius taip pat gali inicijuoti Error signalą jeigu per 0,5 sekundės negauna greičio komandos, kad būtų išjungti likę varikliai.

COM porto nustatymai
Bit rate 19200
Data bits 8
Parity None
Stop bits 1
Flow control None
Protokolas (7 žodžiai po 8 bitus)
Pradžios baitas – V
Pirmas variklis 0-255 (Siunčiama ne ASCII forma)
Antras variklis 0-255 (Siunčiama ne ASCII forma)
Trečias variklis 0-255 (Siunčiama ne ASCII forma)
Ketvirtas variklis 0-255 (Siunčiama ne ASCII forma)
Klaidų tikrinimo baitas – nenaudojamas
Pabaigos baitas – P
Greičio reikšmė nuo 0 iki 255:
127 stabdymas
128 neutrali
greitis <= 126 atgal (kur 0 yra minimumas, o 126 yra maksimumas)
greitis >= 129 pirmyn (kur 129 yra minimumas, o 255 yra maksimumas)

Pirmasis prototipas

 

Centruojant viršutinę ir apatinę PCB puses naudojau 0,4 mm grąžtelį ir tikslumas gavosi normalus. Skaidres prie PCB klijavau paprastu vandeniu ir kreditine kortele.

Pirmasis prototipas pasirodė skylėtas todėl sukūriau antrą versiją, kurią ir rasite prisegtuose failuose apačioje. Deja jos nesurinkau, nes pasirodė, kad iš esmės man nepakanka P lauko tranzistorių galingumo. Be to lauktranzių užtūros (Gate) užkrovimo srovės gavosi nepakankamos ir 14kHz PWM priekinis frontas labai labai nuožulnus. Osciolograma žemiau, geltona spalva – PWM periodas periodas ~70 us iš kurių ~20 us nuožulni dalis. Mėlyna spalva – mažas triukšmelis ant P lauktranzio užtūros.

Reikia naudoti kokius nors srovės šaltinius lauktranzių junginėjimui. Ar kokią kitą protingą schemą, kaip ,pvz., totem pole jungimas, ir taip sumažinti užtūros užkrovimo laiką, bet aš kažkaip pasirinkau paprastesnį kelią ir trečią versiją darysiu grynai tik su N lauktranziais ir A3941 H bridge draiveriu.

Kadangi variklių valdiklis, su negalingais varikliais, veikia be priekaištų, pateikiu failus reikalingus projekto atkartojimui. Be kita ko galima sumažinti PWM dažnį ir lėtas užtūros krovimas nebus toks aktualus.

P.S. Dirbant su induktyvinėm apkrovom, susidariusią atgalinę elektrovarą, gesina tiktai vidiniai lauktranzių diodai. Aktyvus atgalinės srovės slopinimas su lauktranziais, sukuriant alternatyvius kelius srovei, nenaudojamas.

Schema ir PCB PCB_SCH

Firmwaras PWM_14_4 kHz_FW

PC programa Lab_View

 

This entry was posted in Mikrovaldikliai, Tiesiog elektronika. Bookmark the permalink.

4 Responses to 21V DC motoro H bridge’as

  1. ecka says:

    Idomu del tos labview programos, ar suja sukurti paprasta programa reikia programavimo ziniu? ir ar jinai mokama?

  2. alvarito says:

    Kaip taip padengi plokštę lydmetaliu?

  3. Laidukas says:

    Plokštės padengtos rose lydiniu. Tai toks lydinys kuris išsilydo prie ~70C. Užverdu vandenį, įmetu šio metalo gabalėlių, įmetu nuvalytą plokštę ir išsilydžiusio metalo lašus varinėju po plokšte su vata ir pagaliuku 🙂 Jeigu turėčiau didelį metalo kiekį būtų paprasčiau: išlydai, įmerki, ištrauki ir viskas.

  4. Laidukas says:

    Ecka, lab view nereikalauja gilių programavimo žinių, bet reikalauja inžinerinio mastymo ir gebėjimo į problemas pažiūrėti kitu kampu. Seip praktiškai gana žinoti kas yra WHILE ir FOR ciklai.

Leave a Reply

Your email address will not be published. Required fields are marked *