Image
13.2.2020 0 Comments

IoT prakticky: Analógové vstupy čipu PICAXE a univerzálne dosky pre tento mikrokontrolér

Mikrokontroléry PICAXE sú veľmi obľúbené, pretože aj začiatočník ich vie použiť priamo, bez vývojovej dosky, takže sa hodia do miniatúrnych konštrukcií, modelov, robotov a podobne. Dajú sa jednoducho programovať v jazyku BASIC a program sa z PC do čipu prenáša pomocou sériového rozhrania cez jednoduchý káblik zo sériového portu, alebo portu USB cez prevodník. 

Príklady sú vo videu



Aj pre čipy PICAXE sú k dispozícii univerzálne dosky umožňujúce priame pripojenie senzorov, či servomotorov, prípadne špeciálne dosky na ovládanie krokových, či jednosmerných motorov a podobne. Skôr, než sa začneme venovať spracovaniu analógových veličín ako inšpiráciu predstavíme niekoľko jednoduchých dosiek, s týmto čipom, ktoré sú k dispozícii na e-shope www.hobbyrobot.cz a budeme ich používať aj v ďalších dieloch seriálu. 

Všetky dosky majú stabilizátor napätia 5V, takže sa dajú napájať jednosmerným napätím +8 až +15 V. Pripomíname, že rozsah napájacieho napätia pre PICAXE je 1.8 – 5V. Ak napájate PICAXE napätím 3.3 V je zlučiteľný s 3.3 V logikou. Pri napájacom napätí 5 V je zasa kompatibilný z TTL logikou a to je aj prípad dosiek predstavených v tomto článku.

 Napájací zdroj je chránený vratnou nadprúdovou poistkou a ochrannou diódou proti preťaženiu a opačnej polarite vstupného napätia. Ak je napájacie napätie v poriadku, rozsvieti sa po jeho pripojení zelená indikačná LED. Ochrana proti prepólovaniu napájacieho napätia je totiž v prípade PICAXE veľmi dôležitá. Mikrokontroléry PICAXE sú vlastne čipy PIC vyrábané firmou Microchip, do ktorých bol vložený špeciálny softvér umožňujúci zaviesť váš program do mikrokontroléra a podpora funkcií súvisiacich s hardvérom. Tento softvér nesmiete prepísať, inak by ste z PICAXE mali obyčajný PIC čip. Tento špeciálny softvér sa vymaže aj v prípade ak prekročíte hornú hranicu maximálneho napájacieho napätie približne 5.5 V alebo napájacie napätie prepólujete. Začneme univerzálnymi doskami:

AXEboard08

Univerzálna doska AXEboard08 je určená pre čip PICAXE 08M2. Doska má vyvedené všetky použiteľné piny nikrokontroléra a má aj konektor na káblik, ktorým sa PICAXE programuje cez sériové rozhranie. Na moderných počítačoch a notebookoch, ktoré nemajú sériové rozhranie je potrebné použiť dostupný a lacný prevodník z USB na sériový port.

Uvedieme aj schému zapojenia, no informácie, ktoré potrebujete vedieť sa dajú zhrnúť do niekoľkých odrážok

  • Na pin 1 každého z konektorov C.0 až C.5 je vyvedená elektrická zem (GND
  • Na pin 2 je vyvedené stabilizované napätie +5 V, určené pre napájanie vonkajších zariadení. Prúd, odoberaný z tohto pinu nesmie presiahnuť 50 mA.
  • Na pin 3 je cez rezistor 220 ohmov vyvedená vstupne / výstupný port mikrokontroléru.

Rezistory 220 ohmov chránia piny mikrokontroléru pred poškodením skratom alebo privedeným vonkajším napätím. Skratovacia spojka JP1 (PGM / RUN) umožňuje odpojiť pin C.5 od programovacieho obvodu a používať ho ako bežný I/O pin. V tomto prípade ale vždy na začiatku vášho programu použite príkaz DISCONNECT

AXEboard20

Až na počet konektorov je identická s doskou AXEboard08. Má päticu na mikrokontrolér  PICAXE 20M2, prípadne 20X2 a na konektory je vyvedených 17 pinov. Vedľa programovacieho konektora je konektor A.0 a pozdĺž dlhších stran sú na jednej strane konektory C.0 – C.7 a na druhej strane B.0 – B.7.

Analógové vstupy, AD prevodníky 

Načítanie analógových hodnôt je dôležité hlavne čo sa týka údajov z analógových senzorov, prípadne merania napätia batérií a akumulátorov v rôznych zariadeniach. Taktiež sa hodí pri ovládaní rôznych funkcií pomocou otočných, alebo posuvných potenciometrov. Stačí zapojiť potenciometer ako delič napätia a podľa hodnoty nameranej na bežci sa dá určiť poloha natočenia medzi krajnými polohami minimum a maximum. Tento princíp budeme používať aj na ovládanie otáčok motora, takže preto najskôr preberieme funkcie jazyka BASIC na mikrokontroléroch PICAXE na načítanie analógových hodnôt.

Mikrokontrolér PICAXE 08M2 má tri A/D prevodníky na vstupoch C.1, C.2 a C.4. Prevodníky môžu pracovať s presnosťou 8 bitov, čiže v rozsahu hodnôt 0 – 255 a vtedy sa výsledok dá uložiť do premennej s veľkosťou bajt, prípadne s presnosťou 10 bitov v rozsahu hodnôt 0 – 1023 a vtedy sa výsledok ukladá do premennej typu word, čiže do dvoch bajtov. Rozsah napätia na vstupoch môže byť daný napájacím napätím, ktoré je najčastejšie 5V, alebo pre presnejšie merania niektorým z vnútorných referenčných napätí 1.024 V, 2.048V, alebo 4.096 V

Analógová hodnota napätia sa číta pomocou príkazov READADC, alebo READADC10. Prvým parametrom je pin a druhým parametrom premenná, do ktorej sa uloží načítaná hodnota. Pre READADC sa výsledok ukladá do premennej typu byte a pre READADC10 do premennej typu word. 

V prvom príklade budeme posielať nameranú hodnotu do počítača cez sériové rozhranie.  Príkaz SERTXD pošle údaje v parametroch cez rovnaké sériové rozhranie, ako sa mikrokontrolér programuje do počítača, Prenosové parametre sú rýchlosť 4800 Bd, bez parity (N), 8 bitov a  1 stop bit. Ak chcete poslať hodnotu premennej, treba pred jej označenie dať znak #, napríklad #b0.

symbol ADvstup = C.1 ' analogový vstup
symbol ADCval = b0   ' premenná na načítanie hodnotu
 
do
   readadc ADvstup, ADCval ' načítanie hodnoty
   pause 500 
   sertxd (#ADCval,cr,lf) ' sériový prenos
   pause 500
loop

Výpis môžeme trochu poľudštiť a napätie vypísať ako desatinné číslo

Ak predpokladáme napájacie napätie 5V tak platí

NameraneNapätie / 5 = HodnotaAD / 255

Po úprave

NameraneNapätie  = 5*( HodnotaAD / 255)

NameraneNapätie  =  HodnotaAD / 51

Takže vzorec bude 

Vin = ADCval * 100 / 51

Program:

symbol ADvstup = C.1 ' analogový vstup
symbol ADCval = b5   ' premenná na načítanie hodnoty
symbol Hodnota = w3
 
do
   readadc ADvstup, ADCval ' načítanie hodnoty
   pause 500 
   Hodnota = ADCval * 100 / 51
   bintoascii Hodnota, b4, b3, b2, b1, b0
   sertxd (b2,".", b1, b0," volt",cr,lf)
   pause 500
loop

Spôsob pripojenia referenčného napätia určuje príkaz ADCCONFIG. Parametrom je jeden bajt, z ktorého sa použijú len tri bity. Bity 1 a 0 určujú aký typ referenčného napätia sa použije. Implicitná hodnota je 00.  

Bity 1 a 0
referenčné napätie
00
napájacie napätie procesora
01
nepovolená hodnota
10
externý vstup
11
vnútorný zdroj nastavený cez FVRSETUP

Pomocou príkazu FVRSETUP sa nastavuje pripojenie k vnútornému referenčnému zdroju. Parametre sú FVR1024, FVR 2048 a FVR 4096.

Analógové výstupy, D/A prevodník

Najmenší obvod PICAXE 08M2 má jeden D/A prevodník, ktorý je na pine 0, takže ak ho chcete použiť, treba odpojiť programovací kábel. Prevodník má bohužiaľ len 32 úrovní napätia. 

Výstupná úroveň napätia sa nastavuje príkazom DACLEVEL s jedným parametrom, ktorý môže mať  hodnotu v intervale 0 – 31.  Príkazom DACSETUP sa nastavuje fungovanie D/A prevodníka. Význam jednotlivých bitov parametra:

Bit
0
1
0
vzťažná úroveň je GND
vzťažná úroveň je externý vstup

 

Bity
00
01
10
2 a 3
napájacie napätie
externý vstup
interný zdroj  nastavený cez FVRSETUP

V príklade budeme v cykle postupne zvyšovať  napätie na výstupe. Po prejdení celého cyklu sa výstupné napätie vráti na nulovú hodnotu, takže v konečnom dôsledku budeme generovať pílový signál, ktorého nábežná hrana nebude spojitá, ale bude vytvorená z 32 napäťových úrovní

dacsetup %10100000
main:
  for b0=0 to 31
     daclevel b0
     pause 10
  next b0
  goto main

 

Na regulovanie výkonu je lepšie použiť PWM, čiže pulzne šírkovú moduláciu. To si ukážeme v ďalšom dieli venovanom ovládaniu jednosmerných motorov

Video ukazuje ako si vyrobiť kábel na programovanie PICAXE aj pripojenie alfanumerického displeja



Predchádzajúce časti 

Prvé pokusy s čipom PICAXE jednoducho programovateľným v jazyku BASIC

Využitie čipov PICAXE na generovanie a meranie impulzov

 

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Mikrokontroléry

Programovanie PLC – aplikácia pre riadiacu jednotku UniPi Axon M205 so systémom Mervis

24.02.2020 00:10

V predchádzajúcom článku zo série programovanie PLC sme predstavili riadiacu jednotku UniPi Axon M205. Programovanie tejto riadiacej jednotky s implicitne nainštalovaným systémom Mervis pomocou diagra ...

Mikrokontroléry

Programovanie PLC – Riadiaca jednotka UniPi Axon M205

22.02.2020 00:10

Programovateľný logický kontrolér (PLC) a prevodník Unipi Axon M205 má k dispozícii dostatočný počet digitálnych, reléových a analógových vstupov a výstupov, takže sa dá použiť aj v rozsiahlejších pro ...

Mikrokontroléry

Programovanie PLC – Siemens Logo! analógové vstupy a funkcie

21.02.2020 00:10

V predchádzajúcich častiach sme predstavili možnosti programovania „entry level“ PLC Siemens Logo!, či už priamo pomocou tlačidiel na module, alebo vo vývojovom prostredí Logo! Soft Control. Pokračuje ...

Žiadne komentáre

Vyhľadávanie

itSMF 2020

Najnovšie videá