HAL2UDP (-1) wstęp do opisu projektu

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:

  1. Instalacja oprogramowania:

    • Sklonuj repozytorium projektu i otwórz je w środowisku PlatformIO.

  2. 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.

  3. 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
  1. Podłączenie sprzętu:

    • Połącz piny ESP32 z modułem W5500 oraz z urządzeniami peryferyjnymi zgodnie z dokumentacją projektu.

  2. Konfiguracja LinuxCNC:

    • Dodaj odpowiednie wpisy w plikach konfiguracyjnych HAL, aby uwzględnić nowo zainstalowany komponent udp oraz skonfigurować osie i sygnały I/O.

 

Hardware

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.