PIC-controllercircuits. PIC-controller. PIC-programmering. PIC-controllercircuits Pic-controllercircuits voor thuis

Op een ogenschijnlijk verouderde 2051-controller hebben we vaak gedacht aan het monteren van een vergelijkbare meter, maar aan een modernere controller om deze van extra mogelijkheden te voorzien. In principe was er maar één zoekcriterium - dit zijn brede meetbereiken. Alle vergelijkbare schema's die op internet te vinden zijn, hadden echter zelfs een beperking van het softwarebereik, en dat was behoorlijk belangrijk. Om eerlijk te zijn, is het vermeldenswaard dat het bovengenoemde apparaat op 2051 helemaal geen beperkingen had (het waren alleen hardware), en de software bevatte zelfs meetmogelijkheden - mega- en -giga-waarden!

Eens, terwijl we de circuits opnieuw bestudeerden, ontdekten we een zeer nuttig apparaat - de LCM3, die behoorlijke functionaliteit heeft met een kleine hoeveelheid details. Het apparaat is in staat om inductantie, capaciteit van niet-polaire condensatoren, capaciteit van elektrolytische condensatoren, ESR, weerstanden (inclusief ultrakleine) te meten en de kwaliteit van elektrolytische condensatoren binnen het breedste bereik te evalueren. Het apparaat werkt volgens het bekende principe van frequentiemeting, maar het is interessant dat de generator is gemonteerd op een comparator die is ingebouwd in de PIC16F690-microcontroller. Misschien zijn de parameters van deze comparator niet slechter dan die van de LM311, omdat de aangegeven meetbereiken als volgt zijn:

  • capaciteit 1pF - 1nF met een resolutie van 0,1pF en een nauwkeurigheid van 1%
  • capaciteit 1nF - 100nF met 1pF resolutie en 1% nauwkeurigheid
  • capaciteit 100nF - 1mkF met 1nF resolutie en 2,5% nauwkeurigheid
  • capaciteit van elektrolytische condensatoren 100nF - 0,1F met 1nF resolutie en 5% nauwkeurigheid
  • inductantie 10nH - 20H met 10nH resolutie en 5% nauwkeurigheid
  • weerstand 1mOhm - 30Ohm met 1mOhm resolutie en 5% nauwkeurigheid
Ga voor meer informatie over de beschrijving van het apparaat in het Hongaars naar:

We hielden van de oplossingen die in de meter werden gebruikt en we besloten om geen nieuw apparaat op de Atmelov-controller te monteren, maar om de PIC te gebruiken. Van deze Hongaarse meter werd gedeeltelijk (en daarna volledig) het circuit genomen. Vervolgens werd de firmware gedecompileerd en werd er een nieuwe op basis daarvan geschreven, voor onze eigen behoeften. De firmware van de auteur is echter zo goed dat het apparaat waarschijnlijk geen analogen heeft.

Klik om te vergroten
Kenmerken van de LCM3-meter:

  • wanneer ingeschakeld, moet het apparaat zich in de capaciteitsmeetmodus bevinden (als het zich in de inductantiemeetmodus bevindt, zal de juiste inscriptie op het scherm u vragen om van een andere modus over te schakelen)
  • tantaalcondensatoren moeten een zo laag mogelijke ESR hebben (minder dan 0,5 ohm). ESR van de CX1 33nF-condensator moet ook laag zijn. de totale impedantie van deze condensator, spoel en modusschakelaar mag niet hoger zijn dan 2,2 ohm. De kwaliteit van deze condensator als geheel moet zeer goed zijn, deze moet een lage lekstroom hebben, dus u moet kiezen uit hoogspanning (bijvoorbeeld 630 volt) - polypropyleen (MKP), styroflex-polystyreen (KS, FKS, MKS, MKY?). Condensatoren C9 en C10, zoals aangegeven in het diagram, zijn polystyreen, mica, polypropyleen. De weerstand van 180 ohm moet 1% nauwkeurig zijn en de weerstand van 47 ohm moet ook 1% zijn.
  • het instrument evalueert de "kwaliteit" van de condensator. er is geen exacte informatie over welke parameters worden berekend. het is waarschijnlijk lekkage, diëlektrisch verlies tangens, ESR. "kwaliteit" wordt weergegeven als een gevulde beker: hoe minder gevuld, hoe beter de condensator. de kop van een defecte condensator is volledig overschilderd. een dergelijke condensator kan echter worden gebruikt in een lineair regelfilter.
  • de choke die in het apparaat wordt gebruikt, moet groot genoeg zijn (bestand tegen een stroom van minimaal 2A zonder verzadiging) - in de vorm van een "halter" of op een gepantserde kern.
  • soms, wanneer ingeschakeld, geeft het apparaat "Low Batt" weer op het scherm. in dit geval moet u de stroom uitschakelen en vervolgens weer inschakelen (waarschijnlijk een storing).
  • Er zijn verschillende versies van de firmware van dit apparaat: 1.2-1.35, en de laatste is volgens de auteurs geoptimaliseerd voor een choke op een gepantserde kern. het werkt echter ook op een dumbbell-smoorspoel en alleen in deze versie wordt de kwaliteit van de elektrolytische condensatoren beoordeeld.
  • Het is mogelijk om een ​​klein opzetstuk op het apparaat aan te sluiten voor in-circuit (zonder desolderen) ESR-meting van elektrolytische condensatoren. Het verlaagt de spanning die op de te testen condensator wordt aangelegd tot 30 mV, waarbij de halfgeleiders niet openen en de meting niet beïnvloeden. Het schema is te vinden op de website van de auteur.
  • De ESR-meetmodus wordt automatisch ingeschakeld door de sondes in de bijbehorende bus te steken. Als in plaats van een elektrolytische condensator een weerstand (tot 30 Ohm) wordt aangesloten, schakelt het apparaat automatisch over naar de meetmodus met lage weerstand.
Kalibratie in capaciteitsmeetmodus:
  • druk op de kalibratieknop
  • laat de kalibratieknop los
Kalibratie in inductiemeetmodus:
  • sluit de sondes van het apparaat
  • druk op de kalibratieknop
  • wacht tot het bericht R = .... Ohm verschijnt
  • laat de kalibratieknop los
  • wacht op het bericht over het einde van de kalibratie
Kalibratie in ESR-meetmodus:
  • sluit de sondes van het apparaat
  • druk op de kalibratieknop, het scherm geeft de spanning weer die is toegepast op de gemeten condensator (aanbevolen waarden - 130 ... 150 mV, gedraaid van de choke, die uit de buurt van metalen oppervlakken moet worden geplaatst) en de ESR-meetfrequentie
  • wacht op het bericht R = .... Ohm
  • laat de kalibratieknop los
  • de weerstandswaarde op het scherm moet naar nul gaan
De mogelijkheid om de capaciteit van de kalibratiecondensator handmatig te specificeren is ook geïmplementeerd. Om dit te doen, wordt de volgende schakeling samengesteld en aangesloten op de programmeerconnector (de schakeling mag niet worden gemonteerd, maar sluit gewoon de nodige contacten):


Vervolgens:

  • sluit het circuit aan (of sluit vpp en gnd)
  • zet het apparaat aan en druk op de kalibratieknop, de waarde van de kalibratiecontainer verschijnt op het scherm
  • gebruik de DN- en UP-knoppen om de waarden aan te passen (het is mogelijk dat de hoofdkalibratie- en modusknoppen in verschillende firmwareversies werken voor een snellere aanpassing)
  • afhankelijk van de firmwareversie is ook een andere optie mogelijk: na het indrukken van de kalibratieknop verschijnt op het scherm de waarde van de kalibratiecapaciteit, die begint te groeien. Wanneer het de gewenste waarde bereikt, moet u de groei stoppen met de modusknop en vpp en gnd openen. Als u geen tijd had om op tijd te stoppen en de gewenste waarde sprong, dan kunt u de kalibratieknop gebruiken om deze te verlagen
  • schakel het circuit uit (of open vpp en gnd)
Firmware van de auteur v1.35: lcm3_v135.hex

PCB: lcm3.lay (een van de opties van het vrtp-forum).

Op de meegeleverde printplaat wordt het displaycontrast van 16*2 ingesteld door de spanningsdeler over de 18k en 1k weerstanden. Indien nodig moet u de weerstand van de laatste selecteren. FB - ferrietcilinder, u kunt in plaats daarvan een choke plaatsen. Voor een grotere nauwkeurigheid worden twee parallel geschakelde 360 ​​ohm gebruikt in plaats van een weerstand van 180 ohm. Voordat u de kalibratieknop en de meetmodusschakelaar installeert, moet u hun pinout controleren met een tester: vaak is er een die niet past.


De behuizing voor het apparaat, volgens de traditie (één, twee), is gemaakt van plastic en geverfd met zwarte metallic verf. Aanvankelijk werd het apparaat gevoed door een 5V 500mA-oplader voor mobiele telefoons via een mini-USB-aansluiting. Dit is niet de beste optie, aangezien de stroom na de stabilisator op het meterbord is aangesloten en hoe stabiel het is bij het opladen vanaf de telefoon is onbekend. Vervolgens werd de externe voeding vervangen door een lithiumbatterij met een oplaadmodule en een step-up-converter, waarvan mogelijke interferentie perfect wordt verwijderd door de gebruikelijke LDO-stabilisator die in het diagram aanwezig is.


Tot slot zou ik willen toevoegen dat de auteur maximale mogelijkheden in deze meter heeft gestoken, waardoor deze onmisbaar is voor de radioamateur.

Licht en afzuigkap in de badkamer.

Aanraakgevoelig combinatieslot.

Raak de knop aan om de pc in te schakelen.

Als de pc is uitgeschakeld, licht er niets op en werkt het niet.

Wanneer je de sensor aanraakt, reageert de achtergrondverlichting met een korte flits, daarna zijn de contacten gesloten
de relais blijven in de gesloten positie totdat de tweede poot van de MK verschijnt op het signaal verlaagd tot +5 volt van de +12 volt bus van de computer's UPS, zodra het signaal wordt ontvangen, gaan de relaiscontacten open en de sensor achtergrondverlichting gaat soepel aan. Als de spanning van +12 volt niet binnen -2 seconden verschijnt, wordt het relais uitgeschakeld en knippert de achtergrondverlichting dubbel om een ​​storingscode aan te geven, om te resetten
u moet de computer uitschakelen. Om uit te schakelen, volstaat het om de sensor 3 seconden ingedrukt te houden en de MK zal de pc hard afsluiten. In dit geval sluiten de relaiscontacten en houden ze vast tot 2
Wanneer het +12 volt-signaal van de voedingseenheid van de computer verdwijnt, zodra de +12 volt weg is, laat de sensor de relaiscontacten los en schakelt de achtergrondverlichting uit.

Om de werking van de sensor tijdens het vasthouden te regelen, knippert de achtergrondverlichting.Hang de schakeling op de voeding van de standby lijn van de wall-by met 5 volt. Als de computer programmatisch wordt uitgeschakeld, gaat de achtergrondverlichting uit zodra de 12 volt-voeding wegvalt.

MEGA IR-ONTVANGER VOOR 35 KANALEN.

Ondersteuning voor consoles met NEC-protocol. Eerst noteren we de "Master"-knop op de afstandsbediening. Hiermee schakelen we de modus in van het herschrijven van de knoppen van de afstandsbediening in het geheugen van de MK. Schrijf vervolgens de 35 geselecteerde knoppen op de afstandsbediening op.
Overeenstemming van de opgenomen commando's met de benen van de MK, het eerste commando behoort tot been 2 enzovoort in een cirkel tegen de klok in, waarbij de benen van de MK-kracht worden overgeslagen (de vers geprogrammeerde MK is klaar om commando's van de afstandsbediening naar zijn geheugen onmiddellijk nadat de stroom is ingeschakeld). Na het inschakelen van de stroom knippert de LED van 2 pootjes drie keer en is de MK klaar om op te nemen, wanneer de knop aan het opnemen is, knippert hij ook, over opnemen gesproken, na het opnemen van de laatste 35 knoppen is de gloed iets langer. Als hij uitgaat, is de MK klaar om te werken.

In het EEPROM-geheugen kunt u de werkingsmodus van elke etappe configureren in toggle- of hold-modus. Om dit te doen, vanaf adres 02 EEPROM tot adres 06, is het noodzakelijk om de juiste nummers op te schrijven, die we op de volgende manier verkrijgen. De poten zijn "gegroepeerd" met 8 stukjes, aangezien er slechts 8 bits in één EEPROM-register in de MK zitten. Laten we zeggen dat we willen dat de eerste drie poten in de wachtmodus werken en de andere 5 in de schakelmodus. We noteren het cijfer 1 voor het been dat zal werken in de wachtmodus en het cijfer nul voor de schakelmodus. Vanaf hier krijgen we dit soort getal in het binaire systeem 00000111 - het eerste been wordt van rechts naar links geteld, dit getal moet worden omgezet in hexadecimale vorm, wat in dit geval eenvoudig is, maar een convector van getallen kan nodig zijn. We krijgen het getal 07 in hexadecimale vorm, klaar om in de programmeur te worden geschreven. We doen ook hetzelfde om de resterende pinnen te configureren. In de huidige firmware zijn alle pinnen geconfigureerd in de hold-modus (-FF-nummers worden geschreven). In de laatste cel op adres 06 van het EEPROM-geheugen gebruiken we alleen de eerste drie bits, de rest niet (00000111).

Licht en afzuigkap in de badkamer.

Het apparaat is ontworpen om het inschakelen van het licht en de afzuigventilator in de badkamer te regelen.

In de uit-modus is de achtergrondverlichting van de schakelaar constant aan.

Wanneer de schakelaar wordt aangezet, wordt de verlichtingslamp soepel ontstoken (we verlengen de levensduur van de lamp), waarna de afzuigventilator direct wordt ingeschakeld. De achtergrondverlichting begint te knipperen, wat aangeeft dat de kamer bezet is. Als u bent vergeten het licht uit te doen, gaat het na een uur automatisch uit en gaat de achtergrondverlichting uit, wat de reden voor het uitschakelen aangeeft.
De schakelaar moet terug in de uit-stand, de achtergrondverlichting gaat direct aan, waarna deze weer in de normale modus kan worden gebruikt.Na handmatig uitschakelen van de lamp gaat de achtergrondverlichting in de normale modus (deze is constant aan), de uitlaat ventilator werkt nog drie minuten.

Structureel is het circuit ontworpen voor het leggen van nieuwe bedrading,
dat is wat mijn peetvader deed bij het bouwen van een badkamer.

De tweede versie van de firmware voor huishoudsters, het schema is eenvoudiger geworden. Schema. Firmware.

IR-ontvanger met 12 commando's op PIC12F629

Met het apparaat kunt u 12 commando's van de IR-afstandsbediening naar het MK-geheugen schrijven en hun ontvangst op hun uitgangen in binaire vorm weergeven in de knop-hold-modus, na het loslaten van de afstandsbedieningsknoppen zullen er nullen op de MK-uitgangen staan.

Om de driver te besturen is elke IR-afstandsbediening van huishoudelijke apparaten met het NEC-protocol geschikt. Het ontvangstbereik is afhankelijk van de locatie van de ontvanger en de gebruikte afstandsbediening.

Hoe de geschiktheid van de afstandsbediening te bepalen en de knoppen te programmeren. We leveren stroom aan het circuit, de LED op het bord "knippert" drie keer, wat aangeeft dat het klaar is voor opname.

Vervolgens drukken we tijdens het programmeren afwisselend op 12 knoppen wanneer op de volgende knop wordt gedrukt, de LED op het bord "knippert" om een ​​succesvolle opname aan te geven. Aan het einde van de programmering knippert de LED drie keer en reageert niet meer op commando's, maar schakelt over naar de knopscanmodus.
Als u een verkeerde set commando's hebt gemaakt of de afstandsbediening wilt wijzigen, moet u op de knop op het apparaat drukken en de set herhalen, de knop is pas actief nadat alle commando's zijn ingevoerd.

Binaire gegevensuitvoer op benen 7-6-5-3. Dat wil zeggen, het nummer van de ontvangen opdracht wordt weergegeven in overeenstemming met de volgorde van hun opname. Het eerste geregistreerde commando wordt geaccepteerd - het nummer 1 wordt weergegeven, enz. In de rustmodus zijn de terminals 0000.

IR-besturing van elektrische aandrijving -2.

Vereenvoudigde versie.

Het apparaat is ontworpen om de elektrische aandrijving van de actuator te regelen die de actie uitvoert van het openen en sluiten van elk mechanisme, zoals poorten, gordijnen, tv-uitgang, enz. De bepaling van de uitgevoerde actie wordt uitgevoerd met behulp van twee eindschakelaars, die normaal gesproken open zijn in de vrije positie.

Het universele IR-ontvangerprogramma ondersteunt bijna alle afstandsbedieningsprotocollen. De afstandsbediening kan worden opgenomen door de knop "afstandsbediening opnemen" ingedrukt te houden vanuit de uitgeschakelde staat, nadat u de stroom hebt ingeschakeld, laat u de geselecteerde knop op de afstandsbediening los en drukt u erop. De knop op de afstandsbediening moet meer dan drie seconden worden ingedrukt, na het loslaten van de knop is het apparaat klaar voor gebruik, de knopcode wordt naar het MK-geheugen geschreven en het is niet nodig om opnieuw op te nemen als de stroom van het apparaat was uitgeschakeld (om de knop van de afstandsbediening te overschrijven, moet de procedure worden herhaald).

Iets verbeterde firmware, pincode gecorrigeerd, nu kun je nummers voor de code in willekeurige volgorde selecteren. Verbeterd geluid. En in het archief zijn er twee opties met verschillende sensorgevoeligheid. Hoewel dergelijke schema's zijn berekend om de verandering in de capaciteit van de sensorpads te bepalen, wordt de werking van het apparaat nogal sterk beïnvloed door de toegepaste voeding en ook door de ruimte waarin het apparaat zal werken. Daarom is het nu mogelijk om de firmware te kiezen die werkt met de beste prestaties.

Wijzigingen - het is mogelijk om de tijd voor het uitvoeren van het signaal naar de actuator onafhankelijk aan te passen na het correct invoeren van de pincode, gemaakt door de nummers in het EEPROM-geheugen in de cellen direct na de pincode op adressen 05H en 06H te wijzigen. Tijd kan worden berekend door berekening Tijd in seconden = ADR_05H (1- schrijf geen nul) * ADR_06H (50 cijfers achter de komma) * 0,02 seconden = we krijgen een vertraging van 1 seconde. Nu is er nog steeds geen indicatie van de LED van het ingedrukte cijfer van de 8e poot van de MK, als zodanig bestaat er niet zoiets, in plaats daarvan wordt het nummer van de ingedrukte knop in binaire vorm weergegeven bij de conclusies 11-10 -9-8, de 8e leg is de laagste BIT enzovoort.
Met een decoder type 155ID3 kunt u het equivalent van elk cijfer krijgen, zijn eigen uitgang (LED).

PS De nummers voor het schrijven naar de EEPROM moeten worden geconverteerd, programmeurs ondersteunen het decimale systeem niet.

Dit artikel stelt een digitaal thermometercircuit voor op basis van een AVR ATtiny2313-microcontroller, een DS1820 (of DS18b20) temperatuursensor die via een 1-draads protocol op de microcontroller is aangesloten, en een 16x2 LCD-scherm op een HD44780-controller. Het beschreven apparaat kan op grote schaal worden gebruikt door radioamateurs.

Het programma voor de microcontroller is geschreven in assembler in de AVR Studio-omgeving. De installatie wordt uitgevoerd op een breadboard, een 4MHz kristalresonator, de ATtiny2313-microcontroller kan worden vervangen door een AT90S2313 door eerst de broncode van het programma opnieuw te compileren. De fout van de DS1820-sensor is ongeveer 0,5 C. Het archief bevat ook de firmware voor het geval als de DS18B20-sensor wordt gebruikt. De sensor wordt elke seconde ondervraagd.

De WAV-speler is gebouwd op de AVR ATtiny85-microcontroller (de ATtiny25 / 45/85-serie kan worden gebruikt). De microcontrollers van deze serie hebben slechts acht poten en twee PWM (Fast PWM) met een draaggolf van 250kHz. Voor het aansturen van de geheugenkaart zijn slechts 6 draden voldoende: twee voor voeding en vier signaaldraden. Acht pootjes van de microcontroller zijn voldoende voor het werken met een geheugenkaart, geluidsuitgang en bedieningsknoppen. Deze speler is in ieder geval heel eenvoudig.

Met deze capaciteitsmeter kunt u gemakkelijk elke capaciteit meten, van eenheden van pF tot honderden microfarads. Er zijn verschillende methoden om de capaciteit te meten. Dit project maakt gebruik van een integratiemethode.

Het grote voordeel van het gebruik van deze methode is dat de meting gebaseerd is op het meten van tijd, wat redelijk nauwkeurig kan worden gedaan op de MC. Deze methode is zeer geschikt voor een zelfgemaakte capaciteitsmeter, bovendien is hij eenvoudig te implementeren op een microcontroller.

Dit project is gemaakt op verzoek van een vriend voor installatie op een deur naar een magazijn. In de toekomst zijn er op verzoek van vrienden en kennissen nog een aantal gemaakt. Het ontwerp bleek eenvoudig en betrouwbaar. Dit apparaat werkt als volgt: het laat alleen die RFID-kaarten door die eerder in het geheugen van het apparaat zijn ingevoerd.

Het is een van de belangrijkste meetinstrumenten in het laboratorium van radioamateurs en reparateurs van elektrische apparatuur, natuurlijk na de voltmeter en tester. De meeste circuits werken erg goed, maar de bovengrens van de gemeten frequenties is soms zwak. Moderne zend- en ontvangstelektronica vereist een frequentiemeter die meer dan een gigahertz kan opnemen. We zullen nu over zo'n apparaat praten. Klik op het diagram om het te vergroten.

Het elektrische circuit van de frequentiemeter op MK PIC16F870

Deze LCD digitale frequentieteller heeft een zeer hoge meetsnelheid en is zeer eenvoudig te monteren en te gebruiken. De teller van getallen wordt gemaakt op basis van een LCD-display met 2 regels van 16 karakters. Was gebruikt HD44780 gebaseerd op een veel voorkomende weergave. Op een microcontroller PIC16F870 verzamelde regelcircuits voor het tellen en weergeven van het resultaat.

De frequentiemeter kan frequenties meten tot tot 2,5 GHz... Dit werd mogelijk dankzij de prescaler on LMX2322 ... Deze gespecialiseerde microschakeling op de datasheet duurt 2,5 GHz met een hoge gevoeligheid.