Kipimajoto hakiji kidogo kwenye Attiny2313. Thermometer haiwezi kuwa ndogo kwenye Attiny2313 Maelezo ya uendeshaji wa mzunguko wa thermometer

nyumbani / Zamani

Kuna michoro mingi ya kipimajoto cha AVR kwenye Mtandao, lakini kama kawaida, unataka kitu chako mwenyewe... Na unapaswa pia kunyoosha akili zako. Kipimajoto hiki kilikuwa mojawapo ya miradi yangu ya kwanza.

Nilichotaka:

  • saizi za chini (ndani ya mipaka inayofaa)
  • gharama ya chini
  • unyenyekevu wa kubuni
  • kurudiwa kwa juu
  • matumizi mengi (zaidi juu ya hilo baadaye)

Nini kimetokea:

Baada ya kuangalia miundo sawa na kuvuta maelezo ya tinny ambayo ilikuwa karibu (ATtiny2313), nilifikia hitimisho kwamba inawezekana kwa kiasi fulani kurahisisha miundo iliyopo na kuboresha kidogo sifa zao.

Mchoro unaonyesha chaguo la pili la kugeuka sensor ya joto ikiwa haitaki kufanya kazi kupitia basi ya waya moja (ambayo ni nadra sana). Tafadhali kumbuka kuwa kipingamizi cha kuvuta juu kwenye pini 11 lazima iwe 4.7 kOhm haswa. Kupungua au kuongezeka kunaweza kusababisha utendakazi usio thabiti wa kitambuzi ikiwa imewashwa katika mzunguko wa waya moja.

Kama unaweza kuona, mzunguko huu hutofautiana na zile zinazofanana kwa kukosekana kwa transistors za kudhibiti sehemu. Kwa hivyo, mzunguko umerahisishwa na transistors 4 na resistors 4, ikilinganishwa na nyaya zinazofanana. Hapa wengine watasema: "hii haiwezekani - kuna mzigo mkubwa kwenye bandari !!!" Tunasoma kwenye kidhibiti hiki " DC Ya Sasa kwa I/O Pin - 40.0 mA". Tuna sehemu 8 katika kila ishara, 5 mA kila moja - inageuka 40 mA !!!.

Sasa hebu tuangalie grafu kutoka kwa maelezo sawa:

Ni wazi kutoka kwa grafu kwamba sasa inaweza kufikia 60 mA na hata 80 mA kwa pini. Kweli, tusichukuliwe - 5 mA kwa kila sehemu (40 mA kwa ishara) inatosha kwetu! Vipimo vya kuzuia huchaguliwa ili kuzalisha sasa ya takriban 5 mA kwa kila sehemu. Katika mzunguko wangu kuna 470 Ohms. Mwangaza wa sehemu ni bora !!! Kwa hivyo, nilichukuliwa na nadharia.

Fanya mazoezi!!!

Nilichora ubao wa mzunguko uliochapishwa kulingana na mawazo yao “kama ndogo iwezekanavyo, lakini rahisi iwezekanavyo.” Kwa hivyo, iliibuka na wanarukaji kadhaa ...

Katika picha kuna mahali pa quartz - hii ni kwa ustadi mdogo - nilikuwa na vipande kadhaa vya AT90S2313 ambavyo hazina oscillator ya ndani. CRANK inatumika katika makazi ya SOT-89. Diode za kinga za zener BZX79-C5V1 katika makazi ya DO-35. Capacitors katika chujio cha nguvu ni 10mkF * 16V tantalum (hakuna wengine waliopatikana), ukubwa wa 3528 (SMD-B). Kawaida sizisakinishi, lakini badala yake - 1mkF * 50V ukubwa wa 1206. Hakuna glitches zinazohusiana na nguvu zilizoonekana.

bodi tupu iliyotengenezwa na "chuma cha laser"

bodi iliyokusanyika: mtazamo kutoka upande wa makondakta (kiimarishaji hakipo)

tazama kutoka upande wa vitu (kiashiria hakijatiwa muhuri)

Mradi huo ulikusanyika vipande vipande, baadhi kutoka kwa miradi iliyopangwa tayari kutoka kwenye mtandao, baadhi ya aliongeza na mimi ... Wazo la awali lilikuwa maonyesho ya nguvu. Shida ilikuwa kwamba wakati wa kuwasiliana na sensor ya joto ya DS18B20, wakati ulitokea wakati "skanning" ya dalili ilisimama. Kwa hiyo, sasisho la kiashiria lilifanyika si kwa usumbufu, lakini katika kitanzi cha programu kuu, na pia iliingizwa hapa na pale katika utaratibu wa kuwasiliana na sensor ... Faida ya njia hii ilikuwa mzunguko wa juu wa sasisho, ambao uliondoa tatizo la kupepesuka.

Karibu nilisahau - fuses kwa operesheni ya kawaida ya thermometer:

Kwa hiyo, tuliwaka, tukawasha... Hmm... inafanya kazi!!!

Kwa hivyo, kama tunavyoona, tulipata kifaa rahisi (ni rahisi kiasi gani ???), ambacho kwa ukubwa hauzidi saizi ya kiashiria. Kwa kuongezea, usahihi pia ni wa juu: kulingana na maelezo ya kihisi, "± 0.5 ° C usahihi kutoka -10 ° C hadi +85 ° C." Kama mazoezi yameonyesha, usahihi ni wa juu zaidi - karibu ± 0.1°C. Niliangalia nakala 10 kwa kipimajoto cha maabara ambacho kilikuwa kimepitisha udhibiti wa metrolojia...

Kwenye soko la redio, nilitazama redio yenye tarakimu tatu yenye sehemu saba. Nilinunua kidhibiti kidogo cha Attiny2313 kwenye kifurushi cha SOIC, DS18B20, kidhibiti cha SMD na capacitor ya SMD. Nilichora bodi ya mzunguko iliyochapishwa, nikachora mzunguko kulingana na bodi ya mzunguko iliyochapishwa, niliandika programu, nikaipakia kwa MK na:

Na hii ndio ilifanyika:

Filamu ya tint imefungwa kwa kiashiria (haikuwezekana kupiga kiashiria vizuri bila hiyo).

Saizi pia inaweza kuhukumiwa na kiashiria kinachotumiwa:

Mpango:

Maneno machache kuhusu mchoro na mpango. Mshikamano haukuja bila dhabihu. Hakuna upinzani wa sasa wa kikwazo katika mzunguko, ambayo si nzuri kabisa. Ili kuongeza uwezo wa mzigo, cathodes ya kiashiria huunganishwa na vituo viwili vya MK mara moja.
Hakuna kitu cha asili katika programu. Kiolezo kimetayarishwa kwa kutumia mchawi kutoka CVAVR, sehemu zingine zote huchukuliwa kutoka kwa saa yangu ya kipima joto. Nilitumia maktaba ya DS18B20 iliyosahihishwa, au tuseme ni jumla ya maktaba mbili kutoka CVAVR kwa DS1820/DS18S20 na DS18B20, i.e. Yoyote ya sensorer hapo juu inaweza kutumika katika thermometer. Kwa usahihi, hakuna sensorer zaidi ya 4 katika mchanganyiko wowote.
Fuse: MK imesanidiwa kufanya kazi kutoka kwa oscillator ya ndani ya RC katika 4 MHz. CKSEL = 0010, SUT = 10, wengine wote = 1.

Matokeo:
Sina hakika kuwa toleo langu la kipimajoto kwa kutumia kiashiria cha sehemu saba ndilo dogo zaidi.

Mafaili:

- Bodi ya mzunguko iliyochapishwa katika umbizo la SL 5.0.

Huna ufikiaji wa kupakua faili kutoka kwa seva yetu - Firmware ya MK.

Huna ufikiaji wa kupakua faili kutoka kwa seva yetu - Vyanzo vya firmware.

Huna ufikiaji wa kupakua faili kutoka kwa seva yetu - Mradi wa Proteus.

Katika makala hii tutapitia thermometer ya digital, kujengwa juu kidhibiti kidogo cha Attiny2313, vifaa sensor ya mbali ya dijiti DS18B20. Kiwango cha kipimo cha joto ni kutoka -55 hadi +125 digrii Celsius, hatua ya kipimo cha joto ni digrii 0.1. Mzunguko ni rahisi sana, una kiwango cha chini cha sehemu na unaweza kukusanyika kwa urahisi na mikono yako mwenyewe.

Maelezo ya uendeshaji wa mzunguko wa thermometer

Kipimajoto cha kielektroniki cha kujitengenezea nyumbani na kihisi cha mbali kujengwa juu ya kila kitu kinachojulikana. Seti ndogo ya DS18B20 kutoka Dallas hufanya kama kihisi joto. Hadi sensorer 8 za dijiti zinaweza kutumika katika mzunguko wa kipimajoto. Kidhibiti kidogo huwasiliana na DS18B20 kupitia itifaki ya 1Wire.

Kwanza, sensorer zote zilizounganishwa hutafutwa na kuanzishwa, basi hali ya joto inasomwa kutoka kwao na kisha kuonyeshwa kwenye kiashiria cha tarakimu tatu cha sehemu saba HL1. Kiashiria kinaweza kutumika na cathode ya kawaida (CC) na anode ya kawaida (CA). Kiashiria sawa pia kilitumiwa. Kila kiashiria kina firmware yake mwenyewe. Unaweza kupima halijoto nyumbani na nje; ili kufanya hivyo, unahitaji kuchukua DS18B20 nje ya dirisha.

Kwa Attiny2313 unahitaji kuweka fuse kama ifuatavyo (kwa programu

Mara moja ninakataa wajibu wote kwa muda, pesa, maelezo, nk. uliyotumia ... Ikiwa kitu hakifanyi kazi kwako, basi lawama kwa mikono yako iliyopotoka ....

Hivi majuzi nilikuwa nikitengeneza kompyuta yenye ubaridi kabisa. Ili kufuatilia kwa urahisi joto la processor, ilikuwa ni lazima kukusanya thermometer haraka. Kila aina ya programu kama "Everest", "Aida", na zingine hazikufaa kwa sababu moja rahisi: nilitaka kudhibiti hali ya joto hata wakati mfuatiliaji ulizimwa. Au hata kwa kufuatilia kuzima kabisa. Iliamuliwa kukusanya thermometer kulingana na sensor ya dijiti ya DS18B20, kidhibiti cha bei nafuu cha AVR, na kiashiria cha sehemu saba. Mwanzoni nilitaka kurudia mzunguko wa thermometer kulingana na moja ya chaguzi zilizopendekezwa kwenye mtandao. Lakini baada ya kuchanganua michoro iliyowekwa kwenye Mtandao, nilifikia mkataa kwamba ningelazimika kuvumbua “baiskeli” yangu mwenyewe.

Miundo iliyowasilishwa kwenye mtandao ilikuwa na shida kadhaa, ambazo ni:
* kasi ya chini ya onyesho la nguvu (50 ... 100 hertz), kwa sababu ambayo inakuwa ngumu kutazama kiashiria; ukiiangalia haraka, inaonekana kwamba nambari "zinasonga";
* sio miundo yote iliyopima vya kutosha kiwango chote cha joto (kutoka -55 hadi +125), kwa mfano, kulikuwa na miundo ambayo haikupima joto chini ya digrii sifuri, au kipimo cha joto kisichozidi digrii 100;
* hakukuwa na hundi ya hundi (CRC);
* pini za kawaida za makundi ziliunganishwa kwenye mguu mmoja wa microcontroller bila transistors muhimu, KUPIKIA MABATI YA MICROCONTROLLER.

Ikiwa bandari za MK zimejaa, mwangaza wa kiashiria unaweza kupungua, na miguu ya microcontroller inaweza pia kuchoma. Miaka michache iliyopita nilikusanya kipimajoto kwa kutumia ATtiny2313+DS18B20 kwa kutumia mchoro kutoka kwenye mtandao. Mzunguko haukuwa na transistors muhimu. Kwa joto la digrii 18, nambari "1" iliwaka sana, na nambari "8" iliwaka kwa kiasi kikubwa, natumaini kila mtu anaelewa kwa nini kila kitu kinatokea kwa njia hii. Kwa hivyo, nilijiahidi kutopakia miguu ya MK katika siku zijazo. Kwa njia, hapa kuna picha ya kipimajoto hicho, kilichokusanywa kulingana na mchoro kutoka kwa mtandao; nadhani haiitaji maoni yoyote:

Nilitaka pia kufanya maboresho machache:
* onyesha alama ya digrii kwenye kiashiria (fungu la kumi la digrii haikuwa muhimu sana kwangu);
* Saa kidhibiti kidogo kutoka kwa quartz ya nje, kwa kuwa itifaki ya "1-Waya" ambayo sensor hutumia ni muhimu kwa uundaji wa vipindi vya wakati (nafasi za wakati), kwa hivyo sikutaka kuombea uthabiti wa saa iliyojengwa. jenereta;
* anzisha hundi ya hundi kwenye programu, ikiwa checksum hailingani, onyesha kwenye kiashiria: "Crc";
* ongeza diode kwenye mzunguko (ili kulinda mzunguko kutoka kwa kugeuza nguvu);
* wakati nguvu inatumiwa, sehemu zote zinaangazwa kwa sekunde 1 (kinachojulikana mtihani wa sehemu);
* tekeleza uthibitishaji wa ukaguzi wa DS18B20.

Niliandika mradi huo katika mazingira ya AVR Studio 5, nikapata kazi za kufanya kazi na sensor mahali fulani kwenye mtandao, na kuandika upya iliyobaki kwa njia yangu mwenyewe, nikitoa maoni mengi juu ya msimbo wa chanzo. Mwishoni mwa makala kuna kiungo cha kupakua firmware na msimbo wa chanzo.

Nilitumia kiashiria cha sehemu saba kwa maeneo 3 yanayojulikana, sehemu zilizo na anode ya kawaida. Pia kwenye kumbukumbu (mwishoni mwa kifungu) kuna firmwares kwa kiashiria na cathode ya kawaida. Niliunganisha vituo vya kawaida vya makundi kwenye vituo viwili vya MK, vilivyounganishwa kwa sambamba. Kwa hivyo, kila pini ya kawaida ya kiashiria cha sehemu hutumia pini 2 za MK ili kuongeza uwezo wa mzigo wa pini.

Nilitumia kidhibiti kidogo cha ATtiny2313A (unaweza pia kutumia ATtiny2313 au ATtiny2313L), kwa kutumia karibu miguu yote ya bure (isipokuwa pini ya kuweka upya). Ikiwa unakusanya thermometer kwenye ATmega8, unaweza kuunganisha miguu 3 au 4 kwa sambamba ili kuongeza uwezo wa mzigo wa bandari.

Mchoro wa kifaa:

Ninaambatisha picha za kipimajoto kilichokusanyika. Hakuna kesi bado, kwani thermometer itajengwa kwenye kesi ya PC.

Dalili.
Sensor ya halijoto haijaunganishwa, au kuna mzunguko mfupi kwenye mstari wa data:

Hitilafu ya Checksum (CRC):

Sensor ya halijoto imeunganishwa, halijoto kutoka -55 hadi -10 digrii:

Sensor ya halijoto imeunganishwa, halijoto kutoka digrii -9 hadi -1:

Sensor ya halijoto imeunganishwa, halijoto kutoka digrii 0 hadi 9:

Sensor ya halijoto imeunganishwa, halijoto kutoka digrii 10 hadi 99:

Sensor ya halijoto imeunganishwa, halijoto kutoka digrii 100 hadi 125:

Mzunguko wa kuonyesha nguvu ni kilohertz kadhaa, hivyo flickering haionekani kwa jicho hata kwa mtazamo wa haraka wa kiashiria.
Kwa wale ambao wanataka kurudia muundo, nilikusanya firmware kadhaa kwa quartz tofauti: 4 MHz, 8 MHz, 10 MHz, 12 MHz, 16 MHz.
Pia nilifanya firmware kwa viashiria na anode ya kawaida (OA) na cathode ya kawaida (OC). Firmware yote iko kwenye kumbukumbu (tazama hapa chini).

UPD
Ilisasisha firmware. Marekebisho madogo, mazuri madogo. Ya kuu ni aina za data za stdint, usanidi rahisi wa miguu kwa sehemu. Mabadiliko yote yameelezwa kwenye kichwa cha chanzo.

Kuna michoro mingi ya kipimajoto cha AVR kwenye Mtandao, lakini kama kawaida, unataka kitu chako mwenyewe... Na unapaswa pia kunyoosha akili zako. Kipimajoto hiki kilikuwa mojawapo ya miradi yangu ya kwanza.

Nilichotaka:

  • saizi za chini (ndani ya mipaka inayofaa)
  • gharama ya chini
  • unyenyekevu wa kubuni
  • kurudiwa kwa juu
  • matumizi mengi (zaidi juu ya hilo baadaye)

Nini kimetokea:

Baada ya kuangalia miundo sawa na kuvuta maelezo ya tinny ambayo ilikuwa karibu (ATtiny2313), nilifikia hitimisho kwamba inawezekana kwa kiasi fulani kurahisisha miundo iliyopo na kuboresha kidogo sifa zao.

Mchoro unaonyesha chaguo la pili la kugeuka sensor ya joto ikiwa haitaki kufanya kazi kupitia basi ya waya moja (ambayo ni nadra sana). Tafadhali kumbuka kuwa kipingamizi cha kuvuta juu kwenye pini 11 lazima iwe 4.7 kOhm haswa. Kupungua au kuongezeka kunaweza kusababisha utendakazi usio thabiti wa kitambuzi ikiwa imewashwa katika mzunguko wa waya moja.

Kama unaweza kuona, mzunguko huu hutofautiana na zile zinazofanana kwa kukosekana kwa transistors za kudhibiti sehemu. Kwa hivyo, mzunguko umerahisishwa na transistors 4 na resistors 4, ikilinganishwa na nyaya zinazofanana. Hapa wengine watasema: "hii haiwezekani - kuna mzigo mwingi kwenye bandari !!!". Soma kwenye kidhibiti hiki " DC Ya Sasa kwa I/O Pin - 40.0 mA". Tuna makundi 8 katika kila ishara, 5 mA kila - inageuka 40 mA !!!.

Sasa hebu tuangalie grafu kutoka kwa maelezo sawa:

Ni wazi kutoka kwa grafu kwamba sasa inaweza kufikia 60 mA na hata 80 mA kwa pini. Kweli, tusichukuliwe - 5 mA kwa kila sehemu (40 mA kwa ishara) inatosha kwetu! Vipimo vya kuzuia huchaguliwa ili kuzalisha sasa ya takriban 5 mA kwa kila sehemu. Katika mzunguko wangu kuna 470 Ohms. Mwangaza wa sehemu ni bora !!! Kwa hivyo, nilichukuliwa na nadharia.

Fanya mazoezi!!!

Nilichora ubao wa mzunguko uliochapishwa kulingana na mawazo yao “kama ndogo iwezekanavyo, lakini rahisi iwezekanavyo.” Ndio maana iliibuka kuwa na warukaji kadhaa ...

Katika picha kuna mahali pa quartz - hii ni kwa ustadi mdogo - nilikuwa na vipande kadhaa vya AT90S2313 ambavyo hazina oscillator ya ndani. CRANK inatumika katika makazi ya SOT-89. Diode za kinga za zener BZX79-C5V1 katika makazi ya DO-35. Capacitors katika chujio cha nguvu ni 10mkF * 16V tantalum (hakuna wengine waliopatikana), ukubwa wa 3528 (SMD-B). Kawaida sizisakinishi, lakini badala yake - 1mkF * 50V ukubwa wa 1206. Hakuna glitches zinazohusiana na nguvu zilizoonekana.

bodi tupu iliyotengenezwa na "chuma cha laser"

bodi iliyokusanyika: mtazamo kutoka upande wa makondakta (kiimarishaji hakipo)

tazama kutoka upande wa vitu (kiashiria hakijatiwa muhuri)

Mradi huo ulikusanyika vipande vipande, baadhi kutoka kwa miradi iliyopangwa tayari kutoka kwenye mtandao, baadhi ya aliongeza na mimi ... Wazo la awali lilikuwa maonyesho ya nguvu. Shida ilikuwa kwamba wakati wa kuwasiliana na sensor ya joto ya DS18B20, wakati ulitokea wakati "skanning" ya dalili ilisimama. Kwa hiyo, sasisho la kiashiria lilifanyika si kwa usumbufu, lakini katika kitanzi cha programu kuu, na pia iliingizwa hapa na pale katika utaratibu wa kuwasiliana na sensor ... Faida ya njia hii ilikuwa mzunguko wa juu wa sasisho, ambao uliondoa tatizo la kupepesuka.

Karibu nilisahau - fuses kwa operesheni ya kawaida ya thermometer:

Kwa hiyo, tuliwaka, tukawasha... Hmm... inafanya kazi!!!

Kwa hivyo, kama tunavyoona, tulipata kifaa rahisi (ni rahisi kiasi gani ???), ambacho kwa ukubwa hauzidi saizi ya kiashiria. Kwa kuongeza, usahihi pia ni wa juu: kwa mujibu wa maelezo ya sensor - "± 0.5 ° C usahihi kutoka -10 ° C hadi +85 ° C". Kama mazoezi yameonyesha, usahihi ni wa juu zaidi - karibu ± 0.1°C. Niliangalia nakala 10 kwa kipimajoto cha maabara ambacho kilikuwa kimepitisha udhibiti wa metrolojia...


26.04.2014
sPlan ni chombo rahisi cha kuchora nyaya za elektroniki. Ina interface rahisi na intuitive. Mpango huo ni pamoja na...

Programu rahisi sana ya kusoma pdf Foxit Reader
26.04.2014
Foxit Reader - Programu ngumu na ya haraka ya kusoma faili za PDF. Inaweza kutumika kama mbadala kwa kitazamaji maarufu cha PDF - Adobe Reader....


22.04.2014
Proteus VSM ni programu ya kiigaji kifaa cha udhibiti mdogo. Inaauni MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 na vichakataji vingine vya kawaida....


01.04.2014
Tovuti ya mradi, ambayo imekuwa katika hali ya baridi kwa muda mrefu, inaanza tena kufanya kazi kwa nguvu mpya, na nakala mpya na ...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM ni programu ya kiigaji kifaa cha udhibiti mdogo. Inaauni MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 na vichakataji vingine vya kawaida....

Splan 7.0.0.9 Rus + Portable + Viewer Final
26.04.2014
sPlan ni chombo rahisi cha kuchora nyaya za elektroniki. Ina interface rahisi na intuitive. Mpango huo ni pamoja na...

Kituo cha uuzaji cha dijiti cha DIY (ATmega8, C)
27.05.2012
Muundo: ATmega8, LM358, IRFZ44, 7805, daraja, vipinga 13, potentiometer moja, elektroliti 2, capacitors 4, sehemu saba za LED za tarakimu tatu...

© 2023 skudelnica.ru -- Upendo, usaliti, saikolojia, talaka, hisia, ugomvi