marți, 20 decembrie 2011

Panou Termic Solar DIY - Partea I (Introducere)

Introducere în temă
În acest articol voi face un scurt rezumat al etapelor de construire ale unui panou solar de încălzit apa. Prezentarea detaliată a etpelor va fi făcută în articolele următoare. Întenţia mea e să împart prezentarea în mai multe părţi:
  • Comanda pompei - partea electronică 
  • Comanda pompei - partea software 
  • Construirea panoului
  • Instalatia de încălzire 
  • Măsurători şi rezultate 
Am lucrat împreună cu tatăl meu, care s-a ocupat de  partea de construire a panoului şi a instalaţiei, iar eu de partea de comandă a pompei.
Intenţia noastră a fost să micşorăm costul încălziri pe gaz. Astfel instalaţia noastră solară va pre-încălzi apa ce urmează să între în centrală, având ca rezultat un consum de gaz mai mic. Elementele principale care compun instalaţia sunt:
  • panoul solar
  • bazinul de stocare
  • pompa de recirculare
  • circuitul de comandă al pompei
Scopul instalaţiei este de a transfera căldura acumulată în panoul solar la bazinul de stocare. Astfel agentul termic din panou va circula prin instalaţie până în bazin cu ajutorul pompei. În bazin, cu ajutorul unor serpentine va face transferul de căldură de la agentul termic către apă. Apa din bazin, sper eu încălzită, va intra în centrală atunci când va fi nevoie. Agnetul termic va circula între panou şi bazin în circuit închis.
Ne-am gândit că ar fi mai bine dacă am folosi glicol ca agent termic între panou şi bazinul de stocare. Deşi transferul de căldură din bazin o să fie făcut cu pierderi, glicolul reduce riscul de formare a dopurilor de gheaţă în instalţie sau în panou, pe timp de iarnă.
Comanda pompei va fi făcută de un mic montaj, care va porni pompa doar dacă temperatura din panou e mai mare decât temperatura din bazin.
Mai multe detalii vor veni în continuare...

duminică, 25 septembrie 2011

Încărcător de telefon fotovoltaic DIY


Motivaţia
De multe ori mi se întâmpla să rămân fără baterie la telefon, când mergeam pe munte cu cortul. Fie din cauza lipsei semnalului sau din cauza diferenţelor de temperatură, bateria se consuma mai repede. Soluţia pe moment era să îmi ţin telefonul oprit şi să-l pornesc doar când am nevoie, lucru care nu mă deranja. Dar de când prietena mea şi-a cumpărat un telefon de generaţie mai nouă situaţia s-a schimbat. Dintre multele dotări cu care vine telefonul, GPS-ul e o aplicaţie foarte utilă când eşti pe munte. Problema e că GPS-ul îl foloseşti mai tot timpul iar atunci când faci asta bateria se descarcă mai repede decât în mod normal. O metodă de a încărca telefonul pe vârf de munte (într-o zi însorită) e să foloseşti un încărcător fotovoltaic. Deşi e mult mai comod să cumperi aşa ceva direct din magazin, m-am hotărât să fac un astfel de încărcător pentru că aveam deja aproape toate cele trebuincioase.

Începuturi
De fiecare dată când lucram la un panoul se întâmpla să stric câteva celule. După ce trecea supărarea de moment, venea întrebarea dacă să arunc cioburile rămase sau nu. Nu m-a lăsat inima să fac asta şi foarte bine am făcut, pentru că acum au devenit utile. Din aceste resturi se poate face un panou de putere mică, dar suficientă pentru a încărca un telefon.


Cele trebuincioase
Circuitul de încărcare l-am ales cât mai simplu, conform cu piesele din dotare. Astfel am folosit următoarele:
  • câteva cioburi de celule fotovoltaice
  • un regulator 7805
  • un condensator de 1000uF la 16V
  • un condensator de 470uF la 16V
  • o diodă schottky
  • o mufă mamă dublă de USB (din asta am avut, din asta am folosit)
  • două bucăţi de plexiglas (primite cadou)
  • o cutie de plastic
  • silicon şi puţin cablu

Schema circuitului
Schema e foarte simplă:
E vorba de un circuit regulator de tensiune, de la tensiunea de intrare de 6.5 - 7V la tensiunea de 5V. Tensiunea de la celulele fotovoltaice trece printr-o diodă schottcky (D1). Rolul diodei e de protecţie în cazul în care tensiunea de la celule scade brusc. Am folosit o diodă schottcky pentru a avea pierderi de tensiune cât mai mici. Ştiu că nu e foarte eficient să folosesc un 7805 pentru aşa ceva, dar e ieftin şi funcţionează.
Am încercat să fac un cablaj cât mai îngust ca să încapă în carcasa încărcătorului:

Carcasa e defapt o cutie de plastic în care încape doar un sandwich. După ce am ţinut-o în casă cam jumătate de an fără să o folosesc la depozitarea mâncării, i-am găsit o altă utilitate.
Cât despre mufa de USB, motivul pentru care am folosit o mufă dublă este acela că doar aşa ceva aveam acasă.

Ce înseamnă cioburi de celule fotovoltaice?
Mai întâi trebuie făcută o mică menţiune. Dacă rupi o celulă fotovoltaică în două vei afecta doar caracteristica de curent a acesteia. Asta din cauză că celula scoate un curent direct proporţional cu suprafaţa ei. Astfel, micşorând suprafaţa, micşorezi doar curentul, fără să afectezi caracteristica de tensiune a celulei fotovoltaice. O bucată dintr-o celulă va genera tot 0.5 V ca şi o celulă întreagă.
Astea fiind stabilite am căutat cioburile care au suprafeţele cât de cât la fel, pentru a genera toate un curent asemănător. Dimensiunea aleasă pentru cioburi se apropia de a şasea parte din suprafaţa unei celule întregi. Astfel am reuşit să înghesui 13 cioburi de celule pe cele două bucăţi de plexiglas pe care le aveam. 
Dacă o celulă întreagă generează un curent maxim de 3.5 amperi, atunci a şasea parte dintr-o celulă va genera teoretic un curent maxim de circa 0.5 A. Asta ar fi suficient pentru un încărcător de telefon. În realitate un astfel de ciob generează ceva mai puţin.
Legând cele 13 bucăţi de celule în serie rezultă o tensiune de 6.5 - 7 V care va fi transformată în tensiunea de 5V pentru încărcător.

Cum funcţionează un încărcător pe USB? 
Majoritatea telefoanelor ce se încarcă pe USB folosesc o încărcare relativ simplă. Pentru o parte din telefoane e suficient să aibă tensinunea de 5V a portului pentru a începe încărcarea. Din păcate telefoanele mai noi au modalităţi de detecţie a tipului de încărcător, în cazul încărcătoarelor ce se bagă în priză. Astfel un încărcător de priză de la un iPod s-ar putea să nu funcţioneze cu un alt aparat, chiar dacă ambele se încarcă pe USB. Motivul cred că e pe de o parte curentul de încărcare care poate să difere de la un telefon la altul, iar pe de altă parte e mai profitabil pentru producător ca fiecare tip de telefon să folosească doar un anume tip de încărcător, deşi toate folosesc acelaşi conector de USB. 
La majoritatea încărcătoarelor pe USB diferenţa constă în felul în care se folosesc liniile de date ale USB-ului. Din fericire nu e vorba de nici un transfer de date prin protocolul de USB, ci doar modul în care sunt conectate liniile de date. Unele telefoane verifică înainte de a începe încărcarea dacă liniile de date sunt conectate la 5V, sau la masă, sau o linie la 3V iar cealaltă la masă, sau la 2V, sau 2.8V, etc. 
A trebuit să verific aproape fiecare din aceste variante pe încărcătorul de priză cu care a venit telefonul. Varianta câştigătoare pentru Motorola Defy a fost să leg împreună liniile de date (scurtcircuitarea liniilor de date).

Pentru alte tipuri de telefoane conectarea liniilor de date poate fi diferită. 

Măsurători
Am fost puţin dezamăgit de curentul de scurtcircuit pe care îl dă panoul acesta: 0.38 Amperi. E bine şi aşa, dar mă aşteptam la ceva mai mult (aproximativ 0.5 Amperi).

În schimb tensiunea dată de panou este de 7V, ceea ce e foarte bine.


Rezultatul 
Cam aşa arată încărcătorul fotovoltaic de telefon închis. Cele două puncte mai deschise la culoare, ce ies în relief sunt şuruburile ce fixează plexiglasul. Am scurtat filetul pentru că era prea lung şi l-am acoperit cu un strat de silicon pentru a acoperi muchiile ascuţite apărute în urma tăierii filetului. 



Imediat ce am terminat încărcătorul l-am şi inaugurat cu ocazia unei scurte ieşiri la munte. Mai jos e încărcătorul în plină acţiune. 
Aici e o poză unde se vede mai bine pe ecran că telefonul se încarcă.

Urmează să mai fac nişte măsurători să văd în cât timp se încarcă telefonul cu noul lui încărcător.
Pozele au fost făcute cu aproximativ 5 minute înainte ca soarele să se ascundă dincolo de creastă. Data viitoare o să ţin mai mult telefonul la încărcat.

luni, 27 iunie 2011

Senzor de temperatură auto II


Descriere

În articolul anterior am promis că o să prezint celălalt senzor, care este montat pe maşina mea. E vorba de acelaşi senzor, cu câteva mici diferenţe.

Display de Nokia 3310

Prima diferenţă este legată de display-ul folosit, care e de la un Nokia 3310. Diferenţele faţă de display-ul de Nokia 1100 şi acesta constau în semnificaţia pinilor şi modificarea protocolului de comunicare cu display-ul. Algoritmul folosit pentru afişarea cifrelor pe display-ul de Nokia 3310 se găseşte prezentat la capitolul "Afişarea temperaturii Nokia 3310" de aici.

Un mare dezavantaj al acestui display este faptul că nu vine dotat cu led-uri pentru iluminare. Din cauza asta a trebuit să montez 3 led-uri galbene pentru iluminare şi unul roşu pentru alarmă.

Senzorul (DS18B20)

Singura diferenţă dintre DS18S20 şi DS18B20 este acela că cel din urmă converteşte valoarea temperaturii într-o valoarea digitală cu mai multe zecimale. Modificările în codul microcontroller-ului au fost, în consecinţă, minore.

Schema

Pentru a putea folosi display-ul de nokia 3310 e nevoie de patru linii de control: Reset (PB3), SDIN (PB2), D/C (PB1) şi SCK (PB0). Asta înseamnă că nu o să mai rămână nici un pin al microcntroller-ului liber pentru a putea controla led-ul de alarmă. Dintre toate liniile folosite pentru controlul display-ului, doar linia de D/C era folosită cel mai puţin. Linia D/C semnalizează display-ului că informaţia transmisă reprezintă date sau comenzi. Pe durata rescrierii ecranului, linia de D/C rămâne foarte mult timp pe "1" logic şi foarte puţin pe "0" logic. Cu alte cuvinte, pe durată rescrierii ecranului, se trimit mult mai multe date decât comenzi. M-am folosit de detaliul ăsta pentru a controla led-ul de alarmă cu acelaşi port ce controlează şi linia D/C. Asta a însemnat că logica de aprindere a led-ului de alarmă trebuie să fie inversă ("1" = led stins, iar "0" = led aprins). Rescrierea întregului ecran durează sub o secundă, iar rata de actualizare a ecranului e tot la aproximativ 1.5 secunde. Astfel am posibilitatea de a mă folosi de timpul acesta (1.5 sec) pentru a schimba rolul portului PB1 în port ce controlează led-ul de alarmă.

Cablajul

Prima variantă de cablaj nu mi-a plăcut pentru că toate piesele erau mult prea înghesuite, aşa că am ales o abordare mai "aerisită". În felul acesta cablajul încape mai bine în "carcasa" senzorului.

Codul sursă

Am refăcut codul original astfel încât să permită funcţionarea senzorului folosind ambele tipuri de display-uri (Nokia3310 şi Nokia1100), şi a ambelor tipuri de senzori digitali (DS18S20 şi DS18B20). Codul poate fi configurat pentru display-ul şi senzorul folosit cu ajutorul unor switch-uri de compilare.

Fişierele Hex (Cod şi EEPROM) se găsesc aici.

Fişierele sursă se găsesc aici.

Poze

Mi s-a reproşat la un moment dat că nu am pus suficiente poze cu senzorul deja montat pe maşină. În încercarea de a repara scăparea din articolul precedent, am pus două poze cu senzorul montat pe bord.

Asta ar fi perspectiva celui de la volan. Senzorul a fost montat în partea din dreapta pentru ca şi copilotul să vadă temperatura afişată de senzor. :-)

Carcasa senzorului e prinsă de parbriz cu ajutorul a două ventuze luate de la o "lămâie" a şoferului începător.

sâmbătă, 23 aprilie 2011

Senzor de temperatură Auto - DIY

Motivaţia

În iarnă am ajuns la concluzia că e foarte important să ştii care e temperatura de afară atunci când conduci. Dacă afară sunt în jur, sau sub zero grade, e bine să ştii că poţi da de polei. Bucăţica asta de informaţie te poate scuti de multe neplăceri sau necazuri. Cum maşina mea (Logan) nu are un senzor de temperatură m-am gândit să-mi fac unul. Pe piaţă există aşa ceva de cumpărat, la un preţ cât de cât rezonabil, dar am fost curios să văd cât de greu poate fi să fac un astfel de senzor de la zero. Chiar dacă e mult mai eficient să cumperi ceva gata făcut, şi poate chiar mai ieftin, experienţa pe care o dobândeşti lucrând la aşa ceva e de nepreţiut... pentru mine.

Piesele necesare

Ca de obicei, am început prin a face o "plimbare" pe net, prin "curţile altora" pentru inspiraţie. Internetul e plin tot felul de soluţii. Am pornit cu ideea de a face ceva cât mai ieftin, aşa că am încercat să refolosesc cât mai multe componente. 

Mi-am făcut o listă de lucruri trebuincioase:

  • un microcontroller ATtiny13
  • un  display de la un Nokia 1100
  • 3 condensatori de 1, 10 şi 100 uF
  • 3 rezistenţe de 330 Ω
  • 1 rezistenţă de 1k Ω
  • 1 rezistenţă de 4.7k Ω
  • 1 rezistenţă de 510 Ω
  • 1 rezistenţă de 470 Ω
  • un stabilizator de tensiune LM317
  • un senzor de temperatură digital DS18S20
  • 4 metri de cablu panglică
  • 4 metri de cablu dublu
  • o doză electrică cu capac
  • nişte şuruburi
  • 1 led galben şi 1 led roşu
  • nişte şiruri de pini
  • două mufe luate de la o sursă de PC
  • o mufă Jack stereo mamă şi una tată

Microcontroller-ul

Am ales ATtiny13 pentru că e printre cele mai ieftine microcontroller-e de pe piaţă. E destul de rapid pentru ce vreau să fac şi are suficientă memorie pentru aplicaţii mici, cum e un senzor de temperatură. Un alt avantaj e că are şi puţină memorie internă  de tip EEPROM, pe care am folosit-o din plin. În schimb, are un dezavantaj evident: numărul mic de pini (8 pini, din care doar 5 pot fi folosiţi ca porturi generale de intrare-ieşire). Am preferat să folosesc cât mai mult din ce oferă acest microcontroller înainte să trec la ceva mai performant. Asta mi-a dat câteva bătăi de cap la partea de programare, dar până la urmă am reuşit să obţin un senzor funcţional.


Display-ul

Acasă aveam două display-uri de la nişte telefoane mobile mai vechi, unul de la un Nokia 3310 şi altul de la un Nokia 1100. Cum planul meu era să fac oricum doi senzori, unul pentru maşina mea, iar celălalt pentru maşina tatălui meu, am zis că asta ar fi o ocazie bună să învăţ să folosesc ambele display-uri. Avantajele acestor tipuri de display-uri e că necesită un număr mic de linii de comandă şi date pentru a putea afişa ceva pe ele. Lucru ăsta s-a potrivit cu faptul că microcontroller-ul nu are prea mulţi pini de risipit. Pentru display-ul de Nokia 3310 e nevoie de 4 linii de comandă şi date, iar pentru display-ul de Nokia 1100 e nevoie doar de 3 linii de comanda şi date. În articolul acesta o să prezint în detaliu senzorul la care am folosit display-ul de Nokia 1100. Celălalt circuit va fi prezentat mai târziu.


Senzorul

Cea mai scumpă piesă, la care nu am vrut să fac rabat a fost senzorul de temperatură DS18S20. Până la urmă am reuşit să-l obţin gratis, direct de pe site-ul celor de la Maxim prin oferta lor de mostre gratuite ("free samples"). În magazine se găseşte la aproximativ 10 roni. Acest senzor are mai multe avantaje: e calibrat din fabrică, transmite valoarea temperaturii direct în format digital, face măsurători în grade Celsius, în plaja -55 şi +124 °C, are o precizie de până la 0.5 °C. Dezavantajul ar fi că foloseşte protocolul 1 Wire pentru transmiterea temperaturii, care e puţin mai complicat, dar permite folosirea mai multor senzori pe aceelaşi cablu. Am descris mai în detaliu acest protocol în secţiunea detaliată a algoritmului folosit.

Restul pieselor sunt uşor de găsit pe la magazinele de electronice, şi sunt foarte accesibile.


Schema eletronică

Schema pentru senzorul de temperatură la care am folosit display-ul de Nokia 1100 este asta:

Circuitul are o parte de alimentare formată dintr-un LM317 reglat să scoată aproximativ 3.3V. Tensiunea de 3.3V a fost aleasă pentru a nu afecta display-ul. Microcontroller-ul e legat prin 3 pini (PB2, PB0 şi PB3) la liniile de date ale display-ului (SDA = linia de date seriale, SCK = linia de impulsuri de tact, XRES = linia de reset). Aceşti trei pini sunt suficienţi pentru a putea comunica cu display-ul. Un alt din pin al microcontroller-ului (PB1 = Alarm) e legat la un LED roşu, care va indica o temperatură sub 4°C (adică pericolul apariţiei poleiului). Linia de date a senzorului e legată la pinul PB4 al microcontroller-ului, printr-un cablu lung (4 metri). Senzorul are nevoie pe linia de date de o rezistenţă de 4.7K Ω legată la plus pentru a putea transmite date. Valoarea rezistenţei am luat-o din foaia de catalog a senzorului, deşi pe internet unii spuneau că dacă se folosesc cabluri lungi, valoarea rezistenţei trebuie scăzută. Pentru cei 4 metri de cablu panglică (cu 3 fire) folosiţi de mine, 4.7K Ω a fost suficient.

Menţiune: Pe schemă nu apare condensatorul de 10 uF (am uitat de el), dar el e legat între 3.3V şi masă, cât mai aproape de microcontroler.

Schema la care am folosit ca şi afişare display-ul de Nokia 3310 va fi prezentată într-un alt articol. Între cele două scheme nu sunt diferenţe foarte mari, diferă puţin ordinea pinilor de la display-uri.

Asamblare

Am început asamblarea cu mufarea cablului ce merge la senzor. Senzorul trebuie să poată fi montat şi demontat cât mai uşor, iar cea mai simplă metodă a fost să folosesc mufe Jack stereo. Am ales mufe metalice pentru că sunt mai robuste şi pentru că o să înlesnească transferul termic către senzor.  

Senzorul a fost montat într-o mufă tată pentru a putea fi schimbat cât mai uşor. Pinii senzorului au fost lipiţi de contactele mufei jack, după cum urmează: Pinul de masă al senzorului este legat la carcasa mufei. Pinul de date de la senzor este legat la contactul din mijloc al mufei, iar alimentarea este legat la contactul din vârful mufei. Nu ştiu dacă asta e cea mai bună modalitate de conectare, e doar alegerea mea.

După lipirea senzorului pe mufă a urmat izolarea lui, şi montarea capacului. Capătul capacului prin care ar fi trebuit să intre cablul a fost astupat de o picătură de silicon. Acum senzorul e gata pentru a fi conectat la cablul de date.

Aşa arată senzorul montat pe cablu:

Pasul următor a fost pregătirea cablului de date pentru display. Aici am avut nevoie de un cablu panglică cu 8 fire. Am ales să folosesc unul colorat pentru a putea identifica liniile de date mai uşor. De un capăt al cablului panglică am lipit 8 pini mamă, dintr-un şir dublu de pini. Celălalt capăt al cablului panglică l-am lipit (cu mare grijă) de contactele display-ului. Aici a fost nevoie de puţină atenţie şi îndemânare, pentru că lipitura trebuie facută bine din prima încercare. Din câte am înţeles temperatura ridicată poate afecta traseele suflate pe sticla display-ului. Probabil din acest motiv în telefon, contactul este făcut mecanic cu pinii display-ului.

După ce partea de afişare a fost facută, am trecut la montajul propriuzis. Am încercat să-l fac cât mai compact, având în vedere că am folosit plăcuţe de test (o dată şi o dată o să învăţ să fac cablaje corodate). Pentru a putea face teste cât mai uşor am pregătit pe montaj pini prin care să pot accesa aproape orice linie a montajului. Cum trebuie să alimentez două led-uri ce vor fi prinse de "carcasă" am pregătit şi pini de pe care să pot culege uşor cei 3.3V de alimentare şi masa. Cei 8 pini dubli din dreapta montajului sunt pentru controlul display-ului. Pentru partea de intrare am folosit 4 pini, aflaţi în stânga montajului. Doi pini din cei patru formează partea de alimentare, adică 12V şi masa, iar ceilalţi doi pini reprezintă alimentarea pentru senzor (3.3V) şi linia de date de la senzor.

Înainte să decupez partea de cablaj nefolosită am făcut un test să văd cum se comportă montajul "în aer", adică înainte să-l pun în carcasă. Pentru asta am folosit un sul de 4 m de cablu panglică în capătul căruia am prins senzorul. Display-ul funcţiona, iar temperatura era afişată corect, deci primul test a fost trecut.

Pe post de carcasă am folosit o doză simplă de curent, care să aibă şi capac. Pentru a putea scoate mufa senzorului am decupat o partea din spate a dozei. Mufa e luată de la o sursă de calculator. , la care am prins de cele patru cabluri un şir de patru pini mamă, care urmează să intre pe cablaj.

Pe capacul dozei am montat display-ul de Nokia 1100 având grijă ca să scot pe partea cealaltă cablul panglică.

De o parte şi de alta a display-ului am prins led-urile cu ajutorul unor pini. Pinii sunt suficient de lingi ca să iasă pe partea celalaltă a capacului. Ei vor fi legaţi la cablaj prin nişte cabluri de care s-a montat câte o rezistenţă de 330 Ω, pentru limitarea curentului la aproximativ 10 mA. De menţionat ar fi aici faptul că acest dispay vine cu două led-uri albe mici, montate în partea de sus. Din această cauză am montat doar un singur led galben pentru luminarea ecranului.

Montarea pe maşină

După ce m-am interesat de poziţia normală a senzorilor de temperatură de la celalte automobile mi-am propus să aleg între a monta senzorul în bara de protecţie, sau în oglinda din stânga şoferului. Am ales să montez senzorul în bara din faţă deoarece mi se pare un loc mai ferit de razele soarelui. Suportul oglinzii e făcut din plastic negru, care se încălzeşte mai tare când e soare afară şi asta va afecta temperatura "simţită" de senzor. Desigur că înainte de a mă apuca de treabă am făcut câteva teste pentru a mă asigura că transmisia datelor de la senzor la microcontroller şi viceversa nu e afectată de câmpul electro-magnetic produs de motorul în funcţiune.

Pentru început a trebuit dată jos masca de sub bord. E prinsă în câteva cleme de plastic şi se poate da jos uşor (imaginea din stanga). Sub bord se vede un burduf de cauciuc (imaginea din dreapta), prin care iese un mănunchi de cabluri din habitaclu, în spaţiul de sub capotă. Înainte de a tăia burduful, trebuie să găsiţi locul cel mai prielnic de a face tăietura. Burduful are o serie de nervuri din cauciuc plasate în jurul găurii prin care trece mănunchiul de cabluri. Tăietura cablului pentru senzor trebuie făcută între aceste nervuri. Asta înseamnă că trebuie să pipăieşti punctul mai "moale" de la burduf şi acolo trebuie făcută o tăietură de cca 1 cm (ca să încapă mufa senzorului).

Pe partea cealaltă, sub capotă, cablul pentru senzor e prins cu nişte coliere de mănunchiul de cabluri şi merge o dată cu manunchiul până în dreptul farului.

Am încercat pe cât posibil să trec cablul pentru senzor cât se poate de aproape de celelalte cabluri. Arată mai frumos aşa, pe de o parte, pe de altă parte pentru că mi-a fost frică ca altfel să nu am probleme din cauza perturbaţiilor electromagnetice venite de la motor.

Chiar în dreptul farului din dreapta (cum stai cu faţa spre maşină), cablul pentru senzor părăseşte mănunchiul de cabluri, pentru a coborî până la farul de ceaţă.

Pentru a avea acces mai uşor la farul de ceaţă trebuie desfăcute cele trei şuruburi care ţin masca desub bara de protecţie. Cablul de la senzor trece pe lângă claxon până în dreptul mufei de la farul de ceaţă.

Mufa senzorului a fost prinsă cu două coliere de plastic de cablul de alimentare de la farul de ceaţă. După ce m-am asigurat că nu există părţi mecanice care ar putea să afecteze, sau să fie afectate de cablul meu, am închis totul la loc şi m-am mutat în habitaclu.

Am vrut ca montajul meu să aibă o siguranţă de protecţie, iar cel mai simplu a fost să folosesc o siguranţă deja existentă. Dintre toate aparatele din maşină, radioul e cel mai puţin "vital", aşa că am ales să montez senzorul meu pe aceeaşi siguranţă. Pentru început, am identificat locul siguranţei, folosindu-mă de desenul de pe capacul tabloului de siguranţe.

Pasul următor a fost demontarea tabloului de siguranţe, pentru a avea acces mai uşor la cablurile ce ies din el. Tabloul de siguranţe e prins în două şuruburi tip stea de 20 şi în două cleme de plastic mici situate lângă fiecare şurub. Siguranţa căutată de mine e cea roşie de 10A.

Fiecare siguranţă are o intrare (dinspre baterie) şi o ieşire (spre consumator). Firul de intrare e întotdeauna gros, iar cel de la ieşire e mai subţire. Aşa se identifică cel mai uşor alimentarea oricărui consumator de pe maşină. După ce am găsit firul de alimentare pentru radio, l-am tăiat şi am legat în paralel cablul meu pentru alimentarea senzorului. Pentru o prindere mai bună am folosit papuci de cablu, izolaţi cu cablu termo-contractil.

Masa pentru montajul meu am cules-o de la şurubul care ţine tabloul de suguranţă. Pentru a mă asigura că am masă acolo am verificat cu un multimetru dacă există contact între şurub şi caroseria maşinii, care e legată la borna de minus a acumulatorului.

Intenţionat mi-am lăsat mai mult cablu pentru a putea muta senzorul dacă vreau altundeva, aşa că surplusul de cablu l-am făcut sul şi l-am ascuns sub mochetă, lângă chedăr.

Cablurile le-am tras pe lângă locul unde vine prins chedărul, pentru a putea fi mascate cât mai bine. Pentru început semzorul a stat în stânga volanului, dar ulterior a trebuit să schimb locul senzorului în urma unor plângeri repetate din partea co-pilotului, care nu vedea temperatura de afară.

După ce s-a terminat montarea senzorului, am făcut câteva încercări să mă asigur că totul funcţionează. Am pus contactul, iar apoi am pornit motorul să văd cum se comportă senzorul.

Testare

Înainte de a descrie felul în care am verificat dacă senzorul merge bine, trebuie să menţionez că testele au fost făcute pe senzorul montat pe maşina mea, adică pe cel care are display de nokia 3310.

Am vrut să verific trei părţi ale senzorului

  1. Programul de pe microcontroller
  2. Comportamentul senzorului în situaţii normale
  3. Comportamentul senzorului în situaţii anormale

Programul ce rulează pe microcontroller a fost testat din faza de proiectare, dar am vrut să văd ce se întamplă dacă se sterg datele din memoria EEPROM a microcontroller-ului. Ei bine, în cazul ăsta cifrele nu vor mai fi afişate corect. Ăsta e un indicator foarte bun cum că nu s-a programat şi EEPROM-ul. Nu e obligatoriu ca led-ul roşu să se aprindă.

A urmat apoi testarea senzorului în situaţii anormale. Asta înseamnă, deconectarea senzorului în timpul funcţionării, care ar simula o întrerupere a cablului, sau un scurt la plus. În acest caz pe ecran va apărea valoarea "-88°". Un alt test făcut e acela de a face scurt la masă, caz în care pe ecran se va afişa "-99°".  Ulterior am făcut (fără să vreau) un alt test, în care am pus pe linia de date a senzorului o rezistenţă la masă. În acest caz senzorul va afişa întotdeauna valoarea "0°". În acest caz pot apărea probleme în anotimpul rece, când nu se poate determina dacă problema e cauzată de temperatura de afară sau de un contact rezistiv la masă pe linia de date. Singurul reper ar fi acela că la pornire, senzorul trebuie să afişeze temperatura de "85°". Dacă această temperatură nu apare la pornire după câteva încercări repetate, atunci cu siguranţă e o problemă la cablul ce merge la senzor.

La urmă am testat funcţionarea senzorului în condiţii normale, adică:

  • temperaturi pozitive
  • indicatorul de temperatură sub 4°C
  • iluminarea ecranului
  • temperaturi negative

Verificarea temperaturii pozitive am făcut-o folosid un termometru din comerţ. Pentru măsurarea temperaturilor mai joase m-am folosit de un cub de gheaţă proaspăt scos din congelator. Aici nu am mai verificat cu un alt termometru.

Probleme care pot să apară

Aici o să trec în revisă o parte din posibilele defecţiuni ce pot să apară, şi care ar fi "simptomele":

  1. Cablul pentru senzor e întrerupt - pe ecran apare "-88°"
  2. Cablul pentru senzor face scurt la pluspe ecran apare "-88°"
  3. Cablul pentru senzor face scurt la masă - pe ecran apare "-99°"
  4. Cablul pentru senzor face contact rezistiv la masă - pe ecram apare la pornire "0°" în loc de "85°"
  5. Cablul de date pentru display nu face contact - pe ecran nu apare nimic, sau apar pete aleatoare
  6. Cablul de la led-uri e întrerupt - ecranul nu e luminat deloc sau nu e luminat complet, dar temperatura e afişată
  7. Cablul de alimentare e întrerupt - ecranul nu e luminat şi nu apare nimic pe ecran
  8. Lipsesc datele din EEPROM - pe ecran apar două dreptughiuri negre în loc de cifre

Descrierea funcţionării senzorului

Montajul porneşte în momentul în care se pune cheia în contact. În aproximativ 2-3 secunde este iniţializat display-ul. Imediat după asta, microcontroller-ul va "căuta" senzorul  şi va afişa prima valoarea citită de la senzor (ar trebui să fie întotdeauna "85°"). Dacă îl găseşte, începe să citească temperatura la fiecare 1.5 secunde. Imediat după conectarea senzorului la montaj, acesta trebuie să înceapă să afişeze temperatura, fără a fi nevoie de oprirea şi pornirea montajului. Plaja de valori pe care le poate afişa montajul este -55°C şi 99°C, deoarece am vrut să afişez cifre cât mai mari, iar mai mult de 2 cifre mari şi un minus, nu încap pe afişaj. Pentru mine nu contează dacă afară sunt 1.5 grade, ce contează e dacă afară e 1 grad sau sunt 8 grade. Aşa că am decis să nu afişez valorile subunitare ale temperaturii.

Download

Fişiere Hex (Cod şi EEPROM) se găsesc aici.

Fişierele sursă se găsesc aici.

Algoritmul e prezentat în detaliu aici.