Taula de continguts:
- Pas 1: història darrere …
- Pas 2: Com funciona
- Pas 3: Material i eines
- Pas 4: arreglar les coses junts
- Pas 5: connectar les coses juntes
- Pas 6: Connexió dels sensors
- Pas 7: programari del controlador
- Pas 8: Conclusió
Vídeo: Controlador de xarxa del sensor de temperatura tolerant a fallades: 8 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Aquesta instrucció us mostra com convertir una placa Arduino Uno en un controlador d’un sol ús per a un conjunt de sensors de temperatura DS18B20 capaços d’aïllar automàticament els sensors defectuosos.
El controlador pot gestionar fins a 8 sensors amb Arduino Uno. (I molt més amb Arduino Mega o amb una lleugera modificació del programari).
Pas 1: història darrere …
Fa un parell d’anys vaig instal·lar una xarxa de sensors de temperatura DS18B20 a l’hivernacle del meu pare per al meu controlador de calefacció basat en pi. Malauradament, la fiabilitat del controlador era deficient principalment a causa de les freqüents interrupcions del sensor. Vaig provar diverses configuracions: alimentació de paràsits, alimentació directa, connexió de la xarxa a pi, així com connexió a una placa personalitzada basada en Atmega (que tenia com a objectiu principal accionar motors de vàlvules).
El que és pitjor, la fiabilitat de la xarxa de sensors va caure principalment durant les nits d’hivern, mentre que a l’estiu gairebé no hi havia problemes. Què diables passa aquí?
Per investigar quin sensor causa el problema, va sorgir la necessitat d’engegar-los / apagar-los un per un o d’habilitar qualsevol combinació d’ells.
Pas 2: Com funciona
DS18B20 (el sensor de temperatura) utilitza un protocol propietari d'un fil que permet a diversos sensors compartir un enllaç de dades comú (aquell fil). Aquest enllaç de dades comú està connectat a un dels pins GPIO d'Arduino i a + 5 V mitjançant una resistència d'explotació; res estrany, molts instructius cobreixen aquesta configuració.
El truc és que els cables d’alimentació de cada sensor estan connectats als seus propis pins GPIO (dedicats), de manera que es poden activar i desactivar per separat. Per exemple, si un sensor té un cable Vcc connectat al pin # 3 i GND al pin # 2, configurar el pin # 3 a HIGH proporciona energia per al sensor (sense sorpresa) mentre que el pin # 2 a LOW proporciona terra (una petita sorpresa per jo). Si configureu els dos pins al mode d’entrada, s’aïllarà (gairebé) completament el sensor i el seu cablejat; independentment de la fallada (per exemple, una drecera) que es produeixi al seu interior, no interferirà amb els altres.
(Val a dir que connectar el cable de dades a una altra cosa connectada d'alguna manera a Arduino provocarà interferències, però és gairebé impossible en la meva configuració).
Tingueu en compte que el DS18B20 consumeix fins a 1, 5 mA, mentre que un pin Arduino pot generar / enfonsar-se fins a 40 mA, de manera que és perfectament segur alimentar els sensors directament amb pins GPIO.
Pas 3: Material i eines
Material
- 1 placa Arduino UNO
- 3 capçaleres de pin femení: 1 × 4, 1 × 6 i 1 × 6 (o més: les tallo d'una capçalera 1 × 40)
- una cola
- un tros de filferro nu (almenys 10 cm)
- una cinta d’aïllament
- consumibles de soldadura (filferro, flux …)
Eines
- equips de soldadura (planxa, suports, …)
- petites alicates de tall
Pas 4: arreglar les coses junts
Enganxeu les capçaleres dels pins femenins a les capçaleres de la placa Arduino:
- Capçalera 1 × 4 al costat de la capçalera de pin "analògic", de costat a costat amb els pins A0 – A4
- Capçalera 1 × 6 al costat de la primera capçalera de pin digital, de costat a costat amb els pins 2-7
- Capçalera 1 × 6 al costat de la segona capçalera de pin digital, de costat a costat amb els pins 8-13
Fixeu-vos que les meves capçaleres són una mica més llargues … no suposa cap inconvenient ni cap avantatge.
Pas 5: connectar les coses juntes
Cablatge de la línia de bus d’un cable:
- Connecteu tots els cables de les capçaleres encolades al costat "digital" (adjacent als passadors 2-13) soldant un tros de fil nu
- Soldeu l’extrem d’aquest cable al cable de pin SCL (connectat internament a A5)
- Connecteu tots els cables de la capçalera encolada al costat "analògic" (pins A0 – A3) soldant un tros de fil nu
- Soldeu l'extrem d'aquest cable a cables A4 i A5 (he utilitzat A5 i A6 perquè tinc una placa que té A6 i A7)
- Soldeu una resistència de 4k7 entre l’altre extrem d’aquest cable i un cable de pin de +5 V
Notes:
- Els pins A0 – A5, tot i que estan marcats com a “analògics”, també es poden utilitzar com a pins digitals GPIO.
- El pin SCL del costat "digital" està connectat internament a A5 pel costat "analògic"; connectat a les capçaleres, forma la línia de bus d’un cable
- A4 (utilitzat com a entrada analògica) mesura el voltatge del bus amb finalitats diagnòstiques. Aquesta és la raó per la qual està connectat directament al bus.
- He utilitzat A6 en lloc d'A4 perquè tinc una placa que té A6 i A7; originalment volia utilitzar A7 com a mestre de bus de 1 fil, però aquests dos pins no es poden configurar per ser GPIO digitals.
- Per evitar una connexió incorrecta dels connectors del sensor, podeu ometre / retallar el contacte no utilitzat (no connectat a cap cable) de cada connector mascle i inserir-lo al forat corresponent de la capçalera del pin encolat.
Pas 6: Connexió dels sensors
Acabeu de crear un conjunt de vuit sòcols 2 × 2. Podeu soldar i muntar connectors Dupont 2 × 2 per connectar els cables del sensor i connectar-los a aquests endolls. El programari configura els pins perquè els pins parells siguin pins GND i els pins imparells siguin pins Vcc. Per a cada sensor, el pin Vcc és només el pin GND + 1. Un dels altres dos pins del sòcol 2 × 2 (un d'aquests dos de la capçalera enganxada i soldada) és per al cable de dades del sensor. No importa el que utilitzeu.
Pas 7: programari del controlador
L'esbós del Termòmetre Serial executa el controlador. El podeu trobar a github. Obriu i pengeu amb Arduino IDE.
Pas a pas:
- Obriu el vostre IDE Arduino i instal·leu la biblioteca DallasTemperature i totes les seves dependències mitjançant Sketch | Inclou la biblioteca | Gestiona les biblioteques.
- Clonar el dipòsit git. Si no esteu familiaritzat amb git, descarregueu i descomprimiu aquest zip a qualsevol lloc del vostre ordinador.
- Obriu l’esbós de SerialThermometer al vostre IDE Arduino.
- Connecteu la placa Arduino modificada a l'ordinador mitjançant un cable USB (forma estàndard)
- Pengeu l’esbós amb el vostre IDE Arduino
- Obriu el monitor sèrie mitjançant Eines | Monitor de sèrie
- Hauríeu de veure la sortida de diagnòstic que conté diverses mesures físiques seguides de lectures de temperatura: cada sòcol del sensor en una sola línia. Si el recompte del sensor difereix quan s’activa per separat i quan s’encén tots junts), els bucles de diagnòstic fins que es resolguin. Però no us preocupeu, també el diagnòstic proporciona mesures de temperatura.
Consulteu la imatge comentada per obtenir més informació sobre la sortida de diagnòstic.
Pas 8: Conclusió
Tinc la sensació que les falles de la meva xarxa de sensors van ser causades per l’alta capacitat del meu llarg cablejat, al voltant de 10 m de cable LIYY 314 (3 × 0, 14 mm²) per a cada sensor. Els meus experiments van demostrar que la comunicació es trenca si hi ha una capacitat al voltant o superior a 0,01 μF entre el bus d’un cable i la terra, crec que la resistència de tracció 4k7 no és capaç d’arrossegar el bus a + 5 V prou ràpidament per complir els límits del protocol.
A la meva configuració, passa quan es connecten més de 3 sensors. A continuació, el controlador passa el cicle de diagnòstic i mesura la temperatura sensor per sensor (el que és fresc també …)
Però també el cinquè sensor (28: ff: f2: 41: 51: 17: 04: 31) sembla força malalt (potser una soldadura incorrecta), així que puc investigar més.
Recomanat:
Solució del problema del controlador / port sèrie USB del Mac Lilypad: 10 passos (amb imatges)
Solució del problema del controlador / port sèrie USB del Mac Lilypad: a partir de 2016, el vostre Mac té menys de 2 anys? Heu actualitzat recentment el sistema operatiu més recent (Yosemite o alguna cosa més recent)? Ja no funcionen els vostres USB / MP3 Lilypad? El tutorial us mostrarà com he solucionat el meu Lilypad USB. L’error que he trobat estava relacionat
Sensor de temperatura de la xarxa domèstica: 7 passos
Sensor de temperatura de la xarxa domèstica: què heu de saber per fer aquest projecte: heu de saber: - Algunes habilitats electròniques (soldadura) - Linux - Arduino IDE (haureu d’actualitzar taules addicionals a l’IDE: http: // arduino.esp8266.com/stable/package_esp8266 …) - updatin
Tutorial del blindatge del controlador del motor Arduino L293D: 8 passos
Tutorial del blindatge del controlador del motor Arduino L293D: Podeu llegir aquest i molts altres tutorials sorprenents al lloc web oficial d’ElectroPeak Descripció general En aquest tutorial, aprendreu a conduir motors CC, pas a pas i servomotors mitjançant un blindatge del controlador del motor Arduino L293D. Què aprendreu: Informació general
Inversor lligat a la xarxa (no alimenta la xarxa) Alternativa UPS: 7 passos (amb imatges)
Inversor lligat a la quadrícula de bricolatge (no alimenta la xarxa) Alternativa de SAI: aquest és un missatge de seguiment de la meva altra instrucció sobre com fer un inversor de connexió a la xarxa que no es retroalimenta, ja que ara sempre és possible fer-ho en certes àrees com a projecte de bricolatge i en alguns llocs no es permet alimentar-s’hi
Controlador de xarxa d’IoT. Part 9: IoT, domòtica: 10 passos (amb imatges)
Controlador de xarxa IoT. Part 9: IoT, domòtica: descàrrec de responsabilitat LLEGEIX AQUEST PRIMER Aquest document instructiu detalla un projecte que utilitza la xarxa elèctrica (en aquest cas, el Regne Unit 240VAC RMS), tot i que s’ha tingut molta cura d’utilitzar pràctiques segures i bons principis de disseny, sempre hi ha el risc de ser potencialment letals. elegir