Měřič U, I, R, C, f

Je elektronický měřicí přístroj umožňující měřit elektrické veličiny napětí, proud, el. odpor, kapacitu, frekvenci. Jedná se o středoškolský projekt, ne laboratorní přístroj 🙂

Úvod:Obr 1 (přístroj)

Celé to začalo učením programování 8051 [1]. V jedné kapitole byl uveden zajímavý převodník PCF8591P a tak se zrodila myšlenka zkonstruovat měřicí přístroj. Nejprve jsem chtěl plně využít převodník, tak jsem se rozhodl dva vstupy využít pro dvojité měření napětí, další pro měření proudu a poslední pro odpor.  Ale co s nevyužitým mikro procesorem? Tak jsem jeden čítač využil jako čítač impulzů (měření frekvence) a druhý pro měření času nabíjení kondenzátorů (měření kapacity).

Parametry:

  • Napětí – 2×0,1-100V DC
  • Proud – 0,01-2,55A DC
  • Odpor – 0Ω-10MΩ
  • Frekvence – do 10MHz
  • Kapacita – 100p – 100uF
  • Generátor – max. 50Hz

Technické údaje hlavních součástek:

Mikroprocesor je od firmy ATMEL z rodiny 8051, AT89S8253, 12KB Flash, 256B RAM, 3x16bit čítač/časovač, UART, SPI, 24MHz

Převodník PCF8591P, 4x8bit A/D s postupnou aproximací, 8bit D/A, I2C sběrnice

Vývoj:

Vývoj zařízení (hardwaru), byl velmi rychlý, protože nám byl ve škole zadán úkol, ve kterém jsme měli vymyslet nějaké zařízení, napsat k němu program, nakreslit schéma a nakonec to celé odprezentovat. Abych to stihl, byla konstrukce navržena pouze teoreticky. Navrhl jsem DPS, nechal ho vyrobit a nakoupil součástky. Po té jsem začal postupně zapojovat konkrétní okruhy obvodu a psát k nim program. Bohužel stalo se to, co bylo od začátku jasné, teorie se neshodovala s realitou, takže jsem musel schéma a DPS dodatečně upravovat. Vývoj softwaru nešel tak rychle jak bylo plánováno, do prezentace jsem dokončil jen měření odporu, napětí a proudu. Poté trval ještě rok, než bylo zařízení plně funkční.

Jako zobrazovací prvek jsem zvolil displej 2×16 řádků, je dostatečně veliký a cenově dostupný [2]. Pro ovládání v menu slouží dvě tlačítka (vpravo-vlevo), tlačítko OK pro výběr a jedno pro návrat do menu.

Napětí: Pro měření napětí jsem chtěl, aby rozmezí hodnot bylo od 0 do 100V. Při tomto rozmezí by hodnoty byly nepřesné. Přepínání odporových děličů by tento problém odstranil. Nejjednodušší bylo použití relé, vybrané je malé a cenově přijatelné. Kvůli bezpečnosti je ve výchozím stavu relé přepnuto na dělič určený pro měření vyšších napětí.

Odpor: Pro tento případ jsem chtěl využít AD převodník, proto obvod funguje na principu připojování nominálního odporu k neznámému a hledání vhodné hodnoty. Tento způsob měření není příliš přesný –  šlo spíše o hledání přibližné hodnoty. V praxi to vypadá tak, že přístroj neukáže hodnotu 27,64kΩ, ale převede napětí ze srovnávacího rezistoru o hodnotě např. 100k, z tabulky vybere příslušnou hodnotu (0-100) a podle aktuálního umístění v nominální řadě hodnot připíše na displej kΩ (v jiných případech třeba MΩ nebo připíše 0) (zobrazované hodnoty např.: 2500Ω, 021kΩ, 060Ω).

Proud: Tento princip byl na vývoj nejjednodušší. AD převodník má referenční napětí 2,5V z toho vyplývá, že pro proud 2,5A (což mi stačilo) stačí použít 1Ω rezistor a měřit na něm úbytek napětí. Díky tomu se hodnoty z převodníku nemusí nějak převádět, mikroprocesor je hned zobrazuje na displeji.

Frekvence: Aby bylo možné měřit i jiné než TTL signály byl využit operační zesilovač, kde rezistory R36-R37 vytváří rozhodovací úroveň pro log 1 a log 0 na 2,5V. Signál se přivádí na invertující vstup, takže s každou náběžnou hranou větší než 2,5V pošle OZ do uP log 0 a tím se inkrementuje (zvýší) obsah čítače.

Kapacita: Ta mi trvala ze všeho nejdéle. Zde bylo těžké nalezení optimálních hodnot rezistorů tak aby byly přijatelné rozsahy a snadný program.  Po dlouhém zkoušení jsem nalezl takové hodnoty rezistoru (R49,R50,R51), se kterými bylo měření přijatelné.

Generátor: Zde jsem využil DA převodníku, takže uP posílá hodnoty, ze kterých se vytvoří požadovaný signál. Z toho vyplývá, že lze generovat v podstatě cokoliv. Opět využívá referenčního napětí, z toho plyne, že výstupní napětí se pohybuje do 0 do 2,5V jelikož je také 8bitový je kvantovací krok 0,01V. Bohužel při uvedení do provozu jsem zjistil, že generátor nenajde uplatnění. I když jsem tvar signálu omezil na 32 hodnot maximální frekvence je zhruba 50Hz. Je to dáno tím, že sběrnice I2C je udělaná softwarově a komunikace s převodníkem je trvá příliš dlouho. Aby se převodník nezatěžoval přímo, je na výstup připojen OZ jako sledovač.

Komunikace s PC a program pro PC: Chtěl jsem, aby bylo možné sledovat průběh měřených napětí v grafu a pro snazší ovládání generátoru (v té době jsem ještě nevěděl, že je k ničemu) vznikl program pro PC. Zde mi velmi pomohla [3]. Po mnoha úpravách komunikačního protokolu se nakonec využívá 4 bajtů, dva nesoucí Obr 2 (ukázka z měření)informaci o typu měření a dva obsahující hodnoty. PC vyšle první bajt oznamující informaci o započetí přenosu, uP odešle danou informaci, poté PC pošle další bajt a uP mu zas odpoví. Po čtvrtém bajtu program vyhodnotí, co přijal za data a zobrazí hodnoty. Při ovládání generátoru se odesílají data o typu signálu a zpoždění. Poté co jsem zjistil, že je generátor nepoužitelný tak už jsem neřešil přesné generování kmitočtu, ale pouze se prodlužuje-zkracuje zpoždění mezi jednotlivými odeslanými hodnotami převodníku.

 

Principy měření:

Napětí:

Napětí přivedené na svorku J2 vytvoří úbytek napětí na odporovém děliči R28-R30. Toto napětí je přes omezovací rezistor R5 zavedeno do A/D převodníku IC3. Převodník toto napětí porovná s referenčním napětím 2,5V, které vytváří IC4. Mikroprocesor si po sběrnici I2C vyžádá 8bitovou hodnotu z měření. Potom vyhodnotí velikost napětí a v případě, že napětí je vyšší než 22V, vypne relé K1 a tím přepne na odporový dělič R29-R30 a opět vyhodnotí hodnotu z převodníku. V případě, že napětí kleslo pod 21V, sepne relé. Rozsah při sepnutém relé je 0,1 až 22V a pro vypnuté 21 až 100V. Dioda D1 zajišťuje, že proud poteče pouze jedním směrem. Zenerova dioda D4 s rezistorem R42 představuje bezpečnostní prvek – kdyby se na děliči objevilo napětí vyšší než dovolené. Potenciometry P11 a P12 umožňují doladit nepřesnost odporového děliče.

Proud:

Proud protékající jedno-ohmovým rezistorem R41 vytváří úbytek napětí 0,01V na 0,01A protékajícího proudu. Toto napětí převádí A/D převodník IC3. Dioda D6 zajistí, že proud teče správným směrem a pojistka F2 zabraňuje proudovému přetížení.

Odpor:

Mikroprocesor sepne tranzistor T1. Měřený rezistor na svorce J1 spolu s rezistorem R8 vytvoří úbytek napětí, které A/D převodník převede, mikroprocesor toto napětí vyhodnotí a pokud napětí bude příliš veliké, znamená to, že měřený rezistor má příliš vysokou hodnotu odporu. Mikroprocesor tedy vypne tranzistor T1, sepne T2 a měření se opakuje, dokud se nenajde vhodný rozsah. Po nalezení vhodného rozsahu mikroprocesor určí podle velikosti napětí velikost odporu.

Frekvence:

Vstupní obvod tvoří operační zesilovač IC7A zapojený jako komparátor. Rezistory R36 a R37 vytvářejí referenční napětí. S každou sestupnou hranou signálu vytvoří OZ kladnou nástupnou hranu. Tyto impulzy počítá vnitřní čítač mikroprocesoru po dobu jedné sekundy. To odpovídá frekvenci v Hz.

Generátor:

Zde se využívá D/A převodník IC3, který vytváří napětí podle hodnot, které mu mikroprocesor odesílá. Bohužel toto odesílání trvá příliš dlouho. Proto maximální frekvence, která se dá generovat při 32 vzorkách za sekundu, je zhruba 50Hz. Generovat se dá jakýkoliv průběh, který se nahraje do paměti mikroprocesoru. Aby se převodník nezatěžoval přímo, je na výstupu připojen OZ IC7B jako sledovač.

Kapacita:

Při měření kapacity se využívá rychlosti nabíjení kondenzátoru. Neznámý kondenzátor se připojí na svorku J4, mikroprocesor vypne tranzistory T8, T7 a dá povel IC6 k nabíjení kondenzátoru. Mikroprocesor pomocí vnitřního časovače měří, jak dlouho trvá nabíjení na 0,63Ucc. V případě, že by nabíjení trvalo příliš dlouho, tak a sepne T7, čímž zmenší odpor, přes který se kondenzátor nabíjí. Mikroprocesor podle doby nabíjení určí velikost kapacity kondenzátoru. Potenciometrem P10 se nastavuje referenční napětí na 0,63Ucc = 3,2V.

Popis schématu:

Zařízení je napájeno ze sítě a přes transformátor je vytvořeno dvou shodných zdrojů 5V pomocí IC2 a IC5 osazené chladiči. Jedna větev +5V napájí integrované oMERIC_panel_schemabvody a +5V2 napájí zbytek obvodu. Srdcem je mikroprocesor AT89S8253, jeho takt udává krystal X1 24MHz s zatěžovacími kondenzátory C18 a C19, správný reset zajišťuje RC článek C20 a R52. Port P2 zajišťuje obsluhu LCD displeje MC1602 2×16 znaků. Na port P0 je připojena odporová sít RN1 (mikroprocesor nemá vnitřní PULL-UP rezistory). Na svorky SV1-9 až SV1-12 jsou připojena tlačítka z ovládacího panelu. Na pinech P1.0 a P1.1 je sběrnice I2C se zatěžovacími rezistory R1 a R2. IC4 vytváří pro převodník referenční napětí 2,5V. Pro příjem dat od RS232 se stará tranzistor T11, dioda D5 ho chrání před záporným napětím (LOG1=-15V, LOG0=+15V), odesílání zajišťuje IC8, pomocí kondenzátorů C16 a C16 a diod D7 a D8 vytváří potřebné napájecí napětí z nevyužitých linek RS232.MERIC_hlavni_schema

 

Konstrukce: 

Zařízení se vejde do přístrojové krabičky U-KM85. Pro připojení napětí a proudu jsem zvolil panelovou svorku K201 kvůli „univerzálnímu“ připojení vodičů a pro ostatní konektory BNC. Ovládací panel je přidělán distančními slupky přímo na panel krabičky s takovým odstupem, aby tlačítka byla dobře stisknutelná. Panel je s hlavní deskou propojen plochým kabelem o 16 žílách. Na zadní panel krabičky jsem umístil pojistkové držáky, hlavní vypínač, napájecí konektor a konektor.

Obr 5 (záď) Obr 6 (DPS) Obr 4 (panel)MERIC_panel_nakres

 

 

 

Programy:

Program pro PC (obr. 3) je napsán v jazyce C++ a umožňuje sledovat měřené hodnoty a slouží k ovládání generátoru.Obr 3 (program pro PC)

Program pro mikroprocesor je psán v jazyce Assembler a je dlouhý zhruba 3500 řádků.

 

 

 

Literatura:

[1] Práce s mikrokontroléry AT89S8252 – David Matoušek

[2] Práce s inteligentními displeji LCD – David Matoušek

[3] Učebnice programování v C++ Builder – Václav Kadlec

 

Seznam součástek:

Označení Hodnota Pouzdro
Hlavní
B1, B2 B250C1500 RB1A
C1 – C9 100n C025-030X050
C10, C12 1000u E5-10,5
C11, C13 220u E3,5-8
C14 10p C025-030X050
C15, C16 47u E1,8-4
C17 22u E1,8-4
C18, C19 33p C025-030X050
C20 10u E1,8-4
D1, D2 BAT46 DO35-10
D3, D4 1N5337B P1Z12
D5, D7 – D10 1N4148 DO35-10
D6 P1000K DO201-15
F1 200mA KS10H
F2 3A KS10H
I1 ARK500/2EX W237-102
IC1 AT89C8253 DIL40
IC2, IC5 7805 78XXS
IC3 PCF8591P DIL16
IC4 TL431 TO92-CLP
IC6 LM555N DIL08
IC7 LM538N DIL08
IC8 TL061P DIL08
J1, J3 – J6 PSH02-02PG 6410-02
J2 PSH02-04PG 6410-04
K1, K2 RSM954 M3XXH
P1, P8 500 CA9V, CA6V
P2, P10 2k5 CA9V, CA6V
P3, P7 50k CA9V
P4, P5 250k CA9V
P6 100 CA9V
P9 250 CA6V
P11, P13 1k CA9V
P12, P14 10k CA9V
R1, R2 22k 0207
R3, R4, R6, R30, R52 10k 0207
R5, R42, R43 10 0207
R7 100 0207
R8 680 0207
R9, R28, R31 8k2 0207
R10 82k 0207
R11 820k 0207
R12 10M 0207
R13 56 0207
R14 – R19 470 0207
R20 – R25 1k2 0207
R26, R27 330 0207
R29, R32 39k 0207
R33, R35, R46, R47 1k 0207
R36 – R40 3k3 0207
R41 1 (20W) P0817V
R44 1 0207
R45 1k5 0207
R48 2k7 0204
R49 4M7 0207
R50 470 0207
R51 47 0207
RN1 10k SIL9
S2 TL32PO TL3XPO
SV1 MLW16G ML16
SV2 PSH02-05PG FE05-1
T1 – T10 BC327 TO92-EBC
T11 BC548 TO92-EBC
TR2 230V/2x9V EI48-2
X1 24MHz HC49/S
Panel
R1 10k 0207/12
R2 10 0207/7
R3 1k 0207/7
S1 -S6 P-DT6 DT6
SV1 MLW16A ML16
T1 BC558A TO92-EBC
X1 S1G20 70543-16


DPS:

MERIC_panel_osazeni MERIC_panel_DPSMERIC_hlavni_DPS MERIC_hlavni_osazeni

 

Závěrem:

Toto zařízení nebylo projektováno jako přesný měřicí přístroj, ale jako ukázka co vše se dá měřit pomocí pár součástek v rámci školního projektu „Program pro 8051“.

Publikováno v časopise Praktická elektronika 2011/12 😉

Ke stažení: MERIC_dokumentace

Přílohy:

MERIC_hlavni_schema.pdf Schéma přístroje
MERIC_hlavni_DPS.pdf DPS, rozměry: 158x120mm
MERIC_hlavni_osazeni.pdf Osazovací plán
MERIC_panel_schema.pdf Schéma panelu
MERIC_panel_DPS.pdf DPS, rozměry: 88x68mm
MERIC_panel_osazeni.pdf Osazovací plán
MERIC_soucastky.xls Seznam součástek
MERIC_foto Fotky přístroje
MERIC_panel_nakres.pdf Nákres předního panelu
MERIC_prog Program pro PC a pro mikroprocesor

 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.