Spisu treści:
- Krok 1: Teoria
- Krok 2: Baza danych
- Krok 3: Konfiguracja Apache
- Krok 4: Konfiguracja PHP
- Krok 5: Projektowanie maszyny
- Krok 6: Tworzenie maszyny
- Krok 7: Kod Arduino
- Krok 8: Program w Pythonie
- Krok 9: Korzystanie z selektora części
Wideo: Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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
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
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
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
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
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
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
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
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:
Przewodnik konfiguracji VPN Premium do szybkiego pobierania i przesyłania strumieniowego OK przez REO: 10 kroków
Przewodnik konfiguracji VPN Premium do szybkiego pobierania i przesyłania strumieniowego OK przez REO: Dziękuję, Asuswrt-MerlinHi, pochodzę z Tajlandii. Zamierzam napisać szczegółowy przewodnik po konfiguracji VPN dla szybkiego pobierania średnio około 100 Mb/s i być może najpłynniejszego przesyłania strumieniowego dla Netflix, Crunchyroll, Hulu itp. Z Tajlandii, miejsce docelowe
Tworzenie pobierania przez robota: 6 kroków
Tworzenie robota Play Fetch: Użyj nowego Pixy2 i DFRobot ESP32 FireBeetle, aby stworzyć robota, który może znajdować i pobierać przedmioty
Ploter CNC Arduino (MASZYNA DO RYSUNKÓW): 10 kroków (ze zdjęciami)
Ploter CNC Arduino (MASZYNA DO RYSOWANIA): Hej chłopaki! Mam nadzieję, że podobał Ci się mój poprzedni instruktaż „Jak stworzyć własną platformę szkoleniową Arduino” i jesteś gotowy na nowy, jak zwykle zrobiłem ten samouczek, aby poprowadzić Cię krok po kroku, robiąc tego rodzaju super niesamowite
Maszyna do rysowania Arduino CNC (lub droga do sukcesu): 10 kroków (ze zdjęciami)
Arduino CNC Drawing Machine (lub droga do sukcesu): Ten projekt opiera się głównie na elementach, które są łatwe do znalezienia. Chodzi o to, aby wziąć dwie nieużywane komputerowe jednostki dyskowe i połączyć je w zautomatyzowaną maszynę do rysowania, która przypomina maszynę CNC. Elementy używane z napędów obejmują mo
Obwód pobierania EKG: 5 kroków
Obwód pobierania EKG: UWAGA: To nie jest urządzenie medyczne. Służy to wyłącznie celom edukacyjnym przy użyciu symulowanych sygnałów. Jeśli używasz tego obwodu do rzeczywistych pomiarów EKG, upewnij się, że obwód i połączenia między obwodem a instrumentem mają odpowiednią izolację