Operácie

CADRS Cvičenie 11: Rozdiel medzi revíziami

Z SensorWiki

(Vizualizácia)
(NTC termistor)
 
(13 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 9: Riadok 9:
 
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=48188 Interrupt driven USARTs]
 
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=48188 Interrupt driven USARTs]
 
* Ako používať USART: [[AVR Serial.c|knižnica a príklady...]]
 
* Ako používať USART: [[AVR Serial.c|knižnica a príklady...]]
 +
 +
  
 
=== Rekapitulácia ===
 
=== Rekapitulácia ===
Riadok 17: Riadok 19:
 
Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom 18,432 MHz (fuses).
 
Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom 18,432 MHz (fuses).
 
Demonštračný program je tuto: [[Médiá:MexleTest2.hex|mexletest2.hex]]
 
Demonštračný program je tuto: [[Médiá:MexleTest2.hex|mexletest2.hex]]
 
  
  
Riadok 26: Riadok 27:
 
AVR, pre naše účely postačí jednoduchá knižnica, ktorá obsahuje základné funkcie odladené
 
AVR, pre naše účely postačí jednoduchá knižnica, ktorá obsahuje základné funkcie odladené
 
pre dosku MiniMEXLE s procesorom ATmega88 a oscilátorom 18,432 MHz.  
 
pre dosku MiniMEXLE s procesorom ATmega88 a oscilátorom 18,432 MHz.  
Pozrite si [[AVR Serial.c|príklady...]]
+
Máte k dispozícii jednoduchú knižnicu pre prácu so sériovou linkou na procesore
 +
ATmega88, stiahnite a pozrite si [[AVR Serial.c|príklady...]]
 +
 
 +
Parametre prenosu pre túto knižnicu sú 9600,n,8,1.
  
 
Na prácu so sériovou linkou na vašom PC odporúčame program Terminal by Bray, ale môžete
 
Na prácu so sériovou linkou na vašom PC odporúčame program Terminal by Bray, ale môžete
 
to skúsiť aj s Hyperterminálom.
 
to skúsiť aj s Hyperterminálom.
  
* [http://braypp.googlepages.com/terminal Hyperterminal by Bray] ([http://braypp.googlepages.com/Terminal20080315.zip download])
+
* [http://braypp.googlepages.com/terminal Terminal by Bray] ([http://braypp.googlepages.com/Terminal20080315.zip download])
 +
 
 +
Keby niekoho zaujímalo, ako je realizovaný prevod TTL úrovní na RS-232, tak tu je
 +
[[Media:232Converter.png|schéma zapojenia]], ktorá vychádza z [http://www.kmitl.ac.th/~kswichit/ap275/ap275.htm tohoto návodu].
  
 
=== A/D prevodník ===
 
=== A/D prevodník ===
  
Pozri [[AVR A/D example.c]]
+
Pre nameranú hodnotu N platí vzťah
 +
 
 +
<math>
 +
            U_{in} = \frac{N U_{ref}}{1024}
 +
</math>
 +
 
 +
Vstupy A/D prevodníka na MiniMEXLE doske sú zapojené takto:
 +
 
 +
Kanál      MUX3:0    signál
 +
--------------------------------------------------------------
 +
ADC 0 - 3            nepoužívame
 +
ADC 4        0100    konektor X2, pravý kanál, Termistor NTC
 +
ADC 5        0101    konektor X2, ľavý kanál, dióda LED2
 +
ADC 6 - 7            nepoužívame
 +
Vref        1110    vnútorná referencia 1,1 V
 +
GND          1111    vnútorná zem 0 V
 +
 
 +
 
 +
Ako zdroj referenčného napätia použijeme priamo napájacie napätie 5V oddelené tlmivkou a filtrované paralelným kondenzátorom 100n. Zodpovedajúce bity REFS1, REFS0 v registri ADMUX sú teda 01.
 +
 
 +
Zdroj hodinového signálu pre A/D prevodník musí byť v rozsahu 50 až 200 kHz, preto volíme preddeličku 128.
 +
 
 +
Príklad najjednoduchšieho SW ovládaného A/D prevodu je uvedená v tomto príklade - pozri [[AVR A/D example.c]]
  
 
=== Vizualizácia ===
 
=== Vizualizácia ===
Riadok 52: Riadok 81:
 
Manual: [[Stamp Plot Manual]]
 
Manual: [[Stamp Plot Manual]]
  
'''Úloha'''
 
  
 +
 +
== NTC termistor ==
 +
 +
Na doske je použitý typ NTC od firmy Vishay (Catalog-Number: 2381 640 63472)
 +
R25 = 4700 Ohm ± 5 % ; B25/85 = 3977 K ± 0,75 %
 +
 +
* [http://mexlewiki.hs-heilbronn.de/UserFiles/File/Thermometer/NTC-Kennlinie.pdf Prevodová charakteristika senzora]
 +
 +
 +
<math>
 +
    T(R) = \left( \frac{1}{\frac{1}{B} \ln (\frac{R}{R_{25}}) + \frac{1}{T_{N} + 273 K}} \right) - 273 K
 +
</math>
 +
 +
[[Image:MiniMexleNTC.png|center|thumb|476px|Pripojenie termistora na doske MiniMEXLE.]]
 +
 +
 +
 +
 +
=== Úlohy ===
 +
 +
 +
# Nahrajte si knižnice pre prácu so sériovou linkou, preštudujte využitie knižnice <stdio.h> a demonštrujte.
 +
# Doplňte program o jednoduchý A/D prevod a zobrazte hodnotu z termistora na doske MiniMEXLE.
 +
# Overte prevod A-D prevodníka meraním vnútornej referencie 1,1 V
 +
# Upravte program pre A-D prevod tak, aby v pracoval autonómne s periódou vzorkovania 100ms.
 +
# Oboznámte sa s programom StampPlot a zobrazte časový priebeh teploty z termistora.
 
# Vyhodnotením prechodového deja identifikujte veľkosť kondenzátora vo výstupnom filtri.
 
# Vyhodnotením prechodového deja identifikujte veľkosť kondenzátora vo výstupnom filtri.
# Navrhnite vhodnú frekvenciu PWM a demonštrujte.
+
 
 +
 
 +
 
 +
=== Download ===
 +
 +
 
 +
[[Obrázok:Icon_Terminal.png]] [http://braypp.googlepages.com/Terminal20080315.zip Terminal 1.9b]
 +
 
 +
[[Obrázok:Icon_StampPlotLite.png]] [http://www.selmaware.com/stampplotlite/StampPlotLite_V17.zip StampPlot Lite 1.7]
 +
 
 +
 
  
  

Aktuálna revízia z 13:15, 3. december 2008

MexleBanner.png

A/D prevodník a vizualizácia pomocou UART

Literatúra:


Rekapitulácia

Máte k dispozícii vývojovú dosku MiniMEXLE (popis,schéma zapojenia) a s procesorom ATmega88 (datasheet) a prípadne aj testovací program mexletest2.hex.

V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky (datasheet, str. 87 -- 115). Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom 18,432 MHz (fuses). Demonštračný program je tuto: mexletest2.hex


USART

Nebudeme sa zaoberať detailmi implementácie sériového komunikačného rozhrania procesorov AVR, pre naše účely postačí jednoduchá knižnica, ktorá obsahuje základné funkcie odladené pre dosku MiniMEXLE s procesorom ATmega88 a oscilátorom 18,432 MHz. Máte k dispozícii jednoduchú knižnicu pre prácu so sériovou linkou na procesore ATmega88, stiahnite a pozrite si príklady...

Parametre prenosu pre túto knižnicu sú 9600,n,8,1.

Na prácu so sériovou linkou na vašom PC odporúčame program Terminal by Bray, ale môžete to skúsiť aj s Hyperterminálom.

Keby niekoho zaujímalo, ako je realizovaný prevod TTL úrovní na RS-232, tak tu je schéma zapojenia, ktorá vychádza z tohoto návodu.

A/D prevodník

Pre nameranú hodnotu N platí vzťah


             U_{in} = \frac{N U_{ref}}{1024}

Vstupy A/D prevodníka na MiniMEXLE doske sú zapojené takto:

Kanál       MUX3:0    signál
--------------------------------------------------------------
ADC 0 - 3             nepoužívame
ADC 4        0100     konektor X2, pravý kanál, Termistor NTC
ADC 5        0101     konektor X2, ľavý kanál, dióda LED2
ADC 6 - 7             nepoužívame
Vref         1110     vnútorná referencia 1,1 V
GND          1111     vnútorná zem 0 V


Ako zdroj referenčného napätia použijeme priamo napájacie napätie 5V oddelené tlmivkou a filtrované paralelným kondenzátorom 100n. Zodpovedajúce bity REFS1, REFS0 v registri ADMUX sú teda 01.

Zdroj hodinového signálu pre A/D prevodník musí byť v rozsahu 50 až 200 kHz, preto volíme preddeličku 128.

Príklad najjednoduchšieho SW ovládaného A/D prevodu je uvedená v tomto príklade - pozri AVR A/D example.c

Vizualizácia

Vizualizáciu dát môžeme robiť rozlične. Jeden z možných spôsobov je vypisovať po sériovej linke v pravidelných intervaloch holé data a tie potom uložiť ako maticu do Matlabu a tam nakresliť graf, priebeh, čo treba...

Iná možnosť je použiť napr. program StampPlot, ktorý kreslí prichádzajúce data priamo ako graf, s výnimkou reťazcov, ktoré začínajú znakom '!', tie považuje za konfiguračné príkazy.

Download: StampPlotLite1.7

Príklad: AVR StampPlotExample.c Manual: Stamp Plot Manual


NTC termistor

Na doske je použitý typ NTC od firmy Vishay (Catalog-Number: 2381 640 63472) R25 = 4700 Ohm ± 5 % ; B25/85 = 3977 K ± 0,75 %



     T(R) = \left( \frac{1}{\frac{1}{B} \ln (\frac{R}{R_{25}}) + \frac{1}{T_{N} + 273 K}} \right) - 273 K

Pripojenie termistora na doske MiniMEXLE.



Úlohy

  1. Nahrajte si knižnice pre prácu so sériovou linkou, preštudujte využitie knižnice <stdio.h> a demonštrujte.
  2. Doplňte program o jednoduchý A/D prevod a zobrazte hodnotu z termistora na doske MiniMEXLE.
  3. Overte prevod A-D prevodníka meraním vnútornej referencie 1,1 V
  4. Upravte program pre A-D prevod tak, aby v pracoval autonómne s periódou vzorkovania 100ms.
  5. Oboznámte sa s programom StampPlot a zobrazte časový priebeh teploty z termistora.
  6. Vyhodnotením prechodového deja identifikujte veľkosť kondenzátora vo výstupnom filtri.


Download

Icon Terminal.png Terminal 1.9b

Icon StampPlotLite.png StampPlot Lite 1.7



Návrat na zoznam cvičení...