산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

세탁기 타이머

구성품 및 소모품

SparkFun Arduino Pro Mini 328 - 5V/16MHz
× 1
1306 OLED 디스플레이
× 1
DFRobot Gravity:디지털 푸시 버튼(노란색)
× 2
Seeed Grove - 2채널 SPDT 릴레이
× 1
Digilent 5V 2.5A 스위칭 전원 공급 장치
× 1
SparkFun USB UART 직렬 브레이크아웃 - CY7C65213
× 1
HC-05 블루투스 모듈
× 1

필요한 도구 및 기계

납땜 인두(일반)
뜨거운 글루건(일반)
테이프, 양면
테이프, 녹색

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

소개

이것은 세탁기 타이머가 고장난 세탁기의 교체 부품입니다. 원래 타이머는 기계식 타이머/방향 스위치로, 다음과 같은 방식으로 세탁기의 모터를 제어할 수 있습니다.

<울>
  • 사용자로부터 x분의 세척 시간 입력
  • 세탁조의 모터를 시계 방향으로 몇 초 동안 회전
  • 몇 초 동안 모터 정지
  • 세탁기 모터를 시계 반대 방향으로 몇 초 동안 회전
  • 몇 초 동안 모터 정지
  • 세탁 타이머가 만료될 때까지 마지막 4단계를 계속 수행
  • 같은 작업을 할 수 있는 전자 타이머를 만들겠습니다.

    데모

    다음 비디오는 이 전자 타이머의 작동을 보여줍니다.

    하드웨어

    <울>
  • Arduino Pro Mini: 코드를 실행하고 모든 것을 제어합니다.
  • 1306 OLED: 사용자 지침 및 타이머 카운트다운 표시
  • 빨간색/검정색 푸시 버튼: 타이머 설정 및 타이머 시작
  • 5V 릴레이 모듈: 모터에 AC 전원 공급 및 제어 방향
  • 5V 어댑터: 전자 타이머 전원
  • 1306 OLED는 다음과 같이 pro mini에 직접 납땜됩니다.

    릴레이 모듈 2개, 푸시버튼 2개, Arduino Pro Mini + 1306 OLED는 이렇게 프로토보드에 연결됩니다. -

    프로그래밍

    1단계: 이 튜토리얼 또는 이 단계에 따라 HC-05 Bluetooth-Serial 모듈을 가져오고 전송 속도를 57600으로 변경합니다. 이 단계를 수행하려면 다른 Arduino Uno 또는 USB to Serial 모듈이 필요합니다.

    다음 AT 명령어 사용

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

    2단계: 전송 속도를 57600으로 변경한 후 다음 배선도에 따라 HC-05를 Arduino pro mini에 연결합니다.

    3단계: Arduino IDE에서 보드를 선택하고 코드를 붙여넣고 업로드를 클릭합니다.

    저는 Bluetooth 직렬을 사용하고 있습니다. 시스템 현장에서 프로그래밍 가능한 기능에서 무선을 활성화하여 필요한 경우 pro mini에서 코드를 업데이트하는 데 도움이 되기 때문입니다.

    배선 및 장치 작동 설명

    최신형/세탁기 모델마다 배선이 다를 수 있으므로 제 세탁기에 대해 설명하겠습니다. 오른쪽 하단 모서리의 "샤프" 다이어그램에 주의하십시오. 하나의 WHITE WIRE는 주전원에서 나와 세척 타이머로 가고, 하나는 RED WIRE와 하나의 BLUE WIRE는 세척 타이머에서 나옵니다. 원래(결함이 있는) 세탁 타이머에서 이 3개의 전선을 분리하고 세탁기 상단의 구멍을 통해 꺼냈습니다.

    WHITE WIRE를 RED WIRE로 전환하면 모터가 시계 방향으로 회전하고 WHITE WIRE를 BLUE WIRE로 전환하면 모터가 반시계 방향으로 회전합니다.

    Arduino pro mini로 만든 이 전자 타이머는 세척 시간을 추적하고 하나의 릴레이 접점을 통해 WHITE 및 RED 와이어를 연결하여 세척조의 모터를 한 방향으로 5초 동안 회전시킵니다. 그런 다음 모터를 멈추고 5초 동안 기다립니다. 그 후 다른 릴레이 접점을 통해 WHITE 및 BLUE 와이어를 연결하여 5초 동안 물통의 모터를 다른 방향으로 회전합니다. 그런 다음 중지하고 5초 더 기다립니다. 이러한 모든 타이밍 시퀀스는 필요한 경우 코드에서 수정할 수 있습니다.

    다음 다이어그램은 AC 입력 주전원을 모터 커패시터의 한쪽 다리 또는 다른 쪽 다리로 뒤집는 것만으로도 AC 모터의 방향을 변경할 수 있는 방법을 보여줍니다.

    단상 유도 전동기 이론

    참조

    다음 튜토리얼에서 각 구성요소에 대해 자세히 알아볼 수 있습니다.

    <울>
  • 릴레이 튜토리얼
  • 버튼 튜토리얼
  • 면책 조항!

    이 프로젝트는 AC 주전원 공급 장치를 다루며 위험을 감수해야 합니다. !

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 제목 없는 파일
  • 제목 없는 파일C/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 정수 bbc =0; 정수 초 =0; 정수 mi =0; int motor_rotation =0; 무효 설정(){ u8g.setRot180(); 아날로그 참조(내부); 핀모드(2,INPUT_PULLUP); 핀모드(3,INPUT_PULLUP); attachInterrupt(0, ISR_SW_RED,FALLING); attachInterrupt(1, ISR_SW_BLACK,FALLING); 핀모드(5, 출력); 디지털 쓰기(5,LOW); 핀모드(4, 출력); digitalWrite(4,LOW);}void loop(void) { while(!rbc) { // 타이머 설정 메뉴 표시 u8g.firstPage(); do { draw_menu(); } 동안( u8g.nextPage() ); // 사용자에게 적절한 작업 메시지 표시 if (rbc>0 &&bbc==0) { u8g.firstPage(); do { draw_message(); } 동안( u8g.nextPage() ); 지연(2000); rbc=0; //u8g.clear(); } } // 타이머 시작 if(rbc>0) { 초 =59; 미 =BBC-1; while(mi>=0) { // 카운트다운 타이머 메시지 표시 unsigned long temp =millis()+1000; while(temp>
    =millis()) { u8g.firstPage(); { draw_timer(); } 동안( u8g.nextPage() ); } 초=초-1; if(sec%5==0) { control_motor(); // 5초마다 호출 } if (sec <=0) { sec =59; 미 =미 - 1; } } rbc =0; BBC =0; 미 =0; 초 =0; 디지털쓰기(5,LOW);디지털쓰기(6,LOW); } }// 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," '세탁 타이머'"); u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47,"빨간색:검정색 시작:시간 설정"); }무효 draw_message(무효){ u8g.setFont(u8g_font_8x13); u8g.drawStr(0,10,"세척 타이머 설정"); u8g.drawStr( 0,23,"첫 번째 푸시"); u8g.drawStr( 0,36,"검은색 버튼"); // u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," '세탁 타이머'"); u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47,"빨간색:검정색 시작:시간 설정"); }무효 draw_timer(무효){ 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(초<10) { u8g.drawStr(70,30,"0"); u8g.setPrintPos(86,30);u8g.print(초); } else { u8g.setPrintPos(70,30);u8g.print(초); } if(모터 회전==0) { u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47," 모터 CW 스핀 세척"); 디지털 쓰기(5, 높음); } if(모터 회전==1) { u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47," 모터 세척이 중지됨 "); 디지털쓰기(5,LOW);디지털쓰기(4,LOW); } if(모터_회전==2) { u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47," WASHING MOTOR CCW Spin"); 디지털 쓰기(4, 높음); } if(모터 회전==3) { u8g.setFont(u8g_font_5x8); u8g.drawStr( 0,47," 모터 세척이 중지됨 "); 디지털쓰기(5,LOW);디지털쓰기(4,LOW); } u8g.setFont(u8g_font_8x13); u8g.drawStr( 0,62," '세탁 타이머'"); }무효 ISR_SW_RED(){ sei(); rbc++; cli();} 무효 ISR_SW_BLACK(){ sei(); BBC++; cli();} 무효 control_motor(){ motor_rotation++; if(모터 회전>3) { 모터 회전 =0; }}

    회로도


    제조공정

    1. EEG 기계
    2. 자판기
    3. 투표기
    4. 기계 교환
    5. EKG 기계
    6. 재봉틀
    7. 착유기
    8. 선반 기계의 부품
    9. 선반 기계의 이해
    10. 밀링 머신의 구성 요소