Opplegg for PIC-kontrollere. PIC-kontroller. Programmering av PIC-kontrollere. Opplegg for PIC-kontrollere Opplegg på bildekontrollere for hjemmet

På den tilsynelatende utdaterte 2051-kontrolleren har vi gjentatte ganger tenkt på hvordan man monterer en lignende måler, men på en mer moderne kontroller, for å gi den ekstra funksjoner. I utgangspunktet var det bare ett søkekriterium – dette var brede måleområder. Imidlertid hadde alle lignende kretser som ble funnet på Internett til og med en begrensning i programvarerekkevidden, og ganske betydelig. For å være rettferdig er det verdt å merke seg at den ovennevnte enheten for 2051 ikke hadde noen begrensninger i det hele tatt (de var bare maskinvare), og den hadde til og med muligheten til å måle - mega- og -giga-verdier​​i programvare!

På en eller annen måte, når vi igjen studerte kretsene, oppdaget vi en veldig nyttig enhet - LCM3, som har anstendig funksjonalitet med et lite antall detaljer. Enheten er i stand til å måle induktans, kapasitans til ikke-polare kondensatorer, kapasitans til elektrolytiske kondensatorer, ESR, motstander (inkludert ultrasmå) i det bredeste området, evaluere kvaliteten på elektrolytiske kondensatorer. Enheten fungerer etter det velkjente prinsippet om frekvensmåling, men det er interessant at generatoren er satt sammen på en komparator innebygd i PIC16F690 mikrokontrolleren. Kanskje parametrene til denne komparatoren ikke er verre enn de til LM311, fordi de deklarerte måleområdene er som følger:

  • kapasitans 1pF - 1nF med 0,1pF oppløsning og 1% nøyaktighet
  • kapasitans 1nF - 100nF med 1pF oppløsning og 1% nøyaktighet
  • kapasitans 100nF - 1uF med 1nF oppløsning og 2,5 % nøyaktighet
  • kapasitans til elektrolytiske kondensatorer 100nF - 0,1F med en oppløsning på 1nF og en nøyaktighet på 5 %
  • induktans 10nH - 20H med 10nH oppløsning og 5 % nøyaktighet
  • motstand 1mΩ - 30Ω med 1mΩ oppløsning og 5 % nøyaktighet
Du kan lese mer om beskrivelsen av enheten på ungarsk på siden:

Vi likte løsningene som ble brukt i måleren, og vi bestemte oss for ikke å sette sammen en ny enhet på Atmel-kontrolleren, men å bruke PIC. Fra denne ungarske måleren ble en krets delvis (og deretter helt) tatt. Deretter ble firmware dekompilert, og en ny ble skrevet på grunnlag av den, for våre egne behov. Imidlertid er forfatterens fastvare så god at enheten sannsynligvis ikke har noen analoger med den.

Klikk for å forstørre
LCM3 meter funksjoner:

  • når den er slått på, må enheten være i kapasitansmålemodus (hvis den er i induktansmålingsmodus, vil den tilsvarende inskripsjonen på skjermen be deg om å bytte fra en annen modus)
  • tantal kondensatorer bør være med så lite ESR som mulig (mindre enn 0,5 ohm). ESR-en til 33nF CX1-kondensatoren bør også være lav. den totale impedansen til denne kondensatoren, induktansen og modusknappen må ikke overstige 2,2 ohm. Kvaliteten på denne kondensatoren som helhet skal være veldig god, den skal ha lav lekkasjestrøm, så du bør velge mellom høyspenning (for eksempel 630 volt) - polypropylen (MKP), styroflex-polystyren (KS, FKS, MKS, MKY?). Kondensatorer C9 og C10, som skrevet i diagrammet, er polystyren, glimmer, polypropylen. 180 ohm motstanden skal være 1 % nøyaktig, 47 ohm motstanden bør også være 1 %.
  • enheten evaluerer "kvaliteten" på kondensatoren. det er ingen eksakt informasjon om hvilke parametere som beregnes. dette er sannsynligvis lekkasjen, dielektrisk taptangens, ESR. "kvalitet" vises som en fylt kopp: jo mindre den er fylt, jo bedre er kondensatoren. for en defekt kondensator er koppen fullstendig malt over. imidlertid kan en slik kondensator brukes i et lineært regulatorfilter.
  • choken som brukes i enheten må være stor nok (til å tåle en strøm på minst 2A uten metning) - i form av en "hantel" eller på en pansret kjerne.
  • noen ganger, når den er slått på, viser enheten "Low Batt" på skjermen. I dette tilfellet må du slå av og slå på strømmen igjen (sannsynligvis en feil).
  • Det finnes flere fastvareversjoner av denne enheten: 1.2-1.35, og sistnevnte er ifølge forfatterne optimalisert for en pansret kjerne choke. den fungerer imidlertid også på en hantelchoke, og kun i denne versjonen blir kvaliteten på elektrolytiske kondensatorer evaluert.
  • det er mulig å koble et lite vedlegg til enheten for in-circuit (uten lodding) måling av ESR av elektrolytiske kondensatorer. Den senker spenningen som påføres kondensatoren som testes til 30mV, hvor halvlederne ikke åpnes og ikke påvirker målingen. Diagrammet finner du på forfatterens hjemmeside.
  • ESR-målemodus aktiveres automatisk ved å plugge probene inn i riktig stikkontakt. Hvis det samtidig kobles til en motstand (opptil 30 Ohm) i stedet for en elektrolytisk kondensator, vil enheten automatisk bytte til målemodus for lav motstand.
Kalibrering i kapasitansmålingsmodus:
  • trykk på kalibreringsknappen
  • slipp kalibreringsknappen
Kalibrering i induktansmålingsmodus:
  • lukk probene til enheten
  • trykk på kalibreringsknappen
  • vent på meldingen R=....Ohm
  • slipp kalibreringsknappen
  • vent på meldingen om slutten av kalibreringen
Kalibrering i ESR-målingsmodus:
  • lukk probene til enheten
  • trykk på kalibreringsknappen, skjermen vil vise spenningen påført den målte kondensatoren (anbefalte verdier er 130 ... 150 mV, den vil krølle seg fra induktoren, som må plasseres vekk fra metalloverflater) og målefrekvensen ESR
  • vent på melding R=....Ohm
  • slipp kalibreringsknappen
  • motstandsavlesningen på skjermen skal gå til null
Det er også mulig å spesifisere kapasiteten til kalibreringskondensatoren manuelt. For å gjøre dette, er følgende krets satt sammen og koblet til programmeringskontakten (du kan ikke sette sammen kretsen, men bare lukke de nødvendige kontaktene):


Deretter:

  • koble til krets (eller lukk vpp og gnd)
  • slå på enheten og trykk på kalibreringsknappen, verdien for kalibreringskapasiteten vises på skjermen
  • bruk DN- og UP-knappene for å justere verdiene (kanskje, i forskjellige fastvareversjoner, fungerer hovedkalibrerings- og modusknappene for raskere justering)
  • avhengig av fastvareversjonen, er et annet alternativ også mulig: etter å ha trykket på kalibreringsknappen, vises verdien av kalibreringskapasiteten på skjermen, som begynner å vokse. Når den når ønsket verdi, må du stoppe veksten med modusknappen og åpne vpp og gnd. Hvis du ikke hadde tid til å stoppe i tide og hoppet over ønsket verdi, kan du redusere den med kalibreringsknappen
  • deaktiver krets (eller åpne vpp og gnd)
Forfatterens fastvare v1.35: lcm3_v135.hex

PCB: lcm3.lay (ett av alternativene fra vrtp-forumet).

På det medfølgende kretskortet settes displaykontrasten på 16 * 2 av en spenningsdeler på motstander med en motstand på 18k og 1k. Om nødvendig må du velge motstanden til sistnevnte. FB - ferrittsylinder, i stedet for det kan du sette en choke. For større nøyaktighet, i stedet for en 180 ohm motstand, brukes to 360 i parallell. Før du installerer kalibreringsknappen og målemodusbryteren, sørg for å sjekke pinouten med en tester: det er ofte en som ikke passer.


Dekselet til enheten, etter tradisjonen (en, to), er laget av plast og malt med svart metallisk maling. Opprinnelig ble enheten drevet av en 5V 500mA mobiltelefonlader via en mini-USB-kontakt. Dette er ikke det beste alternativet, siden strømmen ble koblet til målerkortet etter stabilisatoren, og hvor stabil den er ved lading fra telefonen er ukjent. Deretter ble den eksterne strømmen erstattet med et litiumbatteri med en lademodul og en boost-omformer, den mulige forstyrrelsen som er perfekt fjernet av den vanlige LDO-stabilisatoren som er tilstede i kretsen.


Avslutningsvis vil jeg legge til at forfatteren har investert maksimale muligheter i denne måleren, noe som gjør den uunnværlig for en radioamatør.

Lys og avtrekk på bad.

Berøringskodelås.

Berøringsknapp for å slå på PC-en.

Når PC-en er slått av, lyser ingenting og fungerer ikke.

Når du berører sensoren, reagerer bakgrunnsbelysningen med et kort blits, deretter lukkes kontaktene
reléene forblir i lukket posisjon til et signal senket til +5 volt vises på den andre delen av MK fra +12 volt bussen til datamaskinens strømforsyningsenhet, så snart signalet er mottatt, åpnes relékontaktene og sensorbakgrunnsbelysningen slås på jevnt. Hvis +12 volt ikke vises innen -2 sekunder, slås releet av og bakgrunnsbelysningen dobbeltblinker for å vise en feilkode, for å tilbakestille
du må koble fra strøm til datamaskinen. For å slå den av holder du bare sensoren i 3 sekunder og MK vil slå av PC-en hardt. I dette tilfellet lukkes relékontaktene og holdes til 2
nogene, vil +12 volts signalet fra datamaskinens strømforsyning forsvinne Så snart +12 volten er borte slipper sensoren relékontaktene og slår av bakgrunnsbelysningen.

For å kontrollere driften av sensoren under ventingen, blinker bakgrunnslyset. Når datamaskinen er slått av programmatisk, vil bakgrunnsbelysningen slukke så snart 12 volts strømmen er borte.

MEGA IR-MODTAKER FOR 35 KANALER.

Støtte for fjernkontroller med NEC-protokoll. Først spiller vi inn "Master"-knappen på fjernkontrollen. Ved å bruke den slår vi på modusen for å omskrive fjernkontrollknappene i minnet til MK. Skriv deretter ned de 35 valgte knappene på fjernkontrollen.
Korrespondanse av de registrerte kommandoene til bena til MK, den første kommandoen tilhører ben 2 og så videre i en sirkel mot klokken, og hopper over kraftbenene til MK (en nyprogrammert MK er klar til å skrive kommandoer fra fjernkontrollen til sin minne umiddelbart etter at strømmen er koblet til). Etter at strømmen er tilkoblet, blinker LED-en fra det andre benet tre ganger og MK er klar for opptak, når knappen blir tatt opp, blinker den også, snakker om opptaket, etter at den siste 35 knappen er tatt opp, lyser den litt lengre. Når den går ut, er MK klar til å gå.

I EEPROM-minnet kan du stille inn driftsmodusen for hvert ben til å veksle eller holde modus. For å gjøre dette, fra adresse 02 EEPROM til adresse 06, må du skrive de riktige tallene, som vi får på følgende måte. Bena er "gruppert" med 8 stykker, siden det bare er 8 bits i ett EEPROM-minneregister i MK. La oss si at vi vil at de tre første bena skal fungere i hold-modus, og de resterende 5 i vekslemodus. Vi skriver ned tallet 1 for benet som vil fungere i hold-modus og tallet null for byttemodus. Herfra får vi denne typen tall i det binære systemet 00000111 - den første etappen betraktes fra høyre til venstre, dette tallet må konverteres til heksadesimalt, noe som er enkelt i dette tilfellet, men en tallkonvektor kan være nødvendig. Vi får tallet 07 i heksadesimal form, klar for skriving i programmereren. Vi jobber også for å konfigurere de resterende utgangene. I gjeldende fastvare er alle utganger konfigurert i hold-modus (-FF-numre skrives). I den siste cellen på adresse 06 i EEPROM-minnet bruker vi bare de tre første bitene, resten brukes ikke (00000111).

Lys og avtrekk på bad.

Enheten er designet for å kontrollere inkludering av lys og avtrekksvifte på badet.

I av-modus lyser bakgrunnsbelysningen på bryteren permanent.

Når bryteren er slått på, tennes belysningslampen jevnt (vi forlenger lampens levetid), hvoretter avtrekksviften umiddelbart slår seg på. Bakgrunnsbelysningen begynner å blinke for å indikere at rommet er opptatt. Hvis du har glemt å slå av lyset, vil det automatisk slå seg av etter en time og bakgrunnslyset slukkes, noe som informerer om årsaken til avstengningen.
Bryteren må settes tilbake til av posisjon, bakgrunnsbelysningen vil umiddelbart slå seg på, hvoretter den kan brukes igjen i normal modus Etter manuelt slått av lyset, går bakgrunnsbelysningen over til normal modus (er konstant på), avtrekksviften går i ytterligere tre minutter.

Strukturelt er ordningen designet for å legge nye ledninger,
som min gudfar gjorde da han bygde et bad.

Den andre versjonen av fastvaren for husassistenter, ordningen har blitt enklere. Opplegg. Fastvare.

12-kommando IR-mottaker på PIC12F629

Enheten lar deg ta opp 12 kommandoer fra IR-fjernkontrollen inn i MK-minnet og vise mottaket deres på utgangene i binær form i knappholdmodus, etter at du slipper fjernkontrollknappen, vil MK-utgangene være null.

For å kontrollere sjåføren er enhver IR-fjernkontroll fra husholdningsapparater med NEC-protokollen egnet. Mottaksrekkevidden avhenger av plasseringen til mottakeren og fjernkontrollen som brukes.

Hvordan bestemme egnetheten til fjernkontrollen og programmere knappene. Vi leverer strøm til kretsen, LED-en på brettet "blinker" tre ganger, noe som indikerer klarhet for opptak.

Deretter trykker vi på 12 knapper etter tur under programmering, når du trykker på neste-knappen, "blinker" LED-en på brettet som indikerer et vellykket opptak. Ved slutten av programmeringen blinker LED-en tre ganger og reagerer ikke lenger på kommandoer, men bytter til knappeskannemodus.
Hvis det ble gjort et feil sett med kommandoer eller for å endre fjernkontrollen, må du trykke på knappen på enheten og gjenta settet, knappen er aktiv først etter at alle kommandoer er lagt inn.

Datautgang i binær form på ben 7-6-5-3. Det vil si at nummeret på den mottatte kommandoen vises i samsvar med rekkefølgen på innspillingen. Den første skrevne kommandoen aksepteres - tallet 1 sendes ut, og så videre. I hvilemodus, pinner 0000.

IR-styring av elektrisk stasjon -2.

Forenklet versjon.

Enheten er designet for å kontrollere den elektriske stasjonen til aktuatoren som utfører handlingen med å åpne og lukke enhver mekanisme, for eksempel porter, gardiner, TV-utgang, etc. Bestemmelsen av utført handling skjer ved hjelp av to endebrytere, som normalt er åpne i fri posisjon.

Det universelle IR-mottakerprogrammet støtter nesten alle fjernkontrollprotokoller. Opptak av fjernkontrollen kan utføres hvis du, fra strømmen av, trykker og holder inne "ta opp fjernkontroll"-knappen, etter at du har slått på, slipper du og trykker på den valgte knappen på fjernkontrollen. Fjernkontrollknappen må holdes inne i mer enn tre sekunder, etter at knappen slippes, enheten er klar til bruk, knappekoden vil bli skrevet til MK-minnet og gjenopptak er ikke nødvendig hvis enheten var slått av ( for å omskrive fjernkontrollknappen, må prosedyren gjentas).

Noe forbedret fastvare, PIN-kode fikset, nå kan du velge tall for koden i hvilken som helst rekkefølge. Forbedret lyd. Og i arkivet er det to alternativer med ulik sensorfølsomhet. Selv om slike ordninger beregnes for å bestemme endringen i kapasitansen til sensorputene, er driften av enheten ganske sterkt påvirket av strømforsyningen som brukes og også rommet der enheten vil fungere. Derfor er det nå mulig å velge fastvaren som fungerer med best ytelse.

Endringer - det er mulig å uavhengig stille inn signalutgangstiden til aktuatoren etter at riktig PIN-kode er angitt, ved å endre tallene i EEPROM-minnet i cellene umiddelbart etter PIN-koden på adressene 05H og 06H. Tiden kan regnes ut fra utregningen Tid i sekunder = ADR_05H (1 - ikke skriv null) * ADR_06H (50 - desimalsiffer) * 0,02 sekunder = vi får en forsinkelse på 1 sekund. Nå er det fortsatt ingen indikasjon på LED-en til det pressede tallet fra den åttende etappen av MK, som sådan, i stedet vises nummeret på den trykket knappen i binær form på pinnene 11-10-9-8, den åttende ben er den lave biten og så videre.
Ved å bruke en dekoder som 155ID3, kan du få ekvivalenten til hvert siffer med sin egen utgang (LED).

P.S. Tall for å skrive til EEPROM må konverteres, programmerere støtter ikke desimalsystemet.

Denne artikkelen foreslår en digital termometerkrets på en AVR ATtiny2313 mikrokontroller, en DS1820 (eller DS18b20) temperatursensor koblet til mikrokontrolleren via 1-leder protokoll, og en 16x2 LCD-skjerm på en HD44780 kontroller. Den beskrevne enheten kan brukes mye blant radioamatører.

Programmet for mikrokontrolleren er skrevet i assembler i AVR Studio-miljøet. Installasjonen gjøres på et breadboard, en 4 MHz krystall, ATtiny2313 mikrokontrolleren kan erstattes med en AT90S2313, etter å ha rekompilert kildekoden til programmet. Feilen til DS1820-sensoren er ca. 0,5 C. Arkivet inneholder også fastvare for saken dersom DS18B20-sensoren brukes. Sensoren polles hvert sekund.

WAV-spilleren er satt sammen på AVR ATtiny85 mikrokontroller (ATtiny25/45/85-serien kan brukes). Mikrokontrollerne i denne serien har bare åtte ben og to PWM (Fast PWM) med en bærer på 250 kHz. Bare 6 ledninger er nok til å kontrollere minnekortet: to for strøm og fire signal. Åtte ben på mikrokontrolleren er nok til å fungere med et minnekort, lydutgang og kontrollknapper. I alle fall er denne spilleren veldig enkel.

Med denne kapasitansmåleren kan du enkelt måle enhver kapasitans fra enheter av pF til hundrevis av mikrofarader. Det finnes flere metoder for å måle kapasitans. Dette prosjektet bruker integrasjonsmetoden.

Hovedfordelen med å bruke denne metoden er at målingen er tidsbasert, noe som kan gjøres ganske nøyaktig på MCU. Denne metoden er veldig egnet for en hjemmelaget kapasitansmåler, og den er også enkel å implementere på en mikrokontroller.

Dette prosjektet ble laget på forespørsel fra en venn om å installere på døren til et lager. I fremtiden ble det laget flere etter forespørsel fra venner og bekjente. Designet viste seg å være enkelt og pålitelig. Denne enheten fungerer slik: den sender bare de RFID-kortene som tidligere ble lagt inn i enhetens minne.

Det er et av de viktigste måleinstrumentene i laboratoriet til en radioamatør og en elektrisk reparatør, naturligvis etter et voltmeter og en tester. De fleste kretser fungerer veldig bra, men den øvre grensen for de målte frekvensene er noen ganger svak. Moderne transceiverelektronikk krever en frekvensmåler som kan ta mer enn en gigahertz. Vi vil snakke om en slik enhet nå. Klikk på diagrammet for å forstørre det.

Den elektriske kretsen til frekvensmåleren på PIC16F870 MK

Denne digitale LCD-frekvensmåleren har en veldig rask målehastighet og er veldig enkel å montere og bruke. Talltelleren er basert på et LCD-display med 2 linjer med 16 tegn. Var brukt HD44780 basert på en veldig vanlig skjerm. På mikrokontrolleren PIC16F870 sammensatt kontrollkrets for telling og visning av resultatet.

Frekvenstelleren kan måle frekvensen opp til opptil 2,5 GHz. Dette ble muliggjort av prescaler på LMX2322 . Denne spesialiserte brikken i henhold til dataarket tar 2,5 GHz med høy følsomhet.