Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Minuteur de machine à laver

Composants et fournitures

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
Écran OLED 1306
× 1
DFRobot Gravity : Bouton-poussoir numérique (jaune)
× 2
Seed Grove - Relais SPDT 2 canaux
× 1
Alimentation à découpage Digilent 5V 2.5A
× 1
SparkFun USB UART Serial Breakout - CY7C65213
× 1
Module Bluetooth HC-05
× 1

Outils et machines nécessaires

Fer à souder (générique)
Pistolet à colle chaude (générique)
Ruban double face
Ruban, vert

Applications et services en ligne

Arduino IDE

À propos de ce projet

Présentation

Il s'agit d'une pièce de rechange pour la machine à laver que j'ai qui a une minuterie de lavage cassée. La minuterie d'origine était une minuterie/interrupteur de direction mécanique, qui peut contrôler le moteur de la cuve de lavage de la manière suivante :

  • Prendre x minutes de temps de lavage saisi par l'utilisateur
  • Faire tourner le moteur de la cuve de lavage dans le sens des aiguilles d'une montre pendant quelques secondes
  • Arrêter le moteur pendant quelques secondes
  • Tourner le moteur de la cuve de lavage dans le sens inverse des aiguilles d'une montre pendant quelques secondes
  • Arrêter le moteur pendant quelques secondes
  • Continuez à faire les 4 dernières étapes jusqu'à ce que la minuterie de lavage expire

Je vais construire une minuterie électronique qui peut faire la même opération.

Démo

La vidéo suivante montre le fonctionnement de cette minuterie électronique :

Matériel

  • Arduino Pro Mini : Exécute le code et contrôle tout
  • 1306 OLED : Afficher les instructions de l'utilisateur et le compte à rebours de la minuterie
  • Bouton poussoir rouge/noir : Régler la minuterie et démarrer la minuterie
  • Modules relais 5 V : Alimenter le moteur en courant alternatif et contrôler la direction
  • Adaptateur 5 V : Alimentez la minuterie électronique

1306 OLED est directement soudé sur le mini pro comme ceci :

Module 2 relais, 2 boutons poussoirs, Arduino Pro Mini + 1306 OLED se connecte sur une protoboard comme celle-ci -

Programmation

Étape 1 : Procurez-vous un module Bluetooth-Serial HC-05 et modifiez son débit en bauds à 57600 selon ce tutoriel ou cette étape. Pour effectuer cette étape, un autre Arduino Uno ou un module USB vers série sera requis.

Utilisez les commandes AT suivantes

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

Étape 2 : Une fois que le débit en bauds est passé à 57600, connectez le HC-05 à Arduino pro mini selon le schéma de câblage suivant

Étape 3 : Sélectionnez la carte de l'IDE Arduino, collez le code et cliquez sur télécharger.

J'utilise la série Bluetooth, car elle permet des capacités programmables sur le terrain sans fil dans le système, ce qui a permis de mettre à jour le code sur pro mini si nécessaire.

Câblage et fonctionnement de l'appareil expliqués

Le câblage peut varier pour les modèles de lave-linge plus récents/différents, je vais donc expliquer le mien. Faites attention au diagramme "Sharp" dans le coin inférieur droit, un FIL BLANC vient du secteur et va à la minuterie de lavage, un FIL ROUGE et un FIL BLEU sort de la minuterie de lavage. J'ai déconnecté ces 3 fils de la minuterie de lavage d'origine (défectueuse) et les ai fait sortir par un trou sur le dessus de la machine à laver.

Lorsque WHITE WIRE est commuté sur RED WIRE, le moteur tourne dans le sens des aiguilles d'une montre et lorsque WHITE WIRE est commuté sur BLUE WIRE, le moteur tourne dans le sens inverse des aiguilles d'une montre.

Cette minuterie électronique fabriquée avec Arduino pro mini gardera une trace du temps de lavage, fera tourner le moteur de la cuve de lavage dans un sens pendant 5 secondes en connectant les fils BLANC et ROUGE via un contact de relais. Ensuite, il arrêtera le moteur et attendra 5 secondes. Après cela, il fera tourner le moteur de la baignoire dans l'autre sens pendant 5 secondes en connectant les fils BLANC et BLEU à travers l'autre contact de relais. Ensuite, il s'arrêtera et attendra encore 5 secondes. Toutes ces séquences temporelles peuvent être modifiées à partir du code si nécessaire.

Le schéma suivant montre comment il suffit de basculer le secteur entrant CA sur une jambe ou sur l'autre jambe du condensateur du moteur, la direction du moteur CA peut être modifiée.

Théorie du moteur à induction monophasé

Références

Vous pouvez en savoir plus sur chaque composant dans ces tutoriels :

  • Tutoriel de relais
  • Tutoriel sur les boutons

Avis de non-responsabilité !

Ce projet traite de l'alimentation secteur, faites à vos risques et périls  !

Code

  • Fichier sans titre
Fichier sans titreC/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 sec =0 ; int mi =0; int motor_rotation =0;void setup(){ u8g.setRot180(); analogReference(INTERNE); pinMode(2,INPUT_PULLUP); pinMode(3,INPUT_PULLUP); attachInterrupt(0, ISR_SW_RED,FALLING); attachInterrupt(1, ISR_SW_BLACK,FALLING); pinMode(5,SORTIE); digitalWrite(5,LOW); pinMode(4,SORTIE); digitalWrite(4,LOW);}void loop(void) { while(!rbc) { // afficher le menu de réglage de la minuterie u8g.firstPage(); faire { draw_menu(); } while( u8g.page suivante() ); // affiche le message de fonctionnement correct de l'utilisateur if (rbc>0 &&bbc==0) { u8g.firstPage(); faire { draw_message(); } while( u8g.page suivante() ); retard (2000); rbc=0 ; //u8g.clear(); } } // démarrer le minuteur if(rbc>0) { sec =59; mi =bbc-1 ; while(mi>=0) { // affiche le message du compte à rebours non signé long temp =millis()+1000 ; while(temp>
=millis()) { u8g.firstPage(); faire { draw_timer(); } while( u8g.page suivante() ); } sec=sec-1; if(sec%5==0) { control_motor(); // appel toutes les 5 sec } if (sec <=0) { sec =59; mi =mi - 1; } } rbc =0; bbc =0 ; mi =0; secondes =0 ; digitalWrite(5,LOW);digitalWrite(6,LOW); } }// fin de loopvoid draw_menu(void){ u8g.setFont(u8g_font_timB24); if (bbc<10) { u8g.drawStr( 22,30,"0"); u8g.setPrintPos(38,30);u8g.print(bbc); } else { u8g.setPrintPos(22,30);u8g.print(bbc); } u8g.drawStr( 54,30,":00"); u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," 'MINUTERIE DE LAVAGE'"); u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47,"Red:START Black:SET TIME"); }void draw_message(void){ u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,10, "RÉGLER LA MINUTERIE DE LAVAGE"); u8g.drawStr( 0,23, "D'ABORD EN APPUYANT"); u8g.drawStr( 0,36,"LE BOUTON NOIR"); // u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," 'MINUTERIE DE LAVAGE'"); u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47,"Red:START Black: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); } else { 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); } else { u8g.setPrintPos(70,30);u8g.print(sec); } if(motor_rotation==0) { u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47," LAVAGE MOTEUR CW Spin"); écriture numérique(5, ÉLEVÉ); } if(motor_rotation==1) { u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47," LAVAGE MOTEUR ARRÊTÉ "); digitalWrite(5,LOW);digitalWrite(4,LOW); } if(motor_rotation==2) { u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47," LAVAGE MOTEUR CCW Spin"); digitalWrite(4,HIGH); } if(motor_rotation==3) { u8g.setFont(u8g_font_5x8) ; u8g.drawStr( 0,47," LAVAGE MOTEUR ARRÊTÉ "); digitalWrite(5,LOW);digitalWrite(4,LOW); } u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," 'MINUTERIE DE LAVAGE'"); }void ISR_SW_RED(){ sei(); rbc++ ; cli();}void ISR_SW_BLACK(){ sei(); bbc++ ; cli();}void control_motor(){ motor_rotation++ ; if(motor_rotation>3) { motor_rotation =0; }}

Schémas


Processus de fabrication

  1. machine EEG
  2. Distributeur automatique
  3. Machine à voter
  4. Changer de machine
  5. machine ECG
  6. Machine à coudre
  7. Pièces de machine de tour
  8. Comprendre le tour
  9. Composant de fraiseuse