Vezérlés és irányítástechnológia (Mikroprocesszoros irányítás) 2.7. DC motor bekapcsolása 2.08. DC motor forgásirány változtatása (jelfogós kapcsolás) 2.09. DC motor forgásirány változtatás (integrált áramkörös kapcsolás) 2.10. Két DC motor vezérlése 2.11. DC motor fordulatszám szabályozása 2.12. Bifiláris tekercselésű léptetőmotor vezérlése
2.7. DC motor bekapcsolása A motor névleges feszültsége Ut = 12 V, vezéreljük a PORT B első (RB1) bitjéről. Induktív fogyasztóknál a kikapcsolási önindukciós feszültség károsíthatja a meghajtó tranzisztort, védelme érdekében használjuk a panelra épített védődiódát (a COM vezetéket is be kell kötni az ábra szerint). M +Ut GND RA0 RA2 RA4 RA1 RA3 RA5 RESET RB0 RB2 RB4 RB6 RB1 RB3 RB5 COM RB0 +5V GND PIC 16F873 µp RB5 RB4 RB6 RB3 RB1 RB2 RB7 clrf trisb bsf portb,1 ; a motor forog ;időzítés, ; a motor áll
motor goto motor ;ugorjunk a motor cimkére var movlw b 0000 1111 ;a korábbi időzítés 15-szerese v03 decfsz 020h,1 decfsz 021h,1 2.08. DC motor forgásirány változtatása (jelfogós kapcsolás) Kis teljesítményű motorok állórésze permanens mágnes, forgórésze tekercselt. Forgásirány változtatáshoz elegő a tápfeszültség két végét felcserélni, ezáltal megváltozik a motoron áthaladó áram iránya. A gyakorlat igényeit figyelembe véve még szükség van a motor elindítására és megállítására. A forgásirány váltást J1 jelfogó, a ki-be kapcsolást J2 valósítja meg. A jelfogók tekercsét a PORT B két bitje, az RB0, RB1 működteti. Ha mindkettő árammentes ( ), akkor a motor áll. Ha J2-t bekapcsoljuk (bsf portb,1), akkor a motor forog. A forgásirányt vagy bsf portb,0 állítja be. motor J1 J2 GND +Ut RA0 RA2 RA4 RA1 RA3 RA5 RESET RB0 RB2 RB4 RB6 RB1 RB3 RB5 COM RB0 +5V RB5 RB1 PIC RB6 GND 16F873 µp RB4 RB3 RB2 RB7
bcf bcf bcf bsf bsf bsf Utasítás J1 J2 Motor portb,0 áram mentes áram mentes áll portb,1 portb,0 áram mentes meghúz forog portb,1 egyik irány portb,0 meghúz meghúz forog portb,1 másik irány A következő program a motort bekapcsolja, forgat egyik irányban, majd forgat a másik irányban. A motor ezután megáll. clrf trisb bsf portb,1 ;motor forog, egyik irány ;időzítés ;a motor áll ;időzítés bsf portb,0 bsf portb,1 ;motor forog, másik irány ;időzítés ;motor áll motor goto motor ;ugorjunk a motor címkére var movlw b 00011111 movwf 020h v03 decfsz 021h,1 decfsz 022h,1 decfsz 020h,1 2.09. DC motor forgásirány változtatás (integrált áramkörös kapcsolás) Az L293B 16 lábú IC 2 db. DC motor forgásirány váltását is képes kiszolgálni, a 2.2.-7. ábrán ezért alkalmaztuk az ½ L293B jelzést. Az IC megfelelő pontjaihoz kötjük a motort és a négy védődiódát, csatlakoztatjuk a tápfeszültséget GND és +12V jelű pontokhoz. Engedélyezve az áramkör működését (Enable = H), Be1 = H, Be2 = L esetén az egyik forgásirányt, Be1 = L, Be2 = H vezérléssel a másik forgásirányt kapjuk.
Táblázatosan: Enable Be1 Be2 Motor H H L Forog H L H Forog H L L Áll A motor árama maximálisan 1 A lehet. M Be1 Be2 +12V +12V ½ L293 Engedélyezés (Enable) GND A motort a Be1 és Be2 pontokra kapcsolt digitális jelekkel lehet vezérelni. Csatlakozzon Be1 a portb 0. bitjéhez, Be2 a portb 1. bitjéhez. Ha mindkettő L-szintű, a motor áll. Egyikre H-, másikra L-szintet kapcsolva lehet a forgásirányt beállítani. Forgassuk a motort egyik, majd másik irányba! clrf trisb bsf portb,0 ;motor forog, egyik irány ;időzítés ;a motor áll ;időzítés bsf portb,1 ;motor forog, másik irány
;időzítés ;motor áll motor goto motor ;ugorjunk a motor cimkére var movlw b 01111111 v03 decfsz 020h,1 decfsz 021h,1 2.10. Két DC motor vezérlése Az L293B integrált áramkör egy tokban két motor forgásirányváltására is alkalmas. Motor1 vezérlőpontjai portb,0 és portb,1. Motor2 vezérlőpontjai portb2 és portb,3. Legyenek a motorok egy jármű (lánctlpas, hajó) erőgépei, akkor igény lehet előre menet, hátra menet, fordulás jobbra, fordulás balra irányításoknak, amelyet a két motor együttes vezérlésével érhetünk el. Program: clrf trisb bsf portb,0 ;előre bcf portb,3 bsf portb,0 ;jobbra bcf portb,2 bcf portb,3 ;balra bcf portb,3 ;hátra bsf portb,1 bcf portb,2 bsf portb,3 ;áll
bcf portb,2 bcf portb,3 motor goto motor ;ugorjunk a motor cimkére var movlw b 01111111 v03 decfsz 020h,1 decfsz 021h,1 2.11. DC motor fordulatszám szabályozása A fordulatszám legegyszerűbb formája, ha névleges feszültsége alatt üzemeltetjük, ekkor fordulatszáma kisebb lesz a névleges fordulatszámnál. Hátránya ennek a megoldásnak, hogy a kapocsfeszültség csökkentése jelentősen csökkenti a motor tengelyen leadott nyomatékét. A gyakorlatban ezért inpulzus - szünet arány szabályozással szokás a fordulatszámot változtatni. A szabályozás elve: U t t be t ki T A motor csatlakoztatása a mikrokontrollerhez megegyezik a 2.7. fejezetben bemutatott kapcsolással. A T periódus időt a motor mérete, tehetetlensége szabja meg. A laboratóriumban használt kis motorok esetében 10 ms körüli érték, kísérletileg célszerű meghatározni. A motor teljes fordulatszámmal forog, ha t be =T és t ki =0. Az alábbi beállítások fokozatosan csökkenő fordulatszámot eredményeznek: 026 rekesz 026 rekesz 026 rekesz t be 7 ms 00100100 4 ms 00010101 1 ms 00000101 t ki 3 ms 00001111 6 ms 00100000 9 ms 00101111 T 10 ms 10 ms 10 ms A táblázatban a 020 hexadecimális című rekesz kezdő értékét is megadtuk. A következő program a t be = 4 ms (00010101) és t ki = 6 ms (00100000) impulzus - szünet arányt valósítja meg.
clrf trisb forog bsf portb,0 call tbe call tki goto forog tbe movlw b 00010101 v01 decfsz 020h,1 goto v01 goto v01 tki movlw b 00100000 v02 decfsz 020h,1 goto v02 goto v02 2.12. Bifiláris tekercselésű léptetőmotor vezérlése A léptetőmotor forgórésze az állórészre kapcsolt áramimpulzus hatására meghatározott szöggel elfordul. A gyakorlaton Gamma típusú, három tekercses léptető motort használunk, amelynek teljes lépéses programja: clrf trisb forog bsf portb,0 bsf portb,1 bcf portb,2 goto forog timer movlw b 10000000 ; ezzel lehet a fordulatszámot szabályozni v02 decfsz 020h,1 goto v02
goto v02 Az un. féllépéses üzemmódnál a lépésszög az előbbi érték fele, az 1., 2., 3. jelzésű tekercsek gerjesztési algoritmusa: 1, 1+2, 2, 2+3, 3, 3+1, Csatlakozzanak a tekercsek processzor b portjának 0., 1., 2. bitjéhez. A főprogram részlete: forog bsf portb,0 bsf portb,0 bsf portb,1 bsf portb,1 bsf portb,1 bcf portb,2 bcf portb,2 bsf portb,3