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
![Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami) Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/003/image-7059-49-j.webp)
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: Maszyna do pobierania części CNC: 9 kroków (ze zdjęciami)](https://i.ytimg.com/vi/4252sTIcy1Y/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
![Maszyna do pobierania części CNC Maszyna do pobierania części CNC](https://i.howwhatproduce.com/images/003/image-7059-50-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-52-j.webp)
![](https://i.ytimg.com/vi/vsOjotTW7RY/hqdefault.jpg)
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](https://i.howwhatproduce.com/images/003/image-7059-53-j.webp)
![Baza danych Baza danych](https://i.howwhatproduce.com/images/003/image-7059-54-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-55-j.webp)
![Konfigurowanie Apache Konfigurowanie Apache](https://i.howwhatproduce.com/images/003/image-7059-56-j.webp)
![Konfigurowanie Apache Konfigurowanie Apache](https://i.howwhatproduce.com/images/003/image-7059-57-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-58-j.webp)
![Konfiguracja PHP Konfiguracja PHP](https://i.howwhatproduce.com/images/003/image-7059-59-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-60-j.webp)
![Projektowanie maszyny Projektowanie maszyny](https://i.howwhatproduce.com/images/003/image-7059-61-j.webp)
![Projektowanie maszyny Projektowanie maszyny](https://i.howwhatproduce.com/images/003/image-7059-62-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-63-j.webp)
![Tworzenie maszyny Tworzenie maszyny](https://i.howwhatproduce.com/images/003/image-7059-64-j.webp)
![Tworzenie maszyny Tworzenie maszyny](https://i.howwhatproduce.com/images/003/image-7059-65-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-66-j.webp)
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](https://i.howwhatproduce.com/images/003/image-7059-67-j.webp)
![Korzystanie z selektora części Korzystanie z selektora części](https://i.howwhatproduce.com/images/003/image-7059-68-j.webp)
![Korzystanie z selektora części Korzystanie z selektora części](https://i.howwhatproduce.com/images/003/image-7059-69-j.webp)
![Korzystanie z selektora części Korzystanie z selektora części](https://i.howwhatproduce.com/images/003/image-7059-70-j.webp)
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: 10 kroków Przewodnik konfiguracji VPN Premium do szybkiego pobierania i przesyłania strumieniowego OK przez REO: 10 kroków](https://i.howwhatproduce.com/images/009/image-25212-j.webp)
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 pobierania przez robota: 6 kroków Tworzenie pobierania przez robota: 6 kroków](https://i.howwhatproduce.com/images/006/image-17144-36-j.webp)
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 RYSUNKÓW): 10 kroków (ze zdjęciami) Ploter CNC Arduino (MASZYNA DO RYSUNKÓW): 10 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/006/image-17229-16-j.webp)
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)
![Maszyna do rysowania Arduino CNC (lub droga do sukcesu): 10 kroków (ze zdjęciami) Maszyna do rysowania Arduino CNC (lub droga do sukcesu): 10 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/002/image-3423-68-j.webp)
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: 5 kroków Obwód pobierania EKG: 5 kroków](https://i.howwhatproduce.com/images/003/image-8000-13-j.webp)
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ę