Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Sumpfpegelmonitor

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Freescale MPXV5010DP
× 1
0,96" OLED-Bildschirm
× 1
MCP4725 DAC
× 1
Relais (generisch)
× 1
Kondensatoren 1uf, .01uf, 470pf alle SMD
× 1
Durchsichtige Projektbox aus Kunststoff 110 mm*85 mm
× 1
Tygon Tubing 3/32"
× 1

Über dieses Projekt

Der Sumpfpegelmonitor wurde für die Arbeit mit einer Ecobee RSM-01-Eingangsplatine gebaut, die ich im Haus meiner Tochter oder in meinem Home-Monitor-Projekt habe. Ich habe ein Relais hinzugefügt, damit es alleine stehen kann. Ich wollte etwas, von dem ich dachte, dass es zuverlässiger und einfacher zu installieren ist als ein Ultraschallsensor. Zu diesem Zweck habe ich mich mit Drucksensoren befasst und bin schließlich auf Freescale MPXV5010DP gestoßen. Es hat einen 0-5 VDC Ausgang für 0-10 kPa, was etwa 1020 mm Wassersäule entspricht.

Da ich eine lokale Anzeige wollte, habe ich mich für ein OLED-Modul für das Design entschieden. Günstig, hell und dieser hatte einen zweifarbigen Bildschirm. Um eine Schnittstelle bereitzustellen, habe ich ein Relais für einen Trockenkontaktausgang hinzugefügt. Ich habe einen DAC (Digital-Analog-Wandler) für einen 0-5-VDC-Ausgang mit mehr Leistung als der MPXV5010DP-Sensor hinzugefügt. Dies schützt den Sensor auch vor möglichen Kabelschäden. Da ich die I2C-Kommunikation verwende, sind nur Softwareänderungen erforderlich, um Daten an einen anderen Arduino zu liefern.

Ich entwarf und baute eine benutzerdefinierte Platine für einfache Verbindungen. Es bietet genügend Flexibilität für verschiedene Konfigurationen.

Der Sensor ist über ein Tygon-Rohr mit einem Kupferrohr verbunden, das nach unten in den Sumpf geführt wird. Dies ermöglicht eine gewisse Diskretion bei der Montage des Monitors und hält ihn vom Wasser selbst fern.

Code

  • Sumpfpegelmonitor
SumpfpegelmonitorC/C++
Analysieren Sie nach Bedarf, zusätzlichen Müll in dieser Version fahren Sie fort und bereinigen Sie nach Belieben.
#include #include  #include #include  #include #include #define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);#if (SSD1306_LCDHEIGHT !=64)#error("Höhe falsch, bitte korrigieren Adafruit_SSD1306.hfruit!");#endifAdac_ .MCP4725 dac_ .MCP4725;int RelaisPin =5; // für Relaisalarmausgangint analogPin =0; // misst die DAC-Ausgangsspannungint v1 =0; // ADC-Ausgang von MPXV5010int v2 =0; // Skalierung für DAC-Eingang konvertiert von PS-Eingang in DAC-Eingangint v3 =0; // für mm-Konvertierung von PS inputint v4 =0; // für den Prozentsatz der Tiefe von PS inputint v5 =0; // Ausgabe von DAC wie von arduinoint v6 gelesen =0; // für mV-Umwandlung von PS inputfloat v7 =0; // von mm in Zoll konvertieren v8 =0; // um Zoll-Dezimalstellen zu eliminieren, die die Anzeige zerstören Int offSet =40; // die 0 kPa-Ausgabe, gemessen von arduinoint maxSet =1015; // die 10 kPa-Ausgabe, gemessen von arduinoint maxHeight =1020; // die Tiefe für den Sumpf vom normalen Wasserstand bis zum Deckel in mmint range =(maxHeight * 0.8) + offSet;int alarmHeight =12; // die Alarmhöhe in Zoll // Für den MPXV5010DP Differenzdrucksensorint analogPin2 =1; Float Divisor =25,4; // zum Konvertieren der Anzeige in Zollvoid setup () { Serial.begin (9600); Serial.println ("DAC-Test mit DP-Sensor"); // Standardmäßig erzeugen wir die Hochspannung intern aus der 3,3-V-Leitung! (ordentlich!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // mit der I2C-Adresse 0x3D initialisieren (für 128x64) // init done // Puffer löschen. display.clearDisplay(); // Für MCP4725A0 ist die Adresse 0x60 oder 0x61 dac.begin(0x60); pinMode (RelaisPin, AUSGANG); digitalWrite (relayPin, HIGH);} ungültige Schleife () { v1 =analogRead (analogPin2); Verzögerung (1000); if (v1  alarmHeight) {display.invertDisplay (true); digitalWrite (relayPin, LOW);} else { display.invertDisplay (false); digitalWrite(relayPin,HIGH);} display.setTextSize(2); display.setTextColor (WEISS); display.setCursor(0,0); display.println("SUMP LEVEL"); //display.setTextColor (SCHWARZ, WEISS); // 'invertierter' Text display.setTextSize(4); display.setTextColor (WEISS); display.print(v8); display.setTextSize(2); display.println("Zoll"); display.display(); Verzögerung (500); }void serial () {// zum Debuggen und Kalibrieren Serial.print ( " PS analoger Eingang:"); Serial.print (v1); Serial.print ( "Höhe:"); Serial.print (v3); Serial.print("mm"); Serial.print (v4); Serial.print("%"); Serial.print("Umgerechnete Spannung:"); Serial.print (v6); Serial.println(" mV");} // Ende

Schaltpläne

Gebrauchte Eagle 6.5.0 sump%20level.sch

Herstellungsprozess

  1. C#-Variablenbereich
  2. Heimwerker-Umwelt- und Luftqualitätsmonitor
  3. MATRIX VOICE GOOGLE ASSISTANT – MATRIX VOICE PROJEKT
  4. Wettermonitor
  5. Ferngesteuerter Herzfrequenzmesser
  6. Rover
  7. GoPiGo v2 mit Windows IoT
  8. Modellierung auf Gatterebene
  9. JW-Maschine
  10. Wie man eine Drehbank nivelliert