
Chciałbym przedstawić projekt który nie dawno znalazłem w czeluściach internetu i do którego sam podchodziłem sceptycznie .
A więc ... wpadłem przypadkiem na YT na film z modułem ESP32 i zaciekawiony nim zamówiłem kilka tych modułów do testów z zamiarem również zbudowania stacji meteo do domku .
Po przyjściu modułów od razu rozpakowałem je , kabelek USB do PC i zacząłem kodować pierdoły typu LED/przekaźnik i takie tam

Ale dalej znalazłem też implementacje GRBL na ESP32 :
https://github.com/bdring/Grbl_Esp32
Myślę sobie na początku zabaweczka taka a nie jakiś tam sterownik CNC ale okazało się inaczej .
ESP ma 2 rdzenie po 240MHz duży flash pracujący z szybkością 80MHz , program w środowisku Arduino piszę się moment (1 moja styczność z tym , wcześniej omijałem to szerokim łukiem jako programista) więc wyciągnąłem z szuflady zapasowy sterownik D5056 ,silnik krokowy oraz zasilacz i na szybko połączyłem to .
Sterownik udało się wysterować step pulse do max jego możliwości (200KHz) przesyłając mu komendy z TCP/IP po wifi .
Pomiary oscyloskopem pokazały że step pulse z ESP32 osiąga stabilny prostokąt na wyjściu po małych przeróbkach programu z github 1MHz! i to wszystko za śmieszną cene z RTOS na pokładzie

Zbudowałem więc PCB :

Tylko nie co pozmieniałem z projektu na github dodając np 16 wejść z izolacją z expanderem MCP23017 oraz tworząc własny soft do komunikacji po TCP/IP z modułem ESP32
po testach i kilku godzinach pracy znalazłem kilka niedogodności z modułem
ESP32 jako Client AP ma ping na poziomie ~130-700ms ! sporo ! więc czasami w losowych momentach rozłączał się albo restartował co powodowało gubienie 0 maszyny :/
idąc dalej ustawiłem go jako AP rezultat : ping ~2ms , odpytywanie o pozycje maszyny co 20ms , linie gcode z pliku przesyłam co 10ms ,najdłuższy program jaki zarzuciłem to ok 1.5mln lini gcode i czas ok 8h (na noc zostawiłem włączony moduł z silnikami na biurku w garażu) , rano przy kawie , żadnego zerwanego połączenia z ESP32 , program wykonany do końca .
Polecam
