Mündəricat:

CNC hissə toplama maşını: 9 addım (şəkillərlə)
CNC hissə toplama maşını: 9 addım (şəkillərlə)

Video: CNC hissə toplama maşını: 9 addım (şəkillərlə)

Video: CNC hissə toplama maşını: 9 addım (şəkillərlə)
Video: CNC Snapmaker. Proqram və cihazın əlaqələndirilməsi. (Port-Drayver Problemi) 2024, Iyul
Anonim
CNC hissə toplama maşını
CNC hissə toplama maşını

Mənim kimi ciddi bir istehsalçısınızsa, çox güman ki, ətrafınızda saysız -hesabsız rezistorlar, kondansatörlər və digər müxtəlif elektron komponentləriniz olacaq. Ancaq böyük bir problem var: Nəyə və ya neçə şeyə sahib olduğunu necə izləmək olar? Bu məsələ üçün MySQL verilənlər bazasından məlumat alan, sonra gedən və tələb olunan elementi alan bir CNC maşını yaratdım. Verilənlər bazası arxa tərəfinə əlavə olaraq, istifadəçilərin giriş etməsinə və sonra hissələr kateqoriyalarını yaratmasına, yeni hissələr əlavə etməsinə və hissələrin miqdarını dəyişdirməsinə imkan verən bir ön səhifə veb səhifəsi hazırladım. Bu yolla, hər bir maddə, bir səhm idarəetmə sistemi kimi, hesablana bilər.

Komponentlər:

  • Arduino UNO və Genuino UNO
  • Maşın vintləri: 8mm, 3mm, 4mm
  • MOSFET N-kanalı
  • Düzəldici diod 1N4001
  • Step Motor NEMA 17 x2
  • Stepper Motors x2 üçün sürücü DRV8825
  • Kondansatör 100 µF x2
  • DFRobot Servo Tutucu
  • DFRobot Zamanlama Kəməri x2
  • DFRobot 5MM Zamanlama Kasnağı x2
  • DFRobot Xətti Rulman 6mmx12mm x2
  • DFRobot Rulman 8mmx12mm

Addım 1: nəzəriyyə

Image
Image

Bu sistemin əsası inventarizasiyanı izləməkdir. Məsələn, kimsə 20 Arduino Uno lövhəsi alırsa, bu məbləği verilənlər bazası cədvəlinə asanlıqla əlavə edə bilər. Kateqoriya "Arduino", "Uno" adı və 20 ədəd olacaq. Birdən çox insan üçün bu hissənin sahibi onu əlavə edən şəxsin istifadəçi adı olacaq. Bu hissədə, bir ızgarada yerləşdiyi yer haqqında məlumatlar da yer alacaq. Parça miqdarı nə vaxt dəyişərsə, CNC maşını o hissəni seçər və istifadəçiyə verərdi.

Addım 2: Verilənlər bazası

Verilənlər bazası
Verilənlər bazası
Verilənlər bazası
Verilənlər bazası

Həm Python, həm də PHP tərəfindən əldə edilə bilən hər yerdə məlumat bazasına ehtiyacım var idi. MySQL -ni mükəmməl bir verilənlər bazası serverinə çevirərək çoxlu dəstəklə istifadəsi də asan olmalı idi. Mysql yükləyicisini https://dev.mysql.com/downloads/windows/installer/ saytından yükləməklə başladım və sonra işə saldım. Serveri (əlbəttə), həmçinin dəzgahı, qabığı və köməkçi proqramları quraşdırmağı seçdim. İstifadəçi adı və şifrə seçdiyiniz zaman bütün PHP sənədlərində və Python skriptində eyni etimadnaməyə ehtiyac olduğu üçün onu xatırladığınızdan əmin olun. Serveri işə saldıqdan sonra onu arxa planda işləməsinə icazə verin ki, həmişə aktiv olsun. Bundan sonra hər şey yazıldığına və məndə olduğu kimi eyni qaydada olmalıdır. Sonra, "komponentlər" adlı yeni bir verilənlər bazası (sxem) yaradın. Sonra aşağıdakı cədvəlləri əlavə edin: "kateqoriyalar", "hissələr" və "istifadəçilər". Kateqoriyalar cədvəlinə aşağıdakı ardıcıllıqla bu sütunları əlavə edin: "id" -int (11), PK, AI; "adı" -varçar (45); "sahibi" - varchar (45).

Parça cədvəlinə aşağıdakı ardıcıllıqla aşağıdakı sütunları əlavə edin: "id" -int (11), AI, PK; "kateqoriya" -varçar (45); "adı" -varçar (45); "miqdar" -int (11); "sahibi" -varçar (45); "locationX" -int (11); "locationY" -int (11);

İstifadəçilər cədvəlinə aşağıdakı sütunları bu qaydada əlavə edin: "id" -int (11), AI, PK; "istifadəçi adı" -varchar (45); "parol" -varçar (128);

Addım 3: Apache qurmaq

Apache qurmaq
Apache qurmaq
Apache qurmaq
Apache qurmaq
Apache qurmaq
Apache qurmaq

Yaratdığım veb səhifələr HTML, CSS, Javascript və PHP -dən istifadə edir. Ən son apache versiyasını https://www.apachelounge.com/download/ saytından yükləməklə başlayın və qovluğu C: / qovluğuna köçürərək açın. Sonra, PHP-ni https://windows.php.net/download#php-7.2 saytından yükləyin və Mövzunun Təhlükəsiz versiyası olduğundan əmin olun. Açın, adını "PHP" olaraq dəyişdirin və C: / qovluğuna köçürün. Sonra C: / Apache24 / conf / httpd.conf daxil edin və redaktə edin. Bölmənin altına aşağıdakı sətirləri əlavə edin:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler tətbiqi/x-httpd-php.php

PHPIniDir "C:/PHP"

Sonra, bin qovluğunda yerləşən httpd.exe proqramını işə salaraq serverinizi sınayın. Brauzerinizdə "localhost/" a gedin və salam dünya səhifəsinin açılıb -açılmadığını görün. Bu baş verərsə, indi yerli bir veb serveriniz var.

Addım 4: PHP qurmaq

PHP qurmaq
PHP qurmaq
PHP qurmaq
PHP qurmaq

PHP üçün MySQL qurmaq üçün bir sıra işlər görülməlidir. Əvvəlcə "php.ini-tövsiyə olunan" ı "php.ini" adlandırın və sonra notepadda açın. Uzantılar bölməsinə gedin və PHP -nin MySQL serveri ilə əlaqə qurmasına imkan verəcək "extension = php_mysqli.dll" yazın və ya şərh yazmayın. İndi httpd.exe faylını yenidən başladın və "phptest.php" adlı yeni bir fayl yaradın və fayla qoyun. İndi localhost/phptest.php saytına gedin və brauzer məlumatlarınızın ortaya çıxıb -çıxmadığını yoxlayın.

Addım 5: Maşının dizaynı

Maşın dizaynı
Maşın dizaynı
Maşının dizaynı
Maşının dizaynı
Maşın dizaynı
Maşın dizaynı

Fusion 360 -da bir neçə əsas hissə yaratmaqla başladım: 6 mm -lik çubuq, xətti rulman və pilləli motor. Sonra y oxu yaratmaq üçün iki çubuğu yuvarladım və eyni zamanda step motorunun və yatağın ətrafına bir zamanlama kəməri taxdım. Mən də bir x oxu əlavə etdim. Daha sonra müxtəlif hissələri 3D çap etməyə başladım və CNC də iki yan paneli yönləndirdi.

Addım 6: Maşının hazırlanması

Maşın Hazırlanması
Maşın Hazırlanması
Maşın Hazırlanması
Maşın Hazırlanması
Maşın Hazırlanması
Maşın Hazırlanması

Hər hissənin bir neçə dəfə təkrarlanmasını başa vurdum, buna görə də hər hansı biri fərqlidirsə bu səbəbdəndir. Hər hissəni zımparalamaqla başladım və sonra 3D çaplı hissələrdə hər bir çuxuru qazdım. Sonra deliklərə xətti rulmanlar qoydum və 6 mm çubuqları içindən keçirtdim. Kasnaqları şaftlarına bağladıqdan sonra step motorlarını da öz yerlərində quraşdırdım. Zamanlama kəməri hər iki ox üçün hər iki tərəfin ətrafına bükülmüşdür. Nəhayət, tutucunun çox çətin olacağını başa düşdüm və bunun əvəzinə bir elektromaqnit seçdim. Bir pişik şəklində tikərkən də bir az kömək aldım.

Addım 7: Arduino Kodu

Arduino kodu
Arduino kodu

Bu maşın üçün təməlim GRBL idi. Kodun başlanğıcı, fırlanma başına məsafə, ofsetlər və genişliklər kimi müxtəlif parametrləri sadalayır. DRV8825 step motor sürücülərini idarə etmək üçün BasicStepperDriver kitabxanasından istifadə etdim. Step sürücülər, qətnaməni artıraraq 1/32 mikro addım istifadə edəcək. Maşın "açıldıqda", hər bir oxun bir keçid düyməsini vurana qədər addımladığı bir homing ardıcıllığından keçir. Sonra müəyyən bir yerə ofset əsasında hərəkət edir və yeri 0, 0 olaraq təyin edir. İndi serial vasitəsilə bir hərəkət əmri aldıqda o grid yerinə hərəkət edir.

Addım 8: Python Proqramı

Flask'ı əsas veb saytından GET sorğularını alacaq bir veb server olaraq istifadə etməyi seçdim. İstəklər hissənin adından və kateqoriyasından ibarətdir. Flask idarə etdikdən sonra məlumatlar təhlil edilir, sonra hissənin yerini öyrənmək üçün MySQL serverinə sorğu göndərilir. Sonra python skripti, hissənin harada olduğunu göstərərək Arduinoya bir əmr göndərir.

Addım 9: Parça Seçicisini istifadə edin

Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə
Parça Seçicisindən istifadə

Veb sayt sənədlərini github depomda təmin etdim: https://github.com/having11/cnc_part_picker_webpages Xüsusi MySQL serveriniz üçün PHP sənədlərindəki itkin parametrləri dəyişdirin. Faylları Apache qovluğunda htdocs qovluğuna qoyun. Sadəcə python skriptini işlədin və sonra hissə miqdarı dəyişəndə maşın həmin yerə gedəcək və onu alacaq. Burada 3D çap fayllarını və veb səhifəsi fayllarını tapın.

Tövsiyə: