Inkrementálny snímač: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 57: | Riadok 57: | ||
[[Súbor:PWM_duty_cycle_with_label.gif]] | [[Súbor:PWM_duty_cycle_with_label.gif]] | ||
[[Médiá:PWM_duty_cycle_with_label.gif]] | |||
== Popis riešenia == | == Popis riešenia == |
Verzia z 19:12, 28. január 2015
Autori: | Igor Jakubička, Rastislav Vyletel | |
Študijný odbor: | Aplikovaná mechatronika | 2. Ing. (2014) |
Zadanie
- Naprogramujte PS regulátor otáčok DC motora riadeného PWM signálom, ktorý má v spätnej väzbe zapojený inkrementálny enkóder(IRC).
Analýza
V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje, ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:
- popis komunikačnej zbernice (i2c, 1-wire, RS-232 a pod.)
- obrázok zapojenia vývodov použitej súčiastky
- odkaz na katalógový list
- priebehy dôležitých signálov
Inkrementálny snímač
Pod optoelektronickým snímaním budeme rozumieť spôsob snímania lineárnej alebo rotačnej dráhy/odchýlky, kedy sa fyzikálna hodnota zmeny polohy (lineárnej alebo rotačnej) premieňa na výstupný prírastkový alebo absolútny elektrický signál sinusového alebo TTL/HTL priebehu formou prerušovania svetelného lúča presne formátovaným rastrom (mriežkou, delením) vytvoreným na nosiči (väčšinou sklenenom, ale aj kovovom) gravírovaním, leptaním alebo nanášaním (väčšinou kovového povlaku). Prírastkovým (inkrementálnym) snímaním budeme rozumieť spôsob snímania meranej veličiny, kedy meraná hodnota sa sníma formou inkrementálneho (prírastkového) napočítavania jednotkového signálu zo snímača (prerušenie svetelného toku = inkrement, prírastok), pričom počiatok načítavania môže byť zadefinovaný v ľubovoľnom bode pracovného rozsahu snímača, napr. prerušením napájania, značkou alebo inak. U inkrementálnych snímačov uhlového natočenia a rotačných snímačov sa sníma aktuálna poloha – vychádzajúca z jedného vzťažného bodu – načítaním meracích krokov, resp. načítaním periód signálu.
![](/sensorwiki/images/7/71/Incremental-optical-encoder.jpg)
![](/sensorwiki/images/a/a4/Modular-incremental-rotary-encoders-14356-3126190.jpg)
Princíp merania optoelektronického snímača
Inkrementálny rotačný snímač prevádza rotačný pohyb na elektrické signály. Prevod mechanického pohybu na elektrické signály sa zabezpečuje fotoelektrickým bezkontaktným spôsobom. Snímač má potom takú rozlišovaciu schopnosť a takú presnosť, s akou presnosťou je vyrobený raster na kotúčoch snímača, ako jeho jadra. Z časového sledu elektrických signálov je možné zistiť uhol pootočenia, smer pootočenia, smer otáčania, rýchlosť otáčania sa jedného mechanického celku voči druhému. Vysoká rozlišovacia schopnosť, fotoelektrické bezkontaktné snímanie pohybu a mechanická odolnosť konštrukcie zabezpečuje vysokú presnosť a spoľahlivosť inkrementálneho rotačného snímača. Principiálne to funguje nasledovne : svetelný signál zo zdroja (LED) je usmernený optickou sústavou (šošovka) do dostatočne lineárneho svetelného prúdu, ten sa prechodom cez optickú mriežku rozkladá na úzke vzorky, ktoré dopadajú na kalibrovaný merací etalón s presným rastrom. Cez mriežku etalónu prenikajú na svetlocitlivý fotosnímač(fotobunka, fotónka), ktorých je spravidla viac s fázovým posunutím. V prípade rotačného snímača obmedzenie v otáčkach nemusí striktne existovať(n x 360°).
![](/sensorwiki/images/4/4c/Sokovka.jpg)
Merací krok závisí od jemnosti mriežky základného a etalónového kotúča. Napr. ak vzdialenosť rysiek na mriežke lineárneho snímača predstavuje 0,001mm a vyhodnocovacia jednotka príjme 5000 prechodov 1/0, znamená to, že sme namerali absolútnu hodnotu 5 mm. V prípade rotačného snímača je postup podobný. Odčítavanie uhlového natočenia v rámci jednej otáčky je úplne zhodné so spôsobom snímania prechodov
Optoelektronické inkrementálne snímanie
Napr. ak delenie kotúča je 3600 na 1 otáčku, nameraný počet inkrementov je 360000, absolútna hodnota otáčok je 100. Hrozí tu však riziko „pretečenia“ hodnoty, t. j. počet prechodov po predelení počtom delnia kotúčov bude tak vysoký, že jednoducho ho vyhodnocovacia elektronika nebude vedieťzobraziť IRC z pravidla obsahuje 2 hlavné vyhodnocovacie signály A a B, ktoré sú posunuté o 90° pomocou signálov A a B vieme určiť smer otáčania, rýchlosť a uhlové natočenie. Z IRC signály A a B dostaneme aj v negovanej forme pre potlačenie rušenia (diferenciálny výstup).
Popis ovládania DC motora
Otáčky DC motora sú závislé na výške napájacieho napätia. V našom prípade to je úroveň napájania 0-5V, ktorou regulujeme otáčky, samozrejme zaťažiteľnosť pinov MCU nie je postačujúca pre rozbeh motora preto pomocou MCU ovládame výkonový člen, tranzistor spínaný PWM moduláciou. Impulzová šírková modulácia alebo pulzno- šírková modulácia skr. PWM (z angl. Pulse width modulation) je modulácia periodického signálu zmenou striedy v závislosti od nejakej vstupnej veličiny za účelom prenosu informácie, alebo vysoko efektívnej regulácie elektrického výkonu, dodávaného do záťaže. Vysoká účinnosť pri regulácii výkonu je daná tým, že regulátor je (v ideálnom prípade) vždy buď úplne uzavretý, alebo úplne otvorený. Nevznikajú v ňom preto tepelné straty v dôsledku úbytku napätia na regulačnom prvku s odporovým charakterom (rezistor, polovodičový priechod), ako je tomu pri spojitých regulátoroch. Je to však vykúpené zložitejším zapojením nespojitých regulátorov, vysokými nárokmi na použité spínacie súčiastky a vysokofrekvenčným rušením, vznikajúcim rýchlym prerušovaním výkonového obvodu, ktoré je potrebné odstraňovať filtrami a elektromagnetickým tienením nespojitého regulátora.
Súbor:PWM duty cycle with label.gif Médiá:PWM_duty_cycle_with_label.gif
Popis riešenia
Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru (nezabudnite na schému zapojenia!) a zdôraznite ktoré jeho periférie ste pritom využili.
Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.
Algoritmus a program
Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu. Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.
Vyberte podstatné časti zdrojového kódu, použite na to prostredie source:
/* A nezabudnite zdroják hojne komentovať */
int main(void) {
printf("Hello, World!\n");
return(0);
}
Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!
Zdrojový kód: serial.h a main.c
Overenie
Nezabudnite napísať čosi ako užívateľský návod. Z neho by malo byť jasné čo program robí, ako sa prejavuje a aké má užívateľské rozhranie (čo treba stlačiť, čo sa kde zobrazuje). Ak ste namerali nejaké signály, sem s nimi. Ak je výsledkom nejaký údaj na displeji, odfotografujte ho.
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.