Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.



Hasonló dokumentumok
Bevezetés az Arduino mikrovezérlők programozásába

11. Analóg/digitális (ADC) és Digital/analóg (DAC) átalakítók

Vezeték nélküli, elosztott rendszerű jelzőlámpás forgalomirányítás

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

SA-GPCOM. Telepítési leírás. Ipari GPRS átjelző. Dokumentum verzió szám: v1.0 HUN. SA-GPCOM telepítési leírás

B-TEL99 Kétcsatornás telefonhívó

A mikroszámítógép felépítése.

Közlekedés gépjárművek elektronikája, diagnosztikája. Mikroprocesszoros technika. Memóriák, címek, alapáramkörök. A programozás alapjai

VHR-23 Regisztráló műszer Felhasználói leírás

ProCOM GPRS ADAPTER TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. v1.0 és újabb modul verziókhoz Rev

Többfunkciós hobbirobot építése és vezérlése Arduino UNO mikrovezérlő kártya segítségével

Automatikus számtárcsa impulzus mérőberendezés

B-TEL99 KÉTBEMENETŰ, AUTOMATA TELEFONHÍVÓ. Felszerelési és Felhasználási útmutató

MICROCHIP PIC DEMO PANEL

Fordulatszámmérő és szabályozó áramkör tervezése egyenáramú kefés motorhoz

LPT illesztőkártya. Beüzemelési útmutató

DGSZV-EP DIGITÁLIS GALVANIKUS SZAKASZVÉDELEM. Alkalmazási terület

Paraméter csoport. Alapbeállítások

K_EITS8, Multichannel Impedance Meter K_EITS8, nyolc csatornás elektromos impedancia mérő berendezés

Magyar. APC Smart-UPS SC. 1000/1500 VA 110/120/230 Vac. Toronykivitelű vagy 2U magas, RACK-be szerelhető szünetmentes tápegységhez

BioEntry TM Telepítési Útmutató

BEACon TM. Verzió 2.0

Mielıtt használná termékünket Az eltérı környezeti körülmény elektromos áramütést, tüzet, hibás mőködést vagy. okozhat.

Arduino bevezető Szenzorhálózatok és alkalmazásaik

2 - ELEKTROMOS BEKÖTÉSEK

Robotkocsi mikrovezérlővel

MSP430 programozás Energia környezetben

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

EUROFLEX-33 ESEMÉNY NYOMTATÓ. -felhasználói és telepítői leírás-

DUALCOM SIA IP TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. V és újabb modulverziókhoz. Dokumentum verzió:

Használati útmutató. 1.1 verzió április

Quantometer 2.0 Fogyasztásmérő program és illesztőkészülék

FOTÓKATALIZÁTOROS LEVEGİTISZTÍTÓ MODELL AP-3

W-DMX. DMX512 - RF és RF - DMX512 Interfész. Kezelési útmutató. Tartsa kéznél, a jövőben szüksége lehet rá! rev /08/27

Az 5-2. ábra két folyamatos jel (A és B) azonos gyakoriságú mintavételezését mutatja ábra

ZELIO TIME időrelék. Katalógus RE11, RE48

A.26. Hagyományos és korszerű tervezési eljárások

Felhasználói kézikönyv. TB6560HQV3-T3 (V type) 3 tengelyes léptetőmotor vezérlő

Using_CW_Net.doc Felhasználói útmutató

Egyszabadságfokú mechanikai rendszer irányítása nyílt hurkú vezérlés

CTR 31 VEZÉRLÉS. Elektronikus vezérlés egy motorra, 230 V, AC; egy fázisú, tolókapu és garázskapu mozgatására, végálláskapcsolók nélkül.

Bevezetés a mikrovezérlők programozásába: Fényérzékelés, fénymérés

Felhasználói kézikönyv

S7021 ADATGYŰJTŐ. 2-csatornás adatgyűjtő számláló és bináris bemenettel. Kezelési leírás

Digitális kártyák vizsgálata TESTOMAT-C" mérőautomatán

AUDIO ENGINEERING SOCIETY

HASZNÁLATI ÚTMUTATÓ GÉPJÁRMŰ MULTIMÉTER EM128 GARANCIALEVÉL. Termék: Gépjármű multiméter EM128 Típus: EM128. Gyártási szám (sorozatszám):

MSP430 programozás Energia környezetben. Analóg jelek mérése

Programozható logikai vezérlõk

SL7000. Intelligens kereskedelmi és ipari fogyasztásmérő

PQRM Ux Ix xx xx (PS) Háromfázisú multifunkciós teljesítmény távadó. Kezelési útmutató

SITRANS FUS380 ultrahangos áramlásmér. SITRANS FUE380 ultrahangos áramlásmér

Felhasználói kézikönyv. Magyar. APC Smart-UPS SC. 420/620 VA 110/120/230 Vac. Torony kivitelű szünetmentes tápegységhez

Vacon többvezérléső alkalmazás (Szoftver ALFIFF20) Ver. 1.02

VEZETÉK NÉLKÜLI RENDSZER VEZÉRLŐ

FEDÉLZETI INERCIÁLIS ADATGYŰJTŐ RENDSZER ALKALMAZÁSA PILÓTA NÉLKÜLI REPÜLŐGÉPEKBEN BEVEZETÉS

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

GT64 GSM/GPRS modem. Alkalmazási útmutató

EUMINI_51. GSM kommunikátor. GM360-ra adaptált és módosított. változat dokumentációja. SeaSoft kft

ERserver. iseries. Szolgáltatási minőség

DC TÁPEGYSÉG AX-3003L-3 AX-3005L-3. Használati utasítás

Jeltárolás. Monitorozás

MS-NMK nagyszámkijelző ismertető

Billenőkörök. Billenő körök

HOLDPEAK 856A SZÉLSEBESSÉG MÉRŐ

MINERALHOLDING KFT. Orbit Easy-Set-Logic. Parköntözés vezérlőautomatika. Szerelési és használati utasítás

MŰVELETI ERŐSÍTŐS KAPCSOLÁSOK MÉRÉSE (DR. Kovács Ernő jegyzete alapján)

Programozói Kézikönyv

E - F. frekvenciaváltó gépkönyv. Érvényes: júliustól

Használati Útmutató. Thunder AC6 akkutöltő

EC Digitális csoportaggregát vezérlő

AX-3003P AX-6003P. 1. A kezelési útmutató használata. 2. Biztonságra vonatkozó információk

Jel- és adatfeldolgozás a sportinformatikában

KIT-ASTER1 és KIT-ASTER2

Bevezetés a mikrovezérlők programozásába: WS2812 RGB LED-ek vezérlése

loop() Referencia:

Digitális bemenetek: 2 darab 0-5V jelszintű digitális bemenet Pl. nyitásérzékelők, risztóközpontok, mozgásérzékelők, átjelzők, stb.

FILCOM. Visszamosatást vezérlő egység

Q37A Vezérlés 1 vagy 2 szárnyú kapukhoz

2 ACS 400/450. Magyar ( ) Robert Bosch GmbH

A típusszámok felépítése

Jármû-elektronika ELEKTRONIKAI-INFORMATIKAI SZAKFOLYÓIRAT november. 890 Ft. XII. évfolyam 7. szám

Egyedülálló, kombinált készülék kábelvizsgálatra és diagnosztikára

Elektromágneses szivattyú PMA -1

4-1. ábra. A tipikus jelformáló áramkörök (4-17. ábra):

VEZÉRLŐPANEL GÖRDÜLŐKAPUKHOZ

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

DELTA VFD-E frekvenciaváltó kezelési utasítás

ACS 100 Felhasználói Kézikönyv

Szivattyú- és ventilátorvezérlı alkalmazás

melléklet. Fogyasztásmérők, összegzők

Elektronika II Feladatlapok jegyzet

A DUAL ÁLTALÁNOS FUNKCIÓI

GLOBE Rugós kiegyensúlyozású felnyíló és szekcionális felnyíló ajtó automatika Szerelési és karbantartási utasítás

Vektorugrás védelmi funkció blokk

TRP-C24 Felhasználói Kézikönyv

ProCOM GPRS ADAPTER TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. v és újabb modul verziókhoz Dokumentumverzió:

Mintavételezés: Kvantálás:

M-LINE 80.2 M-LINE M-LINE Kezelési utasítás..autoradiokeret.

Átírás:

Mérési útmutató A/D konverteres mérés 1. Az A/D átalakítók főbb típusai és rövid leírásuk // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait. Csoportosítás polaritás szempontjából: Egy polaritású: nincs előjel, az átalakító csak az analóg jel nagyságát adja meg. Két polaritású: bipoláris mind pozitív, mind pedig negatív jelet képes mérni és átalakítani. Itt a leggyakoribb kódolások: előjel és abszolút érték, kettes komplemens, eltolt nullpontú, egyes komplemens. Az A/D átalakítók szokásos bemeneti jeltartománya: 0.. +5V ±5V 0.. +10V ±10V Típusaik: fokozatos közelítésű A/D átalakítók több komparátoros párhuzamos A/D D/A visszacsatolásos A/D átalakítók feszültség frekvencia átalakító típusú átalakító integráló típusú A/D átalakító kettős integráló

1.1. Fokozatos közelítésű A/D átalakító VAN POLARITÁS! 1. ábra Analóg digitális átalakítók: fokozatos közelítésű átalakító A mérés elve: kettő (2) különböző hatványainak megfelelő feszültség értékek ( súlyok ) be illetve kikapcsolása egy kiegyenlítési stratégia segítségével meghatározza hogy az adott bemeneti jelhez milyen bináris jel kombináció illeszkedik. Pillanatértékeket mér (zajérzékeny) A mérés ideje alatt a feszültségnek állandó értékűnek kell lennie (jeltartás!) Pontosságát a D/A átalakító, referencia feszültség, komparátor pontossága határozza meg. 2. ábra Fokozatos közelítésű átalakító működési ábrája

1.2. D/A visszacsatolásos A/D átalakító Mérés elve: az Ux mérendő feszültséget egy D/A átalakító kimeneti feszültségével hasonlítják össze, melyet egy számláló vezérel. VAN POLARITÁS! 3. ábra Analóg digitális átalakítók: digitális-analóg visszacsatolásos 4. ábra Digitális-analóg visszacsatolásos átalakító működési ábrája A mérés az órajel nagyságától és a bemeneti jeltől függő időtartamú. Például 10MHz órajel 10 bit felbontás ~ 100 μs mérési időt jelent. Zavarérzéken Gyors

1.3. Több komparátoros A/D átalakító A mérés elve: A mérendő jelet egy időben több komparátorral hasonlítjuk össze, melyeknek különböző a referencia feszültsége. A komparátorok akkor adnak kimenő jelet, ha a pozitív bemenetre kapcsolt Ux feszültség nagyobb, mint a negatív bemenetre kapcsolt referencia feszültség, vagy azzal egyenlő. NINCS POLARITÁS! 5. ábra Analóg digitális átalakítók: több komparátoros

1.4. Feszültség frekvencia A/D átalakító típusú Működési elve: A bemeneti jelet integráljuk, addig, amíg el nem érünk egy komparálási szintet, azután az átalakító egy ellenkező polaritású komparáló feszültséget kapcsol ΔT ideig az integrátorra, amely azt részben kisüti. A folyamat ezután ismétlődik, és a kimenő jel frekvenciája a bemeneti feszültség nagyságával arányos. A felírható összefüggések: 6. ábra Feszültség frekvencia átalakító működési ábrája NINCS POLARITÁS! 7. ábra Analóg digitális átalakítók: feszültség frekvencia átalakító

Ha az RC szorzat kicsiny a TI időhöz képest, akkor a második tag elhanyagolható, így: ahol: Nx az integrálási idő alatt létrejött impulzusok száma. Ux a mérendő feszültség átlagértéke. Ha a ΔT/TI állandó, akkor az Ux és Nx között egyenes arányosság van. Ha a számláló kapuidejét 20 msec-ra változtatjuk, az átalakító kiszűri az 50 Hz-es zavarjeleket. Átalakítási ideje: ~25msec (valamivel gyorsabb, mint a kettős integráló A/D) A zajelnyomási tulajdonsága olyan jó, hogy ipari perifériákban gyakran alkalmazzák. 1.5. Kettős meredekségű (Dual Slope) A/D átalakító Mérési elv: A mérendő feszültséget egy (külső) integrátor bemenetére vezetik, és rögzített Ti ideig (meghatározott órajel impulzus) integrálják. Ezután bekapcsolják az ellenkező előjelű referencia feszültséget. A kondenzátor kisülésének ideje alatt óraimpulzusokkal mérik az időt, ameddig a 0 (nulla) komparálást el nem érik. Az integrátor kisülésének időtartama arányos a bemeneti jel átlagértékével.

ahol f 0 egy a rendszerben alkalmazott órajel generátor frekvenciája. N x pedig a T x idő alatti impulzusok száma f 0 frekvenciájú generátorral. f 0 egy a rendszerben alkalmazott órajel generátor frekvenciája. N i pedig a T i idő alatti impulzusok száma f 0 frekvenciájú generátorral. VAN POLARITÁS! 8. ábra Analóg digitális átalakítók: kettős meredekségű (integráló) azért kettős meredekségű, mert integrálja a bemenetet és a referenciát is általában a hálózati feszültség (50 Hz) periódusidejének (20 ms) egész számú többszöröse a T i idő

9. ábra Kettős meredekségű (integráló) átalakító működési ábrája Előnyei: Az átalakítás pontossága nem függ az R, C elemek és az órajel pontosságától, mivel a töltéshez és a kisütéshez ugyanazokat az elemeket használják. Integrálással valósítják meg a szűrést. Mérési idő maximum 40 msec, de olcsó, ezért elterjedten alkalmazzák. Főként digitális multimétereknél használják ezt az eljárást, ugyanis a pillanatnyi zaj kevésbé befolyásolják a mérést. 2. Microchip TC500 // Ebben a mérésben megismerkedünk az TC500-as típusú A/D konverter működésével, amit egy kísérleti-panelon próbálunk majd ki. Jellemzői: Precíziós A / D átalakító (maximum 17 bit) 3 digitális láb (2 bemenet, 1 kimenet) --> az interfész és a mikroprocesszor közötti vezérlés Automatikus bemeneti feszültség polaritás érzékelés alacsony veszteségi teljesítmény: 10 mw Széles analóg bemeneti tartomány: ± 4.2V Közvetlen elfogadja a bipolár és differenciált bemeneti jeleket

Alkalmazás: Precíziós analóg jel processzoroknál Precíziós érzékelő felületeknél Nagy pontosságú DC méréseknél 10. ábra: TC500 lábkiosztása 11. ábra: A lábkiosztáshoz rendelt tulajdonságok

12. ábra: Működési ábrája Maximális abszolút értékei: TC500/TC500A tápfeszültség (VDD VSS között) +18 V TC500/TC500A pozitív tápfeszültség (VDD GND között) + 12V TC500/TC500A Negatív tápfeszültség (VSS GND között) -8V Analóg bemeneti feszültség (VIN + vagy VIN-) VDD VSS közé Logikai bemeneti feszültség VDD +0,3 V GND - 0,3 V Feszültség az OSC-n: -0,3 V (VDD 0,3 V) VDD <5.5V Környezeti működési hőmérséklet tartomány: 0 C-tól +70 C-ig Tárolási hőmérséklet tartomány: -65 C és +150 C között

13. ábra: Elvi felépítése Üzemmódok: Az alábbi AD konvertert a 2 digitális lábán keresztül lehet majd vezérelni. (A, B) beállítási értékek alapján lehet : A B 0 0 Integrator zero 0 1 Auto-zero 1 0 Integrate 1 1 De-integrate //Az RC tag kivételével szinte minden benne van az IC-ben, ebből kifolyólag már csak annak megtervezése és kiszámolása marad feladatként az integrálási időtartományhoz. A további hozzá tarozó leírása letölthető az alábbi linkről: http://ww1.microchip.com/downloads/en/devicedoc/21428e.pdf

4. A méréshez szükséges kontroller (Arduino) Az egyik legelterjedtebb panel az Arduino Uno. Ezek az Atmel AVR ATMega328-as mikrovezérlőre épülnek. Az ATMega328-as egy 28 lábú mikrovezérlő, ami 20db felhasználható I/O lábbal rendelkezik. Ebből a 20-ból 6db használható analóg bemenetnek, 6db használható PWM kimenetnek és két láb használható külső megszakításokhoz. Az Arduino panel a számítógéphez egy USB kábellel csatlakoztatható. Ezen keresztül történik a tápellátás, a mikrovezérlő programozása és a PC-vel történő kommunikáció. Ez a mikrovezérlő több ezerszer újraprogramozható. A panelt tartalmazó hüvelysorra könnyen, forrasztás nélkül tudunk csatlakozni. Az Arduino nemcsak a hardvert takarja, hanem az egész fejlesztőkörnyezetet is magában foglalja. A PC-n futó Arduino nevű programmal könnyen írható a mikrovezérlőre kód, ami lefordítás után az USB kábelen keresztül az Arduino panelre tölthető. A fejlesztőkörnyezet által használt Arduino programnyelv a C++ egy egyszerűsített változata, amely rengeteg beépített könyvtárat tartalmaz. Ezek a bonyolultabb programozási feladatokat nagymértékben leegyszerűsítik. 14.ábra: Arduino Uno lábkiosztása és kivezetései

5. Arduino, mint fejlesztőkörnyezet Az Arduino fejlesztőkörnyezet legfrissebb verziója letölthető az alábbi linkről: http://arduino.cc/en/main/software A programot először elindítva az alábbi képernyő fogad: A File/Preferences/Editor language menüpontban állíthatjuk át Magyar nyelvűre a programot. Mielőtt az Arduino panelt elkezdenénk használni, ahhoz hogy programozni tudjuk, az Eszközök/Alappanel menüpontban be kell állítani, hogy milyen típusú panelt használunk.

Az Eszközök/Soros port menüpontban pedig azt kell beállítani hogy a panel melyik COM port-ra van csatlakoztatva. A fentiek beállítása után a panelt már tudjuk programozni.

Az eszközsorban az alábbi 7 gomb található: Ellenőrzés: mielőtt a programot az Arduino panelba töltenénk, le kell fordítanunk. Ezzel a gombbal fordítható le a kód és ellenőrizhető, hogy a programunk hibamentes-e. Új: új projektet létrehozása Megnyitás: korábban létrehozott projekt megnyitása Mentés: a jelenlegi projekt elmentése Feltöltés: a lefordított kód feltöltése az Arduino-ba Soros Monitor: az Arduino panel által küldött soros adatok megjelenítése egy terminálablakban A program felépítése A program nem más, mint az Arduino által végrehajtandó utasítások sorozata. A program három fő részből áll: Változók megadása Setup () Általános Beállítások Loop () Főprogram Változók megadása Az Arduino programban használt változókat és azok típusát kell itt megadni. PL. bármelyik Arduino lábat átnevezhetjük, és a programban a későbbiek során ezzel az egyedi névvel hivatkozhatunk rá. Setup(){ } A kapcsos zárójelen belül lévő kód az Arduino bekapcsolása után csak egyetlen egyszer fut le, mielőtt a programunk fő ciklusa elindulna. Ezért a setup() részben adhatjuk meg a főbb beállításokat, általános utasításokat, eszköz inicializálásokat (pl. itt adjuk meg hogy mely lábak legyenek ki vagy bemenetek, a soros kommunikáció sebességét is itt kell beállítani stb ). Alapértelmezettként minden láb bemenet, ezért általában csak a kimeneteket definiáljuk.

Loop(){ } Ez a függvény lényegében a főprogram. Itt adjuk meg az Arduino-nak hogy mit is csináljon. Ez a függvény a setup() függvény lefutása után indul, és folyamatosan ismétlődik mindaddig, amíg az Arduino panel be van kapcsolva. Minden egyes alkalomkor, amikor a program a Loop függvény végére ér, átugrik a loop függvény elejére és kezdi újra előröl. Analóg és Digitális Jelek Az Arduino többfajta különböző jelet tud érzékelni és kiadni. A jeleket alapvetően két csoportra szoktuk osztani: analóg és digitális jelekre. A digitális jel csak kétfele értéket vehet fel: 0V vagy +5V. Az analóg jel ellenben bármilyen feszültségérték lehet 0V és +5V között. Digitális jelek Az Arduino Uno 14 darab digitális ki/bemenettel rendelkezik (D0-D13). A Setup részben minden egyes digitális láb a pinmode() parancs használatával külön-külön beállítható bemenetnek (INPUT) vagy kimenetnek (OUTPUT). Az Arduino-n a digitális jel logikai magas (HIGH) vagy logikai alacsony (LOW) szintű lehet. Attól függetlenül, hogy a láb kimenet vagy bemenet, ha a láb 5V-os feszültségszinten van, akkor magas logikai szintnek értelmezzük, és ha 0V-on van (föld / GND), akkor pedig logikai alacsony szintnek tekintjük. pinmode(láb, mód); - a lábak adatirányát állíthatjuk be ezzel az utasítással (INPUT: bemenet, OUTPUT: kimenet). Digitális kimenet A digitális kimenetekkel azt tudjuk megadni, hogy a kimeneti lábon magas szint (5V) vagy alacsony (0V) legyen. Így vezérelhetünk különféle eszközöket az Arduino-val. digitalwrite(láb, érték); - ha egy lábat kimenetnek állítottunk be, akkor ezzel az utasítással az állapotát magasra (HIGH - +5V), vagy alacsonyra (LOW 0V) állíthatjuk.

Azt azért figyelembe kell venni, hogy az Arduino lábanként maximum 40mA-es áramot képes felvenni vagy leadni, ezért a lábakra kötött eszközöket is ennek megfelelően kell megválasztani. micros(); Ennek a parancsnak a használatával egy olyan értéket kapunk mikro szekundumba, ami az aktuális program futásától mért időt adja eredményül. Ez a szám, túl tud csordulni (ekkor visszaáll nullára), melynek ideje körülbelül 70 perc. A hozzá szükséges unsigned long változóval használható. delay(); A delay által beállított értékkel, képesek vagyunk a programban futó rutinok közti időt késleltetni/időzíteni. (ezt az értéket milliszekundumban tudjuk megadni) Példa a használatukra: unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); time = micros(); Serial.println(time); delay(50); } // Ezek segítségével tudunk majd az elkészítendő programban időt mérni. // end_time = end_time - start_time;

5. Bevezető példa a program megírása előtt Analóg Jelek Arduino hat speciális bemeneti lábbal rendelkezik, amelyek képesek ezeket a feszültségértékeket beolvasni. Ez a hat bemenet rendelkezik egy 10 bites analóg-digitális átalakítóval (ADC), ami képes a 0V és 5V közé eső feszültséget mérni és egy ezzel arányos 0 és 1023 közé eső 10 bites számmá alakítani. // Nekünk majd nem ezt, hanem a T500-as IC AD konverterét kell majd használnunk Analóg bemenet Az analóg lábak alapértelmezettként bemenetek, és az analogread() utasítással lehet a rajtuk lévő feszültséget mérni. analogread(láb); - ezzel az utasítással mérhető meg ADC-vel egy analóg lábon lévő feszültség. A függvény 0-1023 közötti értéket ad vissza eredményül. Az alábbiakban az analóg bemenetek használatára látunk példát:

A potenciométer úgy viselkedik, mint egy feszültségosztó kapcsolás, amiben az ellenállások értékét változtatjuk. Ezáltal a potenciométer kimenetén megjelenő feszültség függ a tekerőgomb állásától. // ADC használata potenciométer-el int potpin = 5; // potenciométer A5-re kötve int val; // változó, a mért ADC értek tarolására void setup() { Serial.begin(9600); // 9600 baud-os soros port beállítása } void loop() { val = analogread(potpin); // ADC értek beolvasása Serial.println(val, DEC); // a mért ADC értek PC-re küldése delay(100); // várakozás /* (ennek a beállításával szabályozhatjuk az időzítőt,hogy majd mennyi ideig adja ki az intervallumokat)*/ } A setup() részben a serial.begin() paranccsal egy 9600 baud sebességű soros kommunikációs port-ot hozok létre, amivel adatokat lehet küldeni/fogadni az Arduino és pl. a PC között. A loop() részben a kód megméri a potenciométer feszültségét az analogread() utasítással, és a mért ADC értéket a Serial.println() paranccsal elküldi a PC-re. Az adatokat a PC-n a Soros monitoron keresztül követhetjük figyelemmel.

// Ezt követően a feladatunk, hogy az A/D-konverter és az Arduino programnak ismeretével, kipróbáljuk és vezéreljük a TC500-as IC-nek funkcióit, a port címeinek beállításával. 6. A program megírásához A saját programunkat egy előre elkészített programvázból kiindulva kell megírni. Ez a programváz tartalmazza az egyes feladatokhoz tartozó üres eljárásokat és a fő-eljárást. A program megírásakor követendő szempontok: 1. Lehetőleg kevés globális változót használjunk. 2. Lehetőleg kevés literált alkalmazzunk. Előnyösebb az érthető névvel ellátott változó, vagy konstans használata. 3. A jelek futás-, illetve periódus idejét az eljárás paraméter(ei)ében lehessen beállítani. 4. Mivel itt egy 16-bites A/D konverterről van szó, ennek értékkészlete 0-65536-ig (hexadecimális alakban $0000 - $FFFF) terjed. A teljes bemenő feszültség tartomány feléhez 32768, azaz $7FFF szám tartozik. 5. IIR szűrő alkalmazása, a stabilabb érték leolvasása érdekében. // old_time = (0.95 * old_time) + (0.05 * end_time);

A program felépítése: // Függvények inkludálása #include <string.h> #include <math.h> #include <floattostring.h> // Állandó értékek/lábak kiosztásai (A_pin, B_pin, Comparator_pin) const int rutin használatával // Változó értékek deklarálása (start_time, end_time, old_time) unsigned long használatával // 2 db 10-es Buffer tömb létrehozása void setup() { } // Digitális jelek, kimeneti (láb,érték) beállításai // Digitális jelek, bemeneti (láb,érték) beállításai Serial.begin(9600); void loop() { // Auto zero beállítása (A, B lábakkal) delay (50); // Integrálási időre beállítása (A, B lábakkal) delay (50); // De-Integrálási idő beállítása (A, B lábakkal) // AD kisütési idejének mérése (do, while ciklussal) // IIR szűrő alkalmazása // Értékek visszaolvasása/kiíratása a képernyőre Serial.println(""); delay(100); }

7. Feladatok 1, Méretezzen RC tagot a Microchip TC500-as IC-nek az integrálási időtartományához, majd rakja össze a már elkészített Arduino-s próbapanelen. 2, A kontroller segítségével mérje vissza az ADC kisütésének idejét: - Erre a célra készítsen egy olyan programot, ahol egy paraméter segítségével különböző értékeket lehet adni a bemenetre, majd a kisütésnek az időtartalmából visszaszámolva, a feszültséget átkonvertálni voltos értékbe. 3, Az Arduino programból vezérelve olvassa ki az adatokat és írattassa ki a képernyőre. 4, Az A/D konverter analóg bemenőjelét egy tárolós oszcilloszkópon is jelenítse meg, hogy ellenőrizhessük a program helyes működését. 5, Készítsen kalibrációs jegyzőkönyvet a lineáris karakterisztika vizsgálata érdekében.