Realizați un tahometru cu o placă Arduino Genuino pentru a citi viteza de rotație d; A
Liniște, se învârte.

de skywodd | 1 octombrie 2016 | Licență (vezi subsol)
Acest articol nu a fost actualizat de ceva timp, conținutul acestuia poate fi depășit.
În acest tutorial, vom vedea împreună cum să realizăm un tahometru simplist cu o placă Arduino/Genuino. Scopul: măsurarea vitezei de rotație a unui ventilator de computer. Ca bonus, vom vedea cum să măsurăm perioada unui semnal de ciclu de funcționare variabil cu tahometrul nostru intern.
rezumat
- Iesirea semnalului de la un ventilator PC
- Adunarea demonstrativă
- Măsurarea cu funcția pulseIn ()
- Măsurarea întreruperii
- Bonus: Măsurarea unei perioade complete cu pulseInCycle ()
- Anexă: Verificați măsurarea vitezei
- Concluzie
Salutare tuturor !
Acum câteva zile, un cititor m-a contactat cu o întrebare foarte specifică: cum să măsoară viteza de rotație a două ventilatoare de computer cu o placă Arduino/Genuino? Excelentă întrebare, o vom vedea imediat
Înainte de a începe, vreau să clarific că scopul acestui tutorial nu este exclusiv să măsoare viteza de rotație a unui ventilator de computer, ci să măsoare frecvența oricărui semnal periodic.
Acest tutorial este perfect valabil dacă utilizați un senzor de efect hall, un fototranzistor sau orice tip de senzor care generează un semnal logic de frecvență proporțional cu cantitatea măsurată.
Iesirea semnalului de la un ventilator PC
Iesirea semnalului de la un ventilator de computer
Ventilatoarele pentru computer au de obicei un senzor de hală în corpul ventilatorului și un mic magnet în partea mobilă.
De fiecare dată când magnetul trece de senzorul de hol, starea semnalului de ieșire este inversată. Astfel, măsurând durata stării înalte (sau scăzute, nu contează), este posibil să se determine viteza de rotație a ventilatorului. Acesta este modul în care plăcile de bază ale computerului pot cunoaște viteza fanilor PC-ului.
Adunarea demonstrativă
Pentru a putea testa fragmentele de cod puțin mai jos, vom implementa un mic ansamblu demonstrativ cu un ventilator de computer „clasic”.
Pentru a efectua această primă asamblare, vom avea nevoie de:
O placă Arduino UNO (și cablul USB),
Un ventilator de computer cu trei sau patru fire,
Un rezistor de 10K ohm - cod culoare maro negru portocaliu,
O diodă pentru semnale mici de tip 1N4148,
O placă de testare și fire pentru cablarea ansamblului nostru.
Vizualizare prototip a ansamblului
Vedere schematică a ansamblului
Pinout a conectorului ventilatorului computerului
Ventilatoarele pentru computer sunt disponibile în două versiuni: 3 pini și 4 pini.
Versiunile cu 3 pini denumite „versiuni DC” sunt proiectate pentru plăcile de bază ale computerului cu un controler analogic de tensiune. Practic, pentru a controla viteza ventilatorului, placa de bază crește sau scade tensiunea de alimentare a ventilatorului, între 5 volți și 12 volți.
Versiunile cu 4 pini denumite „versiuni PWM” sunt proiectate pentru plăcile de bază ale computerului cu un controler de tensiune PWM. În acest caz, ventilatorul este încă furnizat cu 12 volți, iar placa de bază controlează viteza ventilatorului prin intermediul celui de-al patrulea pin al conectorului prin intermediul unui semnal PWM.
În sensul tutorialului nostru, tipul de ventilator nu este important. Ambii conectori sunt identici, cu excepția celui de-al patrulea fir din versiunea cu 4 pini.
Primul fir este întotdeauna masa. Al doilea fir este puterea. Al treilea fir este semnalul de la ieșirea senzorului hol al ventilatorului (asta ne interesează). Și, în cele din urmă, în cazul versiunilor cu 4 pini, al patrulea fir este semnalul de control al vitezei.
N.B. Utilizarea celui de-al patrulea fir al versiunilor cu 4 pini nu face obiectul acestui tutorial și, prin urmare, nu va fi acoperit
Să începem cablarea ansamblului cu ventilatorul. Sursa de alimentare a ventilatorului trebuie să fie conectată la o sursă de alimentare externă care furnizează o tensiune între 5 volți și 12 volți. Dacă doriți doar să testați principiul, puteți conecta sursa de alimentare a ventilatorului la pinul de 5V al plăcii Arduino.
Apoi, împământarea ventilatorului trebuie să fie conectată la pământul sursei de alimentare externe, precum și la pământul plăcii Arduino. Cele două mase trebuie să fie conectate. Este foarte important.
Continuăm cu rezistorul de 10K ohm care este conectat între pinul de 5V al plăcii Arduino și pinul D2 al plăcii Arduino.
N.B. Folosesc pinul D2 deoarece poate fi utilizat cu funcția attachInterrupt () pe care o vom vedea mai târziu în tutorial. Dacă utilizați codul cu pulseIn (), orice pin poate fi utilizat în loc de D2 .
Ansamblul terminat
Ultimul pas al ansamblului este cablarea diodei 1N4148 între pinul D2 al plăcii Arduino și ieșirea senzorului holului ventilatorului.
Dioda 1N4148 este părtinitoare. Aceasta trebuie să fie conectată cu catodul său (banda albă sau neagră) pe partea laterală a știftului ventilatorului. Dacă nu sunteți sigur că înțelegeți, aruncați o privire la ilustrația de mai sus.
Această diodă este esențială pentru buna funcționare a ansamblului. Previne tensiunea de la ieșirea ventilatorului (care poate crește până la 12 volți) să revină la placa Arduino și să o distrugă.
Într-o lume ideală în care producătorii respectă pe deplin standardele, această diodă ar fi inutilă. Numai aici, lumea reală nu este atât de perfectă și unii producători își iau libertatea de a avea o ieșire de tensiune directă în loc de o ieșire colector deschis la senzorul de rotație.
Ilustrația unei ieșiri colector deschis (sursa: Wikipedia)
O ieșire de colector deschis se comportă ca un buton conectat la masă. Când ieșirea este inactivă, ieșirea nu este conectată. Dar când ieșirea este activă, aceasta se conectează la masă.