제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 19 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
| ||||
| ||||
|
지난 몇 달 동안 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="코드">// 핀 연결 및 회전당 모터 단계 정의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개가 필요합니다.회로도
제조공정
구성품 및 소모품 SparkFun 듀얼 H-Bridge 모터 드라이버 L298 × 1 DC 모터(일반) × 4 Arduino UNO × 1 LED(일반) × 8 저항 221옴 × 8 서보(타워 프로 MG996R) × 1 초음파 센서 - HC-SR04(일반) × 1 앱 및 온라인 서비스 Arduino IDE Microsoft Visual Studio 2015
구성품 및 소모품 초음파 센서 - HC-SR04(일반) × 2 Arduino Nano R3 × 1 포토 저항기 × 1 Maxim 통합 8x8 LED 매트릭스 MAX7219 × 2 납땜 브레드보드 절반 크기 × 1 점퍼 와이어(일반) × 1 저항 330옴 × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보 저는 8x8 매트릭스 LED와