GBoard Pro arba Arduino Mega steroidų priėdusi

20 01 2014

Pradėsime nuo mįslės.

3a4kbxps

zuj4 (1)

mox4

Atmega2560, XBee, SD kortelė ir SIM900 GSM/GPRS? Ogi tai visas ITEAD GBoard Pro, arba kaip man pasirodė, tas pats Arduino Mega tik kad steroidu prišertas:

soi5

Taigi su kolega darbe prisigalvojome šiokių tokių pramogų su GSM ir teko spręsti ar eiti Giedriaus keliu gamintis GSM modulį, ar neatsispirti pagundai nusipirkti jau paruošta dirbti įrenginį? Nebūtų beja sudėtinga bei brangu pasigaminti tokį telefoną, mat kinai parduoda SIM900 modulius po 10 dolerių.. Tačiau pradėjus viska dėliotis, pradedant skirtingomis įtampomis mikrovaldikliui ir GSM’ui ir baigianta pačios PCB projektavimu bei gamyba.. Vienu žodžiu, vos radau šita įrenginį iškarto ėmiau jį. Dar yra ir silpnesnė versija be Pro, kuri turi Atmega328P viduje, bet ji man netinkama dėl pernelyg mažai likusių I/O.

Techninė dalis

Taigi bendroje sumoje :

Turime Atmega2560 mikrovaldiklį kuris savyje turi begales resursų bei tuo pačiu nemažai I/O:

Turime patogiai išdėstytus 16 vienetų analoginių įėjimų (kuriuos žinoma galime naudoti kaip kitokius įėjimus bei kaip išėjimus). Kiekvienas jų suporuotas su maitinimo įtampa davikliui pamaitinti tad prijungti eilę daviklių bus ne problema. Šių įėjimų juostos gale atskirai išvesti I2c bei Serial1 elektrodai patogiam papildomos įrangos prijungimui.

Turime 29 skaitmeninius I/O Kažkokio ten LCD ekrano porte kurio man nereikės!

Turime SD kortelės lizdą, kuris prie Atmega jungiamas kaip tai daroma Ethernet skydelyje (t.y. naudojama standartinė SPI ir kaip ChipSelect naudojamas Digital4 elektrodas);

Turime nRF24L01+ interfeisą, kuris jungimas prie Atmega D7-D12 elektrodų.

Turime XBee lizdą visokiems ten belaidžiams ryšiams. Pastarasis bendrauja su Atmega per Serial3 kanalą;

Turime SIM900 GSM kuris prie Atmega pajungtas per Serial2 kanalą ir dar papildomai prijungti Power bei Reset valdymo signalai prie D46 ir D47 elektrodų. GSM modulis turi savo dedikuotą maitinimo grandinę kuris užtikrina 4,1V ir 2A peak.

Taip pat turime RTC laikrodį, kuris yra tame pačiame SIM900 modulyje.. Kas yra labai gerai 🙂

Programavimas

Kaip dauguma pigiausių Arduino klonų šis turi Arduino bootloader’į bei Serial kanalą programavimui. Kas nemėgsta šių dviejų dalykų gali juos mesti lauk ir programuoti Atmega2560 tiesiogiai per ISP. Bet man Serial patinka. Deja, bet TTL išėjimo lizdas šiame įrenginyje nestandartinio FTDI formato, o ir darbinė plokštės įtampa yra +3,3V. Taigi, kad nekiltu bėdų su programavimų į komplektą pripliusavome ir ITEAD gaminą FOSI adapterį. Tai FTDI adapteris su galimybe keiti darbinę įtampą bei papildomu XBee lizdu ant savęs. Viska sujungiame ir galime pradėti kažką nuveikti:

Pirmiausia žinoma užsiunčiame Blink programėlę – bliksi be problemų mat D13 kaip ir visuose Arduino prijungtas prie testinio LED.

Toliau SD kortelė. Kadangi sąsaja lygiai tokia pati kaip Ethernet skydelio tai ir naudotis galime standartine Arduino IDE biblioteka SD. Veikia iš pirmo karto.

hu8j

Toliau kelios bėdos su SIM900. Šiaip kadangi Atmega2560 turi kelias Serial sąsajas tai labai gerai kad su GSM moduliu bendraujame ne per SoftwareSerial. Šioje vietoje tenka bendrauti su modemu per Serial2 kanalą. Kiek pažaidęs su AT komandomis sugebėjau suvesti PIN kodą, paskambinti žmonai, dar ten visokių dalykėlių pakrapštyti, bet pagrindinė problema būtų šio įrenginio įjungimas. Startavus Arduino programai velnias žino kokios būsenos yra Modemas. Ar jis įjungtas, ar išjungtas velnias žino, o kuriant aplikacijas kur įrenginys bus paliktas ilgą laiką be priežiūros reikia galimybės kažkaip sekti ir tai, o reikalui esant įjungti ar perkrauti modemą per tam skirtus D46 bei D47 elektrodus. Tas valdymas labai paprastas, tiesiog vienai sekunde padarome reikiamą elektrodą HIGH ir problema išspręsta, tik reikia žinoti kada to reikia. Kadnagi gilinti į AT komandas nelabai noriu tai radau kas tai padarė už mane ir net gražią biblioteką parašė: http://www.gsmlib.org/. Bibioteka turi tiek modulio būsenos sekimą, tiek SMS bei skambinimo funkcijas, TCP per GPRS sąsają bei atskirai net pagalbinę email siuntimo funkciją (kuri kas be ko yra elementarus Telnet klientas prie SMTP serverio). Va ko jau ko bet nesitikėjau, kad biblioteka neturės galimybės įjungti ir perkrauti modulio pati. Dar labai pasigedau Pin kodo įvedimo operacijos, bet ką jau padarysi, visada galime patys nusiųsti norimą AT komandą papildomai.

Apibendrinimas

Taigi šito hardware didžiausias pliusas butų jo kaina – jis yra tris kartus pigesnis už oficialų Arduino Mega bei GSM skydelį kartu sudėjus. Turime tikrai neblogą funkcijų bei praplėtimo galimybių.

Minusas būtų vienas: 3,3V logika. Na taip, pagalvosite kas čia tokio? O bėda tame kad Atmega dirba 16MHz dažniu ir realiai gauna šiokį tokį mikrovaldiklio turbinimą. Kadangi SIM900 netinka nei 3,3V nei 5V, projektuotojai tikriausiai pasirinko 3,3V dėl suderinimo su SD kortele bei XBEE ir reikia tik tikėtis kad Atmega veiks gerai su +25% greičio padidinimu tokiai įtampai. Jaudintis manau dėl to neverta nes tokių pavyzdžių yra pilna.

Tiek tam kartui, vėliau gal iš šono pasigirsiu kaip tarnauja šitas steroidas.


Veiksmai

Information

8 responses

21 01 2014
Darau, Blė

Oho, koks simpatiškas divaisas. Aš tai turiu porą nRF24L01 moduliukų ir laukiu laisvesnio laiko pažaidimui su jais. Bet jie turėtų per normalią SPI sąsają galėt bendraut.

Tai koks use case numatomas šitam aparatui?

21 01 2014
mindogas

Taigi su tuo nRF24L01 aš čia kažko nesupratau.. Gal tokia jau mada su šiais įrenginiai naudoti softSPI.. Anyway, gerai kad net lizdas neilituotas šitam įrenginiui nes jis man tikrai nebus reikalingas.

Kas dėl use case, tai bus čia šioks toks signalizatorius ir duomenu logeris tuo pačius. Stebės įėjimus, signalizuos pavojaus varpais per SMS ar Email ir dar į SD saugos kruva duomenų. Keliais sakiniais tiek, o sistema bus realiai daug sudėtingesnė nes dar bus visokiu čiudu kaip nustatymų užkrovimas per web ir panašiai. Puse sistemos jau veikia ant Ethernet bet viska dabar reikia perkelti į šita steroidini.

21 01 2014
giedriuszzz

ale liuks dalykas

21 01 2014
mindogas

Bet zinok prisipazinsiu kad susidoroti su httpPost’u per diena nesugebejau 🙂 su ethernetu truputi lengviau 🙂

21 01 2014
giedriuszzz

na as neciupinejau, bet ten viskas gi su AT komandom valdosi, bent jau GPS.

22 01 2014
mindogas

Taip taip, per AT komandas šiaip daug įrenginių valdomi. Net tokie kaip UART į BT adapteris kai kuriais duomenimis keičiasi per AT sintakse.

31 03 2014
ADC mįslė | Mindaugas Markauskas

[…] aš čia tokį telemetrijos sistemą su GBoard Pro jau senokai pastebiu vieną, man keistą, dalyką. Niekam ne paslaptis, kad ADC kanalą palikus […]

7 08 2015
Gboard Pro 800 | Mindaugas Markauskas

[…] daugiau nei metus esu parašęs kelias pastraipas apie Gboard Pro mikrovaldiklio plokštę, kurioje yra ne kas kitas kaip Atmega2560 su Arduino bootloaderiu ir integruotu SIM900 GSM modemu. […]

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti / Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti / Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti / Keisti )

Google+ photo

Jūs komentuojate naudodamiesi savo Google+ paskyra. Atsijungti / Keisti )

Connecting to %s




%d bloggers like this: