Pokračujeme v pochopení možností implementace voltmetru - ampérmetru na bázi mikroprocesoru.
Nezapomeňte na archiv se soubory, dnes je budeme potřebovat.
Pokud chcete instalovat velké indikátory, budete muset vyřešit problém s omezením odběru proudu přes MK porty. V tomto případě je nutné nainstalovat vyrovnávací tranzistory na každou číslici indikátoru.
Velké indikátory velikosti
Takže dříve diskutovaný obvod bude mít podobu znázorněnou na obr. 2. Pro každou číslici indikátoru byly přidány tři tranzistory VT1-VT3 vyrovnávacího stupně. Instalovaný vyrovnávací stupeň invertuje výstupní signál MK. Vstupní napětí na základě VT2 je tedy vzhledem ke kolektoru uvedeného tranzistoru inverzní, a proto je vhodné pro napájení výstupu tvořícího čárku. To umožňuje odstranit tranzistor VT1, který byl dříve v obvodu na Obr. 1, nahrazující druhý oddělovacím rezistorem R12. Nezapomeňte, že hodnoty rezistorů v základních obvodech tranzistorů VT1-VT3 se také změnily.
Pokud chcete instalovat indikátory s nekonvenčně velkými rozměry, budete muset do kolektorového obvodu uvedených tranzistorů instalovat nízkoodporové (1 - 10 Ohm) odpory, abyste omezili proudové rázy při jejich zapnutí.
Provozní logika MK pro tuto volbu vyžaduje pouze drobnou změnu programu ve smyslu invertování výstupního signálu pro ovládání bitů, a to portů RA0, RA1, RA5.
Uvažujme pouze to, co se změní, a to podprogram, který je nám již znám pod kódovým názvem „Funkce generování dynamické indikace“ v Výpis č. 2(viz složka „tr_OE_30V“ v archivu nebo první část článku):
16. void Indikátor ()( 17. while (show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. if (show_digit == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. zobrazit_číslici = zobrazit_číslici + 1; 22. přepínač (show_digit) ( 23. case 1: ( 24. if (digit1 == 0) ( ) else ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) přestávka;) 28. případ 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. přestávka;) 32. případ 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. přestávka;) ) 36. Delay_ms(6); 37. if (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) break; 40. ) show_digit = 0 ;)
Porovnejte obě možnosti. Inverze signálu na portu RA (řádek 20 výpisu č. 2) je snadno čitelná, protože je zapsána v binární podobě. Stačí spojit výstupy MK a binárního čísla. V linkách 19 a 37 se objevily trochu zvláštní podmínky, které tam na začátku nebyly. V prvním případě: „zpoždění signálu logické nuly na portu RA1 během indikace druhé číslice“. Ve druhém: "pokud je na portu RA2 logická nula, inverze." Když kompilujete finální verzi programu, můžete je odstranit, ale pro simulaci v PROTEUS jsou potřeba. Bez nich se čárka a segment „G“ nezobrazí normálně.
Proč? - ptáte se, protože první možnost fungovala skvěle.
Na závěr si vzpomeňte na slova kováře z filmu „Formule lásky“: „...když to postavil jeden člověk, jiný to může vždycky rozebrat!“
Hodně štěstí!
Čtenářské hlasování
Článek schválilo 27 čtenářů.
Chcete-li se zúčastnit hlasování, zaregistrujte se a přihlaste se na stránku svým uživatelským jménem a heslem.V tomto zařízení autor použil originální způsob ovládání čtyřmístného sedmiprvkového LED indikátoru se signály pouze ze čtyř pinů mikrokontroléru. Program mikrokontroléru poskytuje režim automatické kalibrace pro voltmetr.
Nyní tradiční připojení digitálního LED indikátoru k mikrokontroléru přes sériový na paralelní převodník kódu 74HC595 vyžaduje použití tří pinů mikrokontroléru pro ovládání převodníku kódu a jednoho dalšího pinu pro každou číslici indikátoru. Čtyřmístný indikátor tedy vyžaduje sedm pinů. To neumožňuje použít takové indikátory s mikrokontroléry s malým kolíkem, například s PIC12F675, který má pouze šest kolíků (nepočítaje napájecí kolíky).
Ve druhém kroku náběžná hrana na pinu 12 74HC595 zapíše nulový obsah posuvného registru do přídržného registru. Tím se indikátor úplně vypne.
Ve třetí fázi jsou informace načteny do posuvného registru mikroobvodu 74HC595 pomocí sériového kódu generovaného mikrokontrolérem na kolíku 14 mikroobvodu. Jeho kolík 11 přijímá hodinové impulsy.
Ve čtvrté fázi, se zvyšujícím se rozdílem úrovní na kolíku 12 mikroobvodu 74HC595, informace z jeho posuvného registru vstupují do úložného registru a kvůli vysokým úrovním na katodách zůstávají indikační bity zhasnuté.
V páté fázi, na společné katodě výboje, pro kterou je určen paralelní kódový výstup na výstupy mikroobvodu 74HC595, program nastaví nízkou úroveň a zapne její prvky v souladu s tímto kódem. V tomto okamžiku zpracování přerušení končí a nastavený stav indikátoru zůstává nezměněn až do dalšího přerušení.
K ovládání osmibitového indikátoru je zapotřebí osm výstupů mikrokontroléru. V tomto případě signály z dalších čtyř kolíků jednoduše řídí úrovně na katodách výbojů. Za zmínku stojí, že v tomto případě je možné použít indikátory jak se společnými katodami, tak se společnými anodami, spojovacími prvky nebo výboji na výstupy převodníku kódu, resp. Z důvodů uvedených níže je výhodné organizovat dynamické zobrazení prvek po prvku v prvním případě a bit po bitu ve druhém případě.
Nyní si povíme něco o voltmetru, který využívá popsaný princip.
Hlavní technické vlastnosti
Naměřené napětí, V............... 0...80
Rozlišení měření, V......0,1
Přesnost.............0,5 % + jednotky. ml. rozlišení
Napájecí napětí, V............7...15
Spotřeba proudu, mA, už ne................................30
Obvod voltmetru je na Obr. 1. Používá dynamické zobrazení prvek po prvku. V každém časovém okamžiku je na anodách jedné skupiny prvků stejného jména nastavena vysoká úroveň všech číslic indikátoru HG1. Na společných katodových vývodech výbojů, ve kterých by tyto prvky měly svítit, je nastavena nízká hladina, jinak vysoká hladina. Vezměte prosím na vědomí, že prvky se stejným názvem lze aktivovat současně ve všech kategoriích, ale v každé kategorii je v aktuálním čase povolen pouze jeden prvek. Proto jsme zvolili připojení anod prvků na výstupy mikroobvodu DD2, jehož zatížitelnost je vyšší než u výstupů mikrokontroléru.
Rýže. 1. Obvod voltmetru
S periodou přerušení 2 ms je obnovovací frekvence obrazu na indikátoru 64 Hz a jeho blikání je okem neviditelné. Zvolený způsob dynamické indikace také umožnil snížit na polovinu počet rezistorů (R4-R7) omezujících proud indikačními LED.
Mikrokontrolér PIC12F675-I/P (DD1) zůstává neobsazen v dynamické indikaci I/O linek GP0 a GP3. První je použit jako ADC vstup, měřené napětí je na něj přiváděno přes dělič R1R2. Na lince GP3 se při absenci propojky S1 díky rezistoru R3 nastaví vysoká logická úroveň, která slouží jako signál, který přepne voltmetr do kalibračního režimu. Pokud je propojka nainstalována, úroveň na tomto kolíku je nízká a voltmetr funguje normálně.
Když poprvé zapnete voltmetr s chybějící propojkou S1, indikátor HG1 zobrazí blikající znak zcela vpravo. V tomto stavu by mělo být na vstup zařízení přivedeno napětí co nejblíže 80 V, které je sledováno standardním voltmetrem. Při krátkodobém připojení kontaktních plošek určených pro propojku S1 si zařízení vypočítá a zapamatuje kalibrační koeficient a bude jej používat v budoucnu.
80 V je však poměrně vysoké napětí a jsou možné potíže s jeho získáním. V tomto případě je třeba při indikaci hodnoty referenčního napětí zařízení vypnout a znovu zapnout. Na indikátoru se objeví , a při příštím vypnutí a zapnutí - , , znovu a dále v kruhu. Kalibrace by měla být provedena při nejvyšším dostupném napětí. Čím vyšší je referenční napětí, tím přesnější je kalibrace. Pokud se v době kalibrace vstupní napětí příliš liší od referenčního napětí, koeficient nebude vypočítán a zobrazen na indikátoru
Po kalibraci vypněte voltmetr a nakonec nainstalujte propojku S1, jinak při příštím zapnutí budete muset vše opakovat. Voltmetr může pracovat bez kalibrace, pokud je propojka S1 již nainstalována při prvním zapnutí. V tomto případě používá koeficient zapsaný v programu, ale chyba může přesáhnout 10 %. Na to vás upozorní tečka v číslici úplně vpravo.
Převod analogového signálu na digitální se provádí v režimu „spánku“ mikrokontroléru, aby se snížilo rušení jeho provozních součástí. Po dokončení transformace tento stav automaticky opustí.
Zařízení je napájeno napětím 5 V, získaným pomocí integrovaného stabilizátoru napětí DA1. Stabilizátor 78L05 místo na obrázku naznačeného můžete použít jen v krajním případě, protože stabilita jeho výstupního napětí je řádově horší. Bez degradace parametrů můžete použít stabilizátor LP2951. Zenerova dioda VD1 pro napětí 5,6 V spolu s vnitřní ochrannou diodou mikrokontroléru chrání mikrokontrolér před poškozením, když naměřené napětí překročí přípustnou hodnotu. Bez omezovače se může napájecí napětí mikrokontroléru v této situaci kriticky zvýšit.
Zařízení je sestaveno na desce plošných spojů o rozměrech 40x36 mm z jednostranně potaženého laminátu ze skelného vlákna o tloušťce 1,5 mm, znázorněného na Obr. 2. Většina rezistorů a kondenzátorů má velikost 0805 pro povrchovou montáž. Pro spolehlivý provoz při zvýšeném napětí je použit rezistor R1 s výstupním výkonem 0,5W. Kondenzátor C1 lze instalovat buď jako keramický kondenzátor nebo jako oxidový kondenzátor, pro který je na desce umístěno sedlo označené C1." Indikátor FYQ-3641AHR-11 lze nahradit jiným ze série 3641A nebo třímístným Řada 3631A bez předělání desky Fotografie sestavené desky zařízení je na obr. 3.
Rádiové elektronice se věnuji již několik let, ale stydím se přiznat, že stále nemám normální napájení. Napájím sestavená zařízení vším, co mi přijde pod ruku. Od všemožných polomrtvých baterií a transformátorů s diodovým můstkem bez jakékoli stabilizace napětí nebo omezení výstupního proudu. Takové zvrácenosti jsou pro sestavenou konstrukci docela nebezpečné. Nakonec se rozhodl sestavit normální napájecí zdroj. A začal jsem montáž ampérvoltmetrem. Samozřejmě bylo nutné začít od jiného, ale jak už to je. Vzhledem k tomu, že jsem trochu programoval, rozhodl jsem se vyvinout měřič displeje sám. Obrazovka je displej z Nokia-1202. S tímto displejem jsem pravděpodobně již mučil každého, ale je 3krát levnější než 2x16 HD44780 (alespoň pro nás). Docela pájitelný konektor a celkově dobré vlastnosti. Stručně řečeno - dobrá volba pro měřič napětí a proudu.
Elektrický obvod digitálního ampérvoltmetru pro napájení
Výkres desky digitálního ampérvoltmetru
První a druhý řádek zobrazují průměrné hodnoty napětí a proudu z 300 měření ADC. To se provádí pro větší přesnost měření. Třetí řádek zobrazuje odpor zátěže vypočítaný pomocí Ohmova zákona. Nejprve jsem se chtěl ujistit, že spotřeba je na výstupu, ale postavil jsem se na odpor. Možná to později změním na výkon. Čtvrtý řádek zobrazuje teplotu naměřenou čidlem DS18B20. Je naprogramován pro měření teplot od 0 do 99 stupňů Celsia. Musí být instalován na chladič výstupního tranzistoru nebo na jiný prvek obvodu, kde dochází k silnému zahřívání.
K mikrokontroléru můžete také připojit chladič pro chlazení tranzistorového radiátoru. Změní svou rychlost, když se změní teplota měřená snímačem DS18B20. Na pinu PB3 je signál PWM. K tomuto výstupu je chladič připojen přes síťový vypínač. Jako výkonový spínač je nejlepší použít tranzistor MOSFET. Při teplotě 90 stupňů bude mít ventilátor maximální rychlost. Teplotní čidlo nemusí být nainstalováno. V tomto případě se na čtvrtém řádku jednoduše zobrazí OFF. Připojujeme přímo chladič. Výstup PB3 bude 0.
V archivu jsou dvě možnosti firmwaru. Jeden pro maximální měřený proud 5 ampér a druhý až 10 ampér. Maximální naměřené napětí je 30 voltů. Podle výpočtů je faktor zesílení operačního zesilovače LM358 zvolen na 10. Pro jiný firmware je třeba vybrat bočník. Ne každý má schopnost měřit setiny ohmů a přesné odpory. Proto jsou v obvodu dva trimovací odpory. Mohou korigovat naměřené hodnoty.
V archivu je i plošný spoj. Na fotce jsou drobné rozdíly - je tam mírně upravená. Jeden jumper byl odstraněn a velikost je o 5 mm menší na výšku. Stabilita odečtů ampérvoltmetru je vysoká. Někdy plave jen po setinkách. I když jsem to porovnával jen se svým čínským testerem. Tohle mi docela stačí.
Děkuji vám všem za pozornost.
ARCHIV:
Modernizovaná verze
Přidal jsem pouze zobrazení desetinového výkonu.Zde jsem jej upravil na měření až 50A. Shunt 0,01 ohm. Zisk operačního zesilovače je přibližně 6 až 7. Bude nutné přepočítat odpory. Pojistky jsou stejné jako předtím.
Rád bych Vám představil modernizovanou verzi zobrazovacího měřiče pro laboratorní napájecí zdroj. Přibyla možnost vypnout zátěž při překročení určitého přednastaveného proudu. Firmware vylepšeného voltampérmetru je ke stažení níže. Schéma zapojení digitálního měřiče proudu a napětí.
Do schématu bylo přidáno také několik detailů. Z ovládacích prvků je jedno tlačítko a proměnný rezistor s hodnotou od 10 kiloohmů do 47 kiloohmů. Jeho odpor není pro obvod kritický a jak vidíte, může se měnit v poměrně širokém rozsahu. Vzhled na obrazovce se také trochu změnil. Přidáno zobrazení výkonu a ampérhodin.
Proměnná vypínacího proudu je uložena v paměti EEPROM. Po vypnutí tedy nebudete muset vše znovu konfigurovat. Chcete-li vstoupit do aktuální nabídky nastavení, musíte stisknout tlačítko . Otočením knoflíku s proměnným odporem je třeba nastavit proud, při kterém se relé vypne. Je připojen přes tranzistorový spínač na pin PB5 mikrokontroléru Atmega8.
V okamžiku vypnutí se na displeji zobrazí překročení maximálního nastaveného proudu. Po stisknutí tlačítka se vrátíme zpět do nabídky nastavení maximálního proudu. Pro přepnutí do režimu měření musíte znovu stisknout tlačítko. Log 1 bude odeslán na výstup PB5 mikrokontroléru a relé sepne. Tento druh monitorování proudu má také své nevýhody. Ochrana nebude fungovat okamžitě. Spouštění může trvat několik desítek milisekund. U většiny experimentálních zařízení není tato nevýhoda kritická. Toto zpoždění není pro člověka viditelné. Všechno se děje najednou. Nebyla vyvinuta žádná nová PCB. Kdo si chce zařízení zopakovat, může si plošný spoj z předchozí verze mírně upravit. Změny nebudou výrazné.
Pokud máte nějaké dotazy, obraťte se na fórum. Děkuji za pozornost. Boozer dokončil ampérvoltmetr.
ARCHIV:
Fórum