สารบัญ:
- ขั้นตอนที่ 1: ทฤษฎี
- ขั้นตอนที่ 2: ฐานข้อมูล
- ขั้นตอนที่ 3: การตั้งค่า Apache
- ขั้นตอนที่ 4: การตั้งค่า PHP
- ขั้นตอนที่ 5: การออกแบบเครื่องจักร
- ขั้นตอนที่ 6: การสร้างเครื่องจักร
- ขั้นตอนที่ 7: รหัส Arduino
- ขั้นตอนที่ 8: โปรแกรม Python
- ขั้นตอนที่ 9: การใช้เครื่องมือเลือกชิ้นส่วน
วีดีโอ: เครื่องหยิบชิ้นส่วน CNC: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
หากคุณเป็นผู้ผลิตที่จริงจังเหมือนฉัน คุณน่าจะมีตัวต้านทาน ตัวเก็บประจุ และส่วนประกอบอิเล็กทรอนิกส์อื่นๆ มากมายอยู่รอบๆ แต่มีปัญหาสำคัญคือ เราจะติดตามสิ่งที่พวกเขามีหรือกี่อย่างได้อย่างไร สำหรับปัญหานี้ ฉันได้สร้างเครื่อง CNC ที่รับข้อมูลจากฐานข้อมูล MySQL ที่จะไปและเรียกค้นรายการที่ร้องขอ นอกเหนือจากแบ็คเอนด์ของฐานข้อมูลแล้ว ฉันยังสร้างเว็บเพจส่วนหน้าซึ่งอนุญาตให้ผู้ใช้เข้าสู่ระบบแล้วสร้างหมวดหมู่ของชิ้นส่วน เพิ่มชิ้นส่วนใหม่ และเปลี่ยนปริมาณของชิ้นส่วน ด้วยวิธีนี้ ทุกรายการสามารถคำนวณได้ เช่นเดียวกับระบบการจัดการสต็อค
ส่วนประกอบ:
- Arduino UNO & Genuino UNO
- สกรูเครื่อง: 8mm, 3mm, 4mm
- MOSFET N-channel
- วงจรเรียงกระแสไดโอด 1N4001
- สเต็ปเปอร์มอเตอร์ NEMA 17 x2
- ไดรเวอร์ DRV8825 สำหรับสเต็ปเปอร์มอเตอร์ x2
- ตัวเก็บประจุ 100 µF x2
- DFRobot Servo กริปเปอร์
- DFRobot Timing Belt x2
- DFRobot 5MM Timing Pulley x2
- DFRobot ลิเนียร์แบริ่ง 6mmx12mm x2
- DFRobot ลูกปืน 8mmx12mm
ขั้นตอนที่ 1: ทฤษฎี
พื้นฐานของระบบนี้คือการติดตามสินค้าคงคลัง ตัวอย่างเช่น ถ้ามีคนซื้อบอร์ด Arduino Uno จำนวน 20 บอร์ด พวกเขาสามารถเพิ่มจำนวนนั้นลงในตารางฐานข้อมูลได้อย่างง่ายดาย หมวดหมู่จะเป็น "Arduino" ชื่อของ "Uno" และจำนวน 20 สำหรับหลาย ๆ คน เจ้าของส่วนนั้นจะเป็นชื่อผู้ใช้ของบุคคลที่เพิ่มเข้าไป ส่วนนี้จะรวมข้อมูลเกี่ยวกับตำแหน่งบนกริดด้วย เมื่อใดก็ตามที่จำนวนชิ้นส่วนเปลี่ยนแปลง เครื่อง CNC จะเลือกชิ้นส่วนนั้นและมอบให้กับผู้ใช้
ขั้นตอนที่ 2: ฐานข้อมูล
ฉันต้องการฐานข้อมูลที่แพร่หลายซึ่งสามารถเข้าถึงได้โดยทั้ง Python และ PHP นอกจากนี้ยังต้องใช้งานง่ายด้วยการสนับสนุนมากมาย ทำให้ MySQL เป็นเซิร์ฟเวอร์ฐานข้อมูลที่สมบูรณ์แบบ ฉันเริ่มต้นด้วยการดาวน์โหลดตัวติดตั้ง mysql จาก https://dev.mysql.com/downloads/windows/installer/ แล้วจึงเรียกใช้ ฉันเลือกที่จะติดตั้งเซิร์ฟเวอร์ (แน่นอน) รวมถึงโต๊ะทำงาน เชลล์ และยูทิลิตี้ด้วย เมื่อคุณเลือกชื่อผู้ใช้และรหัสผ่าน อย่าลืมจำไว้ เนื่องจากจำเป็นต้องใช้ข้อมูลประจำตัวเดียวกันนี้ในไฟล์ PHP และสคริปต์ Python ทั้งหมด หลังจากเริ่มต้นเซิร์ฟเวอร์แล้ว ให้เปิดใช้งานเป็นกระบวนการพื้นหลัง เพื่อให้เซิร์ฟเวอร์ทำงานอยู่เสมอ จากนี้ไปในทุกสิ่งจะต้องสะกดและในลำดับเดียวกันกับที่ฉันมีอยู่ ถัดไป สร้างฐานข้อมูลใหม่ (สคีมา) ที่เรียกว่า "ส่วนประกอบ" จากนั้นเพิ่มตารางต่อไปนี้: "หมวดหมู่", "ชิ้นส่วน" และ "ผู้ใช้" ในตารางประเภทให้เพิ่มคอลัมน์ต่อไปนี้ในลำดับที่แน่นอนนี้: "id" -int(11), PK, AI; "ชื่อ" -varchar(45); "เจ้าของ" - varchar(45)
ในตารางชิ้นส่วน เพิ่มคอลัมน์ต่อไปนี้ในลำดับที่แน่นอนนี้: "id" -int(11), AI, PK; "หมวดหมู่" -varchar(45); "ชื่อ" -varchar(45); "ปริมาณ" -int(11); "เจ้าของ" -varchar(45); "locationX" -int(11); "locationY" -int(11);
ในตารางผู้ใช้ เพิ่มคอลัมน์ต่อไปนี้ในลำดับที่แน่นอนนี้: "id" -int(11), AI, PK; "ชื่อผู้ใช้" -varchar(45); "รหัสผ่าน" -varchar(128);
ขั้นตอนที่ 3: การตั้งค่า Apache
หน้าเว็บที่ฉันสร้างใช้ HTML, CSS, Javascript และ PHP เริ่มต้นด้วยการดาวน์โหลด apache เวอร์ชันล่าสุดจาก https://www.apachelounge.com/download/ และแตกไฟล์ ย้ายโฟลเดอร์ไปที่ไดเร็กทอรี C:\ ถัดไป ดาวน์โหลด PHP จาก https://windows.php.net/download#php-7.2 และตรวจสอบว่าเป็นเวอร์ชัน Thread Safe แตกไฟล์ เปลี่ยนชื่อเป็น "PHP" แล้วย้ายไปยังไดเร็กทอรี C:\ จากนั้นเข้าไปที่ C:\Apache24\conf\httpd.conf แล้วแก้ไข เพิ่มบรรทัดต่อไปนี้ด้านล่างส่วน:
LoadModule php7_module C:/PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
แอปพลิเคชัน AddHandler/x-httpd-php.php
PHPIniDir "C:/PHP"
จากนั้นทดสอบเซิร์ฟเวอร์ของคุณโดยเรียกใช้ httpd.exe ที่อยู่ในโฟลเดอร์ bin ไปที่ "localhost/" ในเบราว์เซอร์ของคุณและดูว่าหน้าสวัสดีโลกปรากฏขึ้นหรือไม่ ถ้าใช่ ไชโย ตอนนี้คุณมีเว็บเซิร์ฟเวอร์ในพื้นที่แล้ว
ขั้นตอนที่ 4: การตั้งค่า PHP
ในการตั้งค่า MySQL สำหรับ PHP ต้องทำหลายสิ่งหลายอย่าง ขั้นแรก เปลี่ยนชื่อ "php.ini-recommended" เป็น "php.ini" แล้วเปิดใน notepad ไปที่ส่วนส่วนขยายและเพิ่มหรือยกเลิกการใส่เครื่องหมาย "extension=php_mysqli.dll" ซึ่งจะทำให้ PHP สื่อสารกับเซิร์ฟเวอร์ MySQL ตอนนี้รีสตาร์ท httpd.exe และสร้างไฟล์ใหม่ชื่อ "phptest.php" แล้วใส่ลงในไฟล์ ไปที่ localhost/phptest.php และดูว่าข้อมูลเบราว์เซอร์ของคุณปรากฏขึ้นหรือไม่
ขั้นตอนที่ 5: การออกแบบเครื่องจักร
ฉันเริ่มต้นด้วยการสร้างชิ้นส่วนพื้นฐานใน Fusion 360: แกน 6 มม. ตลับลูกปืนเชิงเส้น และสเต็ปเปอร์มอเตอร์ จากนั้นฉันก็ขยายสองแท่งข้ามเพื่อสร้างแกน y และใส่เข็มขัดเวลารอบสเต็ปเปอร์มอเตอร์และตลับลูกปืนด้วย ฉันยังเพิ่มแกน x ด้วย จากนั้นฉันก็เริ่มพิมพ์ 3D ชิ้นส่วนต่างๆ และ CNC กำหนดเส้นทางสองแผงด้านข้าง
ขั้นตอนที่ 6: การสร้างเครื่องจักร
ฉันลงเอยด้วยการทำซ้ำหลายครั้งในแต่ละส่วน ดังนั้นหากมีส่วนใดที่ต่างกันนั่นคือสาเหตุ ฉันเริ่มต้นด้วยการขัดแต่ละส่วนแล้วเจาะแต่ละรูในส่วนที่พิมพ์ 3 มิติ จากนั้นฉันก็ใส่ตลับลูกปืนเชิงเส้นตรงเข้าไปในรูแล้ววิ่งแท่งขนาด 6 มม. เข้าไป ฉันยังติดตั้งสเต็ปเปอร์มอเตอร์ในตำแหน่งที่เกี่ยวข้องหลังจากติดรอกเข้ากับเพลา สายพานราวลิ้นถูกคล้องรอบทั้งสองด้านของทั้งสองแกน ในที่สุดฉันก็รู้ว่ากริปเปอร์จะยุ่งยากเกินไป ฉันจึงเลือกใช้แม่เหล็กไฟฟ้าแทน ฉันยังได้รับความช่วยเหลือในขณะที่สร้างมันในรูปแบบของแมว
ขั้นตอนที่ 7: รหัส Arduino
พื้นฐานของฉันสำหรับเครื่องนี้คือ GRBL จุดเริ่มต้นของโค้ดแสดงรายการพารามิเตอร์ต่างๆ เช่น ระยะทางต่อการหมุน ออฟเซ็ต และขอบเขต ฉันใช้ไลบรารี BasicStepperDriver เพื่อควบคุมไดรเวอร์สเต็ปเปอร์มอเตอร์ DRV8825 ไดรเวอร์ stepper ถูกตั้งค่าให้ใช้ 1/32 micro-stepping เพื่อเพิ่มความละเอียด เมื่อใดก็ตามที่เครื่อง "บูทเครื่อง" เครื่องจะผ่านลำดับกลับบ้านโดยที่แต่ละแกนจะก้าวไปจนกระทั่งถึงลิมิตสวิตช์ จากนั้นจะย้ายตามออฟเซ็ตไปยังตำแหน่งที่ตั้งไว้และตั้งค่าตำแหน่งเป็น 0, 0 ตอนนี้เมื่อใดก็ตามที่ได้รับคำสั่งย้ายผ่านอนุกรมจะย้ายไปยังตำแหน่งกริดนั้น
ขั้นตอนที่ 8: โปรแกรม Python
ฉันเลือกใช้ Flask เป็นเว็บเซิร์ฟเวอร์ที่จะรับคำขอ GET จากเว็บไซต์หลัก คำขอประกอบด้วยชื่อและประเภทของชิ้นส่วน หลังจากที่ Flask จัดการข้อมูลจะถูกแยกวิเคราะห์ จากนั้นเซิร์ฟเวอร์ MySQL จะถูกสอบถามเพื่อค้นหาตำแหน่งของส่วนนั้น จากนั้นสคริปต์ python จะส่งคำสั่งไปยัง Arduino โดยระบุว่าส่วนไหนอยู่
ขั้นตอนที่ 9: การใช้เครื่องมือเลือกชิ้นส่วน
ฉันได้ให้ไฟล์เว็บไซต์ในที่เก็บ github ของฉัน: https://github.com/having11/cnc_part_picker_webpages แทนที่พารามิเตอร์ที่ขาดหายไปในไฟล์ PHP สำหรับเซิร์ฟเวอร์ MySQL เฉพาะของคุณ ใส่ไฟล์ลงในโฟลเดอร์ htdocs ในโฟลเดอร์ Apache เพียงเรียกใช้สคริปต์ python จากนั้นเมื่อใดก็ตามที่มีการเปลี่ยนแปลงจำนวนชิ้นส่วน เครื่องจะไปยังตำแหน่งนั้นและรับมัน ค้นหาไฟล์การพิมพ์ 3 มิติที่นี่และไฟล์หน้าเว็บที่นี่
แนะนำ:
พล็อตเตอร์ขวด CNC แบบหมุน: 9 ขั้นตอน (พร้อมรูปภาพ)
พลอตเตอร์ขวด CNC แบบหมุน: ฉันหยิบลูกกลิ้งขึ้นมา ซึ่งอาจใช้ในเครื่องพิมพ์ ฉันเกิดความคิดที่จะเปลี่ยนให้เป็นแกนหมุนของเครื่องพล็อตเตอร์ขวด CNC วันนี้ ฉันต้องการแบ่งปันวิธีการสร้างเครื่องพลอตเตอร์ขวด CNC จากลูกกลิ้งเหล่านี้และเศษอื่นๆ เพื่อ d
วิธีทำเครื่อง CNC ขนาดเล็ก: 11 ขั้นตอน (พร้อมรูปภาพ)
วิธีทำเครื่อง CNC ขนาดเล็ก: สวัสดีทุกคนหวังว่าคุณจะทำได้ดี ฉันมาที่นี่พร้อมกับโปรเจ็กต์เจ๋งๆ อีกโครงการหนึ่ง ซึ่งคุณสามารถสร้างโดยใช้เศษ/ชิ้นส่วนที่ใช้แล้วของคอมพิวเตอร์ ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถสร้างเครื่อง CNC ขนาดเล็กที่บ้านจาก DVD Wri
พล็อตเตอร์หุ่นยนต์ CNC: 11 ขั้นตอน (พร้อมรูปภาพ)
พล็อตเตอร์หุ่นยนต์ CNC: a.articles {ขนาดตัวอักษร: 110.0%; font-weight: ตัวหนา; ตัวอักษรสไตล์: ตัวเอียง; ตกแต่งข้อความ: ไม่มี; background-color: red;} a.articles:hover {background-color: black;} คำแนะนำนี้อธิบายพล็อตเตอร์หุ่นยนต์ควบคุม CNC หุ่นยนต์ประกอบด้วย
CNC Drum Plotter: 13 ขั้นตอน (พร้อมรูปภาพ)
พลอตเตอร์กลอง CNC: a.articles {ขนาดตัวอักษร: 110.0%; font-weight: ตัวหนา; ตัวอักษรสไตล์: ตัวเอียง; ตกแต่งข้อความ: ไม่มี; background-color: red;} a.articles:hover {background-color: black;} คำแนะนำนี้อธิบายพล็อตเตอร์ A4/A3 ที่ทำจากส่วนของ pi พลาสติก
DIY Mini CNC Laser Engraver.: 19 ขั้นตอน (พร้อมรูปภาพ)
DIY Mini CNC Laser Engraver : นี่เป็นคำแนะนำเกี่ยวกับวิธีการที่ฉันรีมิกซ์เครื่องแกะสลัก CNC Laser เก่าของฉันและสร้างเครื่องแกะสลักเลเซอร์ CNC ที่ใช้ Arduino และเครื่องตัดกระดาษบาง ๆ โดยใช้ไดรฟ์ดีวีดีเก่าและใช้เลเซอร์ 250mW เวอร์ชันเก่าของ My CNC:https://www.instructables