vloženo:08.07.2008    aktualizováno:14.11.2014

   Dva nezávislé analogové vstupy měří napětí od 0 do 5V (společné GND). Pro měření se využívá desetibitový A/D převodník mikroprocesoru PIC16F88.
   Výsledek A/D převodu se přepočítá na požadovaný údaj, odpovídající měřené veličině. Parametry přepočtu si určí sám uživatel, při kalibraci.
   Oba vstupy mají přiděleny své výstupy a své nastavitelné horní a dolní meze, tvoří tak 2 nezávislé limitní regulátory. Kromě toho má VPR ještě komparátor, ten porovnává oba vstupy navzájem. Výsledek komparátoru plus nastavitelné hystereze určují stav třetího výstupu. Komparátor využijeme například při regulaci solárního kolektoru.

 

Voltmetr.
  Napětí na vstupech A0, A1 převádí desetibitový A/D převodník na číslo 0 až 1023. Citlivost převodníku určuje vstup Vref+ (100mV až 5V), lze tak nastavit rozsah měřeného napětí, 0 až Vref+.
   Použitím vhodného vstupního děliče, bočníku, převodníku, můžeme vstup přizpůsobit pro měření většího napětí, nebo i jiných veličin, proud, teplota, tlak, úhel natočení atd.

 

Přepočítalo.
   Nic neříkající výstupní číslo A/D převodníku (0 až 1023) se přepočítá na požadovanou hodnotu. Vzorec výpočtu je pro oba vstupy stejný, rozdílné jsou jenom některé parametry (konstanty), ty vznikají při kalibraci konkrétního vstupu. Výsledná hodnota může být v rozsahu -9999 až 9999, a může mít i desetinnou tečku, tu lze vložit kamkoliv. Výsledek přepočtu už  můžeme zobrazit na displeji, nebo porovnávat v regulátoru.

 

Regulátor.
   Regulace je rozdělena do tří nezávislých částí, 3 výstupy (ZAP=Log.1 / VYP=Log.0).

Re0 =1 když V0 <= MIN0
Re0 =0 když V0 => MAX0

Re1 =1 když V1 <= MIN1
Re1 =0 když V1 => MAX1

Re2 =1 když V0 => V1+H.ZAP
Re2 =0 když V0 <= V1+H.VYP

V0, V1 jsou přepočítané hodnoty vstupů A0, A1.
MAX, MIN, horní a dolní meze pro daný vstup.
H.ZAP, hystereze komparátoru pro ZAP Re2.
H.VYP, hystereze komparátoru pro VYP Re2.

 

Technické údaje.
Napájení             5V / 70mA (včetně podsvícení)
Vstupy                Vref+  100mV až 5V
                           A0,A1   0 až Vref+
Četnost měření    10/s
Výstupy              Re0, Re1, Re2, PO. Log.0/1 (max. zatížení 25mA)
Displej                LCD 2x16 znaků
Ovládání             4 tlačítka

 

Popis zobrazení na displeji:


   Na prvním displeji, hned po startu se zobrazí název vstupu, přepočítaná hodnota a jednotky. Horní řádek vstup A0, dolní A1. Přímo zde můžeme postupně změnit název vstupu (6 znaků, bliká kurzor). Počet desetinných míst výsledku (0 až 3). Takto nastavená desetinná tečka se bude zobrazovat i v ostatních hodnotách (MIN, MAX, Kalibrace). A nakonec se dají zadat jednotky (4 znaky), např. Volt, Ohm, mA, °C ... Pro název a jednotky jsou dostupné veškeré znaky, které má displej LCD v paměti.

 



   Další dva displeje zobrazují meze regulátoru, MAX, MIN, nastavitelné v plném rozsahu -9999 až 9999. Desetinné tečky se nastavují na prvním displeji.

 


   Následuje zobrazení a nastavení hysterezí ZAP a VYP komparátoru. Hystereze je kladné číslo 0 až 255 s desetinnou tečkou odvozenou od V0.



   Kalibrace vstupů je na dalších dvou displejích. První vstup A0, potom vstup A1. Displej ukazuje jméno vstupu, okamžitý A/D převod (0 až 1023), horní a dolní požadované hodnoty H a D, nastavitelné od -9999 do 9999. Desetinné tečky se nastavují na prvním displeji, před nebo po kalibraci.

 


   Nakonec displej pro ruční provoz. Regulace je zde vypnuta, zapne se až po opuštění tohoto displeje. Zobrazeny jsou okamžité Log. stavy výstupů Re0, Re1, Re2, s možností ručního přepínání.

 

Ovládání.
4 tlačítka (popis shora):

TL4  +  Plus / zobrazování dopředu / přepne Re0

TL3  -  Mínus / zobrazování dozadu / přepne Re1

TL2  N  Následující nastavování / výběr desetinné tečky / přepne Re2

TL1  S  Set, nastavování (podržet 3,5sek) / konec nastavování

  Tlačítkem +/- vybíráme zobrazení na displeji, dopředu/dozadu. Chceme-li na displeji něco nastavit, podržíme tlačítko S, dokud nezačne hodnota nebo znak blikat. Potom pro změnu čísla či znaku, stisknout nebo podržet tlačítko +/-.
   Většina čísel, kromě hystereze se zadává po řádech, od tisíců (vlevo), text také z leva do prava. Na posledním řádu se určí, zda bude číslo kladné nebo záporné, přechodem přes nulu. Tlačítkem N se přesuneme vpravo na další znak, anebo z konce na začátek.
   Při nastavování desetinné tečky bliká celé číslo, tečka se vybírá pouze tlačítkem N.
   Provedenou změnu potvrdíme tlačítkem S. Tím se dostaneme na další nastavování, a v případě, že už jsme na posledním údaji, nastavování se ukončí.
   Trochu jiné je to při ovládání výstupů v ručním provozu. Všechny 3 stavy vstupů blikají. Každý vstup má své přepínací tlačítko: TL4 pro Re0, TL3 pro Re1 a TL2 pro Re2. Tlačítkem S ukončíme ovládání.
   Program verze 2.1 má přidanou funkci: automatické přepnutí na 1. displej. K tomu dojde, nebude-li 30 sekund stisknuto nějaké tlačítko. Tato funkce ale neplatí v ručním provozu a při nastavování, čehokoliv (něco na displeji bliká).
   Podsvícení displeje vypne automaticky po 256 sekundách nečinnosti tlačítek. Jakékoliv tlačítko ho opět zapne, a svítit bude samozřejmě i po zapnutí napájení.
   Všechny důležité hodnoty se ukládají do EEPROM, kde se uchovají i při vypnutém napájení.

 

Postup kalibrace.
  Pozor, referenční napětí Vref+ by mělo být stejné, nebo o málo větší než maximální napětí na vstupu A0 nebo A1 (100mV až 5V)

  Na displeji vyberte vstup který chcete kalibrovat, K.vstup0 nebo K.vstup1.

Vlastní kalibrace probíhá ve dvou krocích.

1. Nastavení horního displeje H.
  Připojte na vstup maximální napětí nebo blížící se maximální hodnotě (displej ukáže jeho AD převod).
  Nyní do horního displeje H zadejte požadovanou hodnotu (-9999 ... 9999). Po kalibraci se tato hodnota zobrazí při tomto vstupním napětí.
  Pokud je AD převod ustálený, můžete hodnotu uložit (Tl S).

Příklad:
Pro vstup = 5V, nastavíme H = 05.00 (desetinná tečka se nastavuje na prvním displeji, před nebo po kalibraci). Není nutné aby vstup měl přesně 5V. Pokud bude mít například 4.7V, vložíme H = 04.70

2. Nastavení dolního displeje D.
  Na vstup připojte minimální napětí, nebo blížící se minimální hodnotě (AD převod opět ukáže jeho hodnotu).
  Zadejte dolní displej D (-9999 ... 9999). Po kalibraci bude tato hodnota zobrazena při tomto vstupním napětí.
  Uložit (Tl S)

Příklad:
Vstupní napětí = 0V, D = 00.00
Nebo, vstupní napětí = 0.5V, D = 00.50

  Tím je kalibrace hotova, vstupní napětí 0 až 5V se bude zobrazovat od 0.00 do 5.00 (platí pro Vref+ =5V).

  Při kalibraci není nutné přivést na vstup maximální a minimální napětí, měly by ale být od sebe co nejvíce vzdálené. Důležité je, aby měřené napětí co nejvíce přesně odpovídalo požadované hodnotě (H/D) v okamžiku uložení!!!

  Druhý vstup se kalibruje stejným způsobem. Horní a dolní hodnoty H, D se nemusí kalibrovat společně. Pokud chceme změnit jenom jednu hodnotu H nebo D, tak ve chvíli kdy se má nastavit ta druhá (když bliká), rovnou stiskneme tlačítko S. Jestliže se hodnota nemění (+/-), nedojde ke kalibraci.

  Ještě před kalibrací si dobře zvolte rozsah výsledné hodnoty. Můžete sice volit v rozsahu -9999 až 9999, ale čím větší rozdíl, tím menší rozlišení, výsledek se bude měnit po skocích. Pro plynulé zobrazování by rozdíl horního a dolního displeje H mínus D (absolutní hodnota bez desetinné čárky) neměl příliš přesahovat 1023.

  Funkci přepočítadla si lze představit tak, že hornímu a dolnímu kalibračnímu napětí přiřadíme požadované hodnoty a po jejich spojení vznikne pomyslná přímka po které se pohybuje výsledek. Znázorněno je to v simulaci PADP.xls (23 kB) přepočet A/D převodu.  Jsou tam i matematické zápisy všech výpočtů.

 

Popis konstrukce a zapojení.

Konstrukce je postavena na univerzálním modulu UniModul.


   Schéma zapojení je velmi jednoduché. Základ tvoří mikroprocesor PIC, konkrétně 16F88. Frekvence krystalu nemusí být přesně 19.6608MHz, to je pro pozdější doplnění časových funkcí. Zatím stačí jakýkoliv krystal od 18 do 20MHz, a není potřeba ani kapacitní trimr C3.
   Horní polovina portu B (RB4-7) tvoří 4bitovou sběrnici pro zobrazovací LCD panel. Kromě přenosu dat do displeje, slouží sběrnice i pro čtení ovládacích tlačítek. 15x za sekundu je sběrnice přepnuta na přenos dat do procesoru a přes oddělovací rezistory R1-4 načteny stavy tlačítek.
   Podsvícení displeje řídí vstup P. Chceme-li aby svítil trvale, připojíme na vstup P napájecí napětí +5V. Propojením P a B3 bude podsvícení ovládáno programově. Každé stisknutí tlačítka rozsvítí displej na dobu 256 sekund.
   Děličem R6, R7 nastavíme kontrast displeje. Dobře to jde, když na displeji bliká nějaký znak, při zadávání údajů.
   Mikroprocesor 16F88 má na RA4 kompletní binární výstup, proto není nutné osazovat rezistor R5. Ve schématu je ponechán kvůli jiným typům mikroprocesorů, které mají na výstupu RA4 otevřený kolektor.
   Všechny 3 analogové vstupy A0, A1, A3 mohou být konfigurovány jako měřící. V tomto případě je ale vstup A3 vyhrazen pro referenční napětí Vref+, určující citlivost zbývajících vstupů A0, A1. Referenční napětí lze jednoduše vytvořit na odporovém děliči (potenciometr), nebo pomocí přesnějšího integrovaného ref. zdroje. Čím menší referenční napětí, tím větší citlivost. Pozor na extrémně velkou citlivost, kdy se začíná projevovat šum. Ještě při citlivosti 100mV pracuje vnitřní digitální filtr bez problémů. Záleží ale také na vnějším připojení vstupů, např. délka vodičů. Pokud to bude nutné, dá se šum potlačit blokovacím kondenzátorem, přímo na vstupu, 10 až 100nF.
   Celý modul je napájen stabilizovaným napětím +5V. Odběr proudu nepřesahuje 70mA (bez podsvícení 20mA).

 



   Na desce plošného spoje zbylo trochu místa na dodatečné sestavení pomocných obvodů, např. odporový dělič, napěťovou referenci TL431C, stabilizátor 7805 pro napájení atd...
Tlačítka a konektor displeje jsou naletované ze strany spojů.
   Desku prodává www.bucek.name/dps/dpswebnode.dat.htm
pod označením RR72.
   Před vlastním programováním zkontrolujte programovací pojistky konfiguračního slova. Ty jsou mj. vypsané v úvodní části zdrojového textu ASM.txt (3,2 kB)

 

Zapojení konektoru.

1 A0 analogový vstup, měřené napětí
2 A1 analogový vstup, měřené napětí
3 A3 analogový vstup, Vref+ referenční napětí
4 A5 pouze digitální vstup (nevyužito)
5 GND
6 B0 výstup Re0, regulace od vstupu A0
7 B1 výstup Re1, regulace od vstupu A1
8 B2 výstup Re2, regulace komparátoru
9 B3 výstup PO, propojit s P podsvícení
10 +5V stabilizované

 

Seznam součástek.

IO PIC 16F88-I/P + sokl
Displej LCD 2x16 znaků EL1602A (BC1602A)
Q1 krystal 19.6608MHz (18-20MHz)
T1 KC238 (nebo podobný NPN)
C1,C2 15pF keramický
C3 0-33pF kapacitní trimr (může se vynechat)
C4 100nF keramický
R1-R4 1k
R5 2k2 (může se vynechat)
R6 8k2
R7 2k2 trimr (rozteč 5-2.5)
R8 10k
TL1-TL4 mikrospínač 6x6x17mm 12V/0.05A (např. B6819 od GES)
CON hlavní konektor, kolíky lámací 10 pinů
konektor LCD - kolíky lámací + dutinková lišta 16 pinů

 

Soubory ke stažení.

UM007.sch (151,5 kB) UM007.brd (37,2 kB)  schéma a deska kreslené v EAGLE4.16

VPR212.HEX (14,3 kB) program (PIC16F88)

VPR213.HEX (14,3 kB) program (PIC16F88)
Změna kurzoru při nastavování, místo obdélníčku bliká podtržítko.

VPR212.asm.txt (3,3 kB) úvodní část zdrojového textu (programovací pojistky)

PADP.xls (23 kB)  simulace přepočtu AD převodu

Chcete-li kompletní výpis zdrojového textu, napište.