Datorkunskap, hjälp och reparation

Tvåkanals termometer på ATmega8 mikrokontroller och DS18B20 sensorer. Elektronisk termometer med trådlös sensor Schema två-kanals termometer på en mikrokontroller

2012-11-25 OBS! Termostatmjukvaran har uppdaterats till version v2b_1.

Jag presenterar för din uppmärksamhet min enhet - en tvåkanals termometer-termostat. Termostaten gjordes av mig på begäran av släktingar, för att hålla en konstant temperatur i en potatislåda. Om det andra år inte fanns något behov av det, så visade förra vintern att det var nödvändigt.

Jag använde DS18B20 som sensorer. Mikrokontrollern (ATmega8) drivs från en intern masteroscillator på 4 MHz (dessutom ger kortet möjligheten att installera kvarts). På grund av dynamiska indikeringsartefakter (blinkningar märktes vid tidpunkten för sensorförhör), var jag tvungen att överge att läsa sensorns ROM och beräkna CRC. Enheten använder dock två sensorer som är anslutna till olika utgångar på MK. Den ena mäter temperaturen på uteluften, den andra i lådan. Temperaturkontroll är organiserad endast för givare nr 2 (låda).



Termometer-termostaten är uppdelad i två höljen. I den ena finns styrdelen och displayen, i den andra finns strömförsörjnings- och laststyrreläet. Styrkortet tillhandahåller installation av en strömstabilisator med kondensatorer för att driva mikrokontrollern, men eftersom strömmen kommer och så 5 v löds den inte (vid strömförsörjning från nätaggregat med en utspänning på mer än 5 v , det måste lödas). Styrhuset är försett med ett fäste som gör att du kan montera det antingen på en DIN-skena eller bara med självgängande skruvar på väggen.



Enhetskontakter:
- styrsignaler överförs via USB-kontakten för att slå på reläet;
- temperatursensorer ansluts via ljudkontakter.

Eftersom programmet upptar 66% av minnet beslutades det att göra en andra kontrollkanal, för säkerhets skull, från RV5. I det här programmet finns det ingen andra kanal, och om den kommer att behövas alls vet jag inte än, men på PP är den andra kanalen organiserad i sin helhet, bara reläet är inte installerat.












Beskrivning av termostaten.
Enheten har tre kontrollknappar. Knapp (OK), (Upp), (Dn). När strömmen slås på visas temperaturen för sensor nr 1 (uteluft) på indikatorn.




För att se temperaturen i lådan, tryck på knappen (OK). Samtidigt tänds den blå lysdioden HL1 (se diagram), vilket indikerar att temperaturen på givare nr 2 visas på displayen.




När knappen (OK) trycks in igen visar displayen temperaturen för sensor nr 1 och HL1-lysdioden slocknar.

För att gå in i läget för att ställa in den övre avstängningströskeln och den nedre tröskeln för att slå på värme. Det är nödvändigt att trycka på båda knapparna (Upp), (Dn) och hålla dem intryckta i minst 5 sekunder. Efter denna tid kommer enheten att växla till läget för att visa den övre tröskeln för att stänga av uppvärmningen. Nu måste knapparna släppas. Displayen kommer att visa tröskelvärdet och den fjärde siffran kommer att ha ett övre segment, vilket indikerar att detta är det övre tröskelvärdet.




För att ändra tröskelinställningen, tryck på knappen (OK). Värdet på displayen kommer att blinka, vilket signalerar att börvärdet är redo att ändras. Inställningen kan ändras inom området från +1 till +10 grader, med en upplösning på 1 grad. Öka värdet med knappen (Upp), och minska med knappen (Dn). För att spara börvärdet eller helt enkelt flytta till nästa tröskel, måste du trycka på (OK)-knappen. Displayen kommer att visa den låga tröskeln och den fjärde siffran kommer att ha ett lågt segment, vilket indikerar att detta är den låga tröskeln.




För att ändra tröskelinställningen, tryck på (OK)-knappen igen. Värdet på displayen kommer att blinka, vilket signalerar att börvärdet är redo att ändras. Efter att ha ställt in påslagströskeln, tryck på (OK)-knappen för att spara och lämna inställningsläget för temperaturkontrolltröskelvärdet. Inställningarna lagras i det icke-flyktiga minnet på MK och återställs inte vid strömavbrott.

För bekvämligheten att övervaka tillståndet för temperaturen i lådan, introducerades en extra algoritm för att signalera en låg temperatur i lådan. Vad är han egentligen? När displayen visar temperaturen på givare nr 1, och temperaturen i lådan minskar (till exempel på grund av ett fel på värmaren) och når ett värde under +1 grad, börjar HL1 LED att blinka, vilket signalerar en låg temperatur i lådan. Om temperaturen i lådan stiger över +2 grader slutar lysdioden att blinka.

Sensorfelalgoritm. I händelse av ett sensorfel kommer displayen att visa Err No. Siffran indikerar en felkod från 1 till 3. Siffran 1 indikerar - det finns ingen hög nivå, 2 - det finns ingen sensor, 3 - den höga nivån är inte återställd.




När displayen visar temperaturen på givare nr 1 och ett fel på givare nr 2 uppstår, börjar HL1-lysdioden att blinka, vilket indikerar ett fel. Således, med temperaturen för sensor nr 1 visas på displayen, kommer du inte att missa förekomsten av en termostatfel. Naturligtvis, om sensor nr 2 inte fungerar, stängs värmen av.

Några fler punkter. Termostaten är inaktiverad om det låga tröskelvärdet är lika med det höga tröskelvärdet, eller om det låga tröskelvärdet är högre än det höga tröskelvärdet. Om sensor nr 1 eller nr 2 är defekt, kommer du inte att se det inställda värdet i inställningsmenyn, även om inställningen kan ändras, utan blint. Detta görs för att säkerställa att användaren inte klättrar för att ändra inställningarna med felaktiga sensorer.


Filer för enhetsmontering.

(Besökt 19 717 gånger, 1 besök idag)

Avsnitt: Taggar: ,

Postnavigering

084-Tvåkanals termometer-termostat på ATmega8.: 86 kommentarer

  1. fizik_89

    Hej svn.
    Jag planerar att montera en enhet för ditt projekt. Nyfiken på vilken typ av värmare du använde till termolådan? Att döma av strömförsörjningen producerar den 12V 0,5A. Dvs värmaren är bara 6 watt? En effekt på 6 W verkar inte ge de erforderliga termiska förhållandena. Eller har jag missuppfattat något?)

  2. SVN Post författare
  3. alex52

    Jag monterade ihop termostaten, den fungerade direkt. Först nu visar temperaturen en konstig sådan: minus 38,6 (båda sensorerna) i ett varmt rum, där det är cirka 20 grader. Givare (DC18B20) reagerar på temperaturförändringar. vid uppvärmning med lödkolv stiger temperaturen till minus 21 grader. Vad är problemet?

  4. SVN Post författare
  5. alex52

    När strömmen sattes på enheten visade displayen ett värde på 85,0 * C, och sedan efter cirka 2 sekunder: -36,3 * C. Sedan bytte jag sensorerna på sina ställen: igen visades värdet 85,0 * C, och sedan efter cirka 2 sekunder: -36,5 * C. Tyvärr var jag sjuk och kunde inte köpa nya sensorer. En av dessa dagar ska jag göra det och skriva om resultatet. Tack för din hjälp.

  6. SVN Post författare

    :
    När strömmen sattes på enheten visade displayen ett värde på 85,0 * C, och sedan efter cirka 2 sekunder: -36,3 * C. Sedan bytte jag sensorerna på sina ställen: igen visades värdet 85,0 * C, och sedan efter cirka 2 sekunder: -36,5 * C. Tyvärr var jag sjuk och kunde inte köpa nya sensorer. En av dessa dagar ska jag göra det och skriva om resultatet. Tack för din hjälp.

    När ström tillförs sensorn, skriver sensorn till registren värdet lika med 85,0, som läses av enheten. Detta bekräftar korrekt omräkning av de avlästa värdena. Det verkar alltså som att du har stött på illikvida tillgångar, vilket är mycket sällsynt. Försök att köpa sensorer från en annan butik. Men en sådan effekt kan uppstå om +5 V inte kommer till sensorn Kontrollera att sensorns strömförsörjning överensstämmer.

  7. alex52

    Ja, du hade rätt, sensorerna visade sig vara undermåliga. Den nya sensorn visar normala värden. Det verkade helt enkelt osannolikt för mig att två sensorer skulle vara lika undermåliga. Det är troligen möjligt att analysera dessa sensorers funktion och programmässigt korrigera avläsningarna. Jag ska prova det på min fritid. Tack.

  8. alex52

    Förresten, det kanske är DS18S20? De har en annan typ av temperaturrepresentation. För DS18S20 representeras temperaturen som ett 9-bitars två-komplementvärde, och för DS18B20 representeras det som ett 9-bitars till 12-bitars binärt tal. För DS18S20 och DS18B20 innehåller ROM förutom serienumret en familjekod (10h för DS18S20 och 28h för DS18B20). Har du ingen familjekodsläsare eller ett program för att fungera med DS18S20?

  9. SVN Post författare

    :
    Förresten, det kanske är DS18S20? De har en annan typ av temperaturrepresentation. För DS18S20 representeras temperaturen som ett 9-bitars två-komplementvärde, och för DS18B20 representeras det som ett 9-bitars till 12-bitars binärt tal. För DS18S20 och DS18B20 innehåller ROM förutom serienumret en familjekod (10h för DS18S20 och 28h för DS18B20). Har du ingen familjekodsläsare eller ett program för att fungera med DS18S20?

    Jag har inget sådant program. Men om det var DS18S20, skulle du inte se värdet på + 85 * C i början av programmet. Detta är definitivt ett äktenskap. Ett äktenskap är bättre att återvända till butiken.

  10. alex52
  11. pino24

    Men det blir inte vackrare om du använder en två-rads display ??

  12. SVN Post författare

    :
    Men det blir inte vackrare om du använder en två-rads display ??

    Det är för någon som gillar det. För en tvåradsdisplay måste programmet skrivas om helt.

  13. Vladimir 1619

    Hej. Tack till författaren och alla som deltog i utvecklingen av denna enhet.
    Jag samlade på det, men ett problem uppstod som jag inte längre kan lösa (inte tillräckligt med kunskap och erfarenhet).
    Enheten fungerar, men indikatorerna visar motsatsen;
    alla kommatecken lyser utom det andra, och siffrorna är obegripliga,
    stänga av alla DS18B20-sensorer, skriver E.9.9.2..
    Jag monterade ihop indikatorn själv, men den är definitivt kopplad korrekt, den fungerar i andra enheter.
    Hjälp gärna till med råd om möjligt. Tack.

  14. Skifco

    Stort tack till utvecklarna! Jag ville klargöra denna fråga. Jag gör ungefär samma apparat, men i en mer medicinsk riktning. Jag skulle vilja veta om det är möjligt att hjälpa till med att sammanställa tidsdiagram för din enhet och ta reda på vilka paket och hur sensorerna sänder, vad som måste skickas till dem för att förhöra dem och vad är pollingfrekvensen?
    Tack på förhand!

Sensoravläsningar visas på HG1 - en tresiffrig LED-indikator med gemensamma LED-anoder för varje siffra. Tvåfärgade lysdioder HL1 och HL2 visar status för varje kanal.

Styrsignaler för värmare i termostatläge genereras vid mikrokontrollerutgångarna РВ6 (första kanalen) och РВ7 (andra kanalen). Tvålägeskontroll: värmaren är på eller av. Optokopplare U1 och U2 är installerade för galvanisk isolering av enheten från ställdon. I min version är styrkretsarna för två BT139 triacs som växlar värmeelementen anslutna till X4- och X5-kontakterna. Vid behov kan optokopplare ersättas med transistorer genom att inkludera elektromagnetiska relälindningar i deras kollektorkretsar.

Inom 4...5 s efter att enheten har tillförts ström, initieras sensorerna och deras avläsningar samlas initialt in. Vid denna tidpunkt blinkar alla element i HG1-indikatorn växelvis. Därefter ställs temperaturmätning och visningsläge in. I detta läge är värmarna avstängda.

Avläsningarna av sensorerna på indikatorn växlar med en period på 5 s. Om temperaturen mäts av sensorn som är ansluten till X1-kontakten, lyser HL1-LED:n och den som är ansluten till X2-kontakten - HL2. I det här fallet, om motsvarande kanal är konfigurerad som en termometer, är glödfärgen gul, om som en termostat, då när kommandot att slå på värmaren ges, är den röd och i sin frånvaro - grön.

Efter att ha tryckt på SB2-knappen visas endast avläsningarna för den första sensorn, och efter att ha tryckt på SB3, endast den andra. Om någon givare inte är ansluten, dess krets har en öppen krets, en kortslutning, eller temperaturen har gått över 0,1 ... 99,9 ° С, visar indikatorn "Err" istället för temperaturvärdet, och motsvarande värmare vrids av.

Om du trycker på SB2-knappen flera gånger medan du visar temperaturen uppmätt, till exempel av den första sensorn, kommer motsvarande kanal med varje tryck att växla från termostatläge till termometerläge och vice versa.

Med ett kort tryck på SB1-knappen återställs läget för växelvis visning av temperaturen i två kanaler. Men om du håller SB1-knappen intryckt länge, kommer termometer-termostaten att gå in i inställningsläget för den kanalen, under visningen av temperaturen för vilken knappen trycktes.

I detta läge väljer knapparna SB2 och SB3 önskad parameter:

ut1 (ut2)- inställning av värmarens avstängningstemperatur i kanal 1 (2);
d t1 (dt2)- inställning av temperaturskillnaden (hysteres) för av- och påslag av värmaren i kanal 1 (2).

Till exempel, om varmvattenberedarens avstängningstemperatur är inställd på 35°C och skillnaden är 1,5°C, kommer uppvärmningen att ske till en temperatur på 35°C, när den uppnås stängs värmaren av och slås på igen när temperaturen sjunker till 33,5°C. Det optimala valet av skillnaden uppnås genom en kompromiss mellan noggrannheten för att upprätthålla temperaturen och frekvensen för att slå på värmaren.

co1 (co2)- korrigering av sensoravläsningar 1 (2). Det angivna värdet läggs till (signeras) till dessa avläsningar innan de skickas för vidare bearbetning. Detta gör att du kan kompensera för sensorns eventuella fel.

Vid upprepad kortvarig tryckning av SB1-knappen visas värdet för den valda parametern som är lagrad i mikrokontrollerns minne på indikatorn, varefter SB2- och SB3-knapparna (respektive minska och öka med 0,1 ° C) ställs in dess nya värde. Om du fortsätter att hålla ned dessa knappar under en längre tid, börjar parameterändringen ske snabbare (ungefär 10 gånger per sekund). 5 sekunder efter den senaste tryckningen på någon knapp lagras det inställda värdet i mikrokontrollerns beständiga minne, och den aktuella temperaturen visas på indikatorn.

Programkoderna från Termo2ch.hex-filen skrivs till programminnet (FLASH) på mikrokontrollern, och informationen från Termo2ch.epp-filen skrivs till dess EEPROM. Mikrokontrollerns konfigurationsbitar är programmerade i enlighet med tabellen:

En watchdog-timer måste vara aktiverad i mikrokontrollern för att förhindra att programmet fryser.

Eftersom 1-Wire-gränssnittet som används av sensorerna är avgörande för mikrokontrollerns klockhastighet, är det nödvändigt att finjustera dess interna klockgenerator till 8 MHz. För att göra detta, genom att ansluta den använda instansen av mikrokontrollern till programmeraren, läs kalibreringskonstanten som finns i den höga byten av ordet som finns på adress 0x0003 i mikrokontrollerns signatur. Efter att ha laddat Termo2ch.epp-filen i programmeraren, men före programmering, skrivs denna konstant till nollcellen i programmerarens EEPROM-buffert.

ATmega8 mikrokontroller kan ersättas av ATmega8L. När du byter ut CPD-05211SR2 / A-indikatorn med en liknande av en annan typ, kan det vara nödvändigt att välja motstånd R8-R15 för att säkerställa acceptabel ljusstyrka.

Typ av utrustning: Termometer, termisk kontrollenhet, temperaturanalysator.

Tillverkare: Ryssland

Serie: TK-5

Modell: TK-5.11

Beskrivning: En anordning för att mäta temperatur och relativ fuktighet.

Garanti för kontakttermometer TK-5.11: 24 månader.

termometer k Kontakt TK-5.11 ingår i Statens register över mätinstrument.

Syftet med enheten:

Den digitala kontakttermometern TK-5.11 är designad för att mäta temperaturen på olika medier, relativ luftfuktighet genom direktkontakt av sonden med mätobjektet. Termometern är en tvåkanalig enhet som möjliggör drift av två mätsonder samtidigt. De består av en elektronisk enhet och utbytbara sonder. Termoelektriska omvandlare (TC) från NSH till GOST R 8.585. Och kapacitiva fuktighetssensorer används som ett mätelement i relativ fuktighetssonder.

Funktionalitet hos temometern TK-5.11:

  • samtidig mätning av luftfuktighet eller temperatur på två kanaler i valfri kombination med en enhet;
  • temperaturmätning med en upplösning på 0,1 °C;
  • fuktighetsmätning med en upplösning på 0,1 %;
  • möjligheten att byta sonden;
  • möjligheten att visa temperaturen på temperaturkompensationssensorn;
  • möjligheten att visa lufttemperaturen på skärmen när du använder en fuktsond;
  • spara de uppmätta värdena för temperatur eller fuktighet i enhetens minne;
  • visning av medelvärdet för temperatur eller luftfuktighet för ett givet antal mätningar;
  • visning av det maximala värdet för temperatur eller luftfuktighet (för ett givet antal mätningar);
  • visning av minimivärdet för temperatur eller luftfuktighet (för ett givet antal mätningar);
  • matningsspänningsindikering;
  • ställa in gränsvärdena för den uppmätta temperaturen eller luftfuktigheten;
  • ljudindikering när de specificerade nivåerna för uppmätta temperaturer eller luftfuktighet uppnås;
  • indikatorbelysning;
  • automatisk avstängning av enheten efter en viss tid;
  • automatisk besparing vid avstängning av ström, medel, max, min, matningsspänning, resten av enhetens drifttid vid avstängningsögonblicket.

Funktioner hos termometern TK-5.11:

  • Luftfuktighetsmätning.
  • Samtidig mätning av temperatur och luftfuktighet.
  • Förmåga att arbeta med utbytbara prober.
  • Dubbel kanal.
  • Drivs av standard AA-batterier.
  • Låg strömförbrukning (minst 350 timmars drift från en uppsättning batterier).

Tekniska egenskaper hos termometern TK-5.11:

Område för uppmätta temperaturer, °C

100...+1800 (beroende på vilken typ av sond som används)

Relativt fel, %

±0,5 + UD

Enhetspris för den minst signifikanta siffran, °C

0,1

Antal typer av utbytbara sonder

Mätområde för relativ fuktighet, %

3...97

Absolut fel vid mätning av relativ fuktighet, %

Driftsförhållanden, °С

20...+50

Matningsspänning, V

1,5x2

Driftsförhållanden

omgivningstemperatur, °C

20...+50

relativ luftfuktighet, %

inte mer än 80 % vid T = 35 °C

atmosfärstryck, kPa

86 - 106

Termometerns omfattning TK-5.01:

  • Termisk kraftteknik och PTO för kommunal ekonomi. Energirevision av lokaler, temperaturkontroll av kvaliteten på verktyg, justering av termiska regimer i pannrum.
  • Industriföretag. Övervakning av temperaturen på delar under svetsning, inom metallurgi, inställning av temperaturförhållanden vid tillverkning av byggmaterial och plastprodukter, bestämning av temperaturen på formar i glas- och konfektyrindustrin.
  • Livsmedelsindustrin. Temperaturövervakning av tekniska processer för bryggning, rökning, bakning, jästtillverkning, maltproduktion m.m.

Leveranssats av termometer TK-5.01P:

  • termometer TK-5.11
  • bruksanvisning och pass
  • verifieringscertifikat
  • väska

*Specifikationer och leveransomfattning för temperaturkontrollenheter kan ändras av tillverkaren utan föregående meddelande.

Ytterligare information om termometrar kan erhållas genom att kontakta våra specialister på angivna nummer sektion" kontakter".

Vi levererar temperaturmätningsenheter i hela Ryssland av budtjänster och transportföretag.

I konstruktion möter vi ständigt temperaturmätning: temperaturen måste kontrolleras under bränning av klinker i cementproduktionsprocessen, efterlevnad av temperaturförhållanden är viktigt vid ångning av betong och monolitisk betong, utan att tillhandahålla termisk kontroll är det omöjligt att förbereda asfalten ordentligt betongblandning, när man testar betong för frostbeständighet är det också viktigt att tåla temperaturregimen. För att lösa vart och ett av dessa problem behövs olika termometrar: för olika temperaturintervall, med olika sensorer (omgivningstemperatur, yttemperatur), en enkanalstermometer, en tvåkanalstermometer, en flerkanalstermometer, med och utan registrering läge.

Alla konstruktionsuppgifter relaterade till termisk styrning kan lösas med hjälp av Interpribor-enheter. Detta är möjligt på grund av det stora utbudet av sensorer som är anslutna till enheterna. Inkluderandet av en eller annan sensor i förpackningen av den termiska kontrollanordningen gör det möjligt för köparen att köpa en enhet utformad för specifika ändamål.

Typer av temperatursensorer

Bland sensorerna för temperaturkontrollenheter är:

  • En serie yttemperaturgivare: TZ-P och TZ-PO. TZ-P-sensorn är designad för att mäta temperaturen på krökta ytor. Det kännetecknas av hög hastighet på grund av exekveringen på XK-termoelementet med ett relativt fel på ±2,0%. Utformningen av TZ-PO-sensorn ger en noggrannhet på ±0,5% (i temperaturområdet -50 ... +100 C) vid mätning av yttemperaturen på kroppar med relativt låg värmeledningsförmåga (glas, betong, etc.) . TZ-PO är tillverkad på basis av ett Pt1000 platinaelement med låg tröghet.
  • Medeltemperaturgivare har också flera versioner: TZ-S, DTS-1.0 och DTS-1.4. TZ-S-sensorn är gjord på ett XK-termoelement, dess utmärkande egenskap är ökad hastighet och ett brett spektrum av uppmätta temperaturer med en mätnoggrannhet på ±1,0 %. DTS-1.0 och 1.4 givare är digitala temperaturgivare med ökad mätnoggrannhet på ±0,5 % i ett smalt temperaturområde på -10 ... +85 C och ett område på -55 ... +125 C med en noggrannhet på ± 2,0 %. DTS-1.4-sensorn kännetecknas av högre prestanda på grund av designegenskaperna.

Jag bestämde mig för att göra en tvåkanals termometer, men inte en vanlig, utan med en trådlös utomhussensor. Tanken är verkligen inte ny, det finns redan liknande industritermometrar på marknaden. Eftersom jag hade erfarenhet av att ansluta radiomoduler till mikrokontrollern började jag utveckla min egen version av en trådlös termometer.

För att mäta temperatur använde jag vanliga DS18B20-sensorer, och jag använde inte mindre populärt för att visa avläsningar. Jag övervägde radiomoduler och dataöverföringsalgoritmen tidigare i en artikel om

Nedan är ett diagram över en trådlös sensor på PIC12F675 mikrokontroller.

Efter att strömmen har lagts på läser mikrokontrollern temperaturvärdet från BK1-sensorn och skickar dessa data till A1-radiosändaren, varefter den går in i viloläge. Mikrokontrollern väcks av ett avbrott, som genereras av en nivåändring på GP0-linjen. En RC-kedja är ansluten till denna linje på elementen R2 och C4, som utför funktionen av en timer. När viloläget lämnas, sätts GP0-ledningen till en låg logisk nivå, varvid kondensatorn C4 laddas ur. Innan du går i viloläge är linjen avstämd till ingången, kondensatorn börjar laddas genom motståndet R4, när tröskelspänningen (cirka 1,2V) nås, avbryts mikrokontrollern och väcks. Med betygen R2, C4 som anges i diagrammet är uppvakningsperioden cirka 5 minuter. Genom att ställa in bygel JP1 kan perioden minskas till 5,5 sekunder. Genom att välja en kondensator och resistor kan du ställa in önskad periodtid, men du måste ta hänsyn till kondensatorns laddningsström när det gäller strömförbrukning.

Temperaturvärdet sänds över luften som ett paket på 3 byte, den sista byten är kontrollsumman av de första 2 byten. Dataöverföringsalgoritmen som jag använder låter dig i princip klara dig utan en kontrollsumma, sannolikheten för att få felaktig data är låg. Överföringshastigheten är 3,3 Kbps. Varje gång efter temperaturmätningen skickas 3 paket byte, pausen mellan paketen är 10 ms, jag använde detta överföringsalternativ för att öka tillförlitligheten för att ta emot data av mottagaren. Detta beror på att den mottagande sidan avbryter signalmottagningen i 4-5 ms samtidigt som temperaturen mäts från den interna (hem)sensorn.

Ett 6F22 9V batteri ("Krona") används som strömförsörjning, A1 radiosändarmodulen drivs direkt från batteriet. För att driva mikrokontrollern används en mikroeffektspänningsregulator DA1 (MCP1702) på 5V, regulatorns egen förbrukningsström är endast 1-2 μA, den maximala belastningsströmmen är upp till 250 mA. MCP1702-stabilisatorn kan ersättas av LP2950, ​​som förbrukar en högre ström på 75 µA. Konventionella spänningsstabilisatorer som L78xx har en hög strömförbrukning på flera milliampere, så de är inte lämpliga för batteridriven utrustning. Strömförbrukningen för enheten i viloläge ändras med tiden när kondensatorn C4 laddas, de första 2,5 minuterna är förbrukningen 10 μA, de följande 2,5 minuterna ökar strömmen gradvis tills det ögonblick som viloläget avslutas. Detta fenomen uppstår på grund av närvaron av omkopplingsströmmar i ingångsbufferten på mikrokontrollern.

Jag vill notera att vid låga temperaturer minskar batterikapaciteten snabbare, inte alla typer av batterier kan användas under sådana förhållanden. Litiumbatterier har bäst prestanda vid negativa temperaturer, följt av Ni-Mh-batterier, alkaliska batterier tar den tredje positionen, saltceller är inte lämpliga för sådana förhållanden.

Nedan är ett diagram över en termometer på en PIC16F628A mikrokontroller.


HG1-displayen, BK1-sensorn och mikrokontrollern drivs av en spänning på 3,3V från DA2-stabilisatorn. Detta värde valdes på grund av displayens egenskaper, vars maximala matningsspänning är 3,3V, dessutom finns det inget behov av att matcha spänningsnivåerna mellan ingångs-/utgångslinjerna på displayen och mikrokontrollern. Mottagarmodulen A1 drivs av DA1-stabilisatorn, med en utspänning på 5V. Motstånd R6, R7 är installerade för att matcha spänningsnivåerna.

DD1-mikrokontrollern läser av temperaturvärdet från BK1-sensorn varannan sekund, tar samtidigt emot en signal från mottagaren, när ett bytepaket tas emot från sändaren blinkar HL1-LED:n. I den övre delen av displayen visas inskriptionen "Home", under vilken temperaturvärdet från den interna (hem)sensorn visas, under inskriptionen "Outdoor" och temperaturen som tas emot från den trådlösa sensorn visas. Efter att ha tagit emot data via luften startar mikrokontrollern en timer som räknar ner tiden för att styra mottagningen av data. Om ingen data har mottagits inom timerns nedräkningsperiod, kommer streck “- – – – -” att visas på displayen istället för temperaturavläsningar. Nedräkningstiden kan ställas in inom 1-15 minuter i steg om en minut. För att göra detta, innan du programmerar mikrokontrollern, måste du skriva ett nummer från 1 till 15 i EEPROM-cellen med adressen 0x00. Som standard är perioden inställd på 7 minuter. Om BK1-sensorerna misslyckas, för båda enheterna, i stället för värdet på motsvarande temperatur, visas inskriptionen "ERROR". SB1-knappen styr skärmens bakgrundsbelysning, bakgrundsbelysningen är på som standard. SB2-knappen är utformad för att justera displayens kontrast, eftersom den kan skilja sig åt för olika tillfällen.

För att driva enheten är en ostabiliserad strömförsörjning med en utspänning på 8-12V lämplig. Båda enheterna är inrymda i plastfodral. Antennen för radiomoduler är gjord i form av ett stycke enkelkärnig tråd 17 cm lång (en fjärdedel av våglängden på bärfrekvensen).





Liknande inlägg