RETRobot

17. Január, 2011, Autor článku: Gustafík David, Elektrotechnika, Študentské práce
Ročník 4, číslo 1 This page as PDF Pridať príspevok

Táto práca dokumentuje robota RETRobot, ktorý bol vytvorený v rámci môjho hobby len tak, pre moje potešenie a pre možnosť sa pohrať s niektorými oblasťami robotiky a elektroniky. Jedná sa o pomerne veľkého mobilného robota, ktorého zvláštnosťou je obrazovka – katódová trubica použitá ako zobrazovacie zariadenie. Robot je autonómny, použiteľný na rôzne súťaže mobilných robotov, ako je sledovanie čiary alebo voľná jazda.

1. Úvod

Robotika je v súčasnosti veľmi rýchlo sa rozvíjajúcou vedou ktorá zaujala jak profesionálov, tak amatérov. Jej popularita medzi mládežou je veľmi vysoká a je to často ona, ktorá budí záujem o elektroniku v študentoch. Ako taká ma fascinovala už od strednej škole, kedy som s ňou začal. Odvtedy som sa mnohému naučil, a svoje poznatky som aplikoval na tohto robota. Robot RETRobot je mobilný robot riaditeľný na diaľku alebo autonómnej činnosti.

Robot je rozdelený do viacerých elektronických blokov – riadiaca jednotka, riadenie obrazovky, riadenie krokových motorov, ovládanie a vysokonapäťový zdroj. Každý z týchto blokov má vlastný procesor a vzájomne spolu komunikujú. Mechanicky je riešený celkom jednoducho – jedná sa o robota s tradičnou koncepciou s troma opornými bodmi. Ako hlavné motory sú použité krokové motory. Kostra je vyrobená prevažne z duralu, ručne opracovaného v dielni.

Názov RETRobot bol zvolený z dôvodu použitia retro prvku – obrazovky. Účel tohto robota je jednoduchý – chcel som sa pohrať so starými technológiami, pochopiť lepšie aktuálne a spraviť robota, ktorý využíva krokové motory.

2. Konštrukcia a vzhľad

2.1. Celková konštrukcia

Mechanická konštrukcia je pomerne jednoduchá – všetko je pripevnené na jeden plát, ktorý tvorí hlavnú nosnú kostru celého robota. Do tohto plátu sú namontované z oboch strán s pravidelným rozstupom dištančné stĺpiky, na ktorých sú namontované dosky plošných spojov, prípadne menej náročné mechanické komponenty. V hlavnom pláte sú vyvŕtané diery pre kabeláž a rôzne diery pre uchytenie jednotlivých blokov. Na hlavný plát sú okrem DPS namontované aj motory, držiak obrazovky, držiak zadného krytu a predné koliesko.

Pohyb vpred je zabezpečený tým, že motory idú rovnakým smerom rovnakou rýchlosťou, zabáčanie je riešené rozdielnou rýchlosťou motorov a otáčanie na mieste je riešené nastavením opačného smeru pohybu jedného z motorov. Hlavný plát je nafarbený na matne čiernu farbu z estetických dôvodov. Celkový vzhľad robota som volil tak, aby sa vynímali staršie prvky (sovietsky vojenský konektor, obrazovka).

2.2. Motory, kolesá a oporný bod

Keďže sa jedná o klasický systém s troma opornými bodmi, musí mať robot dve kolieska – teda dva aktívne oporné body a jeden pasívny oporný bod. Motory som použil krokové, pomerne zastaraného typu ROBOTRON SPA 52/60-5683. Dôvodom ich použitia bolo to, že mali namontovaný veľmi výhodne použiteľný prevod do pomalšia. Tiež majú pomerne vysokú rýchlosť. Výstup z tohto prevodu je napojený priamo na kolesá robota. Na hlavný plát sú pripevnené dvojicou M4 dištančných stĺpikov. Na motor je pripevnený aj IRC snímač – v súčasnosti nevyužitý.


Obr.1: Jeden z motorov, prevod a koliesko

Kabeláž z motorov je vedená hornou stranou plátu smerom spať na jeho spodnú časť, kde sa nachádza doska na riadenie motorov. Kolieska sú modelárske gumené napojené na hriadeľ z prevodu koliesok. Tretí oporný bod je menšie nábytkové koliesko pripevnené o hlavný plát štvoricou dištančných stĺpikov. Strana, na ktorej je pripevnené je predok robota.

Na motoroch sú uchytené aj batérie. Sú uchytené pomocou teplom taviteľného lepidla – jedná sa síce o nerozoberateľné riešenie, no to nevadí, vzhľadom na to, že batérie sú dobíjateľné priamo v robotovi cez konektor. Kabeláž batérií je prichytená na úchytné body pomocou sťahovacích pásikov. Dá sa jednoducho odpojiť.

2.3. Mechanické riešenie elektroniky

DPS robota sú prichytené k hlavnému plátu pomocou dištančných stĺpikov – tieto sú rozmiestnené po celej dĺžke robota vo vzdialenosti 2,5 cm od seba navzájom. Vzdialenosť po šírke je 6cm.

Doska riadenia motorov – je na spodku robota pred motormi. Uchytená je pomocou ďalších dištančných stĺpikov, na ktorých je ďalej uchytená riadiaca doska. Chladenie H-mostov je riešené jednoduchými chladičmi – mierne predimenzovanými.

Riadiaca doska – je umiestnená nad doskou motorov – uchytená je na dištančných stĺpikoch skrutkami. Z tejto dosky ide kabeláž do väčšiny robota. Bolo ju nutné pozväzovať sťahovacími pásikmi. Na tejto doske sa tiež nachádza pomocný informačný display – je uchytený hlavne na vlastnom konektore a pomocou M2,5 skrutiek.

Doska vysokonapäťového zdroja – je upevnená na vrchnej časti robota. Kabeláž z nej vedie hlavne do hornej časti robota – na obrazovku, na jej riadenie a na D/A prevodník a zosilňovač. Miesta, kde sa nachádza vysoké napätie sú zabezpečené proti dotyku (maximálne napätie medzi dvoma bodmi je 800 – 1000V).

Doska D/A prevodníka a zosilňovača – je upevnená na vrchnej časti robota, oproti DPS VN zdroja. Kabeláž z nej vedie prevažne do obrazovky a z a do VN zdroja. Na tejto doske je niekoľko zásuvných modulov – zdroj +/-5V a zosilňovače pre vychyľovacie platničky. Tieto sú uchytené len na vlastných konektoroch. Miesta, kde sa nachádza vysoké napätie sú zabezpečené proti dotyku (maximálne napätie medzi dvoma bodmi je približne 200V).

Podporná doska obrazovky – je uchytená nad obrazovkou na viacerých dištančných stĺpikoch. Kabeláž z nej vedie na dosku D/A prevodníkov, VN zdroj a obrazovku. Miesta, kde sa nachádza vysoké napätie sú zabezpečené proti dotyku (maximálne napätie medzi dvoma bodmi je približne 800 – 1000V).

Doska klávesnice – je umiestnená vpredu na hornej časti robota. Upevnená je na dištančných stĺpikoch.

Doska rozvádzania napájania – je namontovaná vpredu, za predným oporným kolieskom. Kabeláž z nej vedie do celého robota.

Ostatná elektronika je namontovaná v otvoroch pre ňu určenú. Zaujímavejšie komponenty sú na prednom paneli – potenciometre pre dolaďovanie jasu a ostrosti obrazovky, indikačná LED a zámkový spínač hlavného napájania robota.

Okrem nich je dôležitý ešte hlavný konektor – je namontovaný vzadu na robotovi na zadnom ochrannom a dekoračnom paneli. Elektronicky slúži ako spojný bod pre napájanie, prepojenie sériovej linky s okolím, napájanie pre externé zariadenie, prepojenie nabíjačky a batérií a napájanie pre externé zariadenia/senzory. Naschvál bol vybraný práve starší sovietsky vojenský konektor kvôli celkovému vzhľadu robota.


Obr.2: Obrazovka DG7-123

Obrazovka bola zvolená Tungsram DG7-123 – klasická katódová trubica s nepriamo žeravenou katódou, so zeleným tienidlom. Viac o jej uchytení je v sekcií o držiaku obrazovky.

2.4. Uchytenie obrazovky a obrazovka

Obrazovka je kruhová a menšieho priemeru než otvor pre ňu v držiaku. Držiak je vyrobený z navŕtaného plátu z pevného disku, s ohnutím pre uchytenie o hlavný plát. Obrazovka sa do držiaku vsúva. Stálosť jej polohy zabezpečuje spôsob uchytenia – nachádza sa v strede medzi troma stĺpikmi. Medzi týmito sú natiahnuté tri pružiny – nie veľmi natesno, tak, aby sa pri vsunutí obrazovky mohli ešte natiahnuť. Obrazovku takto samovoľne centrujú do stredu. Vďaka tomu, že obrazovka sa rozširuje smerom k jej zakončeniu sa obrazovka samovoľne vycentruje aj na mieste, kde je diera držiaku.


Obr.3: Obrazovka osadená v držiaku

V prípade potreby je možné na nosné stĺpiky pripevniť magnety na korekciu obrazovky. Výkonová kabeláž je vedená tak, aby vlastným magnetickým polom neovplyvňovala obrazovku. Kabeláž na obrazovku je privedená zozadu. Na držiaku na obrazovku je okrem obrazovky primontovaný aj hlavný vypínač, potenciometer na nastavenie jasu a zaostrenia a indikačná LED. Gombíky na potenciometre sú z nábytkových úchytiek.

Držiak je na spodku ohnutý a prevŕtaný aby ho bolo možné uchytiť na hlavný plát. Prichycuje sa dvojicou M4 skrutiek. Vzhľad je riešený tak, aby dával najlepší dojem pri sledovaní spredu – dva jednoduché potenciometre s peknými, jednoduchými gombíkmi z oboch strán obrazovky vyvolávajú dojem starého osciloskopu alebo jednoduchšieho starého televízoru. Zelená stopa tieto dojmy umocňuje.

2.5. Zadný plát a hlavný konektor

Zadný plát je pripojený o hlavný plát pomocou L spojenia, prichyteného M4 stĺpikmi z oboch strán na strane hlavného plátu, a M4 skrutkami zo strany zadného plátu. Aby sa zachovávala vzdialenosť od motorov a plát sa javil presne rovný (motory sú trocha posunuté – pôvodná NDR mechanika motorov nebola úplne z oboch strán symetrická, čo som si všimol až neskôr), sú do plátu spravené závity na korekčné skrutky. Týmito je možné nastaviť vzdialenosť medzi plátom a motormi. Po nastavení sa tieto skrutky zaistia matičkou aby ostali na mieste.

V zadnom pláte sú otvory pre hlavný konektor, prichytenie L spoja, prepínače a dva veľké obdĺžnikové otvory pôvodne určené pre pripevnenie batérií sťahovacím pásikom, v súčasnosti nevyužité.

Zadný konektor slúži ako spojovací bod pre napájanie z batérií, ako rozhranie robota s ďalším systémom, umožňuje pripojenie nabíjačky, senzorového zariadenia. Jedná sa o sovietsky vojenský 11 pinový konektor, veľmi pevnej konštrukcie s možnosťou zaistiť skrutkovaním protikus v ňom. Dieru naňho som vzhľadom na jeho veľkosť vyrobil nie vŕtaním ale vysekávaním. Zaistený do plátu je štvoricou M3 skrutiek a matičiek. Zvnútra je priletovaná kabeláž naň. Rozvedená je po veľkej časti spodku robota.

Hlavný konektor slúži aj ako mechanické spojenie senzorového modulu s robotom – prenáša všetky potrebné signály (hlavná zbernica, sériová linka, napájanie hlavné a +5V). Prepínače sú panelové, takže nie je problém ich pripevniť cez dieru – majú vlastný závit. Sú rozmiestnené okolo hlavného konektora.

3. Elektronika

3.1. Celková koncepcia

Elektronika je decentralizovaná, každý systém je riešený ako samostatný modul – riadenie motorov, riadenie obrazovky a klávesnica sú moduly so spoločnou zbernicou. Celého robota riadi riadiaca doska, ktorá slúži ako inteligencia – dáva príkazy jednotlivým modulom prostredníctvom spoločnej zbernice. Tiež poskytuje napájanie pre logiku.

3.2. Napájanie a vysokonapäťový zdroj

Nízkonapäťové systémy: Hlavné napájanie robota zabezpečuje šestica lítiových akumulátorov zapojených do série. Dokopy poskytujú približne 22-25V (podľa stavu batérie). Sú organizované do dvoch batérií po troch článkoch. Pripojené sú na hlavný konektor a na hlavnú dosku napájania.


Obr.4: Bloková schéma robota

Hlavná doska napájania ma za úlohu rozvádzať napájanie, odpájať ho a v prípade potreby obmedziť prúd ktorý tečie do robota – jedná sa o nutnosť, vzhľadom na to, že batérie sú schopné poskytnúť rádovo desiatky ampérov. Pripájanie napájania je riešené jedným výkonovým MOSFET tranzistorom P kanálu. Do GATE mu vstupuje pull-up odpor, ktorý je spínaný do zeme kľúčovým prepínačom na robotovi – slúži ako hlavný vypínač. Pri spojení do zeme sa GATE chvíľu nabíja cez odpor – to obmedzí nárazový prúd tranzistorom. +24V vetva sa potom rozvádza do všetkých systémov ktoré ju potrebujú.

Napätie +5V je získavaná na hlavnej doske DC/DC meničom, ktorého srdcom je LM2676 – jednoduchý menič, ktorý má vysokú účinnosť a je schopný zabezpečiť až 3A – čo bohato stačí pre potreby celého robota. Z hlavnej dosky je +5V rozvádzaných pomocou kabeláže na ktorej je aj zbernica na ďalšie moduly.

Napájanie obrazovky: Žeravenie obrazovky vyžaduje síce relatívne nízke napätie – 6,3V pri 300mA, no je nutné aby bolo toto napätie posunuté oproti hlavnej zemi na úroveň približne katódy – čo je – 500V až – 800V. Inak by sa katóda a žeravenie správali ako dióda, pričom žeraviace vlákno by sa správalo ako priamo žeravená katóda diódy, čo by spôsobilo zničenie elektrónového dela.

Oddelenie je zabezpečené tak, že zdroj 6,3V je galvanicky oddelený od zbytku systému tak, že má vlastné batérie a DC/DC menič.
Napätie –600V je určené ako potenciál katódy voči zemi, napätie +200V je napätie pre vychyľovacie platničky – pracujú od 0 do +200V.

Napätie +200V je získavané jednoduchým meničom s transformátorom, 230V/15V ktorému budím sekundárne vinutie cez H-most a výstupné napätie z primárneho vinutia je usmerňované diódovým mostíkom a filtrované 47uF kondenzátorom. Aby sa po vypojení napájania dosiahlo bezpečného napätia je paralelne ku kondenzátoru pripojený vybíjací odpor (1MOhm), ktorý zabezpečí vybitie kondenzátora po odpojení napájania.

Napätie –600V je získavané napäťovým násobičom – invertorom. Jedná sa o klasickú Villardovu kaskádu. Na každom kondenzátore je bezpečnostný vybíjací odpor 1MOhm.


Obr.5: Doska VN zdroja

Celý zdroj vysokého napätia je riadený procesorom ATTiny2313 – ten v podstate len generuje PWM signál pre H-most (L293D) a zobrazuje čísla na displeji (VQB71) aby indikoval aktivitu. Okrem tohto je možné zdroj vypnúť.

Okrem týchto súčiastok je na zdroji blokovanie napájania kondenzátormi (veľké elektrolytické a malé keramické). Zdroj je na samostatnej doske, je realizovaný na univerzálnej doske, ktorá bola postačujúca vzhľadom na jednoduchosť tohto systému. Zdroj sa riadi jediným signálom, a to, či má byť zapnutý. Okrem toho je na dosku privádzané napájacie napätie (+24V, +5V).

3.3. Hlavná riadiaca doska

Riadiaca doska je mozog celého robota. Má na sebe procesor ATMega128, LCD displej pre konfigurovanie rôznych parametrov (keď nie je k dispozícií obrazovka), niekoľko tlačidiel na ovládanie, debugovací port, analógové vstupy, pripojenia na ďalšie bloky a hlavný zdroj +5V.


Obr.6: Hlavná riadiaca doska

Zdroj: Doska slúži ako zdroj +5V pre celého robota. Toto je zabezpečované DC/DC meničom, ktorý sa skladá z riadiaceho a spínacieho obvodu LM2676, diódy 1N5822, cievky a filtračných kondenzátorov. Napätie je následne vedené po doske hrubými cestičkami. Všetky zariadenia a konektory sú korektne blokované 100n kondenzátormi.

Procesor: Ako procesor som použil procesor firmy ATMEL, architektúry AVR – ATMega128. Poskytuje dostatok možností pre tohto robota, viacero periférií ktoré používam v systéme (prerušenia, I2C) má riešené hardwarovo, čo značne zjednodušuje software. Napájaný je z +5V, beží na frekvencií 14,745600MHz. Má malú podpornú oblasť (externý pull-up odpor pre RESET, blokovanie napájania analógového, digitálneho a analógovej referencie). Slúži ako mozog robota.

Pripojenia na ďalšie bloky: Doska je napojená na spoločnú zbernicu, ktorá je princípmi podobná I2C zbernici. Každé zariadenie sa pripája pomocou 6 pinového konektoru na túto zbernicu. Je na nej napájanie, hodiny a dáta zbernice, IRQ a RESET.

RESET signál je riadený z manuálne tlačidlami. Každé zariadenie má vlastnú resetovaciu elektroniku (zväčša len programátor a pull-up odpor), no v prípade, že RESET linka je na zemi, diódy v každom zariadení prepustia zem a spôsobia tak RESET všetkých zariadení. Nefunguje to opačne – ak je jedno zariadenie v RESETe (napr. počas programovania), ostatné zariadenia sa neresetujú.

IRQ je pripojené na pin s prerušením hlavného procesora. Aby procesor nemusel stále pollovať jednotlivé zariadenia, každé zariadenie môže upozorniť na zmenu stavu tak, že prepne tento pin do nuly – vtedy nastane procesoru prerušenie a pri najbližšej príležitosti sa pozrie do toho zariadenia.

Signály SDA a SCL slúžia na zbernicu. Jedná sa o signály určené na pripojenie na výstup s otvoreným kolektorom. Na každom zariadení sa pre ne nachádzajú pull-up odpory. SDA sú dátovým signálom – tieto môžu nastavovať obidve strany komunikácie. SCL je hodinový signál – tento môže ovplyvňovať len hlavná doska.

Debugovací port: pre prípady keď je treba sa napojiť na robota s počítačom je vhodné mať rozhranie na to. Sériová linka vyvedená na tento port slúži práve na tento účel. Okrem toho poskytuje aj napájanie pre prípadný prevodník. Z tejto dosky je vyvedená na hlavný konektor.

Užívateľské rozhranie: štvorica obyčajných tlačidiel, RESET tlačidlo, šestica LED diód, malý piezoreproduktor a alfanumerický LCD display slúžia ako užívateľské rozhranie pre túto dosku. Jedná sa skôr o pomocné rozhranie, vzhľadom na prítomnosť hlavnej obrazovky.

LED diódy sú zapojené do Charlieplexingovej matice ([1]) – toto zapojenie mi umožnilo použiť 3 piny na ovládanie až šiestich LED diód. Diódy umožňujú rýchle zobrazenie informácií o stave robota. Štvorica tlačidiel slúži na ovládanie hlavnej dosky robota. Sú pripojené priamo na procesor, pull-up odpory pre tieto tlačidlá sú použité z procesora.

Ako LCD display je použitý 2×8 alfanumerický LCD display bez podsvietenia s HD44780-kompatibilným radičom. Slúži na komunikáciu s užívateľom. Display nemá podsvietenie, no je možné bez problémov ho čítať. Nastavovanie kontrastu je riešené cez SMD trimer na dolnej strane dosky. Piezoreproduktor slúži na akustickú indikáciu stavu robota. Budený je priamo z procesora.

Analógové vstupy: Aby bolo možné merať analógové veličiny po celom robotovi, sú z dosky vyvedené analógové vstupy procesora. Jediný analógový vstup použitý na doske je použitý na meranie napätia batérií cez odporový delič. Ostatné analógové vstupy sú vyvedené na 10 pinový konektor (spolu s +5V napájaním a zemou), na ktorý je možné pripojiť ďalšie zariadenie – konkrétne sú určené na senzory. A/D prevodník pracuje so svojou vnútornou referenciou – 2,56V.

Celá doska je riešená ako relatívne zložitá dvojvrstvá doska s nepájivou maskou. Osadzovanie bolo robené ručne doma. Kabeláž z tejto dosky putuje po celom robotovi.

3.4. Doska ovládania obrazovky

Táto doska slúži na riadenie vychyľovacích platničiek obrazovky a ako jednotka riadenia zobrazovania. Jej hlavnou úlohou je generovať správne hodnoty napätí pre platničky v správnom čase. Napätie pre platničky je v rozsahu od 0V od 200V. V závislosti od napätia na X a Y platničkách bude elektrónový lúč obrazovky vychyľovaný jedným, či druhým smerom.


Obr.7: Doska riadenia obrazovky a modul zosilňovača

K tomu aby sa zobrazil požadovaný obrazec je nutné vykresliť viacero čiar alebo bodov pomocou tohto lúča. Hodnotu napätia riadi procesor (ATMega32), ktorý dostáva z vyššieho systému informáciu o tom, čo má zobrazovať. Následne nastaví D/A prevodník (TLC7528 – 8 bitový D/A prevodník, dva výstupy) na požadovanú hodnotu. Toto napätie je posilnené prúdovo (jedná sa o klasický R2R DAC, navyše signál z neho je vedený ešte na trimer, ktorým sa dolaďuje maximálna hodnota napätia z prevodníku) cez OZ zapojený ako impedančný menič (v celej doske je používaný len OZ TL072).

Keďže obrazovku riadim diferenciálne (napätie na jednej platničke je rovné maximálnemu napätiu mínus napätie na druhej platničke) je urobený rozdiel napätí rozdielovým zapojením OZ. Týmto sa získajú dva signály – hlavný signál a rozdiel maximálneho napätia od signálu. V tomto bode zapojenia majú signály napäťové úrovne od 0V do 2V. Fotografia dosky je na Obr. 7.

Tento signál (každý zo štyroch) putuje do vysokonapäťového zosilňovača. Používa jednoduché zapojenie tranzistora riadeného OZ (TL072) tak, aby napätie na jeho odpore v emitore bolo rovnaké ako napätie na vstupe OZ. V kolektore tranzistora (MPSA42) je použitý odpor výrazne väčšej hodnoty. Napätie na ňom bude úmerné prúdu, ktorý ním preteká. Signál sa berie z kolektora, hodnotu má od 0 do 200V. Tento signál sa privádza rovno na vychyľovacie platničky obrazovky. Vysokonapäťový zosilňovač je riešený ako zásuvný modul. Schéma jeho dôležitej časti je na Obr. 8. Nelinearita tranzistora a príspevok prúdu od riadenia v báze sa ukázali ako zanedbateľné.


Obr. 8: Koncový stupeň VN zosilňovača

Analógová časť je napájaná symetrickým napätím +/-5V. Toto je zabezpečované dvojicou izolovaných DC/DC meničov 5V/5V. Napätie na vstupe a výstupe je blokované kondenzátormi. Sú umiestnené na zásuvnom module, podobne ako hlavné zosilňovače.

3.5. Podporná doska obrazovky

Podporná doska obrazovky zabezpečuje napájanie pre žeravenie obrazovky, riadiace napätia (pre zaostrovanie a intenzitu) a spojný bod pre rôznu kabeláž pre obrazovku.

Zdroj pre žeravenie musí byť galvanicky oddelený od hlavnej zeme, aby sa vlákno spolu s katódou nesprávali ako dióda s priamo žeravenou katódou (potenciál hlavnej zeme je 0V, potenciál katódy je -600V). Pôvodne som toto chcel riešiť DC/DC meničmi, nanešťastie toto riešenie na poslednú chvíľu zlyhalo. V súčasnosti je to riešené ďalšími batériami a DC/DC meničom.

3.6. Doska klávesnice

Táto doska slúži na vstup od užívateľa – má na sebe pár ovládacích prvkov, riadi ju procesor ATMega32 a komunikuje po hlavnej zbernici s hlavnou doskou. Je na nej aj hlavný RESET.

3.6. Doska riadenia krokových motorov

Táto doska má za úlohu riadiť krokové motory. Na doske je implementovaná dvojica klasických chopperov na riadenie bipolárnych krokových motorov. Doska je riadená procesorom ATMega32.


Obr.9: Doska riadenia motorov

Na chopper je použitá klasická dvojica IO: L297 (ako riadiaci obvod) a L298 (ako výkonový člen). Prúd do vinutí je meraný na dvoch 0,5Ω. Odpájací prúd je nastaviteľný vo veľkom rozsahu, nastavil som ho na 0,6A, čo je nominálny prúd pre použité motory. Stav krokových motorov je viditeľný aj na LED diód, ktoré sú napojené priamo na budenie H-mostu. Procesor riadi L297 cez smer a hodinové impulzy. Napája sa tiež na hlavnú zbernicu.

4. Software/Firmware

Software som písal prevažne v jazyku C. Je rozdelený do viacerých celkov, vzhľadom na to, ako je robot riešený – jednotlivé hardwarové moduly sú spojené spoločnou zbernicou.

4.1. Firmware zdroja vysokého napätia

Program v tomto module má pomerne jednoduchú úlohu – generovať pomocou PWM 50Hz sinusovku, ktorá je prenášaná na obidva transformátory pomocou H-mostu. Okrem toho má reagovať na vypnutie pomocou jedného pinu. Toto je jednoduchá úloha, sústredená do jedného prerušenia časovača a kontrola vypnutia je riešená v hlavnej slučke. Okrem tohto zobrazuje číslice na sedem segmentovom displeji – skôr ako dekoračná funkcia než čokoľvek iné.

4.2. Firmware riadenia krokových motorov

Program v tomto module sa stará o chod motorov a komunikáciu s nadriadeným systémom. Komunikácia a riadenie krokových motorov je riešené v prerušeniach.

4.3. Firmware hlavnej dosky

Program v tomto module sa stará o komunikáciu s jednotlivými modulmi, vyhodnotenie dát z nich a reakciu na ne. V hlavnej slučke sa robia časovo náročnejšie činnosti s nízkou prioritou (zobrazovanie na display, staranie sa o užívateľské rozhranie), v prerušeniach je riešená komunikácia medzi modulmi a riadenie robota.

4.4. Firmware riadenia obrazovky

Program v tomto module sa stará o chod obrazovky. Vykresľovanie znakov a grafiky je riešené vektorovo – v pamäti sú uchovávané body a medzi bodmi sa kreslia čiary. Vykresľovanie je riešené v hlavnej slučke. V prerušeniach je riešené len komunikácia a drobné podporné funkcie.

4.5. Komunikačný protokol

Komunikácia medzi modulmi je riešená dvojvodičovou zbernicou – jeden hodinový signál, jeden dátový. Len MASTER má právo zahájiť komunikáciu. V jednom pakete je adresa príjemcu, adresa registru s ktorým chceme pracovať a hodnota ktorú zapisujeme alebo čítame.

5. Odkazy na literatúru

  1. http://en.wikipedia.org/wiki/Charlieplexing – popis Charlieplexingového multiplexu
  2. David Gustafik – moja osobná stránka – www.daqq.eu
  3. Petr Novak “Mobilní roboty”, 2005
  4. Internetová komunita www.avrfreaks.net

Napísať príspevok