Spisu treści:

Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)
Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)

Wideo: Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)

Wideo: Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)
Wideo: 9 mitów o CNC - czy warto iść w tę branżę? Trochę vlog? #2 2024, Lipiec
Anonim
Maszyna do pobierania części CNC
Maszyna do pobierania części CNC

Jeśli jesteś poważnym producentem, tak jak ja, najprawdopodobniej będziesz miał niezliczoną ilość rezystorów, kondensatorów i różnych innych elementów elektronicznych. Ale jest poważny problem: jak można śledzić, co lub ile czegoś ma? W tym wydaniu stworzyłem maszynę CNC, która pobiera informacje z bazy danych MySQL, która następnie pobiera żądaną pozycję. Oprócz back-endu bazy danych wykonałem front-endową stronę WWW, która pozwala użytkownikom na logowanie się, a następnie tworzenie kategorii części, dodawanie nowych części i zmianę ilości części. W ten sposób można zaksięgować każdą pojedynczą pozycję, podobnie jak system zarządzania zapasami.

Składniki:

  • Arduino UNO i oryginalne UNO
  • Śruby maszynowe: 8mm, 3mm, 4mm
  • Kanał N MOSFET
  • Dioda prostownicza 1N4001
  • Silnik krokowy NEMA 17x2
  • Sterownik DRV8825 do silników krokowych x2
  • Kondensator 100 µF x2
  • Chwytak serwo DFRobot
  • Pasek rozrządu DFRobot x2
  • Koło rozrządu DFRobot 5MM x2
  • Łożysko liniowe DFRobot 6mmx12mm x2
  • Łożysko kulkowe DFRobot 8mmx12mm

Krok 1: Teoria

Image
Image

Podstawą tego systemu jest śledzenie stanów magazynowych. Na przykład, jeśli ktoś kupi 20 płyt Arduino Uno, może łatwo dodać tę ilość do tabeli bazy danych. Kategoria to „Arduino”, nazwa „Uno” i ilość 20. W przypadku wielu osób właścicielem tej części będzie nazwa użytkownika osoby, która ją dodała. Część zawierałaby również dane o jego lokalizacji na siatce. Za każdym razem, gdy zmienia się ilość części, maszyna CNC wybiera tę część i przekazuje ją użytkownikowi.

Krok 2: Baza danych

Baza danych
Baza danych
Baza danych
Baza danych

Potrzebowałem wszechobecnej bazy danych, do której można uzyskać dostęp zarówno za pomocą Pythona, jak i PHP. Musiał być również łatwy w użyciu i mieć dużo wsparcia, co czyniło MySQL idealnym serwerem baz danych. Zacząłem od pobrania instalatora mysql z https://dev.mysql.com/downloads/windows/installer/, a następnie go uruchomiłem. Zdecydowałem się zainstalować serwer (oczywiście), a także środowisko pracy, powłokę i narzędzia. Po wybraniu nazwy użytkownika i hasła pamiętaj o tym, ponieważ te same dane uwierzytelniające są potrzebne we wszystkich plikach PHP i skrypcie Python. Po uruchomieniu serwera włącz go jako proces w tle, aby zawsze był aktywny. Odtąd wszystko musi być pisane i dokładnie w tej samej kolejności, w jakiej je mam. Następnie utwórz nową bazę danych (schemat) o nazwie „komponenty”. Następnie dodaj następujące tabele: „kategorie”, „części” i „użytkownicy”. W tabeli kategorii dodaj następujące kolumny w dokładnie tej kolejności: "id" -int(11), PK, AI; "nazwa" -varchar(45); „właściciel” - varchar(45).

W tabeli części dodaj następujące kolumny w tej dokładnej kolejności: "id" -int(11), AI, PK; "kategoria" -varchar(45); "nazwa" -varchar(45); "ilość" -int(11); "właściciel" -varchar(45); "lokalizacjaX" -int(11); "lokalizacjaY" -int(11);

W tabeli users dodaj następujące kolumny w dokładnie tej kolejności: "id" -int(11), AI, PK; "nazwa użytkownika" -varchar(45); "hasło" -varchar(128);

Krok 3: Konfiguracja Apache

Konfigurowanie Apache
Konfigurowanie Apache
Konfigurowanie Apache
Konfigurowanie Apache
Konfigurowanie Apache
Konfigurowanie Apache

Stworzone przeze mnie strony internetowe wykorzystują HTML, CSS, Javascript i PHP. Zacznij od pobrania najnowszej wersji Apache z https://www.apachelounge.com/download/ i rozpakuj ją, przenosząc folder do katalogu C:\. Następnie pobierz PHP z https://windows.php.net/download#php-7.2 i upewnij się, że jest to wersja Thread Safe. Rozpakuj go, zmień jego nazwę na „PHP” i przenieś do katalogu C:\. Następnie przejdź do C:\Apache24\conf\httpd.conf i edytuj go. Dodaj następujące wiersze tuż pod sekcją:

LoadModule php7_module C:/PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

Aplikacja AddHandler/x-httpd-php.php

PHPIniDir "C:/PHP"

Następnie przetestuj swój serwer, uruchamiając plik httpd.exe znajdujący się w folderze bin. Przejdź do „localhost/” w przeglądarce i sprawdź, czy pojawi się strona hello world. Jeśli tak, hurra, masz teraz lokalny serwer WWW.

Krok 4: Konfiguracja PHP

Konfiguracja PHP
Konfiguracja PHP
Konfiguracja PHP
Konfiguracja PHP

Aby skonfigurować MySQL dla PHP, należy zrobić kilka rzeczy. Najpierw zmień nazwę „php.ini-recommended” na „php.ini”, a następnie otwórz ją w notatniku. Przejdź do sekcji rozszerzeń i dodaj lub odkomentuj „extension=php_mysqli.dll”, co pozwoli PHP komunikować się z serwerem MySQL. Teraz uruchom ponownie httpd.exe i utwórz nowy plik o nazwie "phptest.php" i umieść go w pliku. Teraz przejdź do localhost/phptest.php i sprawdź, czy pojawią się informacje o Twojej przeglądarce.

Krok 5: Projektowanie maszyny

Projektowanie maszyny
Projektowanie maszyny
Projektowanie maszyny
Projektowanie maszyny
Projektowanie maszyny
Projektowanie maszyny

Zacząłem od stworzenia kilku podstawowych części w Fusion 360: pręta 6 mm, łożyska liniowego i silnika krokowego. Następnie naciągnąłem dwa pręty w poprzek, aby utworzyć oś y, a także założyłem pasek rozrządu wokół silnika krokowego i łożyska. Dodałem też oś x. Następnie zacząłem drukować w 3D różne części, a także frezowałem CNC dwa panele boczne.

Krok 6: Tworzenie maszyny

Tworzenie maszyny
Tworzenie maszyny
Tworzenie maszyny
Tworzenie maszyny
Tworzenie maszyny
Tworzenie maszyny

Skończyło się na tym, że przeszedłem przez wiele iteracji każdej części, więc jeśli jakieś są różne, to właśnie dlatego. Zacząłem od szlifowania każdej części, a następnie wywiercenia każdego otworu w wydrukowanych częściach 3D. Następnie włożyłem łożyska liniowe do otworów i przepuściłem przez nie pręty 6mm. Zamontowałem również silniki krokowe w ich odpowiednich miejscach po przymocowaniu kół pasowych do ich wałów. Pasek rozrządu został owinięty po obu stronach dla obu osi. W końcu zdałem sobie sprawę, że chwytak byłby zbyt nieporęczny, więc zamiast tego zdecydowałem się na elektromagnes. Przy jego budowie miałam też pomoc w postaci kota.

Krok 7: Kod Arduino

Kod Arduino
Kod Arduino

Moją podstawą do tej maszyny był GRBL. Na początku kodu wymienione są różne parametry, takie jak odległość na obrót, odsunięcia i zakresy. Wykorzystałem bibliotekę BasicStepperDriver do sterowania sterownikami silników krokowych DRV8825. Sterowniki krokowe są ustawione tak, aby używać 1/32 mikrokroków, zwiększając rozdzielczość. Za każdym razem, gdy maszyna „uruchamia się”, przechodzi przez sekwencję bazowania, w której każda oś przechodzi, aż trafi na wyłącznik krańcowy. Następnie porusza się w oparciu o przesunięcie do ustawionej lokalizacji i ustawia lokalizację na 0, 0. Teraz za każdym razem, gdy otrzyma polecenie ruchu przez port szeregowy, porusza się do tej lokalizacji w siatce.

Krok 8: Program w Pythonie

Zdecydowałem się użyć Flaska jako serwera WWW, który otrzymywałby żądania GET z głównej strony internetowej. Żądania składają się z nazwy i kategorii części. Po tym, jak Flask to obsłuży, dane zostaną przeanalizowane, a następnie serwer MySQL zostanie zapytany o lokalizację części. Następnie skrypt Pythona wysyła polecenie do Arduino, określając, gdzie znajduje się część.

Krok 9: Korzystanie z selektora części

Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części
Korzystanie z selektora części

Udostępniłem pliki strony internetowej w moim repozytorium github: https://github.com/having11/cnc_part_picker_webpages Zastąp brakujące parametry w plikach PHP dla konkretnego serwera MySQL. Umieść pliki w folderze htdocs w folderze Apache. Po prostu uruchom skrypt Pythona, a następnie za każdym razem, gdy zmieni się ilość części, maszyna przejdzie do tej lokalizacji i ją pobierze. Tutaj znajdziesz pliki do drukowania 3D, a pliki stron internetowych.

Zalecana: