Attiny2313:n lämpömittari ei ole pienempi. Lämpömittari ei voi olla pienempi Attiny2313:ssa Lämpömittaripiirin toiminnan kuvaus

Koti / Entinen

Internetissä on paljon lämpömittarikaavioita AVR:lle, mutta kuten aina, haluat jotain omaa... Ja sinun pitäisi myös venyttää aivojasi. Tämä lämpömittari oli yksi ensimmäisistä projekteistani.

Mitä halusin:

  • vähimmäiskoot (kohtuullisissa rajoissa)
  • vähimmäiskustannukset
  • suunnittelun yksinkertaisuus
  • korkea toistettavuus
  • monipuolisuus (lisää myöhemmin)

Mitä tapahtui:

Tarkastellessani vastaavia malleja ja poltettuani kuvauksen käsillä olevasta tinasta (ATtiny2313), tulin siihen tulokseen, että olemassa olevia malleja on mahdollista yksinkertaistaa ja niiden ominaisuuksia hieman parantaa.

Kaaviossa näkyy toinen vaihtoehto lämpötila-anturin kytkemiseksi päälle, jos se ei halua toimia yksijohtimisväylän kautta (mikä on hyvin harvinaista). Huomaa, että nastan 11 vetovastuksen on oltava täsmälleen 4,7 kOhm. Pienentäminen tai lisääminen voi johtaa anturin epävakaaseen toimintaan, jos se kytketään päälle yksijohtimispiirissä.

Kuten näette, tämä piiri eroaa vastaavista, koska segmenttien ohjaamiseen ei ole transistoreita. Näin ollen piiriä on yksinkertaistettu 4 transistorilla ja 4 vastuksella verrattuna vastaaviin piireihin. Täällä jotkut sanovat: "Tämä ei ole mahdollista - satamissa on suuri kuorma!!!" Luemme tästä ohjaimesta " DC-virta per I/O-nasta - 40,0 mA". Jokaisessa symbolissa on 8 segmenttiä, kukin 5 mA - osoittautuu 40 mA!!!.

Katsotaanpa nyt kaavioita samasta kuvauksesta:

Kaavioista on selvää, että virta voi olla 60 mA ja jopa 80 mA nastaa kohti. No, älkäämme hurahduko - 5 mA segmenttiä kohden (40 mA per symboli) riittää meille! Rajoitusvastukset valitaan tuottamaan noin 5 mA virran segmenttiä kohden. Piirissäni on 470 ohmia. Segmenttien kirkkaus on erinomainen!!! Joten innostuin teoriasta.

Harjoitella!!!

Piirsin piirilevyn heidän näkemyksensä perusteella "mahdollisimman pienen, mutta mahdollisimman yksinkertaisen". Siksi se osoittautui useilla hyppääjillä...

Kuvassa on paikka kvartsille - tämä on vähän monipuolisuutta - minulla oli useita AT90S2313 kappaleita, joissa ei ole sisäistä oskillaattoria. KAMPIa käytetään SOT-89-kotelossa. Suojaavat zener-diodit BZX79-C5V1 DO-35-kotelossa. Tehosuodattimen kondensaattorit ovat 10mkF * 16V tantaali (muita ei löytynyt), koko 3528 (SMD-B). En yleensä asenna niitä, vaan sen sijaan - 1mkF * 50V koko 1206. Mitään tehoon liittyviä vikoja ei havaittu.

tyhjä lauta, jonka on valmistanut "laser iron"

koottu levy: näkymä johtimien sivulta (vakain puuttuu)

näkymä elementtien puolelta (ilmaisin ei sinetöity)

Projekti koottiin palasiksi, osa valmiista projekteista Internetistä, osa itse lisäämistä... Alkuperäinen idea oli dynaaminen näyttö. Ongelmana oli, että DS18B20 lämpötila-anturin kanssa kommunikoinnissa ilmaantui hetkiä, jolloin ilmaisun "skannaus" pysähtyi. Siksi ilmaisimen päivitystä ei tehty katkosten, vaan pääohjelmasilmukan kautta, ja se lisättiin sinne tänne myös anturin kanssa kommunikoinnissa... Tämän menetelmän etuna oli korkea päivitystaajuus, joka eliminoi vilkkuminen ongelma.

Melkein unohdin - sulakkeet lämpömittarin normaalia toimintaa varten:

Joten, me välähtimme sen, laitoimme sen päälle... Hmm... se toimii!!!

Joten, kuten näemme, saimme melko yksinkertaisen (kuinka paljon yksinkertaisemman???) laitteen, joka ei kooltaan ylitä indikaattorin kokoa. Lisäksi tarkkuus on myös korkea: anturin kuvauksen mukaan "±0,5°C tarkkuus -10°C - +85°C." Kuten käytäntö on osoittanut, tarkkuus on paljon suurempi - noin ±0,1 °C. Tarkastin 10 kopiota laboratoriolämpömittarilla, joka oli läpäissyt metrologisen tarkastuksen...

Radiomarkkinoilla katselin kolminumeroista seitsemänsegmentistä radiota. Ostin Attiny2313-mikro-ohjaimen SOIC-paketissa, DS18B20, SMD-vastuksen ja SMD-kondensaattorin. Piirsin piirilevyn, piirsin piirilevyn perusteella piirin, kirjoitin ohjelman, latasin sen MK:hen ja:

Ja näin tapahtui:

Indikaattoriin on liimattu sävykalvo (ilman sitä ei ollut mahdollista kuvata kunnolla indikaattoria).

Koko voidaan arvioida myös käytetyn indikaattorin perusteella:

Kaava:

Muutama sana kaaviosta ja ohjelmasta. Kompakti ei ole tullut ilman uhrauksia. Piirissä ei ole virtaa rajoittavia vastuksia, mikä ei ole täysin hyvä. Kuormituskapasiteetin lisäämiseksi osoitinkatodit on kytketty kahteen MK:n liittimeen kerralla.
Ohjelmassa ei ole mitään alkuperäistä. Malli on valmistettu CVAVR:n ohjatun toiminnon avulla, loput osat on otettu lämpömittarikellostani. Käytin korjattua DS18B20-kirjastoa, tai pikemminkin se on kahden CVAVR:n kirjaston summa DS1820/DS18S20:lle ja DS18B20:lle, ts. Mitä tahansa yllä olevista antureista voidaan käyttää lämpömittarissa. Tarkemmin sanottuna enintään 4 anturia missään yhdistelmässä.
Sulakkeet: MK on konfiguroitu toimimaan sisäisestä RC-oskillaattorista 4 MHz:llä. CKSEL = 0010, SUT = 10, kaikki muut = 1.

Tulos:
En ole varma, että minun versioni lämpömittarista, jossa on seitsemän segmentin osoitin, on pienin.

Tiedostot:

- Painettu piirilevy SL 5.0 -muodossa.

Sinulla ei ole pääsyä ladata tiedostoja palvelimeltamme - MK laiteohjelmisto.

Sinulla ei ole pääsyä ladata tiedostoja palvelimeltamme - Laiteohjelmistolähteet.

Sinulla ei ole pääsyä ladata tiedostoja palvelimeltamme - Proteuksen projekti.

Tässä artikkelissa tarkastelemme digitaalinen lämpömittari, rakennettu mikro-ohjain Attiny2313, varustettu digitaalinen etäanturi DS18B20. Lämpötilan mittausalue on -55 - +125 celsiusastetta, lämpötilan mittausvaihe on 0,1 astetta. Piiri on hyvin yksinkertainen, sisältää vähän osia ja se voidaan helposti koota omin käsin.

Kuvaus lämpömittarin piirin toiminnasta

Kotitekoinen elektroninen lämpömittari kauko-anturilla rakennettu kaiken tunnetun päälle. Dallasin DS18B20-mikropiiri toimii lämpötila-anturina. Jopa 8 digitaalista anturia voidaan käyttää lämpömittaripiirissä. Mikro-ohjain kommunikoi DS18B20:n kanssa 1Wire-protokollan kautta.

Ensin kaikki liitetyt anturit etsitään ja alustetaan, sitten niistä luetaan lämpötila ja sitten näytetään kolminumeroinen seitsemän segmentin ilmaisin HL1. Ilmaisinta voidaan käyttää sekä yhteisen katodin (CC) että yhteisanodin (CA) kanssa. Myös vastaavaa indikaattoria käytettiin. Jokaisella indikaattorilla on oma laiteohjelmistonsa. Voit mitata lämpötilaa sekä kotona että ulkona; tätä varten sinun on vietävä DS18B20 ikkunan ulkopuolelle.

Attiny2313:lle sinun on asetettava sulakkeet seuraavasti (ohjelmalle

Irtisanoudun välittömästi kaikesta vastuusta käyttämästäsi ajasta, rahoista, yksityiskohdista jne... Jos jokin ei toimi sinulle, niin syytä se vääristä käsistäsi.....

Äskettäin rakensin tietokonetta täysin passiivisella jäähdytyksellä. Prosessorin lämpötilan valvomiseksi kätevästi oli tarpeen koota nopeasti lämpömittari. Kaikenlaiset ohjelmat, kuten "Everest", "Aida" ja muut, eivät sopineet minulle yhdestä yksinkertaisesta syystä: halusin hallita lämpötilaa, vaikka näyttö oli sammutettu. Tai jopa näytön ollessa kokonaan pois päältä. Päätettiin koota lämpömittari, joka perustuu digitaaliseen DS18B20-anturiin, halpaan AVR-mikro-ohjaimeen ja seitsemän segmentin indikaattoriin. Aluksi halusin toistaa lämpömittarin piirin yhden Internetissä ehdotetun vaihtoehdon mukaan. Mutta analysoituani Internetissä julkaistuja kaavioita tulin siihen tulokseen, että minun on keksittävä oma "pyöräni".

Internetissä esitellyillä malleilla oli useita haittoja, nimittäin:
* dynaamisen näytön alhainen nopeus (50...100 hertsiä), minkä vuoksi ilmaisimen katsominen tulee epämukavaksi, jos vilkaise sitä nopeasti, näyttää siltä, ​​​​että numerot "liikkuvat";
* kaikki mallit eivät mitannut riittävästi koko lämpötila-aluetta (-55 - +125); oli esimerkiksi malleja, joissa ei mitattu alle nollan lämpötiloja tai väärin mitattuja yli 100 asteen lämpötiloja;
* tarkistussumman tarkistusta (CRC) ei ollut;
* segmenttien yhteiset nastat liitettiin mikro-ohjaimen yhteen jalkaan ilman avaintransistoreja, mikä YLIKUormitti MIKROOHJAINPORTIT.

Jos MK-portit ovat ylikuormitettuja, ilmaisimen kirkkaus voi heikentyä ja myös mikro-ohjaimen jalat voivat palaa. Muutama vuosi sitten kokosin lämpömittarin käyttämällä ATtiny2313+DS18B20:tä Internetistä saadun kaavion avulla. Piiri oli ilman avaintransistoreja. 18 asteen lämpötilassa numero "1" loisti kirkkaasti ja numero "8" hehkui huomattavasti himmeämmin, toivottavasti kaikki ymmärtävät miksi kaikki tapahtuu näin. Siksi lupasin itselleni olla ylikuormittamatta MK-jalkoja jatkossa. Muuten, tässä on kuva tuosta lämpömittarista, joka on koottu Internetistä saadun kaavion mukaan; mielestäni se ei vaadi kommentteja:

Halusin myös tehdä muutamia parannuksia:
* näytä asteen symboli osoittimessa (asteen kymmenesosat eivät olleet minulle niin tärkeitä);
* kellota mikro-ohjain ulkoisesta kvartsista, koska anturin käyttämä "1-Wire"-protokolla on kriittinen aikavälien (aikavälien) muodostumiselle, joten en halunnut rukoilla sisäänrakennetun kellon vakauden puolesta generaattori;
* ota ohjelmaan tarkistussumman tarkistus, jos tarkistussumma ei täsmää, näytä ilmaisimessa: "Crc";
* lisää diodi piiriin (suojatakseen piiriä virranvaihdolta);
* kun virta kytketään, kaikki segmentit valaistaan ​​1 sekunnin ajan (ns. segmenttitesti);
* Toteuta DS18B20-tarkistussumman tarkistus.

Kirjoitin projektin AVR Studio 5 -ympäristössä, löysin toiminnot anturin kanssa työskentelyyn jostain Internetistä ja loput kirjoitin uudelleen omalla tavallani, runsaalla lähdekoodia kommentoimalla. Artikkelin lopussa on linkki laiteohjelmiston ja lähdekoodin lataamiseen.

Käytin seitsemän segmentin ilmaisinta kolmelle tutulle paikalle, segmenteille, joissa on yhteinen anodi. Myös arkistossa (artikkelin lopussa) on laiteohjelmistot yhteisellä katodilla varustetulle indikaattorille. Yhdistin segmenttien yhteiset liittimet kahteen MK:n liittimeen, jotka on kytketty rinnan. Näin ollen jokainen segmenttiosoittimen yhteinen nasta käyttää 2 MK-nastaa lisäämään nastojen kuormituskykyä.

Käytin ATtiny2313A-mikro-ohjainta (voit myös käyttää ATtiny2313:ta tai ATtiny2313L:tä) käyttämällä lähes kaikkia vapaita jalkoja (paitsi nollausnasta). Jos kokoat lämpömittarin ATmega8:aan, voit liittää 3 tai 4 jalkaa rinnakkain porttien kuormituskyvyn lisäämiseksi.

Laitekaavio:

Liitän mukaan kuvia kootusta lämpömittarista. Koteloa ei vielä ole, koska lämpömittari rakennetaan PC-koteloon.

Osoitus.
Lämpötila-anturia ei ole kytketty tai datalinjassa on oikosulku:

Tarkistussummavirhe (CRC):

Lämpötila-anturi kytketty, lämpötila -55 - -10 astetta:

Lämpötila-anturi kytketty, lämpötila -9 - -1 astetta:

Lämpötila-anturi kytketty, lämpötila 0 - 9 astetta:

Lämpötila-anturi kytketty, lämpötila 10 - 99 astetta:

Lämpötila-anturi kytketty, lämpötila 100 - 125 astetta:

Dynaaminen näyttötaajuus on useita kilohertsejä, joten välkkymistä ei silmällä huomaa edes nopealla vilkaisulla ilmaisimeen.
Niille, jotka haluavat toistaa suunnittelun, olen koonnut useita laiteohjelmistoja eri kvartseille: 4 MHz, 8 MHz, 10 MHz, 12 MHz, 16 MHz.
Tein myös laiteohjelmiston indikaattoreille, joissa on yhteinen anodi (OA) ja yhteinen katodi (OC). Kaikki laiteohjelmistot ovat arkistossa (katso alla).

UPD
Päivitetty laiteohjelmisto. Pieniä korjauksia, pieniä korjauksia. Tärkeimmät ovat stdint-tietotyypit, joustavat jalkojen konfiguraatiot segmenteille. Kaikki muutokset on kuvattu lähdeotsikossa.

Internetissä on paljon lämpömittarikaavioita AVR:lle, mutta kuten aina, haluat jotain omaa... Ja sinun pitäisi myös venyttää aivojasi. Tämä lämpömittari oli yksi ensimmäisistä projekteistani.

Mitä halusin:

  • vähimmäiskoot (kohtuullisissa rajoissa)
  • vähimmäiskustannukset
  • suunnittelun yksinkertaisuus
  • korkea toistettavuus
  • monipuolisuus (lisää myöhemmin)

Mitä tapahtui:

Tarkastellessani vastaavia malleja ja poltettuani kuvauksen käsillä olevasta tinasta (ATtiny2313), tulin siihen tulokseen, että olemassa olevia malleja on mahdollista yksinkertaistaa ja niiden ominaisuuksia hieman parantaa.

Kaaviossa näkyy toinen vaihtoehto lämpötila-anturin kytkemiseksi päälle, jos se ei halua toimia yksijohtimisväylän kautta (mikä on hyvin harvinaista). Huomaa, että nastan 11 vetovastuksen on oltava täsmälleen 4,7 kOhm. Pienentäminen tai lisääminen voi johtaa anturin epävakaaseen toimintaan, jos se kytketään päälle yksijohtimispiirissä.

Kuten näette, tämä piiri eroaa vastaavista, koska segmenttien ohjaamiseen ei ole transistoreita. Näin ollen piiriä on yksinkertaistettu 4 transistorilla ja 4 vastuksella verrattuna vastaaviin piireihin. Täällä jotkut sanovat: "Tämä ei ole mahdollista - satamissa on paljon kuormitusta!!!". Lue tästä ohjaimesta " DC-virta per I/O-nasta - 40,0 mA". Jokaisessa symbolissa on 8 segmenttiä, kukin 5 mA - osoittautuu 40 mA !!!.

Katsotaanpa nyt kaavioita samasta kuvauksesta:

Kaavioista on selvää, että virta voi olla 60 mA ja jopa 80 mA nastaa kohti. No, älkäämme hurahduko - 5 mA segmenttiä kohden (40 mA per symboli) riittää meille! Rajoitusvastukset valitaan tuottamaan noin 5 mA virran segmenttiä kohden. Piirissäni on 470 ohmia. Segmenttien kirkkaus on erinomainen!!! Joten innostuin teoriasta.

Harjoitella!!!

Piirsin piirilevyn heidän näkemyksensä perusteella "mahdollisimman pienen, mutta mahdollisimman yksinkertaisen". Siksi siinä osoittautui useita puseroita...

Kuvassa on paikka kvartsille - tämä on vähän monipuolisuutta - minulla oli useita AT90S2313 kappaleita, joissa ei ole sisäistä oskillaattoria. KAMPIa käytetään SOT-89-kotelossa. Suojaavat zener-diodit BZX79-C5V1 DO-35-kotelossa. Tehosuodattimen kondensaattorit ovat 10mkF * 16V tantaali (muita ei löytynyt), koko 3528 (SMD-B). En yleensä asenna niitä, vaan sen sijaan - 1mkF * 50V koko 1206. Mitään tehoon liittyviä vikoja ei havaittu.

tyhjä lauta, jonka on valmistanut "laser iron"

koottu levy: näkymä johtimien sivulta (vakain puuttuu)

näkymä elementtien puolelta (ilmaisin ei sinetöity)

Projekti koottiin palasiksi, osa valmiista projekteista Internetistä, osa itse lisäämistä... Alkuperäinen idea oli dynaaminen näyttö. Ongelmana oli, että DS18B20 lämpötila-anturin kanssa kommunikoinnissa ilmaantui hetkiä, jolloin ilmaisun "skannaus" pysähtyi. Siksi ilmaisimen päivitystä ei tehty katkosten, vaan pääohjelmasilmukan kautta, ja se lisättiin sinne tänne myös anturin kanssa kommunikoinnissa... Tämän menetelmän etuna oli korkea päivitystaajuus, joka eliminoi vilkkuminen ongelma.

Melkein unohdin - sulakkeet lämpömittarin normaalia toimintaa varten:

Joten, me välähtimme sen, laitoimme sen päälle... Hmm... se toimii!!!

Joten, kuten näemme, saimme melko yksinkertaisen (kuinka paljon yksinkertaisemman???) laitteen, joka ei kooltaan ylitä indikaattorin kokoa. Lisäksi tarkkuus on myös korkea: anturin kuvauksen mukaan - "±0,5°C tarkkuus -10°C - +85°C". Kuten käytäntö on osoittanut, tarkkuus on paljon suurempi - noin ±0,1 °C. Tarkastin 10 kopiota laboratoriolämpömittarilla, joka oli läpäissyt metrologisen tarkastuksen...


26.04.2014
sPlan on kätevä työkalu elektronisten piirien piirtämiseen. Siinä on yksinkertainen ja intuitiivinen käyttöliittymä. Ohjelma sisältää...

Erittäin kätevä ohjelma pdf Foxit Readerin lukemiseen
26.04.2014
Foxit Reader - Kompakti ja nopea ohjelma PDF-tiedostojen lukemiseen. Voi toimia vaihtoehtona suositulle PDF-katseluohjelmalle - Adobe Readerille....


22.04.2014
Proteus VSM on mikro-ohjainlaitteen simulaattoriohjelma. Tukee MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 ja muita yleisiä prosessoreita....


01.04.2014
Pitkään jäässä ollut projektityömaa alkaa taas toimia uudella voimalla, uusilla artikkeleilla ja...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM on mikro-ohjainlaitteen simulaattoriohjelma. Tukee MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 ja muita yleisiä prosessoreita....

Splan 7.0.0.9 Rus + Portable + Viewer Final
26.04.2014
sPlan on kätevä työkalu elektronisten piirien piirtämiseen. Siinä on yksinkertainen ja intuitiivinen käyttöliittymä. Ohjelma sisältää...

DIY digitaalinen juotosasema (ATmega8, C)
27.05.2012
Koostumus: ATmega8, LM358, IRFZ44, 7805, silta, 13 vastusta, yksi potentiometri, 2 elektrolyyttiä, 4 kondensaattoria, kolminumeroinen LED seitsemän segmentin...

© 2023 skudelnica.ru -- Rakkaus, pettäminen, psykologia, avioero, tunteet, riidat