Mes ir toliau suprantame voltmetro - ampermetro, pagrįsto mikroprocesoriumi, diegimo galimybes.
Nepamirškite archyvo su failais, mums jų prireiks šiandien.
Jei norite įdiegti didelius indikatorius, turėsite išspręsti srovės suvartojimo per MK prievadus ribojimo klausimą. Tokiu atveju ant kiekvieno indikatoriaus skaitmens būtina sumontuoti buferinius tranzistorius.
Didelio dydžio indikatoriai
Taigi, anksčiau aptarta grandinė bus tokia, kokia parodyta Fig. 2. Kiekvienam indikatoriaus skaitmeniui buvo pridėti trys buferinės pakopos tranzistoriai VT1-VT3. Įdiegta buferinė pakopa invertuoja MK išėjimo signalą. Todėl įvesties įtampa, pagrįsta VT2, yra atvirkštinė nurodyto tranzistoriaus kolektoriaus atžvilgiu, todėl tinka kablelį formuojančiam išėjimui tiekti į išvestį. Tai leidžia pašalinti tranzistorių VT1, kuris anksčiau buvo grandinėje Fig. 1, pastarąjį pakeičiant atjungimo rezistoriumi R12. Nepamirškite, kad tranzistorių VT1-VT3 bazinėse grandinėse taip pat pasikeitė rezistorių reikšmės.
Jei norite sumontuoti neįprastai didelių matmenų indikatorius, nurodytų tranzistorių kolektoriaus grandinėje turėsite sumontuoti mažos varžos (1 - 10 omų) rezistorius, kad būtų apriboti srovės šuoliai juos įjungus.
Šios parinkties MK veikimo logika reikalauja tik šiek tiek pakeisti programą, kad būtų galima apversti išvesties signalą, skirtą valdyti bitus, būtent prievadus RA0, RA1, RA5.
Apsvarstykime tik tai, kas pasikeis, būtent mums jau žinomą paprogramę kodiniu pavadinimu „Dinaminės indikacijos generavimo funkcija“ Sąrašas Nr. 2(žr. aplanką „tr_OE_30V“ archyve arba pirmoje straipsnio dalyje):
16. void Indicator ()( 17. while (show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. if (show_digit == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. rodyti_skaitmenis = rodyti_skaitmenį + 1; 22. jungiklis (show_digit) ( 23. 1 atvejis: ( 24. if (skaitmuo1 == 0) ( ) else ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) pertrauka;) 28. 2 atvejis: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1)<<1)); //0 ->A1 31. pertrauka;) 32. 3 atvejis: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1)<<5)); //0 ->A5 35. pertrauka;) ) 36. Delay_ms(6); 37. if (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((rodyti_skaitmenį >= 3)!= 0) pertrauka; 40. ) rodyti_skaitmenį = 0;)
Palyginkite abu variantus. Signalo inversija RA prievade (sąrašo Nr. 2 20 eilutė) yra lengvai skaitoma, nes ji rašoma dvejetaine forma. Pakanka sujungti MK ir dvejetainio skaičiaus išvestis. 19 ir 37 eilutėse pasirodė šiek tiek keistos sąlygos, kurių pradžioje nebuvo. Pirmuoju atveju: „atidėti loginį nulinį signalą prievade RA1, kol rodomas antrasis skaitmuo“. Antrajame: „jei RA2 prievade yra loginis nulis, inversija“. Kai sukompiliuojate galutinę programos versiją, galite juos pašalinti, tačiau modeliavimui PROTEUS jie reikalingi. Be jų kablelis ir „G“ segmentas nebus rodomi įprastai.
Kodėl? - klausiate, nes pirmas variantas puikiai pavyko.
Pabaigai prisiminkime kalvio žodžius iš filmo „Meilės formulė“: „...jei vienas pastatė, kitas visada gali išardyti!
Sėkmės!
Skaitytojų balsavimas
Straipsniui pritarė 27 skaitytojai.
Norėdami dalyvauti balsavime, užsiregistruokite ir prisijunkite prie svetainės naudodami savo vartotojo vardą ir slaptažodį.Šiame įrenginyje autorius panaudojo originalų keturių skaitmenų septynių elementų LED indikatorių valdymo metodą su signalais tik iš keturių mikrovaldiklio kontaktų. Mikrovaldiklio programa suteikia automatinį voltmetro kalibravimo režimą.
Dabar jau tradiciniam LED skaitmeninio indikatoriaus prijungimui prie mikrovaldiklio per nuoseklųjį ir lygiagretų kodo keitiklį 74HC595 reikia naudoti tris mikrovaldiklio kaiščius kodo keitikliui valdyti ir dar vieną kaištį kiekvienam indikatoriaus skaitmeniui. Todėl keturių skaitmenų indikatoriui reikia septynių kaiščių. Tai neleidžia naudoti tokių indikatorių su mažo kontakto mikrovaldikliais, pavyzdžiui, su PIC12F675, kuris turi tik šešis kontaktus (neskaičiuojant maitinimo kaiščių).
Antrame žingsnyje 74HC595 12 kaiščio kylantis kraštas įrašo nulinį poslinkio registro turinį į laikymo registrą. Tai visiškai išjungia indikatorių.
Trečiajame etape informacija įkeliama į 74HC595 mikroschemos pamainų registrą, naudojant serijos kodą, kurį sugeneravo mikrovaldiklis mikroschemos 14 kaištyje. Jo 11 kaištis priima laikrodžio impulsus.
Ketvirtajame etape, didėjant lygių skirtumui 74HC595 mikroschemos 12 kaištyje, informacija iš jo poslinkio registro patenka į saugojimo registrą, o dėl aukštų katodų lygių indikatoriaus bitai lieka užgesinti.
Penktajame etape bendrame iškrovos katode, kuriam skirtas lygiagretus kodo išėjimas į 74HC595 mikroschemos išvestis, programa nustato žemą lygį, įjungdama elementus pagal šį kodą. Šiuo metu pertraukų apdorojimas baigiasi, o nustatyta indikatoriaus būsena išlieka nepakitusi iki kito pertraukimo.
Norint valdyti aštuonių bitų indikatorių, reikalingi aštuoni mikrovaldiklio išėjimai. Tokiu atveju signalai iš papildomų keturių kontaktų tiesiog valdo lygius išlydžių katoduose. Verta paminėti, kad šiuo atveju galima naudoti indikatorius tiek su bendrais katodais, tiek su bendrais anodais, atitinkamai jungiančius elementus arba išlydžius į kodo keitiklio išėjimus. Dėl toliau nurodytų priežasčių pirmuoju atveju pageidautina organizuoti dinaminį rodymo elementą po elementą, o antruoju - po bitus.
Dabar pakalbėkime apie voltmetrą, kuris naudoja aprašytą principą.
Pagrindinės techninės charakteristikos
Išmatuota įtampa, V............. 0...80
Matavimo skiriamoji geba, V......0.1
Tikslumas.............0,5% + vnt. ml. rezoliucija
Maitinimo įtampa, V............7...15
Srovės suvartojimas, mA, ne daugiau................................30
Voltmetro grandinė parodyta fig. 1. Jis naudoja dinaminį kiekvieno elemento ekraną. Kiekvienu laiko momentu vienos HG1 indikatoriaus skaitmenų to paties pavadinimo elementų grupės anoduose nustatomas aukštas lygis. Bendruose katodiniuose išlydžių gnybtuose, kuriuose šie elementai turėtų švytėti, nustatomas žemas lygis, kitu atveju aukštas lygis. Atminkite, kad to paties pavadinimo elementus galima įjungti vienu metu visose kategorijose, tačiau šiuo metu kiekvienoje kategorijoje įgalintas tik vienas elementas. Todėl ir pasirinkome elementų anodus prijungti prie DD2 mikroschemos išėjimų, kurių apkrova yra didesnė nei mikrovaldiklio išėjimų.
Ryžiai. 1. Voltmetro grandinė
Esant 2 ms pertraukai, indikatoriaus vaizdo atnaujinimo dažnis yra 64 Hz, o jo mirksėjimo akims nematyti. Pasirinktas dinaminės indikacijos būdas taip pat leido perpus sumažinti srovę per indikatoriaus šviesos diodus ribojančių rezistorių (R4-R7) skaičių.
Mikrovaldiklis PIC12F675-I/P (DD1) lieka neužimtas I/O linijų GP0 ir GP3 dinaminėje indikacijoje. Pirmasis naudojamas kaip ADC įvestis; išmatuota įtampa į jį tiekiama per daliklį R1R2. GP3 linijoje, nesant trumpiklio S1, rezistoriaus R3 dėka nustatomas aukštas loginis lygis, kuris tarnauja kaip signalas, perjungiantis voltmetrą į kalibravimo režimą. Jei yra sumontuotas trumpiklis, šio kaiščio lygis yra žemas ir voltmetras veikia normaliai.
Kai pirmą kartą įjungsite voltmetrą su trūkstamu trumpikliu S1, HG1 indikatorius parodys, kad mirksi dešinysis ženklas. Esant tokiai būsenai, į prietaiso įvestį reikia prijungti kuo artimesnę 80 V įtampą, stebint ją standartiniu voltmetru. Trumpam prijungus kontaktines trinkeles, skirtas trumpikliui S1, įrenginys apskaičiuos ir įsimins kalibravimo koeficientą bei naudos jį ateityje.
Tačiau 80 V yra gana aukšta įtampa, todėl gali būti sunku ją gauti. Tokiu atveju, nurodant atskaitos įtampos vertę, prietaisas turi būti išjungtas ir vėl įjungtas. , pasirodys indikatoriuje, o kitą kartą išjungus ir įjungus - , , vėl ir toliau ratu. Kalibravimas turi būti atliekamas esant didžiausiai įtampai. Kuo didesnė atskaitos įtampa, tuo tikslesnis kalibravimas. Jei kalibravimo metu įėjimo įtampa per daug skiriasi nuo etaloninės įtampos, koeficientas nebus apskaičiuojamas ir rodomas indikatoriuje.
Po kalibravimo išjunkite voltmetrą ir galiausiai įdėkite trumpiklį S1, antraip kitą kartą įjungus teks viską kartoti iš naujo. Voltmetras gali veikti be kalibravimo, jei trumpiklis S1 jau yra sumontuotas pirmą kartą jį įjungiant. Šiuo atveju naudoja programoje parašytą koeficientą, tačiau klaida gali viršyti 10%. Taškas dešiniajame indikatoriaus skaitmenyje jus įspės apie tai.
Konvertavimas iš analoginio į skaitmeninį yra atliekamas mikrovaldiklio „miego“ režimu, siekiant sumažinti jo veikimo komponentų trikdžius. Ji automatiškai išeina iš šios būsenos, kai bus atlikta transformacija.
Įrenginys maitinamas 5 V įtampa, gaunama naudojant integruotą įtampos stabilizatorių DA1. Stabilizatorių 78L05 vietoj nurodyto diagramoje galite naudoti tik kaip paskutinę priemonę, nes jo išėjimo įtampos stabilumas yra daug prastesnis. Nepablogindami parametrų galite naudoti stabilizatorių LP2951. Zenerio diodas VD1, skirtas 5,6 V įtampai, kartu su vidiniu apsauginiu mikrovaldiklio diodu apsaugo pastarąjį nuo pažeidimų, kai išmatuota įtampa viršija leistiną vertę. Be ribotuvo mikrovaldiklio maitinimo įtampa šioje situacijoje gali kritiškai padidėti.
Prietaisas sumontuotas ant spausdintinės plokštės, kurios matmenys 40x36 mm, iš vienpusio folija dengto stiklo pluošto laminato, kurio storis 1,5 mm, kaip parodyta Fig. 2. Dauguma rezistorių ir kondensatorių yra 0805 dydžio ant paviršiaus montuojami. Rezistorius R1 patikimam darbui esant padidintai įtampai naudojamas su 0,5 W išėjimo galia. Kondensatorius C1 gali būti montuojamas kaip keraminis kondensatorius arba kaip oksidinis kondensatorius, kuriam plokštėje yra C1 pažymėta vieta." FYQ-3641AHR-11 indikatorius gali būti pakeistas kitu iš 3641A serijos arba trijų skaitmenų. 3631A serija neperdarius plokštės.Surinktos įrenginio plokštės nuotrauka parodyta 3 pav.
Jau kelerius metus dirbu su radijo elektronika, bet man gėda prisipažinti, kad vis dar neturiu normalaus maitinimo šaltinio. Surinktus įrenginius maitinu tuo, kas po ranka. Iš visokių pusiau išsekusių baterijų ir transformatorių su diodiniu tilteliu be jokio įtampos stabilizavimo ar išėjimo srovės apribojimo. Tokie iškrypimai yra gana pavojingi surinktai konstrukcijai. Galiausiai nusprendė surinkti įprastą maitinimo šaltinį. Ir aš pradėjau surinkimą su amper-voltmetru. Žinoma, reikėjo pradėti nuo kito, bet kaip jau yra. Kadangi šiek tiek programuoju, nusprendžiau pats sukurti ekrano matuoklį. Ekranas yra „Nokia-1202“ ekranas. Turbūt jau visus kankinau su šiuo ekranu, bet jis 3 kartus pigesnis nei 2x16 HD44780 (bent jau pas mus). Gana lituojama jungtis ir apskritai geros charakteristikos. Trumpai tariant - geras įtampos ir srovės matuoklio variantas.
Skaitmeninio amper-voltmetro elektros grandinė maitinimui
Skaitmeninės amper-voltmetro plokštės brėžinys
Pirmoje ir antroje eilutėse rodomos vidutinės įtampos ir srovės vertės iš 300 ADC matavimų. Tai daroma siekiant didesnio matavimo tikslumo. Trečioje eilutėje rodomas apkrovos pasipriešinimas, apskaičiuotas pagal Ohmo dėsnį. Pirmiausia norėjau įsitikinti, ar sunaudojama galia, bet padariau pasipriešinimą. Gal vėliau pakeisiu į valdžią. Ketvirtoje eilutėje rodoma DS18B20 jutiklio išmatuota temperatūra. Jis užprogramuotas matuoti temperatūrą nuo 0 iki 99 laipsnių Celsijaus. Jis turi būti sumontuotas ant išėjimo tranzistoriaus radiatoriaus arba ant kito grandinės elemento, kuriame yra stiprus šildymas.
Taip pat prie mikrovaldiklio galite prijungti aušintuvą, kad aušintumėte tranzistoriaus radiatorių. Jis pakeis greitį, kai pasikeis DS18B20 jutiklio išmatuota temperatūra. PB3 kaištyje yra PWM signalas. Prie šios išvesties aušintuvas prijungtas per maitinimo jungiklį. Geriausia naudoti MOSFET tranzistorių kaip maitinimo jungiklį. Esant 90 laipsnių temperatūrai, ventiliatorius pasieks maksimalų greitį. Temperatūros jutiklis gali būti neįrengtas. Tokiu atveju ketvirtoje eilutėje tiesiog bus rodoma OFF. Mes tiesiogiai prijungiame aušintuvą. PB3 išvestis bus 0.
Archyve yra dvi programinės įrangos parinktys. Vienas skirtas maksimaliai išmatuotai 5 amperų srovei, o antrasis - iki 10 amperų. Didžiausia išmatuota įtampa yra 30 voltų. Remiantis skaičiavimais, op-amp LM358 stiprinimo koeficientas yra pasirinktas 10. Skirtingoms programinėms aparatinėms programoms reikia pasirinkti šuntą. Ne visi turi galimybę išmatuoti šimtąsias omų dalis ir tikslius rezistorius. Todėl grandinėje yra du apipjaustymo rezistoriai. Jie gali pakoreguoti matavimo rodmenis.
Archyve taip pat yra spausdintinė plokštė. Nuotraukoje yra nedideli skirtumai - ten šiek tiek pakoreguota. Nuimtas vienas džemperis, kurio aukštis 5 mm mažesnis. Ampero voltmetro rodmenų stabilumas yra didelis. Kartais jis plaukia tik šimtomis dalimis. Nors palyginau tik su savo kinišku testeriu. Man to visiškai užtenka.
Ačiū visiems už dėmesį.
ARCHYVAS:
Modernizuota versija
Pridėjau tik dešimtosios galios ekraną.Čia aš jį pakeičiau, kad išmatuotų iki 50A. Šuntas 0,01 omo. Op-amp stiprinimas yra maždaug nuo 6 iki 7. Reikės perskaičiuoti rezistorius. Saugikliai tokie patys kaip ir anksčiau.
Norėčiau jūsų dėmesiui pristatyti patobulintą ekrano matuoklio versiją laboratoriniam maitinimo šaltiniui. Pridėta galimybė išjungti apkrovą, kai viršijama tam tikra iš anksto nustatyta srovė. Patobulinto voltamperometro programinę įrangą galite atsisiųsti žemiau. Skaitmeninio srovės ir įtampos matuoklio grandinės schema.
Į diagramą taip pat buvo pridėta keletas detalių. Iš valdiklių yra vienas mygtukas ir kintamasis rezistorius, kurio vertė nuo 10 kiloomų iki 47 kiloomų. Jo varža nėra labai svarbi grandinei, ir, kaip matote, ji gali skirtis gana plačiame diapazone. Išvaizda ekrane taip pat šiek tiek pasikeitė. Pridėtas galios ir amperų valandų rodymas.
Išjungimo srovės kintamasis yra saugomas EEPROM. Todėl išjungus nereikės visko konfigūruoti iš naujo. Norėdami patekti į esamą nustatymų meniu, turite paspausti mygtuką. Sukdami kintamo rezistoriaus rankenėlę, turite nustatyti srovę, kuriai esant relė išsijungs. Jis per tranzistorių jungiklį prijungtas prie Atmega8 mikrovaldiklio PB5 kaiščio.
Išjungimo metu ekrane bus rodoma, kad buvo viršyta maksimali nustatyta srovė. Paspaudę mygtuką grįšime į didžiausio esamo nustatymo meniu. Norėdami įjungti matavimo režimą, turite dar kartą paspausti mygtuką. Žurnalas 1 bus išsiųstas į mikrovaldiklio išvestį PB5 ir relė įsijungs. Toks dabartinis stebėjimas turi ir trūkumų. Apsauga neveiks iš karto. Suaktyvinimas gali užtrukti kelias dešimtis milisekundžių. Daugeliui eksperimentinių įrenginių šis trūkumas nėra svarbus. Šis delsimas žmonėms nematomas. Viskas vyksta vienu metu. Nauja PCB nebuvo sukurta. Kiekvienas, norintis pakartoti įrenginį, gali šiek tiek redaguoti spausdintinę plokštę iš ankstesnės versijos. Pakeitimai nebus reikšmingi.
Jei turite klausimų, susisiekite su forumu. Ačiū už dėmesį. Boozer užbaigė ampero voltmetrą.
ARCHYVAS:
Forumas