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

자동 손 소독제

구성품 및 소모품

Arduino Nano R3
× 1
Theremino 시스템용 스테퍼 모터용 Theremino 드라이버 DRV8825
× 1
점퍼 와이어(일반)
× 1
브레드보드(일반)
미니 브레드보드 2개를 사용했지만 모든 것이 잘 작동합니다.
× 1
9V 배터리(일반)
× 1
9V 배터리 클립
× 1
저항 1k 옴
× 1
커패시터 100μF
× 1
28BYJ-48 Arduino(OEM)용 4상 스테퍼 모터 DC 5V )
× 1
M3 나사 길이는 8mm에서 20mm 사이입니다.
× 19
Arduino용 적외선 장애물 회피 센서 모듈
× 1
리미트 스위치 KW12-3 - 마이크로 롤러 레버 암 평상시 열림/ 닫기
× 1
알루미늄 고정 커플링 5mm ~ 8mm
× 1
황동 너트가 있는 사다리꼴 리드 나사 T8-300mm, 피치 2mm
× 1
온-오프 스위치(일반)
× 1
손 소독제
× 1
688zz 볼 베어링 8x16x5mm
× 1
LM8UU 8x15x24mm 솔리드 폴리머 선형 베어링
× 1
벨크로 타이
× 1

필요한 도구 및 기계

3D 프린터(일반)
내 제품은 Creality3D Ender 3 V 2
납땜 인두(일반)
(선택 사항)
쇠톱(일반)

앱 및 온라인 서비스

Arduino IDE
3D 디자인 프로그램
(선택 사항) Onshape를 사용했습니다.
Ultimaker Cura
(3D 인쇄용 슬라이서)

이 프로젝트 정보

지난 몇 달 동안 COVID-19 전염병은 전 세계적으로 혼란을 퍼뜨리고 있습니다. 수많은 감염자와 불행히도 많은 사상자가 있습니다. 세계보건기구(WHO)가 제안한 가장 중요한 조치 중 하나는 비누나 손 소독제로 지속적인 손 씻기입니다. 그러나 가장 중요한 문제 중 하나는 우리가 그것을 하는 방식이며, 물리적으로 디스펜서를 만지는 것이므로 행동의 전체 목적을 제거하고 감염의 큰 위험을 초래합니다. 그래서 나는 , 14세 소년 , 이 문제를 해결할 수 있는 Arduino Nano 보드를 사용하여 무언가를 만들기로 결정했지만 저렴하고 다양한 디스펜서에 쉽고 빠르고 효과적으로 부착할 수 있기를 원했습니다! 이것이 바로 제가 만든 것입니다. 대부분의 손 소독제/비누 디스펜서에 부착할 수 있는 액세서리입니다. 완전히 돌리세요. 핸즈프리 및 자동

먼저 이 비디오를 보고 장치가 작동하는 모습을 보고 어떻게 작동하고 어떻게 만들어졌는지 이해하세요!

1단계:메커니즘 이해

따라서 기본적으로 스테퍼 모터는 커플러로 나사에 연결됩니다. 그런 다음 3D 인쇄된 프레서는 너트를 사용하여 한 쪽이 나사로 연결되고 다른 쪽이 3D 인쇄된 막대로 지지됩니다. 로드는 나사의 회전력이 누름기를 회전시키는 것을 허용하지 않고 대신 누름기가 선형 움직입니다. . 이런 식으로 우리는 스테퍼가 원하는 만큼 원하는 만큼 모든 방향(앞뒤)으로 이동하도록 명령할 수 있습니다.

2단계:장치 작동 방식 이해

3D 프린팅된 IR 홀더에 부착된 IR 장애물 센서가 작동되면 손을 몇 센티미터 아래에 두는 것만으로 노루발이 설정된 거리 아래로 내려가고(디스펜서를 누름) 2시간 동안 기다립니다. 초 후 엔드 스톱 스위치가 활성화될 때까지 단순히 올라가서 초기 위치로 돌아갑니다. 마찬가지로 장치의 전원을 처음 켜면 누름기가 스위치가 활성화될 때까지 올라갔다가 거기서 멈춥니다. 일종의 자가 교정으로 누름기를 사용할 준비가 된 것입니다.

그런 다음 벨크로를 사용하여 원하는 손 소독제를 감싸고 최대한 조입니다.

이제 자동 손 소독제 디스펜서가 작동합니다!!

3단계:필요한 구성 요소 수집

필요한 구성 요소의 모든 링크는 "사물" 섹션에 있습니다.

4단계:맞춤형 부품 디자인

모든 3D 인쇄 부품은 Onshape에서 제가 설계했지만 "첨부 파일" 섹션에서 모든 .stl 파일을 제공했기 때문에 3D 설계에 대해 걱정할 필요가 없습니다.

5단계:맞춤형 플라스틱 부품 3D 프린팅

내 Creality3D Ender 3 V2의 회색 및 흰색 PLA에서 0.2mm 레이어 높이와 20% 충전으로 부품을 3D 인쇄했습니다. 3D 프린터를 사용할 수 없는 경우 판지나 나무를 사용해 볼 수 있습니다.

6단계:스테퍼 모딩

28BYJ-48 스테퍼 모터는 작고 정말 저렴한 스테퍼 모터입니다. 단극 스테퍼 모터이며 약 300g/cm의 토크가 있습니다. 이것은 우리 프로젝트와 함께 작동하지만 더 나은 결과를 위해 더 강력하기를 바랍니다. 토크를 800+ g/cm로 높일 수 있습니다. 변환하여 양극성으로 간단하고 쉬운 모드로 모터!

바이폴라 스테퍼에는 더 큰 코일이 있으므로 더 많은 토크 .

먼저 드라이버로 파란색 덮개를 제거합니다.

제거한 후에는 칼을 사용하여 빨간색 와이어까지 가는 중간 흔적을 완전히 잘라내고 싶습니다.

하지 않도록 확인하고 싶습니다. 더 이상 연결하지 마십시오.

이제 양쪽에서 빨간색 와이어를 잘라낼 수 있습니다.

이제 파란색 덮개를 다시 부착할 수 있습니다. 다시 장착하려면 지지대 2개를 잘라야 했습니다.

이제 바이폴라 28BYJ-48 스테퍼가 생겼습니다. 초기 토크의 약 2.5배입니다. 그러나 이제 내가 사용하고 있는 DRV8825와 같은 바이폴라 스테퍼 ​​드라이버가 필요합니다. 드라이버의 최소 공급 전압은 8.4V이고 모터는 5V입니다. 그러나 모터의 바이폴라 버전이 해당 전압을 쉽게 처리할 수 있으므로 걱정하지 마십시오!

7단계:DIY 벨크로 넥타이 x2

디스펜서에 액세서리를 부착할 벨크로 타이를 만들 차례입니다. 벨크로 케이블 타이가 이미 있다면 자유롭게 사용하세요.

원하는 만큼 길거나 짧게 만들 수 있지만 한 부분은 30cm - 40cm로 자르고 다른 부분은 4cm - 7cm로 자르는 것이 좋습니다.

이제 두 부품을 함께 스테이플링하려고 합니다. 함께 스테이플할 면이 모두 거칠거나 부드러운지 확인하십시오.

이제 벨크로 넥타이를 사용할 준비가 되었습니다!

이 두 가지가 필요합니다.

8단계:회로

전자 회로를 만들 시간입니다! 우선 100μF 전해 커패시터를 사이에 두고 9V 배터리의 접지를 Arduino 접지에 연결합니다(백색선이 있는 커패시터 측면이 접지/음극임을 기억하십시오). 9V를 일반 On-Off 스위치에 연결한 다음 커패시터 양극의 Vin에 연결합니다. 저는 미니 브레드보드 2개를 케이스 안에 잘 쏙쏙 넣어 사용하고 있는데요, 원하는 브레드보드를 ​​사용하되 공간이 협소한 점을 고려해주세요.

IR 장애물 센서 VCC를 5V에 연결하고 접지를 접지로 연결하고 마지막으로 OUT을 디지털 핀 9에 연결합니다.

이제 엔드 스톱 스위치를 연결합니다. 공통 레그를 5V에 연결하고 일반적으로 개방된 디지털 핀 8과 1kΩ 저항을 통해 접지에 연결합니다.

브레드보드에 DRV8825 바이폴라 모터 드라이버를 추가합니다. Vmot을 Arduino의 Vin에 연결합니다. 두 개의 접지를 접지에 연결합니다. Dir 핀을 Digital 핀 2에 연결하고 Step 핀을 Digital 핀 3에 연결하고 Enable 핀을 Digital 핀 4에 연결합니다. Reset 핀과 Sleep 핀을 서로 연결합니다.

마지막으로 28BYJ-48의 파란색 케이블을 A2에, 노란색 케이블을 A1에, 주황색 케이블을 B1에, 분홍색 케이블을 B2에 연결합니다.

전자 제품이 드디어 연결되었습니다!

9단계:프로그래밍

const int dirPin =2; 

드라이버의 Dir 핀을 Digital 핀 2로 정의합니다.

const int stepPin =3; 

드라이버의 스텝 핀을 디지털 핀 3으로 정의합니다.

const int enablePin =4; 

드라이버의 Enable 핀을 Digital 핀 4로 정의합니다.

const int stepsPerRevolution =6000; 

우리는 회전당 단계 수를 6000으로 정의하고 360도 1회전은 2048단계입니다.

int endStop =8; 

endStop 스위치의 입력 핀을 디지털 핀 8로 정의합니다.

int irSensor =9; 

IR 장애물 센서의 입력 핀을 디지털 핀 9로 정의합니다.

무효 설정()
{
pinMode(endStop, INPUT);
pinMode(irSensor,INPUT);

설정에서 endStop 및 irSensor 핀을 입력으로 선언합니다.

pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);

stepPin, dirPin 및 enablePin을 출력으로 선언합니다.

digitalWrite(enablePin, LOW); 

enablePin을 LOW로 설정하여 DRV8825 드라이버를 활성화합니다.

while(digitalRead(endStop) ==LOW)
{

endStop 스위치의 디지털 값이 LOW인 동안(스위치가 눌러지지 않습니다.)

digitalWrite(dirPin, HIGH); 

모터의 회전 방향은 시계 반대 방향으로 설정됩니다.

for(int x =0; x <1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}

스테퍼는 While 문의 조건이 거짓이 될 때까지 시계 반대 방향으로 한 번에 한 단계씩 회전합니다.

digitalWrite(enablePin, HIGH);
}

이것은 사용하지 않을 때 드라이버가 많은 전류를 소비하지 않도록 드라이버를 비활성화합니다.

무효 루프()
{

if(digitalRead(irSensor)==0)
{

루프에서 irSensor의 디지털 값이 0인 경우(IR 장애물 센서 앞에 장애물(손)이 있음)

digitalWrite(enablePin, LOW); 

드라이버가 활성화됩니다.

digitalWrite(dirPin, LOW); 

모터의 회전 방향은 시계 방향으로 설정됩니다.

for(int x =0; x {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}

스테퍼는 6000단계 동안 시계 방향으로 회전합니다.

delay(2000); 

2초 동안 기다립니다.

while(digitalRead(endStop) ==LOW) 
{

endStop 스위치의 디지털 값이 LOW인 동안(스위치가 눌러지지 않습니다.

digitalWrite(dirPin, HIGH); 

모터의 회전 방향은 시계 반대 방향으로 설정됩니다.

for(int x =0; x <1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}
}

스테퍼는 While 문의 조건이 거짓이 될 때까지 시계 반대 방향으로 한 번에 한 단계씩 회전합니다.

digitalWrite(enablePin, HIGH);
}
}

그런 다음 If 문의 조건이 true이고 코드가 다시 재생될 때까지 드라이버가 비활성화됩니다.

10단계:조립

커버 어셈블리

벨크로 타이를 틈에 놓고 그 위에 홀더를 추가하고 나사로 조이면 됩니다.

x2

벨크로 그립을 덮개에 나사로 고정합니다. 이제 덮개 조립이 완료되었습니다!

x2

프레서 어셈블리

선형 베어링이 중앙에 올 때까지 오른쪽 구멍에 밀어 넣습니다. 4개의 나사로 T8 너트를 누름기의 왼쪽 구멍에 조입니다.

전자 케이스 어셈블리

전자 제품 케이스에 회로를 넣습니다. 구멍을 통해 스테퍼, 스위치 및 IR 장애물 센서의 케이블을 배선합니다.

IR 장애물 센서 홀더 어셈블리

IR 장애물 센서를 구멍에 나사로 고정하고 너트를 사용하여 핏을 조이고 위치를 조정합니다.

최종 조립!

베어링을 삽입합니다.

T8 나사와 누름기 어셈블리를 추가합니다.(T8 나사의 길이는 70mm ~ 82mm여야 합니다. . 더 긴 나사가 있는 경우 쇠톱과 같은 도구를 사용하여 원하는 크기로 잘라야 합니다. 그렇지 않으면 3D 프린팅을 시도해 볼 수 있습니다.)

모터 샤프트에 커플러를 조입니다. 그런 다음 T8 나사로 조입니다. 마지막으로 두 개의 나사로 모터를 베이스에 나사로 고정합니다.

엔드 스톱 스위치를 추가하십시오.

5개의 나사로 덮개를 베이스에 나사로 고정합니다.

2개의 나사로 IR 장애물 센서 홀더를 베이스 전면에 고정합니다.

마지막으로 3개의 나사로 전자 케이스를 커버에 나사로 고정! 잘했어 프로젝트가 완료되었습니다!

결론

대부분의 손 소독제/비누 디스펜서를 완전히 자동으로 핸즈프리로 전환할 수 있는 액세서리 프로젝트가 드디어 완성되었습니다!!

시간 내주셔서 감사합니다!!

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

코드

<울>
  • Automatic_Hand_Sanitizer_Transformer.code
  • Automatic_Hand_Sanitizer_Transformer.codeArduino
    가젯의 코드
    // 핀 연결 및 회전당 모터 단계 정의const int dirPin =2; //driverconst int stepPin =3의 dir 핀을 정의합니다. // driverconst int enablePin =4의 단계 핀을 정의합니다. ///driverconst int stepsPerRevolution =6000의 활성화 핀을 정의합니다. // 한 번의 완전한(360도) 회전은 2048 stepsint endStop =8;//엔드스톱 스위치의 입력 핀을 정의합니다int irSensor =9;//IR 장애물의 입력 핀을 정의합니다 sensorvoid setup(){ pinMode(endStop , INPUT);// 핀을 입력으로 선언 pinMode(irSensor,INPUT); pinMode(stepPin, OUTPUT);// 핀을 출력으로 선언 pinMode(dirPin, OUTPUT); 핀 모드(활성화 핀, 출력); digitalWrite(enablePin, LOW);// 이것은 드라이버를 활성화합니다. while(digitalRead(endStop) ==LOW)// 코드가 시작되면 스테퍼는 종료 정지 스위치 { //정지 스위치가 활성화될 때까지 회전합니다. digitalWrite(dirPin, HIGH ); //방향이 반시계방향으로 설정됨 // 모터를 천천히 회전 for(int x =0; x <1; x++) { digitalWrite(stepPin, HIGH); 지연마이크로초(2000); digitalWrite(스텝핀, LOW); 지연마이크로초(2000); } }digitalWrite(enablePin, HIGH);// 드라이버를 비활성화하여 // 사용하지 않을 때 드라이버가 전류를 소비하지 않도록 }void loop(){ if(digitalRead(irSensor)==0)// IR 장애물 센서 앞의 장애물(손) {digitalWrite(enablePin, LOW);//드라이버를 활성화합니다.digitalWrite(dirPin, LOW);// 방향을 시계 방향으로 설정합니다. // 모터를 천천히 회전 for(int x =0; x   

    맞춤형 부품 및 인클로저

    장치의 기본 베이스입니다.이것은 실제로 디스펜서를 누르는 구성 요소입니다.장치의 덮개입니다.전자 장치의 케이스 역할을 합니다.벨크로 묶는 메커니즘을 만듭니다.
    이 중 2개가 필요합니다.프레서 부분을 지지하는 역할을 합니다.베이스에 연결되고 IR 센서에 대한 지지 역할을 합니다.커버에 벨크로를 고정합니다.
    이 중 2개가 필요합니다.

    회로도


    제조공정

    1. UFO 공격!
    2. 자동 열차 제어
    3. 3D RGB Arduclock
    4. 마이리버
    5. 아이언맨
    6. 조이스틱 게임
    7. 나를 찾기
    8. Arduino 가습기 제어
    9. 리틀 로버
    10. Arduino 조이스틱