Biz voltmetrni - mikroprotsessorga asoslangan ampermetrni amalga oshirish variantlari bilan shug'ullanishda davom etamiz.
Fayllar bilan arxivni unutmang, ular bugun bizga kerak bo'ladi.
Agar siz katta ko'rsatkichlarni qo'ymoqchi bo'lsangiz, MK portlari orqali joriy iste'molni cheklash masalasini hal qilishingiz kerak bo'ladi. Bunday holda, indikatorning har bir bitiga bufer tranzistorlarini qo'yish kerak.
Katta ko'rsatkichlar
Shunday qilib, ilgari ko'rib chiqilgan sxema rasmda ko'rsatilgan shaklni oladi. 2. Ko'rsatkichning har bir biti uchun bufer bosqichining uchta tranzistorlari VT1-VT3 qo'shildi. O'rnatilgan bufer bosqichi MKning chiqish signalini o'zgartiradi. Shunga ko'ra, VT2 ga asoslangan kirish kuchlanishi ko'rsatilgan tranzistorning kollektoriga nisbatan teskari bo'lib, u chiqishga vergul bilan ta'minlash uchun mos ekanligini anglatadi. Bu ilgari shakldagi sxemada bo'lgan VT1 tranzistorini olib tashlashga imkon beradi. 1, ikkinchisini R12 ajratuvchi rezistor bilan almashtirish. VT1-VT3 tranzistorlarining asosiy davrlaridagi rezistorlarning qiymatlari ham o'zgarganligini unutmang.
Agar siz noan'anaviy darajada katta o'lchamdagi ko'rsatkichlarni qo'ymoqchi bo'lsangiz, ular yoqilganda oqim kuchlanishini cheklash uchun ushbu tranzistorlarning kollektor pallasida past qarshilikli (1 - 10 Ohm) rezistorlarni qo'yishingiz kerak bo'ladi.
Ushbu parametr uchun MK mantig'i faqat bit boshqaruvining chiqish signalini, ya'ni RA0, RA1, RA5 portlarini invertatsiya qilish nuqtai nazaridan dasturni ozgina o'zgartirishni talab qiladi.
Keling, faqat nima o'zgarishini ko'rib chiqaylik, ya'ni "Dynamic Display Formation Function" shartli nomi ostida bizga allaqachon ma'lum bo'lgan pastki dastur. Ro'yxat №2(arxivdagi "tr_OE_30V" jildiga yoki maqolaning birinchi qismiga qarang):
16. void Indicator ()( 17. while (show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. agar (ko'rsatish_raqam == 2)( kechikish_ms(1); ) 20. porta = 0b100111; 21. ko'rsatish_raqam = ko'rsatish_raqam + 1; 22. kalit (raqamni ko'rsatish) ( 23. 1-holat: ( 24. agar (raqam1 == 0) ( ) boshqacha ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) tanaffus;) 28. 2-holat: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1)<<1)); //0 ->A1 31. tanaffus;) 32. 3-holat: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1)<<5)); //0 ->A5 35. break;) ) 36. Delay_ms(6); 37. agar (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) break; 40.) show_digit = 0;)
Ikkala variantni solishtiring. RA portidagi signal inversiyasini (2-raqamning 20-qatori) o'qish oson, chunki u ikkilik shaklda yozilgan. MK va ikkilik raqamning xulosalarini birlashtirish kifoya. 19 va 37-qatorlarda boshida bo'lmagan biroz g'alati sharoitlar paydo bo'ldi. Birinchi holda: "ikkinchi bitni ko'rsatish paytida RA1 portidagi mantiqiy nol signalini kechiktirish." Ikkinchisida: "agar RA2 portida mantiqiy nolga ega bo'lsa, inversiya." Dasturning yakuniy versiyasini kompilyatsiya qilganingizda, ularni olib tashlashingiz mumkin, ammo ular PROTEUSda simulyatsiya qilish uchun kerak. Ularsiz vergul va "G" segmenti odatdagidek ko'rsatilmaydi.
Nega? - deb so'raysiz, chunki birinchi variant ajoyib ishladi.
Xulosa qilib aytganda, "Muhabbat formulasi" filmidagi temirchining so'zlarini eslang: "... bir kishi qurgan bo'lsa, boshqasi uni har doim ajratib olishi mumkin!".
Omad!
O'quvchi ovozi
Maqola 27 nafar o'quvchi tomonidan ma'qullandi.
Ovoz berishda ishtirok etish uchun ro'yxatdan o'ting va foydalanuvchi nomi va parolingiz bilan saytga kiring.Ushbu qurilmada muallif to'rt xonali etti elementli LED indikatorini faqat to'rtta mikrokontroller pinidan signallar bilan boshqarishning original usulidan foydalangan. Mikrokontroller dasturi voltmetrni avtomatik kalibrlashni ta'minlaydi.
LED raqamli indikatorning 74HC595 seriyali parallel konvertor orqali mikrokontroller bilan an'anaviy ulanishi kod konvertorini boshqarish uchun mikrokontrollerning uchta chiqishi va indikatorning har bir raqami uchun yana bitta chiqishdan foydalanishni talab qiladi. Shuning uchun, to'rt raqamli ko'rsatkich etti pinni talab qiladi. Bu bunday ko'rsatkichlarni past quvvatli mikrokontrollerlar bilan, masalan, faqat oltita pinga ega bo'lgan PIC12F675 bilan (quvvat pinlarini hisobga olmaganda) ishlatishni imkonsiz qiladi.
Ikkinchi bosqichda, 74HC595 chipining 12-pinidagi ortib borayotgan daraja farqi siljish registrining nol tarkibini ushlab turish registriga qayta yozadi. Bu indikatorni butunlay o'chiradi.
Uchinchi bosqichda ma'lumotlar mikrosxemaning 14-pinidagi mikrokontroller tomonidan yaratilgan seriyali kod bilan 74HC595 mikrosxemasining siljish registriga yuklanadi. Uning chiqishi 11 soat pulslarini oladi.
To'rtinchi bosqichda, 74HC595 mikrosxemasining 12-pinidagi daraja farqi ortib borishi bilan, uning siljish registridagi ma'lumotlar saqlash registriga kiradi va katodlardagi yuqori darajalar tufayli indikator razryadlari o'chirilgan bo'lib qoladi.
Beshinchi bosqichda, 74HC595 mikrosxemasining chiqishlariga parallel kod chiqishi mo'ljallangan razryadning umumiy katodida dastur ushbu kodga muvofiq o'z elementlarini yoqadigan past darajani o'rnatadi. Bu uzilishni qayta ishlashni tugatadi va o'rnatilgan indikator holati keyingi uzilishgacha o'zgarishsiz qoladi.
Sakkiz raqamli indikatorni boshqarish uchun sakkizta mikrokontrolör chiqishi kerak. Bunday holda, qo'shimcha to'rtta chiqish signallari shunchaki razryadlarning katodlari darajasini nazorat qiladi. Shuni ta'kidlash kerakki, bu holda umumiy katodlar va umumiy anodlar, mos ravishda kod konvertorining chiqishlariga ulash elementlari yoki razryadlari bo'lgan ko'rsatkichlardan foydalanish mumkin. Quyida keltirilgan sabablarga ko'ra, birinchi holatda dinamik ko'rsatkich elementini elementga, ikkinchisida esa bitma-bit tashkil qilish afzaldir.
Keling, ta'riflangan printsipdan foydalanadigan voltmetr haqida gapiraylik.
Asosiy texnik xususiyatlar
O'lchangan kuchlanish, V .............. 0...80
O'lchov diskretligi, V ...... 0.1
Aniqlik.................0,5% + birlik ml. res.
Ta'minot kuchlanishi, V............7...15
Iste'mol oqimi, mA, ko'p emas .........................30
Voltmetr zanjiri rasmda ko'rsatilgan. 1. Element bo'yicha dinamik ko'rsatkichdan foydalanadi. Vaqtning har bir daqiqasida HG1 indikatorining barcha raqamlari bir xil nomdagi elementlarning bir guruhining anodlarida yuqori daraja o'rnatiladi. Ushbu elementlar porlashi kerak bo'lgan razryadlarning umumiy katodli terminallarida past daraja o'rnatiladi, aks holda u yuqori bo'ladi. Shuni yodda tutingki, bir xil nomdagi elementlar bir vaqtning o'zida barcha toifalarga kiritilishi mumkin, ammo hozirgi vaqtda har bir toifaga faqat bitta element kiritilgan. Shuning uchun elementlarning anodlarini DD2 mikrosxemasining chiqishlariga ulash uchun tanlangan, ularning yuk ko'tarish qobiliyati mikrokontroller chiqishidan yuqori.
Guruch. 1. Voltmetr zanjiri
2 ms uzilish davri bilan indikatordagi tasvirning yangilanish tezligi 64 Gts ni tashkil qiladi va uning miltillashi ko'z uchun sezilmaydi. Tanlangan dinamik ko'rsatkich usuli, shuningdek, indikator LEDlari orqali oqimni cheklaydigan rezistorlar sonini (R4-R7) ikki baravar kamaytirishga imkon berdi.
Mikrokontroller PIC12F675-I / P (DD1) GP0 va GP3 kiritish-chiqarish liniyalarining dinamik ko'rsatkichlarida bo'sh qoladi. Birinchisi ADC kirishi sifatida ishlatiladi, o'lchangan kuchlanish unga R1R2 ajratgich orqali beriladi. GP3 liniyasida, o'tish moslamasi S1 bo'lmasa, R3 rezistori tufayli yuqori mantiqiy daraja o'rnatiladi, bu voltmetrni kalibrlash rejimiga o'tkazadigan signal bo'lib xizmat qiladi. Jumper o'rnatilgan bo'lsa, bu pindagi daraja past va voltmetr normal ishlaydi.
Yo'qolgan jumper S1 bilan voltmetrni birinchi marta yoqsangiz, HG1 indikatori eng o'ngdagi belgi miltillagan holda ko'rsatiladi. Bunday holatda, qurilmaning kirishiga imkon qadar 80 V ga yaqin kuchlanish qo'llanilishi kerak, uni namunaviy voltmetr bilan boshqaradi. Jumper S1 uchun mo'ljallangan kontakt yostiqlarining qisqa muddatli ulanishi bilan qurilma kalibrlash faktorini hisoblab chiqadi va eslab qoladi va kelajakda undan foydalanadi.
Biroq, 80 V juda katta kuchlanish va uni olishda qiyinchiliklar istisno qilinmaydi. Bunday holda, mos yozuvlar kuchlanishining qiymatini ko'rsatish vaqtida qurilmani o'chirish va qayta yoqish kerak. Ko'rsatkich , va keyingi o'chirish va yoqishda - , , yana va yana aylana bo'ylab ko'rinadi. Kalibrlash ushbu qiymatlarning eng yuqori kuchlanishida amalga oshirilishi kerak. Yo'naltiruvchi kuchlanish qanchalik baland bo'lsa, kalibrlash qanchalik aniq bo'ladi. Agar kalibrlash vaqtida kirish voltaji mos yozuvlar kuchlanishidan juda farq qilsa, koeffitsient hisoblanmaydi va indikator ko'rsatiladi.
Kalibrlashdan so'ng, voltmetrni o'chiring va nihoyat S1 jumperini o'rnating, aks holda keyingi safar uni yoqsangiz, hamma narsani yana takrorlashingiz kerak bo'ladi. Voltmetr ham kalibrlashsiz ishlashi mumkin, agar jumper S1 birinchi yoqilganda allaqachon o'rnatilgan bo'lsa. Bunday holda, u dasturda yozilgan koeffitsientdan foydalanadi, ammo xatolik 10% dan oshishi mumkin. Bu indikatorning eng o'ng raqamiga kiritilgan nuqta bilan ogohlantiriladi.
Analog-raqamli konvertatsiya mikrokontrollerning "uyqu" rejimida uning ish tugunlaridan shovqinlarni kamaytirish uchun amalga oshiriladi. Ushbu holatdan konvertatsiya oxirida u avtomatik ravishda chiqadi.
Qurilma DA1 o'rnatilgan voltaj regulyatori yordamida olingan 5 V kuchlanish bilan quvvatlanadi. Diagrammada ko'rsatilgan o'rniga siz 78L05 stabilizatoridan faqat oxirgi chora sifatida foydalanishingiz mumkin, chunki uning chiqish kuchlanishining barqarorligi kattaroq tartibdir. Parametrlarni buzmasdan, siz LP2951 stabilizatoridan foydalanishingiz mumkin. 5,6 V kuchlanish uchun Zener diyot VD1 mikrokontrollerning ichki himoya diyoti bilan birgalikda o'lchangan kuchlanish ruxsat etilgan qiymatdan oshib ketganda ikkinchisini shikastlanishdan himoya qiladi. Cheklovchi bo'lmasa, bu vaziyatda mikrokontrollerning kuchlanish kuchlanishi keskin oshishi mumkin.
Qurilma 1,5 mm qalinlikdagi bir tomonlama folga tolali shishadan yasalgan 40x36 mm bosilgan elektron plataga yig'ilgan, rasmda ko'rsatilgan. 2. Ko'pgina rezistorlar va kondensatorlar sirtni o'rnatish uchun 0805 o'lchamiga ega. Yuqori kuchlanishda ishonchli ishlash uchun R1 rezistori 0,5 Vt chiqish quvvati bilan ishlatiladi. C1 kondansatörü ham keramika, ham chiqish oksidi o'rnatilishi mumkin, buning uchun taxtada C1 belgilangan o'rindiq mavjud.FYQ-3641AHR-11 indikatori taxtani o'zgartirmasdan 3641A seriyasidan yoki uch raqamli 3631A seriyasidan boshqasiga almashtirilishi mumkin. Yig'ilgan qurilma platasining fotosurati 3-rasmda ko'rsatilgan.
Men bir necha yillardan beri radioelektronika bilan shug'ullanaman, lekin men hali ham oddiy elektr ta'minotiga ega emasligimni tan olishdan uyalaman. Men yig'ilgan qurilmalarni qo'limga kelgan narsa bilan oziqlantiraman. Har qanday kuchlanish stabilizatsiyasi va chiqish oqimi cheklovisiz diodli ko'prikli yarim o'lik batareyalar va transformatorlarning barcha turlaridan. Bunday buzilishlar yig'ilgan tuzilma uchun juda xavflidir. Nihoyat, oddiy elektr ta'minotini yig'ishga qaror qildi. Va men yig'ishni ampermetr bilan boshladim. Albatta, boshqasidan boshlash kerak edi, lekin u allaqachon bo'lgani kabi. Men ozgina dasturlash bilan shug'ullanayotganim uchun men o'zim displey o'lchagichni ishlab chiqishga qaror qildim. Ekran Nokia-1202 displeyidir. Ehtimol, men bu displey bilan hammani qiynoqqa solganman, lekin u 2x16 HD44780 dan 3 barobar arzonroq (hech bo'lmaganda biz uchun). Juda lehimli ulagich va odatda yaxshi xususiyatlar. Qisqasi - kuchlanish va oqim o'lchagich uchun yaxshi variant.
PSU uchun raqamli ampervoltmetrning elektr davri
Raqamli ampermetr taxtasi chizmasi
Birinchi va ikkinchi chiziqlar 300 ADC o'lchovidan kuchlanish va oqimning o'rtacha qiymatini ko'rsatadi. Bu kattaroq o'lchov aniqligi uchun amalga oshiriladi. Uchinchi qator Ohm qonuniga muvofiq hisoblangan yuk qarshiligini ko'rsatadi. Avvaliga men uni quvvat sarfi chiqishi uchun qilishni xohlardim, lekin men qarshilik ko'rsatdim. Balki keyinroq uni kuchga almashtirarman. To'rtinchi qator DS18B20 sensori tomonidan o'lchangan haroratni ko'rsatadi. U 0 dan 99 darajagacha bo'lgan haroratni o'lchash uchun dasturlashtirilgan. U chiqish tranzistorining radiatoriga yoki kuchli isitish mavjud bo'lgan boshqa elektron elementga o'rnatilishi kerak.
Transistorli sovutgichni sovutish uchun mikrokontrollerga sovutgichni ham ulashingiz mumkin. DS18B20 sensori tomonidan o'lchangan harorat o'zgarganda u tezligini o'zgartiradi. PB3 pinida PWM signali mavjud. Sovutgich bu chiqishga quvvat kaliti orqali ulanadi. Quvvat kaliti sifatida MOSFET tranzistoridan foydalanish yaxshidir. 90 daraja haroratda fan maksimal tezlikka ega bo'ladi. Harorat sensori o'rnatilishi yoki o'rnatilmasligi mumkin. Bunday holda, to'rtinchi qator oddiygina OFF yozuvini ko'rsatadi. Sovutgich to'g'ridan-to'g'ri ulanadi. PB3 chiqishi 0 bo'ladi.
Arxivda proshivkaning ikkita versiyasi mavjud. Biri maksimal o'lchangan oqim uchun 5 amper, ikkinchisi esa 10 ampergacha. Maksimal o'lchangan kuchlanish 30 volt. LM358 op ampning daromad koeffitsienti hisob-kitoblarga ko'ra 10 ga teng qilib tanlandi.Turli proshivkalar uchun siz shuntni tanlashingiz kerak. Har bir inson ohmning yuzdan bir qismini va aniq rezistorlarni o'lchash qobiliyatiga ega emas. Shuning uchun sxema ikkita sozlash rezistoriga ega. Ular o'lchov ko'rsatkichlarini tuzatishi mumkin.
Arxivda bosma plata ham mavjud. Suratda ozgina farqlar bor - u erda biroz tuzatilgan. Bitta jumper olib tashlandi va o'lchami balandligi 5 mm kichikroq. Ampervoltmetr ko'rsatkichlarining barqarorligi yuqori. Ba'zan u faqat yuzdan birida suzadi. Men buni faqat xitoylik testerim bilan taqqoslagan bo'lsam ham. Men uchun bu juda etarli.
E'tiboringiz uchun barchangizga rahmat.
ARXIV:
Yangilangan versiya
Faqat quvvatning o'ndan bir qismining ko'rinishi qo'shildi.Bu erda men uni 50A gacha o'lchash uchun qayta ishladim. Shunt 0,01 ohm. Op-ampning daromadi taxminan 6 dan 7 gacha. Rezistorlarni qayta hisoblash kerak bo'ladi. Sigortalar avvalgidek bir xil.
Men sizning e'tiboringizga laboratoriya quvvat manbai uchun indikatorning yangilangan versiyasini taqdim etmoqchiman. Ma'lum bir oldindan o'rnatilgan oqim oshib ketganda yukni o'chirish imkoniyati qo'shildi. Yaxshilangan voltammetrning dasturiy ta'minotini quyida yuklab olish mumkin. Raqamli oqim va kuchlanish o'lchagichning diagrammasi.
Sxemaga bir nechta tafsilotlar ham qo'shildi. Tekshirish vositalaridan - bitta tugma va nominal qiymati 10 kilo-ohm dan 47 kilo-ohmgacha bo'lgan o'zgaruvchan qarshilik. Uning qarshiligi kontaktlarning zanglashiga olib kelishi uchun muhim emas va siz ko'rib turganingizdek, u juda keng chegaralarda o'zgarishi mumkin. Ekrandagi ko'rinish ham biroz o'zgargan. Quvvat va amper * soatlarini ko'rsatish qo'shildi.
Safar oqimi o'zgaruvchisi EEPROMda saqlanadi. Shuning uchun, o'chirilgandan so'ng, siz yana hamma narsani sozlashingiz shart emas. Joriy sozlamalar menyusiga kirish uchun tugmani bosishingiz kerak. O'zgaruvchan rezistorning tugmachasini burab, siz o'rni o'chiradigan oqimni o'rnatishingiz kerak. U tranzistorli kalit orqali Atmega8 mikrokontrollerining PB5 piniga ulangan.
O'chirish vaqtida displeyda o'rnatilgan maksimal oqimdan oshib ketganligi haqida yozuv paydo bo'ladi. Tugmani bosgandan so'ng, biz maksimal joriy sozlamalar menyusiga qaytamiz. O'lchov rejimiga o'tish uchun tugmani yana bosishingiz kerak. Jurnal 1 mikrokontrollerning PB5 chiqishiga qo'llaniladi va o'rni yoqiladi. Ushbu joriy kuzatuvning ham kamchiliklari bor. Himoya darhol ishlamaydi. Operatsiya bir necha o'nlab millisekundlarni olishi mumkin. Aksariyat eksperimental qurilmalar uchun bu kamchilik muhim emas. Odamlar uchun bu kechikish ko'rinmaydi. Hamma narsa birdan sodir bo'ladi. Yangi bosilgan elektron plata ishlab chiqilmagan. Kim qurilmani takrorlashni xohlasa, avvalgi versiyadan bosilgan elektron platani biroz tahrirlashi mumkin. O'zgarishlar sezilarli bo'lmaydi.
Har qanday savol uchun forumga murojaat qiling. E'tiboringiz uchun rahmat. Ampervoltmetrni Buxoro tugatdi.
ARXIV:
Forum