Pic12f675 indicator van Nokia voltmeter. Ampère-voltmeter op pic12f675 - meetapparatuur - gereedschap. Grote maatindicatoren

Vandaag vertel ik je hoe je een universeel, eenvoudig meetapparaat kunt maken met de mogelijkheid om spanning, stroom, stroomverbruik en ampère-uren te meten op een goedkope microcontroller PIC16F676 volgens het volgende schema.

Schematisch diagram van een voltamperwattmeter

De printplaat op DIP-onderdelen bleek 45x50 mm te zijn. Ook in het archief bevindt zich een printplaat voor SMD-onderdelen.

Voor microcontroller PIC16F676 Er zijn twee firmware: in de eerste - de mogelijkheid om spanning, stroom en vermogen te meten - vapDC.hex, en in de tweede - hetzelfde als in de eerste, is alleen de mogelijkheid om ampère/uren te meten toegevoegd (niet altijd nodig) - vapcDC.hex.

De weerstand, grijs aangegeven op de printplaat, is aangesloten afhankelijk van de indicator: als we een indicator met gemeenschappelijke kathodes gebruiken, dan is de weerstand (1K) afkomstig van de 11e poot van de MK verbonden met +5, en als de indicator heeft een gemeenschappelijke anode, daarna verbinden we de weerstand met de gemeenschappelijke draad.

In mijn geval, de indicator en de gemeenschappelijke kathode, bevond de weerstand zich onder het bord, van de 11e poot van de MK tot +5.

Druk kort op de knop " IN"activeert de indicatie van de bedrijfsmodus: spanning “-U-”, stroom “-I-”, vermogen “-P-”, ampère/urenteller “-C-”. Enkele voorbeelden van op-amp LM358 een positieve offset aan de uitgang heeft, kan deze worden gecompenseerd digitale correctie meter. Om dit te doen, moet u overschakelen naar de huidige meetmodus, “-I-”. Houd de knop " 7-8 seconden ingedrukt N" totdat het opschrift "-S.-" op de indicator verschijnt. Gebruik vervolgens de " IN" En " N» pas de verschuiving “0” aan. Als de knoppen worden ingedrukt, geeft de indicator direct een constante weer; wanneer erop wordt gedrukt, worden de huidige meetwaarden gecorrigeerd. Verlaat de modus - druk tegelijkertijd op de toetsen " IN" En " N". Het resultaat is de aanduiding “-3-”, dat wil zeggen een opname in een niet-vluchtig geheugen. De ampère-/uurteller wordt gereset door de knop " ingedrukt te houden N" 3-4 sec.

In mijn geval heb ik alleen de knop " IN", om de bedrijfsmodus te wijzigen. Knop " N"Ik zeg het niet, omdat de huidige correctie niet vereist is als de op-amp LM358 nieuw is, dan heeft het vrijwel geen verplaatsing, en als dat wel het geval is, is het onbeduidend. Ik plaats de segmentindicator niet op een apart bord, dat eenvoudig aan de behuizing van het apparaat kan worden bevestigd, bijvoorbeeld ingebouwd in een omgebouwde ATX-voeding.

We sluiten stroom aan op het geassembleerde apparaat, leveren de gemeten spanning en stroom en passen de voltmeter- en ampèremeterwaarden aan met behulp van trimweerstanden volgens de multimeterwaarden.

Als gevolg hiervan kostte de hele constructie van de voltamperwattmeter 150 roebel, zonder folieglasvezel. Ponomarev Artyom was bij je ( stalker68), tot ziens op de pagina's van de site Radiocircuits !

Bespreek het artikel VOLTAMPERWATTMETER

Voltmeter op PIC16F676 - een artikel waarin ik het zal hebben over de zelfassemblage van een digitale DC-voltmeter met een limiet van 0-50V. Het artikel biedt een schakelschema van een voltmeter op PIC16F676, evenals een printplaat en firmware. Er werd een voltmeter gebruikt om het display in te delen.

Specificaties voltmeter:

  • Resolutie weergave meetresultaat 0,1V;
  • Fout 0,1…0,2V;
  • De voedingsspanning van de voltmeter bedraagt ​​7…20V.
  • Gemiddeld stroomverbruik 20mA

Het ontwerp is gebaseerd op het diagram van auteur N. Zaets uit het artikel “Milivoltmeter”. De auteur zelf is erg genereus en deelt graag zijn ontwikkelingen, zowel technisch als softwarematig. Een van de belangrijkste nadelen van de ontwerpen is (naar mijn mening) echter de verouderde elementbasis. Waarvan het gebruik, in tegenwoordige tijd, niet geheel redelijk.

Figuur 1 laat zien schakelschema auteursversie.

Ik zal snel de belangrijkste componenten van het circuit doornemen. Chip DA1 – verstelbare stabilisator spanning, waarvan de uitgangsspanning wordt geregeld door aangepaste weerstand R4. Deze oplossing is niet erg goed, omdat voor normale operatie Een voltmeter heeft een aparte 8V DC-bron nodig. En deze spanning moet constant blijven. Als ingangsspanning verandert, dan verandert de uitgangsspanning en dit is niet toegestaan. In mijn praktijk leidde een dergelijke verandering tot het doorbranden van de PIC16F676-microcontroller.

Weerstanden R5-R6 zijn een deler van de ingangs(gemeten) spanning. DD1 is een microcontroller, HG1-HG3 zijn drie afzonderlijke indicatoren met zeven segmenten, die zijn verzameld in één informatiebus. Het gebruik van afzonderlijke indicatoren met zeven segmenten maakt dit enorm ingewikkeld printplaat. Deze oplossing is ook niet erg goed. En het verbruik van de ALS324A is behoorlijk.

Figuur 2 toont een aangepast schakelschema van een digitale voltmeter.

Figuur 2 – Schematisch diagram van een DC-voltmeter.

Laten we nu eens kijken welke wijzigingen er in het diagram zijn aangebracht.

In plaats van de instelbare geïntegreerde stabilisator KR142EN12A is gekozen voor de geïntegreerde stabilisator LM7805 met een constante uitgangsspanning van +5V. Zo was het mogelijk om de bedrijfsspanning van de microcontroller betrouwbaar te stabiliseren. Een ander voordeel van deze oplossing is de mogelijkheid om de ingangs(gemeten) spanning te gebruiken om het circuit van stroom te voorzien. Tenzij deze spanning uiteraard meer dan 6V is, maar minder dan 30V. Om verbinding te maken met de ingangsspanning hoeft u alleen maar de jumper te sluiten. Als de stabilisator zelf erg heet wordt, moet deze op een radiator worden geïnstalleerd.

Om de ADC-ingang tegen overspanning te beschermen, werd een zenerdiode VD1 aan de schakeling toegevoegd.

Weerstand R4 wordt samen met condensator C3 door de fabrikant aanbevolen voor een betrouwbare reset van de microcontroller.

In plaats van drie afzonderlijke indicatoren met zeven segmenten werd één gemeenschappelijke indicator gebruikt.

Om de afzonderlijke pinnen van de microcontroller te ontladen, zijn er drie transistors toegevoegd.

In Tabel 1 ziet u de volledige lijst met onderdelen en hun mogelijke vervanging door een analoog.

Tabel 1 - Lijst met onderdelen voor de voltmeter op PIC16F676
Positieaanduiding Naam Analoog/vervanging
C1 Elektrolytische condensator - 470μFx35V
C2 Elektrolytische condensator - 1000μFx10V
C3 Elektrolytische condensator - 10μFx25V
C4 Keramische condensator - 0,1 μFx50V
DA1 Integrale stabilisator L7805
DD1 Microcontroller PIC16F676
HG1 7-segment LED-indicator KEM-5631-ASR (OK) Elke andere laag vermogen voor dynamische indicatie en geschikt voor aansluiting.
R1* Weerstand 0,125W 91 kOhm SMD-grootte 0805
R2* Weerstand 0,125W 4,7 kOhm SMD-grootte 0805
R3 Weerstand 0,125W 5,1 Ohm SMD-grootte 0805
R4 Weerstand 0,125W 10 kOhm SMD-grootte 0805
R5-R12 Weerstand 0,125W 330Ohm SMD-grootte 0805
R13-R15 Weerstand 0,125W 4,3 kOhm SMD-grootte 0805
VD1 Zenerdiode BZV85C5V1 1N4733
VT1-VT3 Transistor BC546B KT3102
XP1-XP2 Pinconnector op bord
XT1 Klemmenblok voor 4 contacten.

Figuur 3 – Printplaat voor een voltmeter op PIC16F676 (geleiderzijde).

Figuur 4 toont de printplaatzijde waar de onderdelen zijn geplaatst.

Figuur 4 – Bedrukte zijde van het bord voor plaatsing van onderdelen (het bord in de figuur is niet op schaal).

Wat de firmware betreft, waren de veranderingen niet significant:

  • Uitschakeling van kleine cijfers toegevoegd;
  • De tijd voor het doorgeven van resultaten aan de uit zeven segmenten bestaande LED-indicator is verlengd.

Een voltmeter die is samengesteld uit bekende werkende onderdelen, begint onmiddellijk te werken en hoeft niet te worden afgesteld. In sommige gevallen wordt het noodzakelijk om de meetnauwkeurigheid aan te passen door weerstanden R1 en R2 te selecteren.

Het uiterlijk van de voltmeter wordt getoond in figuren 5-6.

Figuur 5 – Uiterlijk van de voltmeter.

Figuur 6 – Uiterlijk van de voltmeter.

De voltmeter die in het artikel wordt besproken, is met succes thuis getest, getest in een auto die wordt aangedreven door netwerk aan boord. Er waren geen mislukkingen. Kan geweldig zijn voor langdurig gebruik.

Interessant filmpje

Laat mij het samenvatten. Na alle veranderingen bleek het helemaal niet slecht digitale voltmeter DC op de PIC16F676-microcontroller, met een meetlimiet van 0-50V. Ik wens iedereen die deze voltmeter gaat herhalen goede werkende componenten en veel succes bij de productie!


In dit apparaat gebruikte de auteur een originele methode om een ​​viercijferig zevencijferig element te besturen LED-indicator signalen van slechts vier pinnen van de microcontroller. Het microcontrollerprogramma biedt een automatische kalibratiemodus voor de voltmeter.

De nu traditionele aansluiting van een digitale LED-indicator op een microcontroller via een serieel naar parallelle codeconverter 74HC595 vereist het gebruik van drie pinnen van de microcontroller om de codeconverter te besturen en nog een pin voor elk cijfer van de indicator. Daarom heeft een viercijferige indicator zeven pinnen nodig. Dit maakt het niet mogelijk om dergelijke indicatoren te gebruiken met microcontrollers met kleine pinnen, bijvoorbeeld met PIC12F675, die slechts zes pinnen heeft (de voedingspinnen niet meegerekend).

In de tweede stap schrijft de stijgende flank op pin 12 van de 74HC595 de nulinhoud van het schuifregister naar het holdingregister. Hierdoor wordt de indicator volledig uitgeschakeld.

In de derde fase wordt informatie in het schuifregister van de 74HC595-microschakeling geladen met behulp van een seriële code die wordt gegenereerd door de microcontroller op pin 14 van de microschakeling. De pin 11 ontvangt klokpulsen.

In de vierde fase, met een toenemend niveauverschil op pin 12 van de 74HC595-microschakeling, komt informatie uit het schuifregister het opslagregister binnen, en vanwege de hoge niveaus bij de kathodes blijven de indicatorbits gedoofd.

In de vijfde fase, op de gemeenschappelijke kathode van de ontlading, waarvoor de parallelle code-uitvoer naar de uitgangen van de 74HC595-microschakeling is bedoeld, installeert het programma laag niveau, inclusief de elementen ervan volgens deze code. Op dit punt eindigt de interruptverwerking en blijft de ingestelde status van de indicator ongewijzigd tot de volgende interrupt.

Voor het aansturen van een acht-bits indicator zijn acht microcontrolleruitgangen nodig. In dit geval regelen signalen van de extra vier pinnen eenvoudigweg de niveaus aan de kathodes van de ontladingen. Het is vermeldenswaard dat het in dit geval mogelijk is om indicatoren te gebruiken met zowel gemeenschappelijke kathodes als gemeenschappelijke anoden, waarbij respectievelijk elementen of ontladingen worden aangesloten op de uitgangen van de codeomzetter. Om de hieronder genoemde redenen verdient het de voorkeur om de dynamische weergave element voor element te organiseren in het eerste geval, en bit voor bit in het tweede geval.

Laten we het nu hebben over een voltmeter die het beschreven principe gebruikt.

Basis specificaties

Gemeten spanning, V............... 0...80

Meetresolutie, V......0,1

Nauwkeurigheid...............0,5% + eenheden. ml. oplossing

Voedingsspanning, V...............7...15

Stroomverbruik, mA, niet meer................................30

Het voltmetercircuit wordt getoond in Fig. 1. Het maakt gebruik van dynamische weergave per element. Op elk moment hoog niveau geïnstalleerd op de anodes van één groep elementen met dezelfde naam van alle cijfers van de HG1-indicator. Aan de gemeenschappelijke kathode-aansluitingen van de ontladingen waarin deze elementen moeten gloeien, wordt een laag niveau ingesteld, anders een hoog niveau. Houd er rekening mee dat elementen met dezelfde naam tegelijkertijd in alle categorieën kunnen worden ingeschakeld, maar dat er momenteel in elke categorie slechts één element is ingeschakeld. Daarom hebben we ervoor gekozen om de anodes van de elementen aan te sluiten op de uitgangen van de DD2-microschakeling, waarvan het draagvermogen hoger is dan de uitgangen van de microcontroller.

Rijst. 1. Voltmetercircuit

Met een onderbrekingsperiode van 2 ms bedraagt ​​de beeldverversingssnelheid op de indicator 64 Hz en is het knipperen onzichtbaar voor het oog. De gekozen methode van dynamische indicatie maakte het ook mogelijk om het aantal weerstanden (R4-R7) te halveren die de stroom door de indicator-LED's beperken.

De microcontroller PIC12F675-I/P (DD1) blijft onbezet bij de dynamische indicatie van de I/O-lijnen G0 en GP3. De eerste wordt gebruikt als ADC-ingang; de gemeten spanning wordt eraan geleverd via een verdeler R1R2. Op lijn GP3 wordt, bij afwezigheid van jumper S1, dankzij weerstand R3 een hoog logisch niveau ingesteld, dat dient als een signaal dat de voltmeter in de kalibratiemodus schakelt. Als de jumper is geïnstalleerd, is het niveau op deze pin laag en werkt de voltmeter normaal.

Wanneer u de voltmeter voor het eerst inschakelt met de ontbrekende jumper S1, zal de HG1-indicator het meest rechtse teken knipperend weergeven. In deze toestand moet een spanning zo dicht mogelijk bij 80 V worden toegepast op de ingang van het apparaat en moet deze worden bewaakt met een standaard voltmeter. Bij een kortstondige aansluiting van de contactvlakken bedoeld voor jumper S1 berekent en onthoudt het apparaat de kalibratiecoëfficiënt en zal deze in de toekomst gebruiken.

80 V is echter een vrij hoge spanning en problemen bij het verkrijgen ervan zijn mogelijk. In dit geval moet het apparaat, terwijl de waarde van de referentiespanning wordt aangegeven, worden uitgeschakeld en weer worden ingeschakeld. Op de indicator verschijnt , en bij de volgende uit- en aanschakeling - , opnieuw en verder in een cirkel. Kalibratie moet worden uitgevoerd op de hoogst beschikbare spanning. Hoe hoger de referentiespanning, hoe nauwkeuriger de kalibratie. Als op het moment van kalibratie de ingangsspanning te veel afwijkt van de referentiespanning, wordt de coëfficiënt niet berekend en weergegeven op de indicator

Schakel na het kalibreren de voltmeter uit en installeer ten slotte jumper S1, anders moet u de volgende keer dat u hem inschakelt alles opnieuw herhalen. De voltmeter kan werken zonder kalibratie als jumper S1 al is geïnstalleerd wanneer deze voor het eerst wordt ingeschakeld. In dit geval wordt de coëfficiënt gebruikt die in het programma is geschreven, maar de fout kan groter zijn dan 10%. Een punt in het uiterst rechtse cijfer van de indicator waarschuwt u hiervoor.

De analoog-naar-digitaal-conversie wordt uitgevoerd in de ‘slaap’-modus van de microcontroller om interferentie van de werkende componenten te verminderen. Het verlaat deze status automatisch na voltooiing van de transformatie.

Het apparaat wordt gevoed door een spanning van 5 V, verkregen met behulp van een geïntegreerde spanningsstabilisator DA1. U kunt de 78L05-stabilisator alleen als laatste redmiddel gebruiken in plaats van degene die in het diagram wordt aangegeven, omdat de stabiliteit van de uitgangsspanning een orde van grootte slechter is. Zonder de parameters te verslechteren, kunt u de LP2951-stabilisator gebruiken. Zenerdiode VD1 voor een spanning van 5,6 V beschermt samen met de interne beveiligingsdiode van de microcontroller deze tegen schade wanneer de gemeten spanning de toegestane waarde overschrijdt. Zonder begrenzer kan de voedingsspanning van de microcontroller in deze situatie kritisch toenemen.

Het apparaat is gemonteerd op een printplaat van 40x36 mm van eenzijdig met folie bekleed glasvezellaminaat met een dikte van 1,5 mm, weergegeven in Fig. 2. De meeste weerstanden en condensatoren zijn van maat 0805 voor opbouwmontage. Weerstand R1 voor betrouwbare werking bij verhoogde spanning wordt gebruikt met een uitgangsvermogen van 0,5 W. Condensator C1 kan worden geïnstalleerd als keramische condensator of als oxidecondensator, waarvoor op het bord een stoel met de aanduiding C1 is voorzien." De FYQ-3641AHR-11-indicator kan worden vervangen door een andere uit de 3641A-serie of een driecijferige indicator. 3631A-serie zonder het bord opnieuw te maken. Een foto van het gemonteerde apparaatbord wordt getoond in figuur 3.

Ik ben al enkele jaren bezig met radio-elektronica, maar ik schaam me om toe te geven dat ik nog steeds geen normale stroomvoorziening heb. Ik voorzie de geassembleerde apparaten van stroom met alles wat voorhanden is. Van allerlei halflege batterijen en transformatoren met een diodebrug zonder enige spanningsstabilisatie of uitgangsstroombegrenzing. Dergelijke perversies zijn behoorlijk gevaarlijk voor samengestelde structuur. Uiteindelijk besloten om een ​​normale voeding te monteren. En ik begon de montage met een ampère-voltmeter. Natuurlijk was het nodig om vanuit een ander te beginnen, maar zoals het al is. Omdat ik een beetje aan het programmeren was, besloot ik zelf een displaymeter te ontwikkelen. Het scherm is een display van Nokia-1202. Ik heb waarschijnlijk iedereen al gemarteld met dit scherm, maar het is drie keer goedkoper dan de 2x16 HD44780 (althans voor ons). Een behoorlijk soldeerbare connector en over het algemeen goede eigenschappen. Kort gezegd - een goede optie voor spannings- en stroommeter.

Elektrisch circuit van een digitale ampère-voltmeter voor stroomvoorziening

Tekening van een digitaal ampère-voltmeterbord

De eerste en tweede regel tonen de gemiddelde spannings- en stroomwaarden van 300 ADC-metingen. Dit wordt gedaan voor een grotere meetnauwkeurigheid. De derde regel geeft de belastingsweerstand weer, berekend met behulp van de wet van Ohm. Eerst wilde ik er zeker van zijn dat het stroomverbruik werd uitgevoerd, maar ik maakte weerstand. Misschien verander ik het later in power. De vierde regel toont de temperatuur gemeten door de DS18B20-sensor. Het is geprogrammeerd om temperaturen te meten van 0 tot 99 graden Celsius. Het moet worden geïnstalleerd op het koellichaam van de uitgangstransistor, of op een ander circuitelement waar sprake is van sterke verwarming.

U kunt ook een koeler op de microcontroller aansluiten om de transistorradiator te koelen. Het zal zijn snelheid veranderen wanneer de temperatuur gemeten door de DS18B20-sensor verandert. Op pin PB3 bevindt zich een PWM-signaal. Via een netschakelaar wordt de koeler op deze uitgang aangesloten. Het is het beste om een ​​aan/uit-toets te gebruiken MOSFET-transistor. Bij een temperatuur van 90 graden draait de ventilator op maximale snelheid. De temperatuursensor is mogelijk niet geïnstalleerd. In dit geval wordt op de vierde regel eenvoudigweg OFF weergegeven. Wij sluiten de koeler direct aan. De uitvoer van PB3 zal 0 zijn.

Er zijn twee firmware-opties in het archief. Eén voor de maximaal gemeten stroom van 5 ampère, en de tweede tot 10 ampère. De maximaal gemeten spanning bedraagt ​​30 volt. Volgens berekeningen is de versterkingsfactor van de op-amp LM358 gekozen als 10. Voor verschillende firmware moet je een shunt selecteren. Niet iedereen heeft de mogelijkheid om honderdsten van een ohm en precisieweerstanden te meten. Daarom zijn er twee trimweerstanden in het circuit. Ze kunnen meetwaarden corrigeren.

In het archief bevindt zich ook een printplaat. Er zijn kleine verschillen op de foto, daar is hij iets aangepast. Er is één trui verwijderd en de maat is met 5 mm in hoogte verkleind. De stabiliteit van de ampère-voltmeterwaarden is hoog. Soms zweeft het slechts met honderdsten. Al heb ik het alleen vergeleken met mijn Chinese tester. Dit is voor mij ruim voldoende.

Ik dank u allen voor uw aandacht.

ARCHIEF:

Gemoderniseerde versie

Ik heb slechts een weergave van een tiende van het vermogen toegevoegd.

Hier heb ik het aangepast om tot 50A te meten. Shunt 0,01 ohm. De op-amp-versterking is ongeveer 6 tot 7. Het zal nodig zijn om de weerstanden opnieuw te berekenen. De zekeringen zijn dezelfde als voorheen.

Ik wil het graag onder uw aandacht brengen gemoderniseerde versie weergavemeter voor laboratorium blok voeding. Er is de mogelijkheid toegevoegd om de belasting uit te schakelen wanneer een bepaalde vooraf ingestelde stroom wordt overschreden. De firmware van de verbeterde voltammeter kunt u hieronder downloaden. Schakelschema van een digitale stroom- en spanningsmeter.

Er zijn ook verschillende details aan het diagram toegevoegd. Vanaf de bedieningselementen is er één knop en een variabele weerstand met een waarde van 10 kilo-ohm tot 47 kilo-ohm. De weerstand ervan is niet cruciaal voor het circuit, en zoals je kunt zien, kan deze over een vrij groot bereik variëren. Een beetje veranderd en verschijning op het scherm. Weergave van vermogen en ampère-uren toegevoegd.

De uitschakelstroomvariabele wordt opgeslagen in de EEPROM. Na het uitschakelen hoeft u dus niet alles opnieuw te configureren. Om het huidige instellingenmenu te openen, moet u op de knop drukken. Door aan de variabele weerstandsknop te draaien, moet u de stroom instellen waarbij het relais wordt uitgeschakeld. Het is via een transistorschakelaar verbonden met pin PB5 van de Atmega8-microcontroller.

Op het moment van uitschakelen geeft het display aan dat de maximaal ingestelde stroom overschreden is. Na het indrukken van de knop gaan we terug naar het menu voor maximale huidige instellingen. Om naar de meetmodus te gaan, moet u nogmaals op de knop drukken. Log 1 wordt naar uitgang PB5 van de microcontroller gestuurd en het relais wordt ingeschakeld. Deze vorm van huidige monitoring heeft ook zijn nadelen. De bescherming werkt niet onmiddellijk. Het activeren kan enkele tientallen milliseconden duren. Voor de meeste experimentele apparaten dit nadeel niet kritisch. Deze vertraging is niet zichtbaar voor mensen. Alles gebeurt tegelijk. Er is geen nieuwe PCB ontwikkeld. Iedereen die het apparaat wil herhalen, kan de printplaat uit de vorige versie enigszins bewerken. De veranderingen zullen niet significant zijn.

Als u vragen heeft, kunt u contact opnemen met het forum. Bedankt voor uw aandacht. Boozer voltooide de ampère-voltmeter.

ARCHIEF:
Forum


We blijven de opties begrijpen voor het implementeren van een voltmeter - ampèremeter op basis van een microprocessor.
Vergeet het archief met de bestanden niet, we hebben ze vandaag nodig.

Als u grote indicatoren wilt installeren, moet u het probleem van het beperken van het stroomverbruik via de MK-poorten oplossen. IN in dit geval Het is noodzakelijk om buffertransistors op elk cijfer van de indicator te installeren.

Grote maatindicatoren


Het eerder besproken circuit zal dus de vorm aannemen die wordt getoond in Fig. 2. Voor elk cijfer van de indicator zijn drie transistoren VT1-VT3 van de buffertrap toegevoegd. De geïnstalleerde buffertrap keert het uitgangssignaal van de MK om. Daarom is de op VT2 gebaseerde ingangsspanning invers ten opzichte van de collector van de gespecificeerde transistor, en daarom geschikt voor het leveren van een kommavormende uitgang aan de uitgang. Dit maakt het mogelijk om transistor VT1 te verwijderen, die eerder in het circuit van Fig. 1, waarbij deze laatste wordt vervangen door ontkoppelweerstand R12. Vergeet niet dat de weerstandswaarden in de basiscircuits van transistors VT1-VT3 ook zijn veranderd.
Als u indicatoren met onconventioneel grote afmetingen wilt installeren, moet u weerstanden met lage weerstand (1 - 10 Ohm) in het collectorcircuit van de aangegeven transistoren installeren om stroompieken te beperken wanneer ze worden ingeschakeld.

De werkingslogica van de MK voor deze optie vereist slechts een kleine verandering in het programma wat betreft het inverteren van het uitgangssignaal voor het besturen van de bits, namelijk de poorten RA0, RA1, RA5.
Laten we alleen bekijken wat er zal veranderen, namelijk de subroutine die ons al bekend is onder de codenaam "Dynamische indicatie-generatiefunctie" in Lijst nr. 2(zie map “tr_OE_30V” in het archief of het eerste deel van het artikel):

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. toon_cijfer = toon_cijfer + 1; 22. schakelaar (show_digit) ( 23. geval 1: ( 24. if (digit1 == 0) ( ) else ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1<<0)); //0 ->A0 27. ) break;) 28. geval 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. break;) 32. geval 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. pauze;) ) 36. Delay_ms(6); 37. als (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) break; 40. ) toon_cijfer = 0;)


Vergelijk beide opties. De inversie van het signaal op de RA-poort (regel 20 van lijst nr. 2) is gemakkelijk te lezen, omdat het in binaire vorm is geschreven. Het is voldoende om de uitgangen van de MK en het binaire getal te combineren. In de regels 19 en 37 verschenen enigszins vreemde omstandigheden die er in het begin niet waren. In het eerste geval: “vertraag het logische nulsignaal op poort RA1 tijdens de indicatie van het tweede cijfer.” In de tweede: “als er een logische nul is op poort RA2, inversie.” Wanneer u de definitieve versie van het programma compileert, kunt u deze verwijderen, maar voor simulatie in PROTEUS zijn ze nodig. Zonder deze worden de komma en het “G”-segment niet normaal weergegeven.
Waarom? - vraag je, omdat de eerste optie prima werkte.

Denk tot slot aan de woorden van de smid uit de film "Formula of Love": "...als de één het heeft gebouwd, kan een ander het altijd uit elkaar halen!"
Succes!

Stem van de lezer

Het artikel werd goedgekeurd door 27 lezers.

Om deel te nemen aan de stemming, registreert u zich en logt u in op de site met uw gebruikersnaam en wachtwoord.