Mundarija:
- 1 -qadam: nazariya
- 2 -qadam: ma'lumotlar bazasi
- 3 -qadam: Apache -ni sozlash
- 4 -qadam: PHP -ni sozlash
- 5 -qadam: Mashinaning dizayni
- 6 -qadam: Mashinani yasash
- 7 -qadam: Arduino kodi
- 8 -qadam: Python dasturi
- 9 -qadam: Parcha tanlagichidan foydalanish
Video: CNC qismlarini yig'ish mashinasi: 9 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Agar siz men kabi jiddiy ishlab chiqaruvchi bo'lsangiz, demak sizda son -sanoqsiz rezistorlar, kondansatkichlar va boshqa elektron komponentlar bo'ladi. Ammo katta muammo bor: qanday narsaga yoki qancha narsaga ega ekanligini qanday kuzatish mumkin? Bu masala bo'yicha men MySQL ma'lumotlar bazasidan ma'lumot oladigan CNC mashinasini yaratdim, so'ngra so'ralgan elementni oladi va oladi. Ma'lumotlar bazasiga qo'shimcha ravishda, men foydalanuvchilarga tizimga kirishga, keyin qismlar toifalarini yaratishga, yangi qismlarni qo'shishga va qismlar sonini o'zgartirishga imkon beradigan veb-sahifa yaratdim. Shunday qilib, aktsiyalarni boshqarish tizimi kabi, har bir elementni hisobga olish mumkin.
Komponentlar:
- Arduino UNO va Genuino UNO
- Mashina vintlari: 8 mm, 3 mm, 4 mm
- MOSFET N-kanali
- Rektifier diodi 1N4001
- Bosqichli dvigatel NEMA 17 x2
- Stepper motor x2 uchun DRV8825 haydovchi
- Kondensator 100 mF x 2
- DFRobot Servo Gripper
- DFRobot vaqt kamari x2
- DFRobot 5MM vaqt kasnagi x2
- DFRobot chiziqli rulman 6mmx12mm x2
- DFRobot bilya rulmani 8 mm x 12 mm
1 -qadam: nazariya
Bu tizimning asosi inventarizatsiyani kuzatib borishdir. Masalan, agar kimdir 20 ta Arduino Uno taxtasini sotib olsa, ular bu miqdorni ma'lumotlar bazasi jadvaliga osongina qo'shishi mumkin. Bu toifaga "Arduino", "Uno" nomi va 20 tasi kiradi. Ko'p odamlar uchun bu qismning egasi uni qo'shgan odamning foydalanuvchi nomi bo'ladi. Bo'lim, shuningdek, tarmoqdagi joylashuvi haqidagi ma'lumotlarni o'z ichiga oladi. Qachonki qismlar miqdori o'zgarsa, CNC mashinasi o'sha qismni tanlab, foydalanuvchiga beradi.
2 -qadam: ma'lumotlar bazasi
Menga Python va PHP ham kira oladigan hamma joyda ma'lumotlar bazasi kerak edi. Bundan tashqari, uni ko'p qo'llab -quvvatlash bilan ishlatish oson bo'lishi kerak edi, bu MySQL -ni mukammal ma'lumotlar bazasi serveriga aylantirdi. Men https://dev.mysql.com/downloads/windows/installer/ dan mysql o'rnatuvchisini yuklab olishdan boshladim va keyin ishga tushirdim. Men serverni o'rnatishni tanladim (albatta), shuningdek ishchi stol, qobiq va yordamchi dasturlar. Foydalanuvchi nomi va parolni tanlaganingizda, uni eslab qolishga ishonch hosil qiling, chunki xuddi shu hisob ma'lumotlari barcha PHP fayllari va Python skriptida kerak bo'ladi. Serverni ishga tushirgandan so'ng, uni fon jarayoni sifatida ishga tushiring, shunda u doimo faol bo'ladi. Bu yerdan boshlab, hamma narsa men yozgan tartibda yozilishi kerak. Keyin "komponentlar" deb nomlangan yangi ma'lumotlar bazasini (sxema) yarating. Keyin quyidagi jadvallarni qo'shing: "toifalar", "qismlar" va "foydalanuvchilar". Kategoriyalar jadvaliga quyidagi ustunlarni aniq tartibda qo'shing: "id" -int (11), PK, AI; "nomi" -varchar (45); "egasi" - varchar (45).
Bo'limlar jadvaliga quyidagi ustunlarni aniq tartibda qo'shing: "id" -int (11), AI, PK; "toifa" -varchar (45); "nomi" -varchar (45); "miqdor" -int (11); "egasi" -varchar (45); "locationX" -int (11); "locationY" -int (11);
Foydalanuvchilar jadvaliga quyidagi tartibda quyidagi ustunlarni qo'shing: "id" -int (11), AI, PK; "foydalanuvchi nomi" -varchar (45); "parol" -varchar (128);
3 -qadam: Apache -ni sozlash
Men yaratgan veb -sahifalar HTML, CSS, Javascript va PHP -dan foydalanadi. Apache -ning so'nggi versiyasini https://www.apachelounge.com/download/ saytidan yuklab oling va papkani C: / katalogiga ko'chiring. Keyin PHP-ni https://windows.php.net/download#php-7.2 saytidan yuklab oling va uning Thread Safe versiyasi ekanligiga ishonch hosil qiling. Uni oching, uni "PHP" deb o'zgartiring va C: / katalogiga o'tkazing. Keyin C: / Apache24 / conf / httpd.conf -ga kiring va uni tahrir qiling. Bo'lim ostiga quyidagi qatorlarni qo'shing:
LoadModule php7_module C: /PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
AddHandler ilovasi/x-httpd-php.php
PHPIniDir "C:/PHP"
Keyin serverni axlat qutisidagi httpd.exe faylini ishga tushirish orqali sinab ko'ring. Brauzeringizdagi "localhost/" ga o'ting va salom dunyo sahifasi ochilishini bilib oling. Agar shunday bo'lsa, xayr, endi sizda mahalliy veb -server bor.
4 -qadam: PHP -ni sozlash
PHP uchun MySQL -ni o'rnatish uchun bir nechta ishlarni bajarish kerak. Birinchidan, "php.ini tavsiya etilgan" ni "php.ini" deb o'zgartiring va keyin bloknotda oching. Kengaytmalar bo'limiga o'ting va "extension = php_mysqli.dll" ni qo'shing yoki izohlamang, bu PHP -ning MySQL -server bilan aloqa o'rnatishiga imkon beradi. Endi httpd.exe -ni qayta ishga tushiring va "phptest.php" nomli yangi fayl yarating va faylga qo'ying. Endi localhost/phptest.php -ga o'ting va brauzer ma'lumotlari paydo bo'lishini ko'ring.
5 -qadam: Mashinaning dizayni
Men Fusion 360 -da ba'zi asosiy qismlarni yaratish bilan boshladim: 6 mm diametrli tayoq, chiziqli rulman va qadamli motor. Keyin men y o'qini hosil qilish uchun ikkita tayoqni aylantirdim, shuningdek, qadam dvigateli va rulman atrofida vaqt kamarini o'rab qo'ydim. Men ham x o'qini qo'shdim. Keyin men turli qismlarni 3D bosib chiqarishni boshladim, shuningdek CNC ikkita yon panelni uzatdi.
6 -qadam: Mashinani yasash
Men har bir qismning bir nechta takrorlanishini boshdan kechirdim, shuning uchun har xil bo'lsa, shuning uchun. Men har bir qismni silliqlashdan boshladim, so'ngra 3D bosilgan qismlarning har bir teshigini burg'uladim. Keyin men teshiklarga chiziqli rulmanlarni joylashtirdim va ular orqali 6 mm tayoqchalarni o'tkazdim. Men, shuningdek, kasnaqlarni vallariga mahkamlagandan so'ng, step motorlarini o'z joylariga o'rnatdim. Vaqt kamari har ikki o'qning har ikki tomoniga ham bog'langan. Oxir -oqibat, ushlagich juda og'ir bo'lishini tushundim, shuning uchun men elektromagnitni tanladim. Menga mushuk qiyofasida qurilish paytida ham yordam berildi.
7 -qadam: Arduino kodi
Bu mashinaning asosi GRBL edi. Kodning boshida har xil parametrlar ro'yxati keltirilgan, masalan, aylanishga masofa, ofset va kengayish. Men DRV8825 step motorli drayverlarni boshqarish uchun BasicStepperDriver kutubxonasidan foydalandim. Step drayverlari piksellar sonini oshirib, 1/32 mikro-qadamdan foydalanishga o'rnatiladi. Qachonki mashina "yuklansa", u har bir o'q chegara tugmachasini bosmaguncha qadam qo'yadigan ketma -ketlik ketma -ketligidan o'tadi. Keyin u ofset asosida belgilangan joyga o'tadi va joyni 0, 0 ga o'rnatadi. Endi ketma -ket ko'chirish buyrug'ini olganida, u o'sha panjara joyiga o'tadi.
8 -qadam: Python dasturi
Men Flaskni asosiy veb -saytdan GET so'rovlarini qabul qiladigan veb -server sifatida ishlatishni tanladim. So'rovlar qismning nomi va toifasidan iborat. Flask ishlov bergandan so'ng, ma'lumotlar tahlil qilinadi, keyin MySQL -server qismning joylashishini bilish uchun so'raladi. Keyin python skripti Arduino -ga buyruq yuboradi va uning qismi qaerda ekanligini ko'rsatib beradi.
9 -qadam: Parcha tanlagichidan foydalanish
Men veb -sayt fayllarini o'z github omborimga joylashtirdim: https://github.com/having11/cnc_part_picker_webpages MySQL -serveringiz uchun PHP fayllaridagi etishmayotgan parametrlarni almashtiring. Fayllarni Apache jildidagi htdocs papkasiga joylashtiring. Python skriptini ishga tushiring, so'ngra uning miqdori o'zgarganda, mashina o'sha joyga boradi va uni oladi. Bu erda 3D bosib chiqarish fayllarini va veb -sahifa fayllarini toping.
Tavsiya:
Eski kompyuter qismlarini qayta ishlatishning ajoyib usullari: 7 qadam (rasmlar bilan)
Kompyuterning eski qismlarini qayta ishlatishning ajoyib usullari: Men sizga bu kompyuterda hamma tashlab yuboradigan eski kompyuterlarning ayrim qismlarini qayta ishlatish bo'yicha qisqacha fikrlar beraman. to'liq bermaydi
SMD qismlarini standart perfboardga qo'ying: 6 qadam (rasmlar bilan)
O'zingizning SMD qismlaringizni standart perfboardga qo'ying: Instructables hozirda elektron maslahatlar va fokuslar tanlovini o'tkazmoqda, shuning uchun men SMD qismlari va texnikasini standart masalalarda, bir tomonlama, yaxshi ole perfboardda ishlatish bo'yicha o'z fikrlarim bilan bo'lishaman deb o'yladim. Ko'pchiligimiz o'ttizdan ortiq turni ko'pincha topamiz
SMD qismlarini qanday lehimlash mumkin: 6 qadam (rasmlar bilan)
SMD qismlarini qanday lehimlash kerak: Men sizga SMD qismlarini lehimlashning 3 usulini ko'rsataman, lekin biz aniq usullarga o'tishdan oldin, lehimning turi haqida gaplashishni ma'qul deb bilaman. Siz ishlatishingiz mumkin bo'lgan ikkita asosiy turdagi lehim bor, ular qo'rg'oshinli yoki l
Ish stolini qanday yig'ish kerak: 12 qadam
Ish stolini qanday yig'ish kerak: bu ko'rsatmada siz asosiy ish stoli kompyuterini qanday yig'ishni o'rganasiz. Bu kompyuter juda oddiy va oxirgi kompyuter emas. Kompyuterni qayta yig'ish uchun ikki -uch soatdan oshmasligi kerak
ESP8266 va PubNub bilan IoT yoqilgan sensorli ma'lumotlarni yig'ish markazi: 9 qadam (rasmlar bilan)
ESP8266 va PubNub bilan IoT yoqilgan sensorlar ma'lumotlarini yig'ish markazi: ESP8266 -dagi ko'pgina darsliklar yangi darajadagi (masofadan boshqariladigan chiroqni o'chirish) yoki o'z qobiliyatini yaxshilash va takomillashtirishni qidirayotganlar uchun juda murakkab. o'rgatuvchi maqsad bu bo'shliqni yaratishga qaratilgan