Taula de continguts:

Mesurador de nivell de tanc d'ultrasons: 5 passos (amb imatges)
Mesurador de nivell de tanc d'ultrasons: 5 passos (amb imatges)

Vídeo: Mesurador de nivell de tanc d'ultrasons: 5 passos (amb imatges)

Vídeo: Mesurador de nivell de tanc d'ultrasons: 5 passos (amb imatges)
Vídeo: Java Tech Talk: Telegram бот на java за 1 час 2024, De novembre
Anonim
Mesurador de nivell de tanc d'ultrasons
Mesurador de nivell de tanc d'ultrasons
Mesurador de nivell de tanc d'ultrasons
Mesurador de nivell de tanc d'ultrasons

Necessiteu controlar el nivell de fluid en un pou de gran diàmetre, un dipòsit o un contenidor obert? Aquesta guia us mostrarà com fer un mesurador de nivell de fluid sense contacte amb sonar mitjançant electrònica econòmica.

L’esbós anterior mostra una visió general del que preteníem amb aquest projecte. La nostra casa d'estiu té un pou de gran diàmetre per subministrar aigua potable per a ús a la casa. Un dia, el meu germà i jo vam parlar de com el nostre avi solia mesurar el nivell de l’aigua manualment per fer un seguiment del consum d’aigua i de l’afluència durant tot l’estiu per evitar el descobert. Vam pensar que amb l'electrònica moderna hauríem de ser capaços de reviure la tradició, però amb menys treball manual. Amb alguns trucs de programació, vam aconseguir utilitzar un Arduino amb un mòdul de sonar per mesurar la distància fins a la superfície de l’aigua (l) amb una fiabilitat raonable i una precisió de ± uns pocs mil·límetres. Això significava que podríem estimar el volum V restant, utilitzant el diàmetre D i la profunditat L coneguts, amb una precisió aproximada de ± 1 litre.

Com que el pou es troba a uns 25 m de la casa i volíem la pantalla a l'interior, vam optar per utilitzar dos Arduinos amb un enllaç de dades entremig. Podeu modificar fàcilment el projecte per utilitzar només un Arduino si aquest no és el vostre cas. Per què no utilitzeu la transferència de dades sense fils? En part a causa de la simplicitat i robustesa (és menys probable que el cable es danyi per la humitat) i en part perquè volíem evitar l’ús de piles al costat del sensor. Amb un cable, podríem encaminar tant la transferència de dades com l’alimentació a través del mateix cable.

1) Mòdul Arduino a la casa Aquest és el mòdul Arduino principal. Enviarà un senyal d’activació a l’Arduino al pou, rebrà la distància mesurada i mostrarà el volum d’aigua restant calculat en una pantalla.

2) Mòdul Arduino i sonar del costat del pou El propòsit d’aquest Arduino és simplement rebre un senyal d’activació de la casa, realitzar una mesura i enviar la distància del mòdul sonar al nivell de l’aigua. L'electrònica està integrada en una caixa (relativament hermètica), amb una canonada de plàstic connectada al costat receptor del mòdul sonar. El propòsit de la canonada és reduir els errors de mesura reduint el camp de visió de manera que el receptor només "vegi" la superfície de l'aigua.

Pas 1: parts, proves i programació

Parts, proves i programació
Parts, proves i programació
Parts, proves i programació
Parts, proves i programació
Parts, proves i programació
Parts, proves i programació

Hem utilitzat les següents parts en aquest projecte:

  • 2 x Arduino (un per mesurar el nivell de fluid, un per mostrar els resultats en una pantalla)
  • Una font d’alimentació bàsica de 12V
  • Mòdul d'ultrasons (sonar) HC-SR04
  • Mòdul de visualització LED MAX7219
  • Cable telefònic de 25 m (4 cables: alimentació, terra i 2 senyals de dades)
  • Caixa de muntatge
  • Cola calenta
  • Soldar

Cost de les peces: uns 70 €

Per assegurar-nos que tot funcionés com calia, primer vam fer totes les proves de soldadura, cablejat i proves de banc senzilles. Hi ha un munt d’exemples de programes en línia per al sensor d’ultrasons i el mòdul LED, de manera que només els hem utilitzat per assegurar-nos que la distància mesurada tenia sentit (imatge 1) i que hem pogut captar la reflexió ultrasònica de la superfície de l’aigua. lloc (imatge 2). També hem fet proves exhaustives de l'enllaç de dades per assegurar-nos que funciona sempre per a llargues distàncies, cosa que no ha demostrat ser cap problema.

No menystingueu el temps dedicat a aquest pas, ja que és vital saber que el sistema funciona abans d’esforçar-se a muntar tot bé a les caixes, a excavar cables, etc.

Durant les proves, ens vam adonar que el mòdul sonar capta de vegades un reflex sonor d’altres parts del pou, com ara les parets laterals i el tub de subministrament d’aigua, i no la superfície de l’aigua. Això significava que la distància mesurada seria de sobte molt menor que la distància real al nivell de l'aigua. Com que no podem utilitzar simplement la mitjana per suavitzar aquest tipus d'errors de mesura, vam decidir descartar qualsevol nova distància mesurada que fos massa diferent de l'estimació de distància actual. Això no és problemàtic, ja que esperem que el nivell de l'aigua canviï lentament de totes maneres. En iniciar-se, aquest mòdul farà una sèrie de mesures i seleccionarà el valor més gran rebut (és a dir, el nivell d’aigua més baix) com a punt de partida més probable. Després d'això, a més de la decisió de "mantenir / descartar", s'utilitza una actualització parcial del nivell estimat per suavitzar els errors de mesurament aleatoris. També és important deixar desaparèixer tots els ecos abans de realitzar una nova mesura, almenys en el nostre cas on les parets estan fetes de formigó i, per tant, són molt eco.

La versió final del codi que hem utilitzat per als dos Arduinos es pot trobar aquí:

github.com/kelindqv/arduinoUltrasonicTank

Pas 2: Obres Civils

Treballs civils
Treballs civils

Com que el nostre pou estava situat a una distància de la casa, vam haver de crear una petita rasa a la gespa on posar el cable.

Pas 3: Connexió i muntatge de tots els components

Connexió i muntatge de tots els components
Connexió i muntatge de tots els components
Connexió i muntatge de tots els components
Connexió i muntatge de tots els components
Connexió i muntatge de tots els components
Connexió i muntatge de tots els components

Connecteu-ho tot tal com era durant les proves i espereu que encara funcioni. Recordeu que heu de comprovar que el pin TX d'un Arduino va al RX de l'altre i viceversa. Com es mostra a la imatge 1, hem utilitzat el cable telefònic per subministrar energia a l'Arduino al pou, per evitar l'ús de bateries.

La segona i tercera imatge mostren la disposició de la canonada de plàstic, amb el transmissor situat fora de la canonada i el receptor col·locat a l'interior (sí, era una posició de tret incòmoda …)

Pas 4: calibració

Després d’assegurar-nos que la distància del sensor al nivell de l’aigua es calcula correctament, el calibratge era només qüestió de mesurar el diàmetre del pou i la profunditat total per poder calcular el volum del fluid. També hem ajustat els paràmetres de l'algorisme (temps entre mesures, paràmetres d'actualització parcial, nombre de mesures inicials) per donar una mesura robusta i precisa.

Llavors, fins a quin punt el sensor va rastrejar el nivell de fluid?

Podríem veure fàcilment un efecte de rentar l’aixeta durant uns minuts o rentar el vàter, que és el que volíem. Fins i tot vam poder veure que el pou s’omplia a un ritme relativament previsible durant la nit, tot amb només un cop d’ull a la pantalla. Èxit!

Nota: - La conversió temps-distància actualment no corregeix els canvis de velocitat del so a causa de les variacions de temperatura. Aquesta podria ser una bona incorporació futura, ja que les temperatures al pou variaran força!

Pas 5: ús a llarg termini

Actualització d'1 any: el sensor funciona perfectament sense signes de corrosió o danys malgrat l'entorn humit. L’únic problema durant l’any ha estat que s’acumula condensació al sensor durant el fred (a l’hivern), cosa que evidentment bloqueja el sensor. Aquest no és un problema en el nostre cas, ja que només necessitem lectures durant l’estiu, però és possible que la resta d’usuaris hagin de ser creatius.:) L’aïllament o la ventilació són probablement solucions factibles. Feliç inventar!

Recomanat: