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

Waschmaschinen-Timer

Komponenten und Verbrauchsmaterialien

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
1306 OLED-Display
× 1
DFRobot Gravity:Digital Push Button (Yellow)
× 2
Seeed Grove - 2-Kanal-SPDT-Relais
× 1
Digilent 5V 2.5A Schaltnetzteil
× 1
SparkFun USB UART Serial Breakout - CY7C65213
× 1
HC-05 Bluetooth-Modul
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Heißklebepistole (generisch)
Klebeband, doppelseitig
Band, Grün

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Einführung

Dies ist ein Ersatzteil für meine Waschmaschine, die einen kaputten Waschtimer hat. Der ursprüngliche Timer war ein mechanischer Timer / Richtungsschalter, der den Motor des Waschbottichs auf folgende Weise steuern kann:

  • X Minuten Waschzeiteingabe vom Benutzer nehmen
  • Drehen Sie den Motor der Waschwanne für einige Sekunden im Uhrzeigersinn
  • Motor für einige Sekunden anhalten
  • Drehen Sie den Motor der Waschwanne für einige Sekunden gegen den Uhrzeigersinn
  • Motor für einige Sekunden anhalten
  • Fahren Sie mit den letzten 4 Schritten fort, bis der Waschtimer abgelaufen ist

Ich werde einen elektronischen Timer bauen, der denselben Vorgang ausführen kann.

Demo

Das folgende Video zeigt die Funktionsweise dieses elektronischen Timers:

Hardware

  • Arduino Pro Mini: Führt Code aus und steuert alles
  • 1306 OLED: Benutzeranweisungen und Timer-Countdown anzeigen
  • Roter/Schwarzer Druckknopf: Timer einstellen und Timer starten
  • 5-V-Relaismodule: Versorgen Sie den Motor und die Steuerrichtung mit Wechselstrom
  • 5-V-Adapter: Schalten Sie den elektronischen Timer ein

1306 OLED wird so direkt auf den Pro Mini gelötet:

2 Relaismodul, 2 Taster, Arduino Pro Mini + 1306 OLED ist auf einem solchen Protoboard angeschlossen -

Programmierung

Schritt 1: Holen Sie sich ein HC-05 Bluetooth-Serial-Modul und ändern Sie seine Baudrate gemäß diesem Tutorial oder diesem Schritt auf 57600. Um diesen Schritt auszuführen, wird ein weiteres Arduino Uno oder ein USB-zu-Seriell-Modul benötigt.

Verwenden Sie die folgenden AT-Befehle

AT 
AT+UART =57600,0,0
AT+RESET

Schritt 2: Nachdem die Baudrate auf 57600 geändert wurde, verbinden Sie den HC-05 mit Arduino pro mini gemäß folgendem Schaltplan

Schritt 3: Wählen Sie das Board aus der Arduino IDE aus, fügen Sie den Code ein und klicken Sie auf Upload.

Ich verwende Bluetooth seriell, weil es drahtlose im System programmierbare Funktionen ermöglicht, die bei Bedarf die Aktualisierung des Codes auf dem Pro mini erleichtert haben.

Verdrahtung und Gerätebetrieb erklärt

Die Verkabelung kann für neuere / andere Waschmaschinenmodelle variieren, daher werde ich meine erklären. Achten Sie auf das "Scharfe" Diagramm in der unteren rechten Ecke, ein WEISSER DRAHT kommt aus dem Netz und geht zum Waschtimer, ein ROTER DRAHT und ein BLAUER DRAHT kommen aus dem Waschtimer. Ich habe diese 3 Drähte vom ursprünglichen (defekten) Waschtimer getrennt und durch ein Loch oben an der Waschmaschine herausgeführt.

Wenn WHITE WIRE auf RED WIRE umgeschaltet wird, dreht sich der Motor im Uhrzeigersinn und wenn WHITE WIRE auf BLUE WIRE umgeschaltet wird, dreht sich der Motor gegen den Uhrzeigersinn.

Dieser elektronische Timer, der mit Arduino pro mini hergestellt wurde, verfolgt die Waschzeit, dreht den Motor der Waschwanne 5 Sekunden lang in eine Richtung, indem er die weißen und roten Drähte über einen Relaiskontakt verbindet. Dann stoppt es den Motor und wartet 5 Sekunden. Danach dreht es den Motor der Wanne für 5 Sekunden in die andere Richtung, indem die WEISSEN und BLAUEN Drähte durch den anderen Relaiskontakt verbunden werden. Dann stoppt es und wartet weitere 5 Sekunden. Alle diese Timing-Sequenzen können bei Bedarf aus dem Code geändert werden.

Das folgende Diagramm zeigt, wie durch einfaches Umdrehen des ankommenden Wechselstromnetzes auf einen Zweig oder den anderen Zweig des Motorkondensators die Richtung des Wechselstrommotors geändert werden kann.

Theorie des Einphasen-Induktionsmotors

Referenzen

In diesen Tutorials erfahren Sie mehr über die einzelnen Komponenten:

  • Relais-Tutorial
  • Schaltflächen-Tutorial

Haftungsausschluss!

Dieses Projekt befasst sich mit der Wechselstromversorgung, auf eigene Gefahr !

Code

  • Unbenannte Datei
Unbenannte DateiC/C++
#include "U8glib.h"//SSD1306 oled waveshare(clk,din,cs,d/c,res);U8GLIB_SSD1306_128X64 u8g(A4,A5,12,11,10);volatile int rbc =0;volatile int bbc =0; int sek =0; int mi =0; int motor_rotation =0;void setup () { u8g.setRot180 (); analogReferenz (INTERN); pinMode(2,INPUT_PULLUP); pinMode(3,INPUT_PULLUP); attachInterrupt(0, ISR_SW_RED,FALLING); attachInterrupt(1, ISR_SW_BLACK,FALLING); PinMode (5, AUSGANG); digitalWrite(5,LOW); PinMode (4, AUSGANG); digitalWrite (4, LOW);}void loop (void) { while (!rbc) { // Timer-Set-Menü anzeigen u8g.firstPage (); do { draw_menu (); } while(u8g.nextPage()); // Anzeige der korrekten Betriebsmeldung des Benutzers if (rbc>0 &&bbc==0) { u8g.firstPage(); do { draw_message(); } while(u8g.nextPage()); Verzögerung (2000); rbc=0; //u8g.clear(); }} // Timer starten if (rbc>0) {sec =59; mi =bbc-1; while(mi>=0) {// Countdown-Timer-Nachricht anzeigen unsigned long temp =millis () +1000; while(temp>
=millis()) {u8g.firstPage(); do { draw_timer(); } while(u8g.nextPage()); } Sek =Sek-1; if(sec%5==0) { control_motor(); // alle 5 Sek. aufrufen} if (Sek <=0) {Sek =59; mi =mi - 1; }} rbc =0; BBC =0; mi =0; sek =0; digitalWrite(5,LOW);digitalWrite(6,LOW); } } // Ende der Schleifevoid draw_menu (void) { u8g.setFont (u8g_font_timB24); if (bbc<10) { u8g.drawStr(22,30,"0"); u8g.setPrintPos(38,30);u8g.print(bbc); aufrechtzuerhalten. Sonst { u8g.setPrintPos (22, 30); u8g.print (bbc); } u8g.drawStr( 54,30,":00"); u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," 'WASCHTIMER'"); u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47,"Rot:START Schwarz:SET TIME"); }void draw_message (void) {u8g.setFont (u8g_font_8x13); u8g.drawStr( 0,10, "WASCHTIMER EINSTELLEN"); u8g.drawStr( 0,23,"ZUERST DURCH DRÜCKEN"); u8g.drawStr( 0,36,"DER SCHWARZE KNOPF"); // u8g.setFont (u8g_font_8x13); u8g.drawStr( 0,62," 'WASCHTIMER'"); u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47,"Rot:START Schwarz:SET TIME"); }void draw_timer (void) {u8g.setFont (u8g_font_timB24); if (mi<10) { u8g.drawStr(22,30,"0"); u8g.setPrintPos(38,30);u8g.print(mi); aufrechtzuerhalten. Sonst { u8g.setPrintPos (22, 30); u8g.print (mi); } u8g.drawStr( 54,30,":"); if (sec<10) { u8g.drawStr(70,30,"0"); u8g.setPrintPos(86,30);u8g.print(sec); aufrechtzuerhalten. Else { u8g.setPrintPos (70,30); u8g.print (sec); } if (motor_rotation ==0) { u8g.setFont (u8g_font_5x8); u8g.drawStr( 0,47," WASHING MOTOR CW Spin"); digitalWrite(5,HIGH); } if (motor_rotation ==1) { u8g.setFont (u8g_font_5x8); u8g.drawStr( 0,47,"WASCHMOTOR GESTOPPT"); digitalWrite(5,LOW);digitalWrite(4,LOW); } if (motor_rotation ==2) { u8g.setFont (u8g_font_5x8); u8g.drawStr( 0,47, "WASCHMOTOR CCW Spin"); digitalWrite (4, HOCH); } if (motor_rotation==3) { u8g.setFont (u8g_font_5x8); u8g.drawStr( 0,47,"WASCHMOTOR GESTOPPT"); digitalWrite(5,LOW);digitalWrite(4,LOW); } u8g.setFont (u8g_font_8x13); u8g.drawStr( 0,62," 'WASCHTIMER'"); } ISR_SW_RED () ungültig machen { sei (); rbc++; cli();}void ISR_SW_BLACK(){ sei(); bbc++; cli();}void control_motor(){ motor_rotation++; if (motor_rotation>3) { motor_rotation =0; }}

Schaltpläne


Herstellungsprozess

  1. EEG-Maschine
  2. Automaten
  3. Abstimmungsgerät
  4. Maschine wechseln
  5. EKG-Maschine
  6. Nähmaschine
  7. Melkmaschine
  8. Teile der Drehmaschine
  9. Drehmaschine verstehen
  10. Bestandteil der Fräsmaschine