Jeffrey Cross
Jeffrey Cross

Tee viimane ehitamise seeria: andmegraafiku ehitamine

Meie neljandal nädalal, mis on tehtud seeria Make It Last Build, vaatame, kuidas muuta elektrooniline termomeeter andmehoidlasse, lisades salvestusmahtu. Tõenäoliselt soovite enne selle postituse jätkamist vaadata viimaseid uudiskirja taustandmeid.

Samuti, enne kui me unustame, jõuame meie esimese ehituse lõpuni. Loodetavasti olete jälginud ja olete oma projekti lõpetamiseks paigutanud enamiku. Sisenemise tähtaeg on 12:59 PDT 12. novembril 2010, nii et veenduge, et esitate oma projekti seni! Tuletame meelde, et te ei pea ostma midagi ega ehitama oma näidisprojekti abikõlblikuks - peate lihtsalt ehitama ükskõik millise patareidega töötava seadme ja koguma mingeid keskkonnateabe vorme. Vaadake ametlikke eeskirju selle kohta, milliseid eripärasid saate ja milliseid auhindu võid võita.

Lõpuks, kui teil on selle projekti kohta küsimusi või ideid selle kohta, mida soovite jagada, minge üle MAKE Foorumi teema ja heli välja. Nüüd, et ehitada meie andmete logija!

Data logger skemaatiline

Siin on andmete logija skeem. Et seda mõnevõrra lihtsamini mõista, olen murdnud selle viieks osaks - mikrokontrolleriks (komponendid, mis on vajalikud mikrokontrolleri käivitamiseks), programmeerija (PIC-programmeerija ühendamiseks kasutatav port), andur (meie näide , termomeeter), jadapordi (FTDI-kaabli ühendamiseks mõeldud päis) ja andmesalvestus (EEPROM-i kiip ja sellega seotud osad). Circuit skeemid võivad olla segadust vaadata, nii et hea strateegia on proovida neid murda väiksemateks tükkideks. See võib olla kasulik ka tegelike vooluringide vaatamisel - kas te saate kindlaks teha, millised leibplaadi komponendid vastavad ülaltoodud jaotistele? Teie kontuuril peaks olema esimesed neli osa või kõik, välja arvatud andmete salvestamise osa.

Samm 0: koguge tarvikud

Osade nimekiri:

  • Lõpetatud termomeetri projekt
  • Microchip 24AA1025 EEPROM mälu
  • 2x10k takisti (100k on hea)
  • Lehtplaadi hüppeliistud
  • 2xAA aku hoidik ja patareid

1. samm: asetage EEPROM plaadile

Asetage EEPROM-kiip leivaplaadile mikrokontrolleri paremal. Pärast istumist ühendage toite- ja maandusjuhtmed eespool näidatud viisil. Pistik 8 peaks olema ühendatud vooluga ja Pin 5 maandusega.

2. samm: konfigureerige EEPROM-i hüppajajuhtmete abil

Seejärel peame lisama mõned juhtmed, et öelda EEPROMile, kuidas käituda. Kõigepealt peame konfigureerima seeria aadressi, millele kiip vastab. Kui mikrokontroller tahab mälust lugeda või kirjutada, peab see kõigepealt saatma kiibi aadressi i2c jadareale. Lisades välise viisi seadme konfigureerimiseks, andsid disainerid võimaluse ühendada ja kasutada mitmeid EEPROM-kiipe samal ajal, ilma et nad oleksid omavahel vastuolus. Meil on ainult üks kiip, nii konfigureerige see, et vastata aadressile 7, ühendades juhtmed EEPROM-i tihvtidest 1, 2 ja 3 võimsusega.

Järgmisena peame ütlema kiibile, et lubada nii kiibile lugeda kui ka kirjutada. Selleks käivitage traat WP-pin-st (EEPROM-i PIN-kood 7) maapinnale.

3. etapp: juhtige i2c-buss protsessori ja mälu vahele

EEPROM-kiip suhtleb mikrokontrolleriga i2c-seerianumbriga. Buss kasutab kahe juhtme (kella ja andmete) edastamiseks sõnumeid kahe seadme vahel. Ühendage kellajoon, ühendades mikrokontrolleri 14 EEPROM-tihvtiga 6 ja andmerea, ühendades mikrokontrolleri 15 tihvtiga EEPROM Pin 5-ga. Teine asi, mida peame tegema, on lisada mõlema liini tõmbetakistid võimu. Need on vajalikud, sest i2c-siinil olevad seadmed kasutavad avatud kollektori väljundeid, mis aitavad vältida probleeme, kui nii EEPROM kui ka mikrokontroller saadavad samaaegselt andmed läbi jadarea.

Märkus: Mõnel mikrokontrolleril on sisseehitatud tõmbetakistid, nii et te ei pea väliseid. Te vajate neid 18lf25k22 jaoks!

4. samm: ühendage jadaport

Nüüd peame lisama traadi, et võimaldada arvutil seeriaandmeid PIC-ile saata. Ühendage mikrokontrolleri pistik 18 jadapea 4 külge.

Märkus: Termomeetri projektis näitasin FTDI seeriakaabli ja PIC-i vahel valikulist takistit, sest kasutasin 5V-seeriamuundurit. Ma sain teada, kuidas muundurit oma 3.3V versiooniks teisendada, nii et ma eemaldasin selle ehituse takisti.

5. samm: ühendage patareid

Lõpuks ühendage aku! Lükake pakendi positiivne plii (punane) toiteliinile ja negatiivne plii (must) maapinnale. Sisse / välja lülitiga aku töötab kõige paremini, kuna soovite olla kindel, et see on programmeerimiskaabli kasutamise ajal lahti ühendatud.

6. samm: testige andmete logija

Kõik on riistvara muudatuste jaoks. Lõplik osa on muuta tarkvara, et kasutada EEPROM-i mälu logimise eesmärgil. Haara

seejärel kasutage MPLAB-i oma plaadile programmeerimiseks. Näidisprojekti puhul oleme rakendanud lihtsat seeriaprotokolli, et juhtida andmegraafikut. Käsud on:

  • m: Mõõtke temperatuur ja tagastage väärtus kohe
  • b: Alustage logimist
  • e: Lõpeta logimine
  • d: Dump logitud andmed
  • r: logeri lähtestamine.

Kõikide toimingute testimiseks tule oma seeriaprogramm välja (nagu eelmises näites) ja tippige täht „m”.

Praegune temperatuur on: 68

Kui see toimis, siis olete kõik valmis minema. Eemaldage PIC-programmeerija, lülitage aku sisse ja tippige logimise alustamiseks “b”. Siinkohal saate andmete logija FTDI kaablist lahti ühendada ja seada see mõneks ajaks temperatuuriandmete kogumiseks.Vaikimisi haarab see temperatuuri iga 10 sekundi järel, kuid seda saab muuta muutes 'logInterval' väärtust lähtekoodi.

Lase tal koguda andmeid mõneks ajaks (paar minutit või mõneks tunniks), seejärel ühendage see seeriakaabli külge, tippige terminali aknasse “e”, et andmete kogumine peatada, seejärel sisestage andmete saamiseks “d”. Te peaksite saama pika temperatuuri proovide loendi, mida saab graafiku koostamiseks tabelarvutusprogrammi lõigata ja kleepida. Siin on üks, mida ma võtsin, kus panin oma andmegraafiku külmikusse, seejärel veekeetja, seejärel tagasi sügavkülmikusse, enne kui ma jätsin oma lauale, kui teed teed:

Järeldus

Praeguseks kõik. Järgmisel nädalal teeme projekti energiatõhusaks, konfigureerides protsessori mõõtmiste sulgemiseks, töötamaks mõõtmiste täpsemaks muutmise nimel ja tehes lihtsa GUI, et kogutud andmeid kuvada töötlemise abil.

Osa

Jätnud Kommentaari