w 24h
samopoczucie?
Projekt HAL2UDP to zewnętrzny generator kroków oraz interfejs I/O dla LinuxCNC, komunikujący się przez Ethernet z wykorzystaniem dwurdzeniowego mikrokontrolera ESP32 i modułu W5500. Rozwiązanie to umożliwia precyzyjne sterowanie maszynami CNC z użyciem LinuxCNC, zapewniając jednocześnie elastyczność i wydajność.
https://github.com/jzolee/HAL2UDP/tree/main
Główne cechy projektu:
Sterowanie osiami: Obsługa sygnałów STEP i DIR dla 3 osi, co pozwala na precyzyjne sterowanie trzema silnikami krokowymi.
Wejścia/wyjścia cyfrowe: 8 pinów wejściowych oraz 6 pinów wyjściowych, z możliwością konfiguracji wyjść jako sygnały PWM.
Częstotliwość kroków: Maksymalna częstotliwość sygnałów krokowych wynosi 40 kHz, co zapewnia płynne i szybkie ruchy maszyn.
Możliwości podłączenia:
Dzięki dostępnym wejściom i wyjściom cyfrowym, projekt HAL2UDP umożliwia podłączenie różnorodnych urządzeń peryferyjnych, takich jak:
Czujniki krańcowe: Monitorowanie pozycji osi i zapewnienie bezpieczeństwa operacji.
Przyciski sterujące: Ręczne sterowanie funkcjami maszyny.
Sterowanie wrzecionem: Za pomocą wyjść PWM można kontrolować prędkość obrotową wrzeciona.
Osiągi:
Projekt zapewnia stabilną komunikację z LinuxCNC przez Ethernet oraz precyzyjne generowanie sygnałów krokowych z częstotliwością do 40 kHz. Takie parametry pozwalają na efektywne sterowanie maszynami CNC w różnych zastosowaniach.
Instrukcja użycia:
Instalacja oprogramowania:
Sklonuj repozytorium projektu i otwórz je w środowisku PlatformIO.
Konfiguracja sieci:
Ustaw adres IP interfejsu sieciowego eth0
na 192.168.96.55
.
ESP32 z modułem Ethernet powinien mieć przypisany adres 192.168.96.54
.
Instalacja sterownika LinuxCNC:
Zainstaluj niezbędne pakiety:
sudo apt-get install linuxcnc-uspace-dev build-essential
Skompiluj i zainstaluj komponent udp
:
sudo halcompile --install udp.comp
Podłączenie sprzętu:
Połącz piny ESP32 z modułem W5500 oraz z urządzeniami peryferyjnymi zgodnie z dokumentacją projektu.
Konfiguracja LinuxCNC:
Dodaj odpowiednie wpisy w plikach konfiguracyjnych HAL, aby uwzględnić nowo zainstalowany komponent udp
oraz skonfigurować osie i sygnały I/O.
ESP-WROOM-32 dev board + W5500 ethernet module
ESP32 3v3 -- 3v3 W5500
ESP32 GND -- GND W5500
GPIO 1 -> OUT-03 or PWM-03
GPIO 2 -> OUT-00 or PWM-00 & onboard blue LED
GPIO 4 -> OUT-01 or PWM-01
GPIO 5 -> W5500 SCS
GPIO 12 -> step-0
GPIO 13 -> dir-0
GPIO 14 -> OUT-04 or PWM-04
GPIO 15 -> OUT-05 or PWM-05
GPIO 16 -> step-1
GPIO 17 -> dir-1
GPIO 18 -> W5500 SCLK
GPIO 19
GPIO 21 -> step-2
GPIO 22 -> dir-2
GPIO 23 -> W5500 MOSI
GPIO 25 -> OUT-02 or PWM-02
GPIO 26
GPIO 27
GPIO 32
GPIO 33
GPIO 34
GPIO 35
GPIO 36
GPIO 39
Szczegółowe informacje na temat konfiguracji sprzętu i oprogramowania znajdują się w pliku README.md
projektu.
Dzięki projektowi HAL2UDP użytkownicy LinuxCNC zyskują wydajne i elastyczne narzędzie do sterowania maszynami CNC, wykorzystujące możliwości mikrokontrolera ESP32 i komunikacji Ethernet.