Regulátor otáčok pre malú vŕtačku

From RoboWiki
Revision as of 12:03, 29 April 2009 by Pavlicek (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Abstrakt

Práca sa zaoberá realizáciou regulátora otáčok malých ručných vŕtačiek, ktorý ma za cieľ zvýšiť komfort a účinnosť práce s nimi. Medzi hlavné vlastnosti regulátora patrí bezsnímačové riadenie otáčok v uzavretej slučke, automatické prepínanie pracovných a pokojových otáčok a nízka cena. Namiesto mechanického snímania otáčok je použitý softvérový estimátor otáčok pracujúci na základe merania spätného elektromotorického napätia. Celá riadiaca slučka je riešená softvérovo pomocou 8 bitového mikrokontroléra Atmel.


Obr. 1. Bloková schéma regulátora

1. Úvod

V bežnej praxi prichádzame do styku s rôznym náradím, ktoré obsahuje jednosmerný motor s permanentnými magnetmi. Príkladom sú akumulátorové vŕtačky, skrutkovače, modelárske brúsky, a iné. Tieto zariadenia sú väčšinou riadené veľmi jednoducho, v otvorenej regulačnej slučke pomocou zmeny budiaceho napätia, prípadne neobsahujú žiadnu reguláciu. Použitie regulácie s uzavretou slučkou dokáže pridať týmto zariadeniam viacero výhod, medzi inými aj vyššiu účinnosť práce. Použitie mikrokontroléra umožňuje použitie pokročilých regulačných metód, ako aj jednoduché prispôsobenie regulačných parametrov a vlastností podľa požiadaviek používateľa. Za cieľové zariadenie pre tento regulátor bola zvolená malá modelárska vŕtačka [1] používaná na vŕtanie dosiek s plošnými spojmi, no možnosti využitia regulátora sú väčšie.


2. Hardvér regulátora

Zapojenie regulátora pozostáva z troch hlavných častí: riadiacej, výkonovej a snímacej. Bloková schéma zapojenia je na Obr. 1. Kompletná schéma, návrh plošného spoja a zdrojový kód je v archíve v časti 6 tohto článku. V tejto časti práce si bližšie opíšeme jednotlivé bloky regulátora.


2.1. Motor

Použitý je jednosmerný motor s permanentnými magnetmi s cudzím budením. Tento typ motora umožňuje veľký rozsah regulácie pomocou zmeny rotorového napätia. Cieľovú skupinu pre tento regulátor tvoria motory malého až stredného výkonu do 24 voltov. Z teórie motorov si priblížime len spätné indukované napätie [2], na ktorom sa zakladá estimácia otáčok motora. Spätné indukované napätie je na svorkách motora generované podobne ako u dynama. Základný vzťah pre indukované napätie motora je:

Obr. 2. Nameraná závislosť indukovaného napätia od otáčok motora

Vztah1.jpg

kde Cu je napäťová konštanta, ktorá predstavuje konštrukčné vlastnosti motora (počet a zapojenie vinutí), Fi je magnetický tok a omega sú otáčky motora. Zo vzťahu je zrejmé, že indukované napätie je priamoúmerné otáčkam motora (Cu.Fi je konštantné). Toto potvrdzuje aj vykonané meranie, ktorého výsledok je v grafe na Obr. 2. Namerané hodnoty napätia boli zosnímané meracím algoritmom, ktorý bude popísaný časti 3.1.


2.2. Výkonová časť

Výkonová časť reguluje veľkosť budiaceho napätia motora. Použitá je spínaná regulácia pomocou pulzno-šírkovej modulácie (PWM). Spínaná regulácia znamená, že akčný člen je (v ideálnom prípade) vždy buď úplne otvorený alebo úplne uzavretý. Toto zabezpečuje vysokú účinnosť (nevznikajú tepelné straty v dôsledku úbytku napätia na regulačnom prvku). PWM znamená zmenu striedy (šírky impulzu) riadiaceho periodického signálu. Zmenou striedy sa mení efektívna hodnota výstupného napätia. Ako spínací prvok je použitý unipolárny tranzistor mosfet IRF540 [3], ktorý dokáže spínať prúd až 23A a jeho odpor v zopnutom stave je max. 77mΩ. Vďaka malému odporu nepotrebuje žiadny chladič. Pre efektívne budenie koncového tranzistora je použitý jednoduchý budič z bipolárnych tranzistorov.


2.3. Snímacia časť

Táto časť sa stará o filtráciu a následné meranie veličín, potrebných v riadiacom procese. Meria sa napätie zdroja, napätie na zápornej svorke motora (voči napätiu zdroja predstavuje indukované napätie motora), a prúd motora. Napätie zdroja a motora je zmenšené odporovým deličom na rozsah A/D prevodníka a následne vyfiltrované dolno-priepustným RC filtrom kvôli odstráneniu zvlnenia na vyšších frekvenciách. Prúd sa meria na snímacom odpore 0.1Ω / 2W. Napätie na odpore je zväčšené operačným zosilňovačom a následne vyfiltrované tak ako v predchádzajúcom prípade. Takto upravené veličiny sa merajú A/D prevodníkmi, ktoré sú zapúzdrené v mikrokontroléri.


2.4. Riadiaca časť

Riadiacu časť tvorí 8 bitový mikrokontrolér Atmel ATmega8 [4], ktorý obsahuje všetky potrebné periférie (A/D prevodník, PWM generátor, časovač, ..) priamo na čipe. Toto veľmi zjednodušuje zapojenie riadiacej časti, nakoľko celý riadiaci systém je riešený softvérovo. K riadiacej časti patria aj periférie pre „komunikáciu“ s používateľom, a to: potenciometer pre nastavenie žiadaných otáčok, LED dióda pre indikáciu stavu a tlačidlo pre zmenu regulačného režimu.


3. Softvér regulátora

Softvér regulátora zabezpečuje tieto hlavné úlohy, ktoré bežia v nekonečnej slučke:

• meranie indukovaného napätia

• estimácia aktuálnych otáčok

• PSD algoritmus regulácie budenia

• automatické prepínanie medzi pokojovými a pracovnými otáčkami

• interakcia s používateľom

• prenos dát a konfigurácia nastavení cez sériovú linku


Program bol napísaný v jazyku C vo vývojovom prostredí AVR Studio, skompilovaný prekladačom AVR-GCC. V tejto časti práce si priblížime jednotlivé úlohy softvéru.


3.1. Meranie indukovaného napätia

Obr. 3. Ilustračný priebeh napätia na motore

Meranie indukovaného napätia na motore tvorí základný stavebný blok celého regulátora. Podľa tohto napätia vieme určiť aktuálne otáčky motora, potrebné pre uzavretie regulačnej slučky. Základná teória týkajúca sa tohto napätia je popísaná v časti 2.1. Teraz sa pozrieme bližšie na problematiku merania tejto veličiny. Indukované elektromotorické napätie vzniká na motore vplyvom jeho otáčania. Aby ho bolo možné zmerať, musí byť budenie motora vypnuté. Nasledujúci obrázok približuje priebeh napätia na svorkách motora počas merania:

V priebehu na Obr. 3 nás zaujíma úsek s vypnutým budením. Po vypnutí budenia nasleduje záporný prekmit spôsobený indukčnosťou motora. Trvanie prekmitu závisí od zaťaženia motora. Neskôr nastáva ustálenie hodnoty indukovaného napätia, ktoré je priamoúmerné otáčkam motora, a toto neskôr klesá príčinou spomaľovania motora. Z toho je zrejmé, že meranie musí byť vykonané v úseku stabilnej hodnoty napätia. Toto je riešené oneskorením merania o 4 milisekundy od vypnutia budenia (táto hodnota sa osvedčila ako dostatočná). Následne je zosnímaných 16 vzoriek a výsledkom merania je ich priemerná hodnota. Toto meranie sa vykonáva 15 krát za sekundu a celé trvá približne 5 milisekúnd.


3.2. Estimácia aktuálnych otáčok

Hodnota aktuálnych otáčok motora je priamoúmerne určená z indukovaného napätia v pomere ku maximálnej hodnote indukovaného napätia. Maximálna hodnota indukovaného napätia sa pri maximálnych otáčkach približuje k hodnote napájacieho napätia. Toto je závislé od konkrétneho motora, a preto je pri inicializácii nastavená na 80% z napájacieho napätia a neskôr za behu priebežne aktualizovaná podľa priemeru zo 4 po sebe idúcich meraní indukovaného napätia.


3.3. PSD regulačný algoritmus

Ako regulačný algoritmus je implementovaný PSD (proporcionálne sumačno diferenčný), ktorý vychádza z klasického PID algoritmu [5]. Jeho absolútny tvar je vyjadrený vzťahom (prírastková forma):

Vztah2.jpg

kde y je hodnota budenia, e je rozdiel skutočnej a žiadanej hodnoty otáčok, K sú regulačné konštanty.


3.4. Prepínanie otáčok

Obr. 4. Stavový diagram regulátora v režime automatického prepínania otáčok

Regulátor disponuje režimom automatického prepínania medzi pokojovými a pracovnými otáčkami. Režim otáčok sa vyhodnocuje podľa zaťaženia motora a spríjemňuje prácu s vŕtačkou. Pri behu vŕtačky bez zaťaženia (mimo vŕtania) regulátor nastaví pomalé pokojové otáčky, ktoré sú nielen príjemnejšie pre sluch používateľa, ale aj umožňujú presnejšie zacielenie vŕtaného bodu vďaka menším vibráciám vŕtačky. Pri priložení vrtáka k vŕtanej ploche sa otáčky automaticky prepnú na rýchle, pracovné, ktoré sa udržujú počas vŕtania. Po skončení vŕtania regulátor zaznamená odľahčenie motora a nastaví otáčky naspäť na pokojové. Zjednodušený stavový diagram popisujúci tento režim je na Obr. 4. K vyhodnoteniu záťaže je použitá nameraná závislosť prúdu od otáčok pre použitý motor. Táto sa meria pri kalibrácii regulátora na konkrétny motor. Kalibrácia sa spustí dlhým stlačením ovládacieho tlačidla a pozostáva z roztočenia motora na plné otáčky a následné odmeranie prúdovej charakteristiky. Namerané hodnoty sa ukladajú do pamäte EEPROM. Kalibrácia trvá len približne 4 sekundy. Pri použití iného napájacieho napätia alebo vŕtačky, treba regulátor znova prekalibrovať pre zabezpečenie správnej funkcie. Tento spôsob kalibrácie je nutný pre zachovanie univerzálnosti regulátora pre rôzne motory.


3.5. Interakcia s používateľom

Ovládanie regulátora bolo navrhnuté pre maximálnu jednoduchosť obsluhy. Obsahuje potenciometer pre nastavenie želaných pracovných otáčok, tlačidlo pre zmenu regulačného režimu (zapnutie/vypnutie automatického prepínania na pokojové otáčky), a indikačnú dvojfarebnú LED diódu pre indikáciu režimu a preťaženia. Tlačidlo plní aj sekundárnu úlohu, a to spustenie kalibrácie pri jeho dlhšom stlačení. Kalibrácia je popísaná v 3.4.


3.6. Prenos dát po sériovej linke

Regulátor je vybavený možnosťou komunikácie cez sériovú linku v úrovni TTL 5V. Táto možnosť bola implementovaná pre testovacie a experimentálne účely. Parametre komunikácie sú: rýchlosť 19200 baudov, veľkosť rámca 8 bitov, žiadna parita. Riadiace príkazy:

• ‘X’ – zapnutie / vypnutie posielania dát o aktuálnych veličinách. Po zapnutí tejto voľby regulátor posiela šestice bytov vo formáte: 0 A B C D E, kde ‘0’ je inicializačný byte, ‘A‘ je nastavená hodnota otáčok, ‘B‘ je hodnota napájacieho napätia, ‘C’ je aktuálna hodnota otáčok, ‘D’ je hodnota odoberaného prúdu, a ‘E’ je hodnota výstupnej striedy PWM signálu. Všetky hodnoty sú relatívne s rozsahom 0-255.

• ‘?’ – informácia o aktuálnych hodnotách regulačných konštánt v poradí KP, KS a KD.

• ‘P’, ‘S’, ‘D’ a ‘p’, ‘s’, ‘d’, slúžia na zvýšenie, respektíve zníženie, konkrétnej regulačnej konštanty o definovaný krok.


4. Odozva regulátora

Pomocou možnosti sledovať regulačné veličiny cez sériovú linku, boli vykonané nasledujúce merania regulátora v praxi:

Obr. 5. Priebeh regulačných veličín pri vŕtaní diery

V prvom experimente bola vŕtačkou vyvŕtaná diera do dosky s plošnými spojmi. Priebeh regulačných veličín je zobrazený v grafe na Obr. 5. V čase približne 0,4s sa vŕtanie začalo a v čase približne 1,3s skončilo. Odozva regulátora na danú situáciu je veľmi dobrá.

Obr. 6. Priebeh regulačných veličín pri ručnom zastavení a pustení motora

Druhý experiment spočíval v zistení reakcie regulátora na prudké zastavenie a pustenie motora rukou. Priebeh regulačných veličín počas tohto experimentu je zobrazený v grafe na Obr. 6. V čase približne 0,55s došlo k zastaveniu motora a v čase približne 1,2s k jeho pusteniu. Prekmit regulácie otáčok po pustení motora je v tomto extrémnom prípade pre túto aplikáciu prijateľný.


V poslednom experimente bol vyradený PSD regulátor, čiže motor bol riadený priamo pomocou pevne nastaveného PWM (Obr. 7). Opäť bola vyvŕtaná diera do dosky s plošnými spojmi. Vŕtanie začalo približne v čase 0,5s a skončilo približne v čase 1,35s. Z grafu je viditeľný značný pokles otáčok pri záťaži.

Obr. 7. Priebeh regulačných veličín pri vŕtaní diery s vyradeným PSD regulátorom


5. Záver

Regulátor opísaný v tejto práci splnil všetky stanovené požiadavky a predstavuje veľmi užitočnú pomôcku v praxi. Jeho zapojenie bolo použité ako súťažné zadanie na viacerých súťažiach pre stredné a základné školy v elektronike (medzi inými aj celoslovenské kolo súťaže ZENIT), a jeho kvalita bola otestovaná na viac ako 70 vyrobených kusoch.


6. Prílohy

Media:materialy.zip


7. Použitá literatúra


[1] Katalógové parametre modelárskej vŕtačky Bionic AD-19, http://www.beverley.com.hk

[2] ČADIL a kol.: Elektrické pohony, SNTL Praha, 1976

[3] Katalógový list tranzistora IRF540, www.alldatasheet.com

[4] Elektronická dokumentácia firmy Atmel k obvodu ATmega8, http://www.atmel.com

[5] PID regulátor, http://en.wikipedia.org/wiki/PID_controller


Autor: Tomáš Pavlíček, xpavlicek [at] gmail [bodka] com