Senzor electronic de nivel al combustibilului manual. Facem un senzor capacitiv de nivel al combustibilului cu propriile noastre mâini

Circuitul indicator digital al nivelului de combustibil are o repetabilitate ridicată și chiar și cu puțină experiență cu microcontrolere, asamblarea și setările nu vor cauza probleme. Pentru programarea microcontrolerului avr, am asamblat cel mai simplu programator - așa-numitul programator Gromov, este grozav atât pentru programarea în circuit, cât și pentru programarea convențională, există un articol despre acest programator pe site. Acum conduc și nu-mi fac griji cu privire la realimentarea „destul sau nu suficient” :) schema circuitului indicatorul este afișat mai jos, faceți clic pentru a mări:

Și acum mai multe despre acest dispozitiv, fotografii cu o vedere de montare în performanța mea și fotografii și instrucțiuni de configurare de la autorul original sunt în această arhivă.

Iată ce face acest dispozitiv:

1. Afișează combustibilul rămas la cel mai apropiat litru, volumul suportat al rezervorului poate fi selectat de la 30 la 99 de litri
2. Afișează tensiunea rețelei de bord
3. Compensează oscilația plutitorului din rezervor prin măsurători multiple (cantitatea este selectată în meniu) și rezultatul valorii medii aritmetice.
4. Modifică luminozitatea luminii de fundal în funcție de iluminare, 2 moduri, zi/noapte, determinată de aprinderea luminii de fundal a tabloului de bord.
5. Schimbă modul de afișare al indicatorului normal / invers.

Lista părților indicatorului de pe microcontroler:

R1 - 1 kOhm
R2 - 75 kOhm
R3 - Trimmer 10 kOhm
R4 - 4,7 kOhm
R5, R6, R8-R11 - 10 kOhm
R23, R12-R15 - 3,3 kOhm
R24, R16-R19 - 1,8 kOhm
R20 - 2 kOhm * selectat în funcție de iluminarea din spate
R21 - 240 Ohm
R22 - 1 kOhm * selectat și setat constant
C1, C2, C15 - 0,01 microni
C3, C4, C6-C11, C13-C15 - 0,1 microni
C5 - 47 microni
C12 - 4,7 microni
L1 - 100 mH
DD1-LM7805
DD2-ATMega8
DD3-LM317T
VT1-IRFZ44
LCD1 - Nokia 1110/1200/1110i/1112

Conectorul PC10 nu este marcat pe diagramă; prin acesta sunt conectate butoanele și ieșirile pentru programarea MK.

Am decis sa fac doua placi, una pentru instalarea display-ului, a doua este cea principala, placile sunt rotunde, cu diametrul carcasei de 50 mm. Nu am găsit pereche pentru conectorul indicatorului, așa că am făcut o cablare pentru cablu, am dezlipit conectorul de pe acesta și am lipit cablul direct pe placa de pe revers, am pus afișajul în sine pe bandă dublu-față.

Placa principală este formal cu două fețe, dar reversul este folosit în întregime în subteran; pe revers, sunt instalați doar stabilizatori și un tranzistor, restul detaliilor sunt aproape toate SMD-uri instalate din partea laterală a pistelor. Găurile cu plăcuțe pătrate „pământ” sunt lipite cu jumperi, restul găurilor de pe partea „pământ” sunt găurite.

Cele două plăci sunt conectate între ele folosind contacte de la un conector dezasamblat lung. În acest caz, plăcile sunt fixate pe un șurub, un manșon filetat este lipit sub acesta pe placa principală. Nu există butoane ca atare, nu sunt adesea necesare, doar în timpul setării și calibrării inițiale, așa că pur și simplu sunt aduse la conectorul PC10, care se află în spatele carcasei, din păcate nu există poze cu acesta. De asemenea, semnalele pentru programarea MK sunt transmise către acest conector.

Setarea indicatorului digital de combustibil

1. Programarea MK se face în circuit, de către orice programator, siguranțele se setează după cum urmează.

2. Setarea citirilor de tensiune. Pentru configurare, conectăm indicatorul la o tensiune de 12-14 V, conectăm un voltmetru la aceeași sursă și setăm rezistența trimmer-ului R3 la aceeași valoare pe care o arată voltmetrul.

3. Setare software. Setăm capacitatea rezervorului și o calibrăm. Calibrăm rezervorul după cum urmează, începem cu un rezervor gol, setăm meniul de calibrare la 0 litri și apăsăm OK, apoi turnăm 1 litru în rezervor, setăm valoarea litrilor la 1 și apăsăm din nou OK și așa mai departe cu fiecare litru până când apare rezervorul este plin. Procesul este cu siguranță lent, dar trebuie să îl faceți o singură dată. Dacă, în timpul calibrării, sunt înregistrate și citirile senzorului, atunci dacă este necesar să repetați dispozitivul sau în cazul unei defecțiuni, va fi posibil să introduceți valorile direct în firmware și să nu vă chinuiți. calibrarea. Restul setărilor sunt setate după gustul dvs. Designul a fost asamblat și testat: Fedorov Ivan.

Am decis să fac un indicator digital al cantității de combustibil pornit Vagon de transport(autobuz), folosind un senzor standard de nivel de combustibil (mai degrabă mediocru) ...

Întregul proces de creație și ce a rezultat din el citim în articolul de mai jos.

Condiții inițiale:

  • Camion (autobuz) cu tensiune la bord 24v
  • Rezervor de combustibil pentru motorină 220l
  • Senzor de nivel de combustibil DUMP39
  • Ecartament de combustibil EI8057M-3

Trebuie sa:

Realizați un indicator digital al nivelului de combustibil folosind un senzor de nivel standard.

Pentru început, va trebui să studiați cu atenție cum se numește un senzor standard de nivel de combustibil. Haideți să o demontam și să aruncăm o privire mai atentă.

După cum era de așteptat, există un float, o tragere, un rezistor variabil... stop, mai multe despre rezistența variabilă. După cum se spune, este mai bine să vezi o dată decât să auzi de o sută de ori:
Designul este și logic și stângaci în același timp. Este logic ca glisorul să alunece nu de-a lungul rezistenței direct variabile (care este destul de blândă), ci de-a lungul robinetelor metalice de la ea, dar trebuie să plătiți pentru o astfel de creștere a fiabilității cu discreție. Lucru stângaci la acest design este că, după cum se vede în fotografie, în poziția de mijloc a flotorului avem o zonă „moartă” destul de mare, datorită ieșirii centrale foarte late din rezistență. De ce s-a făcut asta, se poate doar ghici, dar cu ce avem, va trebui să lucrăm.

Deci, scotocim pe internet și căutăm informații. Iată ce am dezgropat:

Interval de deplasare flotant - 412 mm

Rezistenta nominala - 800 ohmi (conform unei alte surse, rezistența nominală este 761,0 - 193,5 ohmi)

Interval de funcționare de la -40°С până la +60°С

Timp până la eșec - 400 de mii. km spre 95% eșalonarea resurselor

Greutate 160 gram, analog - MAZ.

În general, nu gros.

Luăm un tester și măsurăm, ca rezultat obținem următoarea imagine:
Schema de comutare:

Parametrii senzorului măsurați:

Rezistenta totala - 767 ohmi

Rezistenta suplimentara - 187 ohmi(oferă rezistența minimă a senzorului).

Partea din stânga (pe fotografie) a rezistenței - 203 ohmi (13 atingeți pe glisor), partea dreaptă Ohm 376(17 apăsări pe glisor).

Două sectoare metalice deasupra grupului de contact - sectorul din stânga nu este utilizat, cel din dreapta merge la lampa de combustibil de rezervă.

În general, aceasta descriere detaliata Citez doar pentru curioși, dar avem nevoie de valoarea tensiunii pe care o avem la contactul de ieșire la diferite niveluri de combustibil. Cu poziția extremă din stânga a contactului la ieșire, am obținut 1,57v, în poziția extremă dreaptă 3.28v, jumătate rezervor - 2.44v. La începutul sectorului de aprindere a lămpii rezervei rămase 2.95v.

Mai mult pentru curioși. Schema generală de cablare a senzorului de nivel de combustibil arată cam așa:
Bobine L1A, L1B, L2- acesta este un sistem de deviere a indicatorului de nivel de combustibil (în esență un miliampermetru) Rezistor - termocompensare.

De fapt, acesta este un circuit al unui dispozitiv auto electromagnetic clasic și mai precis EI8057M-3- acesta este deja altceva: un circuit electronic este situat în interior, săgeata este pusă în mișcare de un motor pas cu pas și toate acestea sunt controlate de un microcontroler PIC.

În principiu, acest lucru este suficient pentru a calibra indicatorul digital, dacă nu pentru câteva probleme:

1. Volumul specificat al rezervorului de combustibil în 220l nu corespunde realității, de fapt, se pune mai mult combustibil în rezervor.

2. Cu poziția extremă dreaptă a contactului mobil al senzorului, când se presupune că nu există combustibil în rezervor, de fapt, plutitorul ar trebui să fie deja sub nivelul rezervorului, ceea ce, desigur, este stupid (determinat de geometria rezervorului). și senzorul de nivel al combustibilului.

3. După ce am măsurat geometria rezervorului cu o bandă de măsurare, suntem convinși că este un paralelipiped dreptunghiular cu margini lungi ușor rotunjite, dimensiuni 40x112x60 cm. În consecință, înmulțind laturile, obținem un volum intern de 268 de litri, care, vedeți, este foarte diferit de cel declarat. 220 l,și este foarte îndoielnic că pereții interioare, plasă, admisie de combustibil etc. ocupa aproape 50 l.

4. După cum a fost deja scris mai sus, rezistența senzorului pe lungimea rezistenței sale este neliniară.

Ce facem:

Umplem rezervorul plin și controlăm tensiunea la ieșirea FLS. Se pare că după ce a ajuns la marcaj 1,57v rezervorul include încă douăzeci de litri buni de combustibil.

Scoateți flotorul și puneți senzorul la loc. Desigur, împingerea, lipsită de un plutitor, merge chiar în partea de jos a rezervorului, ne uităm la tensiune - este 3.02v! Acest lucru este important pentru că de fapt, în această poziție, nu mai există combustibil în rezervor, iar contactul mobil nu a ajuns încă în poziția extremă în 3.28v, în timp ce dispozitivul standard EI8057M-3 arată ce a mai rămas în rezervor 1/8 volum. (Punerea flotorului în poziția centrală, în mod obișnuit EI8057M-3 observa in loc de 1/2 rezervor deja 5/8 nivel, cu rezervorul plin, dispozitivul standard iese din scară).

Ne uităm la graficul senzorului nostru de nivel de combustibil,

Să luăm trei puncte - rezistența senzorului, primul punct este cea mai mică rezistență a acestuia (contact în mișcare în stânga) formată de rezistența suplimentară în 187 ohmi(în fotografie există un dreptunghi negru vertical), al doilea punct în poziția de mijloc a contactului atunci când sunt conectați în serie 187 ohmiși 203 ohmi, adică 390 ohmi, rezistența totală, respectiv, va fi 390 + 376 = 766 ohmi.

(pe orizontală - rezistență în ohmi, unități convenționale de lungime pe verticală)

Nu este nimic plăcut în această poză, senzorul pare a fi liniar dar are o îndoire semnificativă.

Cu o astfel de imagine, vom obține fie precizie în mijloc, fie la capetele poliliniei, fie ceva între ele făcând o aproximare:

După ce ați primit formula cu corecția și coeficientul, în principiu, puteți face deja ceva similar cu un indicator digital de combustibil, coeficientul R2 linii de tendință în 0,97 cu siguranță nu e rău, în principiu, poți folosi tot ce este mai mare de 0,95.

și puteți obține propriul factor de conversie pentru fiecare linie, care va fi mai precis:
Măsurăm imediat valoarea ADC în punctele de care avem nevoie pentru a 5% toleranța pe rezistențele de divizare la intrarea ADC nu ne-a stricat nimic și intrăm în interval de la un rezervor gol (ADC822) inainte de 1\2 rezervor (ADC700):

(citiri ADC primite orizontal, vertical volumul de combustibil în litri)

Variind de la 1\2 rezervor (ADC700) la plin (ADC456):
Din cele de mai sus avem următoarele:

1. Odată cu creșterea cantității de combustibil, rezistența senzorului scade, iar căderea de tensiune pe acesta scade.

2. Delta tensiunii senzorului este 1.45v, care la 10 bit ADC va fi 56% care este mai mult decât suficient pentru a scala rezultatul ADC la scară 0....220lși vă va permite să digitalizați pur și simplu rezultatul fără a utiliza OU pentru a se potrivi domeniului de tensiune dorit.

Schema este simplu de dezamăgit:

microcontroler Mega8 LED indicator aprins 3 descărcare cu un catod comun, divizor de intrare a două rezistențe R1, R2. Dioda Zener (în dioda burgheză zener „zener” :)) pentru a proteja intrarea MK doar în cazul în care. Nu am desenat lanțuri trofice, sunt clasice 0,1 uF ceramică și un fel de electrolit pe 100...1000uF precum și rezistențele de stingere dintre MK și indicator, orice din gamă va fi potrivită 80...100 ohmiîn funcție de tensiunea de alimentare a MK și de luminozitatea indicatorului. Tensiunea la bordul mașinii cu motorul pornit era 27,5v.

Aspectul plăcii mele:
În partea dreaptă a plăcii, am plasat un convertor de putere care oferă 5v la tensiunea de bord 10...30v convertizorul este asamblat MS3406 3 conform schemei tipice din fișa tehnică. regulator murata 1812. Dioda zener indicată în diagrama de mai jos 3,3v Am suflat la cablare și am lipit deasupra.

De ce am aplicat Mega8 când există o mult mai convenabilă Micut26 etc. ? deoarece Mega 8 disponibile 1 kB RAM, de ce atât de multe? microcontrolerul nu numai că măsoară tensiunea de intrare și afișează valoarea recalculată pe indicator, ci scrie constant valorile măsurate într-una dintre 256 celule de memorie, umplându-le într-un cerc vicios și după înregistrarea fiecărei celule, calculează valoarea medie pentru toate cele disponibile în prezent 256 celule.

Indicatorul este situat în afara bordului de pe bordul mașinii și este conectat la acesta 11 bucla rezidentiala. Placa este plasată într-o carcasă minusculă (a doua, cea cu 4 borne de sârmă), tăietoarele laterale au îndepărtat excesul de plastic din carcasă.

Placa este cu o singură față, fără jumperi:

Mai întâi, am dezlipit Shimka și am verificat funcționarea, funcționează. lăcuită. puteți continua să construiți:

P.S. Proiectul a fost creat cu marele sprijin al lui Roman Viktorovich, pentru care îi mulțumesc mult lui, și persoanei Johnson din Ucraina pentru ajutor matematic și câteva idei.


Este folosit cu un senzor de nivel nativ (în rezervor) și în locul comutatorului standard (pe tabloul de bord).
Acest dispozitiv (bazat pe 16f676) transmite citirile senzorului de combustibil din rezervor (40l) la un segment cu două cifre și șapte segmente (cu un anad comun).Sursa de alimentare din rețeaua de bord a mașinii este de 12v.


Calibrarea aparatului: Apăsăm butonul de pe dispozitiv - pe indicator se aprind zerouri intermitente, asta înseamnă că avem rezervorul gol.Dacă este într-adevăr gol, apăsați din nou butonul. Dacă nu, goliți-l complet și apăsați butonul buton.
Indicatorul se va aprinde 02 (2 litri) - completați 2 litri și apăsați butonul.
După ce se aprinde 04, completați încă 2 litri (în rezervor sunt deja 4 litri) și apăsați butonul.
Astfel, la calibrare, toate valorile de pe indicatoare sunt într-un mod intermitent, iar apăsând butonul suntem de acord că într-adevăr există n-litri în rezervor atunci când valoarea acestuia clipește. După calibrare, afișajul va arata 40, ceea ce inseamna 40 de litri de benzina in rezervor (pana la urma asa este) si clipirea se va opri.Aparatul a trecut in modul de masurare.Nu mai atingem butonul pentru a nu da jos setarile .Cand nivelul de combustibil scade sub 6 litri, indicatoarele incep sa clipeasca, asta indica ca este timpul sa realimentezi.Kit-ul include firmware cu diferite etape de calibrare, toate functionale si destul de precise.
Aparatul arată exact în repaus, când benzina din rezervor nu stropește și plutitorul nu pompează.
Capcanele au fost cu alegerea unui divizor de 1,5 kOhm, circuitul meu a funcționat fără probleme cu o rezistență de 500 Ohm!





Senzorul de nivel al combustibilului este un lucru indispensabil oricărei mașini. Vă permite să monitorizați combustibilul rămas în rezervor în timp real și, prin urmare, să nu blocați în cel mai inoportun moment. Senzorul capacitiv este scufundat în rezervor, iar citirile primite de la acesta sunt afișate pe tabloul de bord.

Tipuri de senzori

Senzorii moderni se bazează pe un design potențiometric. Este destul de simplu, oferă măsurători precise și este accesibil. Astfel de senzori sunt împărțiți în pârghie și tubulari. Dar nu pot fi folosite în toate tipurile de mașini.

Senzorii avansați fără contact sunt capabili să determine cantitatea de combustibil fără scufundare în rezervor. Există mai multe tipuri de astfel de dispozitive:

  • Magnetic;
  • controlat prin radio;
  • cu ultrasunete.

În dispozitiv, sunt destul de complexe, deci pot fi fabricate doar în fabrică. Însă un simplu senzor de contact capacitiv este în puterea unui radioamator pasionat care are priceperea de a lucra cu un fier de lipit și înțelege principiile de funcționare a sistemului de alimentare al unei mașini.

Principiul principal de funcționare al unui astfel de senzor este că pentru o anumită valoare a nivelului de combustibil, este dat propriul său semnal. Desigur, plutitorul nu coboară imediat, de îndată ce nivelul combustibilului pleacă, ci după ceva timp. În acest sens, dispozitivul poate da o mică eroare, care depinde și de designul rezervorului și de fluctuațiile benzinei sau motorinei. Datele sunt afișate pe tabloul de bord în formă digitală sau analogică. Valoarea digitală este mai precisă și are o eroare minimă.

Cum se face un senzor capacitiv

Principiul de funcționare al unui senzor capacitiv este compararea datelor capacității electrice. De fapt, dispozitivul este un condensator convențional. Puteți realiza un astfel de dispozitiv cu două tuburi sau plăci metalice la îndemână. Regulile de fabricație sunt următoarele:

1. Ambii electrozi sunt izolați de contactul electric.

  1. Când senzorul este scufundat în combustibil, spațiul dintre electrozi este umplut liber cu combustibil, iar când nivelul scade, electrozii rămân în aer.
  2. Contorul este instalat în rezervor nu uniform, dar ușor înclinat.
  3. Puterea furnizată dispozitivului nu trebuie să fie mai mare de 5 W, altfel benzina se va aprinde de la o scânteie.
  4. Circuitul în sine este situat aproape de senzor, cu cât mai aproape, cu atât mai bine.
  5. Lungimea firelor de la circuit la senzor nu trebuie să depășească 2 cm.
  6. Senzorul capacitiv este format din două module interconectate prin trei fire: modulul senzorului însuși și modulul de afișare. Două fire alimentează modulul senzorului, iar al treilea fir transmite semnalul de la senzor la modulul de afișare.

Dacă există mult combustibil în rezervor, atunci capacitatea senzorului este mai mare și este nevoie de mai mult timp pentru a încărca. Acest principiu de măsurare poate fi implementat folosind microcontrolerul încorporat. O parte din tensiune este aplicată la intrare de un motor rezistiv. Când contorul primește tensiune, microcontrolerul pornește. Când tensiunea atinge nivelul de vârf, temporizatorul pornește. De la temporizator, datele sunt trimise către modulul de reflexie.



eroare: Conținutul este protejat!!