Mikroprosessor əsasında bir voltmetr - ampermetrin həyata keçirilməsi variantlarını başa düşməyə davam edirik.
Fayllarla arxivi unutma, bu gün onlara ehtiyacımız olacaq.
Böyük göstəricilər quraşdırmaq istəyirsinizsə, MK portları vasitəsilə cari istehlakın məhdudlaşdırılması məsələsini həll etməli olacaqsınız. Bu halda, göstəricinin hər bir rəqəminə tampon tranzistorları quraşdırmaq lazımdır.
Böyük ölçü göstəriciləri
Beləliklə, əvvəllər müzakirə olunan dövrə Şəkildə göstərilən formanı alacaq. 2. Göstəricinin hər bir rəqəmi üçün tampon mərhələsinin üç tranzistoru VT1-VT3 əlavə edildi. Quraşdırılmış bufer mərhələsi MK-nin çıxış siqnalını çevirir. Buna görə də, VT2-yə əsaslanan giriş gərginliyi göstərilən tranzistorun kollektoruna nisbətən tərsdir və buna görə də çıxışa vergül yaradan bir çıxış təmin etmək üçün uyğundur. Bu, əvvəllər Şəkildə göstərilən dövrədə olan VT1 tranzistorunu çıxarmağa imkan verir. 1, sonuncunu ayırma rezistoru R12 ilə əvəz etmək. VT1-VT3 tranzistorlarının əsas dövrələrində rezistor dəyərlərinin də dəyişdiyini unutmayın.
Qeyri-ənənəvi böyük ölçüləri olan göstəricilər quraşdırmaq istəyirsinizsə, göstərilən tranzistorların kollektor dövrəsində aşağı müqavimətli (1 - 10 Ohm) rezistorlar quraşdırmalısınız ki, onlar işə salındıqda cərəyan dalğalarını məhdudlaşdırsınlar.
Bu seçim üçün MK-nın işləmə məntiqi yalnız bitləri, yəni RA0, RA1, RA5 portlarını idarə etmək üçün çıxış siqnalının çevrilməsi baxımından proqramda bir az dəyişiklik tələb edir.
Gəlin yalnız nəyin dəyişəcəyini, yəni "Dinamik göstərici yaratma funksiyası" kod adı altında artıq bizə məlum olan alt proqrama baxaq. Siyahı № 2(arxivdəki “tr_OE_30V” qovluğuna və ya məqalənin birinci hissəsinə baxın):
16. void Göstərici ()( 17. while (show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. əgər (show_digit == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. show_digit = show_digit + 1; 22. keçid (rəqəmi göstər) ( 23. hal 1: ( 24. əgər (rəqəm1 == 0) ( ) başqa ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) fasilə;) 28. hal 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1)<<1)); //0 ->A1 31. fasilə;) 32. hal 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1)<<5)); //0 ->A5 35. fasilə;) ) 36. Gecikmə_ms(6); 37. əgər (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Gecikmə_ms(1);) 39. əgər ((show_digit >= 3)!= 0) break; 40. ) show_digit = 0;)
Hər iki variantı müqayisə edin. RA portunda siqnalın inversiyasını (2 nömrəli siyahının 20-ci sətri) oxumaq asandır, çünki o, binar formada yazılmışdır. MK və ikili nömrənin çıxışlarını birləşdirmək kifayətdir. 19 və 37-ci sətirlərdə başlanğıcda olmayan bir qədər qəribə şərtlər meydana çıxdı. Birinci halda: "ikinci rəqəmin göstərilməsi zamanı RA1 portunda məntiqi sıfır siqnalını gecikdirin." İkincidə: "RA2 portunda məntiqi sıfır varsa, inversiya." Proqramın son versiyasını tərtib edərkən siz onları silə bilərsiniz, lakin PROTEUS-da simulyasiya üçün onlar lazımdır. Onlarsız vergül və "G" seqmenti normal şəkildə göstərilməyəcək.
Niyə? - deyə soruşursunuz, çünki birinci variant əla işləyib.
Sonda “Məhəbbət formulu” filmindən dəmirçinin sözlərini xatırlayın: “...onu bir nəfər tikibsə, başqası onu həmişə söküb apara bilər!”.
Uğurlar!
Oxucu səsi
Məqalə 27 oxucu tərəfindən bəyənilib.
Səsvermədə iştirak etmək üçün qeydiyyatdan keçin və istifadəçi adı və şifrənizlə sayta daxil olun.Bu cihazda müəllif mikrokontrolörün cəmi dörd pinindən gələn siqnallarla dörd rəqəmli, yeddi elementli LED göstəricini idarə etmək üçün orijinal üsuldan istifadə etmişdir. Mikrokontroller proqramı voltmetr üçün avtomatik kalibrləmə rejimini təmin edir.
İndi ənənəvi olaraq LED rəqəmsal göstəricinin 74HC595-dən paralel kod çeviricisi vasitəsilə mikrokontrollerə qoşulması kod çeviricisini idarə etmək üçün mikrokontrolörün üç pinindən və göstəricinin hər rəqəmi üçün daha bir pindən istifadə etməyi tələb edir. Buna görə də, dörd rəqəmli göstərici yeddi pin tələb edir. Bu, bu cür göstəriciləri kiçik pinli mikrokontrollerlərlə, məsələn, yalnız altı sancaqlı (güc sancaqlarını saymadan) olan PIC12F675 ilə istifadə etməyə imkan vermir.
İkinci addımda, 74HC595-in 12-ci pinindəki yüksələn kənar sürüşmə registrinin sıfır məzmununu saxlama registrinə yazır. Bu, göstəricini tamamilə söndürür.
Üçüncü mərhələdə məlumat mikrosxemin 14-cü pinində mikrokontroller tərəfindən yaradılan seriya kodundan istifadə edərək 74HC595 mikrosxeminin sürüşmə registrinə yüklənir. Onun pin 11 saat impulslarını qəbul edir.
Dördüncü mərhələdə, 74HC595 mikrosxeminin 12-ci pinində artan səviyyə fərqi ilə, onun sürüşmə registrindən məlumat saxlama registrinə daxil olur və katodlarda yüksək səviyyələrə görə indikator bitləri sönmüş qalır.
Beşinci mərhələdə, 74HC595 mikrosxemin çıxışlarına paralel kod çıxışının nəzərdə tutulduğu boşalmanın ümumi katodunda proqram bu koda uyğun olaraq elementlərini işə salaraq aşağı səviyyəni təyin edir. Bu nöqtədə kəsilmənin işlənməsi başa çatır və göstəricinin təyin edilmiş vəziyyəti növbəti fasiləyə qədər dəyişməz qalır.
Səkkiz bitlik bir göstəricini idarə etmək üçün səkkiz mikro nəzarətçi çıxışı tələb olunur. Bu halda, əlavə dörd sancaqdan gələn siqnallar sadəcə atqıların katodlarındakı səviyyələri idarə edir. Qeyd etmək lazımdır ki, bu halda həm ümumi katodlar, həm də ümumi anodlar, müvafiq olaraq kod çeviricisinin çıxışlarına birləşdirici elementlər və ya boşalmalar olan göstəricilərdən istifadə etmək mümkündür. Aşağıda qeyd olunan səbəblərə görə, birinci halda dinamik ekran elementini element-element, ikinci halda isə bit-bit təşkil etməyə üstünlük verilir.
İndi təsvir olunan prinsipdən istifadə edən bir voltmetr haqqında danışaq.
Əsas texniki xüsusiyyətlər
Ölçülmüş gərginlik, V.............. 0...80
Ölçmə qətnaməsi, V......0.1
Dəqiqlik.............0,5% + vahid. ml. görüntü imkanı
Təchizat gərginliyi, V............7...15
Cari istehlak, mA, artıq deyil.................................30
Voltmetr dövrəsi Şəkildə göstərilmişdir. 1. O, element-element dinamik ekrandan istifadə edir. Zamanın hər anında HG1 göstəricisinin bütün rəqəmlərinin eyni adlı elementlər qrupunun anodlarında yüksək səviyyə müəyyən edilir. Bu elementlərin parlamalı olduğu boşalmaların ümumi katod terminallarında aşağı səviyyə, əks halda yüksək səviyyə təyin olunur. Nəzərə alın ki, eyni adlı elementlər bütün kateqoriyalarda eyni vaxtda aktivləşdirilə bilər, lakin hazırda hər kateqoriyada yalnız bir element aktivləşdirilib. Buna görə biz elementlərin anodlarını yük qabiliyyəti mikrokontrolörün çıxışlarından daha yüksək olan DD2 mikrosxeminin çıxışlarına qoşmağı seçdik.
düyü. 1. Voltmetr dövrəsi
2 ms fasilə müddəti ilə indikatorda təsvirin yenilənmə sürəti 64 Hz-dir və onun yanıb-sönməsi gözə görünməzdir. Seçilmiş dinamik göstərici metodu, həmçinin göstərici LED-lər vasitəsilə cərəyanı məhdudlaşdıran rezistorların (R4-R7) sayını yarıya endirməyə imkan verdi.
Mikrokontroller PIC12F675-I/P (DD1) GP0 və GP3 giriş/çıxış xətlərinin dinamik göstəricisində boş qalır. Birincisi ADC girişi kimi istifadə olunur, ölçülmüş gərginlik ona R1R2 bölücü vasitəsilə verilir. GP3 xəttində, tullanan S1 olmadıqda, R3 rezistoru sayəsində voltmetri kalibrləmə rejiminə keçirən bir siqnal kimi xidmət edən yüksək məntiqi səviyyə təyin olunur. Jumper quraşdırılıbsa, bu pindəki səviyyə aşağıdır və voltmetr normal işləyir.
Çatışmayan tullanan S1 ilə voltmetri ilk dəfə açdığınız zaman, HG1 göstəricisi ən sağdakı işarənin yanıb-sönməsini göstərəcək. Bu vəziyyətdə cihazın girişinə standart bir voltmetr ilə nəzarət edərək mümkün qədər 80 V-a yaxın bir gərginlik tətbiq edilməlidir. Jumper S1 üçün nəzərdə tutulmuş kontakt yastiqciqlarının qısa müddətli birləşməsi ilə cihaz kalibrləmə əmsalını hesablayacaq və xatırlayacaq və gələcəkdə istifadə edəcəkdir.
Bununla belə, 80 V kifayət qədər yüksək gərginlikdir və onu əldə etməkdə çətinliklər mümkündür. Bu halda, istinad gərginlik dəyərini göstərərkən, cihaz söndürülməli və yenidən işə salınmalıdır. , indikatorda görünəcək və növbəti söndürmə və yandırma zamanı - , , təkrar və daha da dairəvi şəkildə görünəcək. Kalibrləmə mövcud olan ən yüksək gərginlikdə aparılmalıdır. İstinad gərginliyi nə qədər yüksək olsa, kalibrləmə bir o qədər dəqiqdir. Kalibrləmə zamanı giriş gərginliyi istinad gərginliyindən çox fərqlənirsə, əmsal hesablanmayacaq və göstəricidə göstərilməyəcək.
Kalibrləmədən sonra voltmetri söndürün və nəhayət jumper S1 quraşdırın, əks halda onu növbəti dəfə yandırdığınız zaman hər şeyi yenidən təkrarlamalı olacaqsınız. Voltmetr ilk dəfə işə salındıqda keçid S1 artıq quraşdırılıbsa, kalibrləmə olmadan işləyə bilər. Bu zaman proqramda yazılmış əmsaldan istifadə edir, lakin xəta 10%-i keçə bilər. Göstəricinin ən sağdakı rəqəmindəki nöqtə bu barədə sizi xəbərdar edəcək.
Analoqdan rəqəmə çevrilmə mikrokontrolörün "yuxu" rejimində onun əməliyyat komponentlərindən müdaxiləni azaltmaq üçün həyata keçirilir. Transformasiya başa çatdıqdan sonra avtomatik olaraq bu vəziyyətdən çıxır.
Cihaz inteqrasiya olunmuş gərginlik stabilizatoru DA1 istifadə edərək əldə edilən 5 V gərginliklə təchiz edilmişdir. Diaqramda göstərilənin əvəzinə 78L05 stabilizatorunu yalnız son çarə kimi istifadə edə bilərsiniz, çünki onun çıxış gərginliyinin sabitliyi daha pisdir. Parametrləri pozmadan, LP2951 stabilizatorundan istifadə edə bilərsiniz. 5,6 V gərginlik üçün zener diodu VD1, mikrokontrolörün daxili qoruyucu diodu ilə birlikdə ölçülmüş gərginlik icazə verilən dəyəri aşdıqda sonuncunu zədələnmədən qoruyur. Məhdudlaşdırıcı olmadan, bu vəziyyətdə mikrokontrolörün təchizatı gərginliyi kritik şəkildə arta bilər.
Cihaz Şəkil 1-də göstərilən qalınlığı 1,5 mm olan birtərəfli folqa ilə örtülmüş fiberglas laminatdan 40x36 mm ölçülü çap elektron lövhəsində yığılmışdır. 2. Əksər rezistorlar və kondansatörlər 0805 ölçüsündə səth montajıdır. Artan gərginlikdə etibarlı işləmək üçün rezistor R1 0,5 Vt çıxış gücü ilə istifadə olunur. Kondansatör C1 ya keramika kondensatoru kimi, ya da lövhədə C1 təyin edilmiş oturacaq olan oksid kondensatoru kimi quraşdırıla bilər." FYQ-3641AHR-11 göstəricisi 3641A seriyasından və ya üç rəqəmli göstərici ilə əvəz edilə bilər. Lövhəni yenidən düzəltmədən 3631A seriyası.Yığılmış cihaz lövhəsinin fotoşəkili Şəkil 3-də göstərilmişdir.
Artıq bir neçə ildir ki, radioelektronika üzərində işləyirəm, amma etiraf etməkdən utanıram ki, hələ də normal enerji təchizatı yoxdur. Mən əlimə nə gəlirsə, yığılmış cihazları gücləndirirəm. Hər hansı bir gərginlik stabilizasiyası və ya çıxış cərəyanı məhdudiyyəti olmayan diod körpüsü olan bütün növ yarım ölmüş batareyalardan və transformatorlardan. Bu cür pozğunluqlar yığılmış struktur üçün olduqca təhlükəlidir. Nəhayət, normal enerji təchizatı yığmaq qərarına gəldi. Və montaja amper-voltmetrlə başladım. Əlbəttə, başqasından başlamaq lazım idi, amma artıq olduğu kimi. Bir az proqramlaşdırma ilə məşğul olduğum üçün özüm bir ekran sayğacı hazırlamağa qərar verdim. Ekran Nokia-1202-dən olan displeydir. Yəqin ki, bu displeylə hər kəsə işgəncə vermişəm, lakin bu, 2x16 HD44780-dən (ən azı bizim üçün) 3 dəfə ucuzdur. Olduqca lehimli bir bağlayıcı və ümumiyyətlə yaxşı xüsusiyyətlər. Qısacası - gərginlik və cərəyan sayğacı üçün yaxşı seçimdir.
Enerji təchizatı üçün rəqəmsal amper-voltmetrin elektrik dövrəsi
Rəqəmsal amper-voltmetr lövhəsinin çəkilməsi
Birinci və ikinci sətirlər 300 ADC ölçməsindən orta gərginlik və cərəyan dəyərlərini göstərir. Bu, daha yüksək ölçmə dəqiqliyi üçün edilir. Üçüncü sətir Ohm qanunu ilə hesablanmış yük müqavimətini göstərir. Əvvəlcə enerji istehlakının çıxdığına əmin olmaq istədim, amma müqavimət göstərdim. Ola bilsin ki, daha sonra onu gücə çevirəcəm. Dördüncü sətir DS18B20 sensoru ilə ölçülmüş temperaturu göstərir. 0 ilə 99 dərəcə Selsi arasında temperaturu ölçmək üçün proqramlaşdırılmışdır. Çıxış tranzistorunun soyuducusuna və ya güclü istilik olduğu yerdə başqa bir dövrə elementinə quraşdırılmalıdır.
Tranzistor radiatorunu soyutmaq üçün mikrokontrolörə bir soyuducu da qoşa bilərsiniz. DS18B20 sensoru ilə ölçülən temperatur dəyişdikdə sürəti dəyişəcək. PB3 pinində PWM siqnalı var. Soyuducu bu çıxışa güc açarı vasitəsilə qoşulur. Güc açarı kimi MOSFET tranzistorundan istifadə etmək yaxşıdır. 90 dərəcə temperaturda fan maksimum sürətə sahib olacaq. Temperatur sensoru quraşdırılmaya bilər. Bu halda, dördüncü sətir sadəcə OFF göstərəcək. Soyuducunu birbaşa bağlayırıq. PB3 çıxışı 0 olacaq.
Arxivdə iki proqram təminatı variantı var. Biri maksimum ölçülmüş cərəyan üçün 5 amper, ikincisi isə 10 amperə qədərdir. Maksimum ölçülən gərginlik 30 voltdur. Hesablamalara görə, op-amp LM358-in qazanma əmsalı 10 olaraq seçilir. Fərqli proqram təminatı üçün bir şunt seçmək lazımdır. Hər kəsin yüzdə bir ohm və dəqiq rezistorları ölçmək qabiliyyəti yoxdur. Buna görə də dövrədə iki kəsmə rezistoru var. Onlar ölçmə oxunuşlarını düzəldə bilərlər.
Arxivdə çap edilmiş elektron lövhə də var. Fotoda cüzi fərqlər var - orada bir az düzəliş edilib. Bir jumper çıxarılıb və ölçüsü hündürlüyündən 5 mm kiçikdir. Amper-voltmetr oxunuşlarının sabitliyi yüksəkdir. Bəzən yalnız yüzdə biri ilə üzür. Baxmayaraq ki, mən bunu yalnız Çin test cihazımla müqayisə etdim. Bu mənim üçün kifayət qədərdir.
Diqqətiniz üçün hamınıza təşəkkür edirəm.
ARXIV:
Modernləşdirilmiş versiya
Mən yalnız gücün onda bir ekranını əlavə etdim.Burada onu 50A-a qədər ölçmək üçün dəyişdirdim. Şunt 0,01 ohm. Op-amp qazancı təxminən 6 ilə 7 arasındadır. Rezistorları yenidən hesablamaq lazım olacaq. Sigortalar əvvəlki kimidir.
Diqqətinizə laboratoriyanın enerji təchizatı üçün displey sayğacının təkmilləşdirilmiş versiyasını təqdim etmək istərdim. Müəyyən əvvəlcədən təyin edilmiş cərəyanı keçdikdə yükü söndürmək imkanı əlavə edilmişdir. Təkmilləşdirilmiş voltammetrin proqram təminatını aşağıda yükləmək olar. Rəqəmsal cərəyan və gərginlik sayğacının dövrə diaqramı.
Diaqrama bir neçə detal da əlavə edildi. İdarəetmələrdən bir düymə və 10 kilo-ohm-dan 47 kilo-ohm-a qədər dəyişən bir rezistor var. Onun müqaviməti dövrə üçün kritik deyil və gördüyünüz kimi, kifayət qədər geniş diapazonda dəyişə bilər. Ekranın görünüşü də bir qədər dəyişib. Güc və amper saatlarının göstərilməsi əlavə edildi.
Gəzinti cərəyanı dəyişəni EEPROM-da saxlanılır. Buna görə də, söndürdükdən sonra hər şeyi yenidən konfiqurasiya etmək lazım olmayacaq. Cari parametrlər menyusuna daxil olmaq üçün düyməni sıxmaq lazımdır. Dəyişən rezistorun düyməsini çevirərək, rölin sönəcəyi cərəyanı təyin etməlisiniz. O, Atmega8 mikrokontrollerinin PB5 pininə tranzistor açarı vasitəsilə qoşulur.
Söndürmə anında ekran maksimum təyin edilmiş cərəyanın keçdiyini göstərəcək. Düyməni basdıqdan sonra maksimum cari parametrlər menyusuna qayıdırıq. Ölçmə rejiminə keçmək üçün düyməni yenidən basmalısınız. Log 1 mikrokontrolörün PB5 çıxışına göndəriləcək və rele işə düşəcək. Bu cür cari monitorinqin də mənfi cəhətləri var. Qoruma dərhal işləməyəcək. Tətikləmə bir neçə onlarla millisaniyə çəkə bilər. Əksər eksperimental cihazlar üçün bu çatışmazlıq kritik deyil. Bu gecikmə insanlar üçün görünmür. Hər şey bir anda olur. Yeni PCB hazırlanmamışdır. Cihazı təkrarlamaq istəyən hər kəs əvvəlki versiyadan çap dövrə lövhəsini bir az redaktə edə bilər. Dəyişikliklər əhəmiyyətli olmayacaq.
Hər hansı bir sualınız varsa, forumla əlaqə saxlayın. Diqqətinizə görə təşəkkürlər. Boozer amper-voltmetri tamamladı.
ARXIV:
Forum