สารบัญ:

เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32: 9 ขั้นตอน
เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32: 9 ขั้นตอน

วีดีโอ: เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32: 9 ขั้นตอน

วีดีโอ: เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32: 9 ขั้นตอน
วีดีโอ: เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติ SARAYA UD8600 ทำงานด้วยระบบ SENSOR ป้องกันการติดเชิ้อจากสัมผัส 2024, กรกฎาคม
Anonim
เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32
เครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติพร้อม Esp32

ในบทช่วยสอน เราจะดูวิธีการสร้างต้นแบบที่สมบูรณ์ การประกอบเครื่องจ่ายแอลกอฮอล์เจลอัตโนมัติกับ esp32 ซึ่งจะรวมถึงการประกอบทีละขั้นตอน วงจรอิเล็กทรอนิกส์ และซอร์สโค้ดที่อธิบายทีละขั้นตอน

ขั้นตอนที่ 1: วงจร

วงจร
วงจร

วงจรของโปรเจ็กต์นี้ประกอบด้วยโมดูล ky-033 ซึ่งมีเซ็นเซอร์ออปติคัลสะท้อนแสง ซึ่งก็คือ TCRT5000L ซึ่งเป็นโมดูล esp32-t แม้ว่าเราจะสามารถใช้ Arduino ได้ในทุกมุมมอง โดยมีบางส่วนที่น้อยที่สุด การปรับเปลี่ยนซอร์สโค้ดเซอร์โวมอเตอร์ MG995 ในรุ่น 360 องศาเพื่อให้เราสามารถเลี้ยวได้อย่างสมบูรณ์ด้วยแรงบิดสูง ข้างในนั้นสร้างด้วยเฟืองโลหะและแน่นอนวงจรพิมพ์ซึ่งฉันจะจากไป ไฟล์ gerber ด้านล่างเพื่อให้สามารถดาวน์โหลดได้ฟรี

ขั้นตอนที่ 2: คุณสมบัติของโมดูล ESP32-T

คุณสมบัติของโมดูล ESP32-T
คุณสมบัติของโมดูล ESP32-T

การเชื่อมต่อ

โมดูล ESP32 มีรูปแบบ WiFi ทั้งหมด:

  • 802.11 b/g/n/e/i/n
  • Wi-Fi Direct (P2P), P2P Discovery, โหมดเจ้าของกลุ่ม P2P และการจัดการพลังงาน P2P

เวอร์ชันใหม่นี้มีการเชื่อมต่อ Bluethoot ที่ใช้พลังงานต่ำ

  • Bluetooth v4.2 BR/EDR และ BLEBLE Beacon
  • นอกจากนี้ คุณสามารถสื่อสารโดยใช้ SPI, I2C, UART, MAC Ethernet, Host SD protocols

คุณสมบัติของไมโครคอนโทรลเลอร์

CPU ประกอบด้วย Tensilica LX6 Model SoC ที่มีคุณสมบัติและหน่วยความจำดังต่อไปนี้

  • คอร์ 32 บิตคู่พร้อมความเร็ว 160MHz
  • 448 kBytes ROM
  • 520kByteS SRAM

มี 48 พิน

  • ADC. 18 บิต 12 บิต
  • 2 8 บิต DAC
  • เซ็นเซอร์สัมผัส 10 พิน
  • 16 PWM
  • 20 อินพุต/เอาต์พุตดิจิตอล

โหมดพลังงานและการบริโภค

เพื่อการทำงานที่เหมาะสมของ ESP32 จำเป็นต้องจ่ายแรงดันไฟฟ้าระหว่าง 2.8V ถึง 3.6V พลังงานที่คุณใช้ขึ้นอยู่กับโหมดการทำงาน ประกอบด้วยโหมด Ultra Low Power Solution (ULP) ซึ่งงานพื้นฐาน (ADC, PSTN…) จะยังคงดำเนินการในโหมดสลีป

ขั้นตอนที่ 3: Servo MG995 รุ่น 360 องศา

Servo MG995 รุ่น 360 องศา
Servo MG995 รุ่น 360 องศา

mg995 – 360o เป็นเซอร์โวแบบหมุนต่อเนื่อง (360o) เป็นตัวแปรของเซอร์โวปกติ ซึ่งสัญญาณที่เราส่งไปยังเซอร์โวจะควบคุมความเร็วในการหมุน แทนที่จะเป็นตำแหน่งเชิงมุมเหมือนที่เกิดขึ้นในเซอร์โวทั่วไป

เซอร์โวแบบหมุนอย่างต่อเนื่องนี้เป็นวิธีที่ง่ายในการรับมอเตอร์ที่มีการควบคุมความเร็ว โดยไม่ต้องเพิ่มอุปกรณ์เพิ่มเติม เช่น ตัวควบคุมหรือตัวเข้ารหัส เช่นเดียวกับในกรณีของมอเตอร์กระแสตรงหรือทีละขั้นตอน เนื่องจากการควบคุมจะรวมอยู่ในเซอร์โวเอง

ข้อมูลจำเพาะ

  • วัสดุเกียร์: โลหะ
  • ระยะการหมุน: 360
  • แรงดันไฟฟ้าที่ใช้งาน: 3 V ถึง 7.2 V
  • ความเร็วในการทำงานขณะไม่โหลด: 0.17 วินาที / 60 องศา (4.8V); 0.13 วินาที / 60 องศา (6.0V)
  • แรงบิด: 15 กก. / ซม.
  • อุณหภูมิในการทำงาน: -30oC ถึง 60oC
  • ความยาวสายเคเบิล: 310 mm
  • น้ำหนัก: 55g
  • ขนาด: 40.7 มม. x 19.7 มม. x 42.9 มม.

รวมถึง:

  • 1 เซอร์โวมอเตอร์ Tower Pro Mg995 หมุนต่อเนื่อง
  • 3 สกรูสำหรับประกอบ
  • .3 Coples (เขา).

ขั้นตอนที่ 4: Ky-033 Line Detector/Follower Sensor Module

Ky-033 โมดูลเซนเซอร์ตรวจจับสาย/ผู้ติดตาม
Ky-033 โมดูลเซนเซอร์ตรวจจับสาย/ผู้ติดตาม

คำอธิบาย

KY-033 LINE DETECTOR/FOLLOWER SENSOR MODULE โมดูลนี้ได้รับการออกแบบมาเป็นพิเศษสำหรับการตรวจจับสายที่ง่าย รวดเร็วและแม่นยำ ทำให้คุณประกอบหุ่นยนต์ติดตามสายได้ง่าย โมดูลนี้เข้ากันได้กับ Arduino เช่นเดียวกับไมโครคอนโทรลเลอร์ใดๆ ที่มีพิน 5V แรงดันไฟฟ้าที่ใช้งานได้: 3.3 – 5 VDC กระแสการทำงาน: 20mA ระยะตรวจจับ: 2-40 มม. สัญญาณเอาต์พุต: ระดับ TTL (ระดับต่ำมีสิ่งกีดขวาง ระดับสูงที่มีสิ่งกีดขวาง) การตั้งค่าความไว: โพเทนชิออมิเตอร์.ตัวเปรียบเทียบ IC: LM393 เซ็นเซอร์ IR: TCRT5000L อุณหภูมิในการทำงาน: -10 ถึง +50oC ขนาด: 42x11x11 มม. มุมใช้งานจริง: 35o

ขั้นตอนที่ 5: รหัสที่มา

#include เซอร์โว myservo;

const int sensorPin = 12; // พินเดลเซ็นเซอร์ infrarrojo optico refectivo

ค่า int = 0;

การตั้งค่าเป็นโมฆะ () {

myservo.attach(23);//พินสำหรับเซอร์โวมอเตอร์ MG995 de 360 grados

pinMode (เซ็นเซอร์พิน, INPUT); //definir พิน como entrada

}

วงเป็นโมฆะ () {

ค่า = digitalRead (เซ็นเซอร์พิน); //lectura ดิจิตอลเดพินเดลเซ็นเซอร์ infrarrojo

ถ้า (ค่า == ต่ำ) {//Si detecta un objeto cerca se cumple esta función

ตัวกระตุ้น();//LLama a la función actuador

}

}

โมฆะตัวกระตุ้น (){

myservo.write(180);//Baja el actuador lineal

ล่าช้า (700);

myservo.write(90);//Detiene อัลเซอร์โวมอเตอร์

ล่าช้า (600);

myservo.write(0);//Sube el actuador lineal

ล่าช้า (500);

myservo.write(90);//Detiene อัลเซอร์โวมอเตอร์

ล่าช้า(2000);//Esperamos 2 segundos para que no se vuelva a ctivar el servomotor inmediatamente

}

ขั้นตอนที่ 6:

รหัสนี้สามารถใช้ได้กับ Arduino ใด ๆ แต่เราควรระมัดระวังในการปรับเปลี่ยนการใช้พิน 23 (ด้วย Arduino mega ไม่มีปัญหา) โดยพิน Arduino ใด ๆ จาก 2 ถึง 13 (ลบ 12 เนื่องจากใช้สำหรับเซ็นเซอร์ออปติคัลสะท้อนแสง) เนื่องจากตัวอย่างเช่นใน Arduino หนึ่งหรือนาโนพิน 23 ไม่มีอยู่

เซอร์โวที่จะใช้สำหรับโครงการนี้คือ 360 องศา มันจึงหมุนมาเติมเต็มโดยใส่ค่า 180o ไปในทิศทางที่ -myservo.write(180)- เราหยุดมันด้วย -myservo.write(90)- แล้วเราก็หมุน ในทิศทางตรงกันข้ามกับ -myservo.write(90)- นั่นคือสาเหตุที่การรอเวลาอันสั้นโดยมีความล่าช้าสำหรับตัวกระตุ้นเชิงเส้นเพื่อย้ายไปยังตำแหน่งที่ต้องการจึงเป็นสิ่งสำคัญมาก

ขั้นตอนที่ 7: ไฟล์

ไฟล์ ST

rogerbit.com/wprb/wp-content/uploads/2020/10/Archivos-STL.zip

หรือคุณสามารถดาวน์โหลดได้จากรถเดิม แต่ไฟล์ด้านบนมีการแก้ไขไฟล์ STL หนึ่งไฟล์ที่ดูวิดีโอ

ไฟล์เกอร์เบอร์

rogerbit.com/wprb/wp-content/uploads/2020/10/Gerber_PCB_ESP32.zip

ขั้นตอนที่ 8: ไลบรารีเซอร์โวเข้ากันได้กับ Esp32

ในการควบคุมมอเตอร์ คุณสามารถใช้ความสามารถ PWM ของ ESP32 ได้โดยส่งสัญญาณ 50Hz พร้อมความกว้างพัลส์ที่เหมาะสม หรือคุณสามารถใช้ไลบรารีเพื่อทำให้งานนี้ง่ายขึ้นมาก

rogerbit.com/wprb/wp-content/uploads/2020/04/ServoESP32-master.zip

ขั้นตอนที่ 9: จุดจบ

อย่างที่คุณเห็น นี่เป็นโครงการที่ง่ายมากที่จะประกอบ แต่พวกเขาจะต้องมีเครื่องพิมพ์ 3 มิติหรือสร้างชิ้นส่วนการพิมพ์เพื่อประกอบ การลบส่วนประกอบสามารถหาได้จากร้านขายอุปกรณ์อิเล็กทรอนิกส์ และยังสามารถประกอบทุกอย่างในบอร์ดโปรโตบอร์ด โดยไม่ต้องทำ PCB

โครงการแนะนำ

www.youtube.com/watch?v=vxBG_bew2Eg

แนะนำ: