ESPduino + CNCshield + W5500, czyli najtańszy sterownik ethernetowy
: 24 paź 2024, 20:53
Sterowanie wyjątkowo proste, nadające się do trzyosiowego plotera, za to da się je złożyć za 50 PLN (US$ 13)...
Projekt jest tutaj: https://github.com/jzolee/HAL2UDP
Oczywiście uruchomić się tego nie da...
Nie to żebym jakoś specjalnie narzekał, bo kod jest napisany wyjątkowo schludnie i łatwo się domyślić co jest do czego, tylko jak to się często zdarza, autor coś chciał poprawić, ale rozbabrał i nie dokończył...
Projekt jest w oryginale przeznaczony pod płytkę ESP32-devkit (taką małą z 30 lub 38 pinami). Nie ma w tym nic złego, ale jak się zechce zrobić użyteczną konfigurację, to się robi niezła pajęczyna...
Dlatego przystosowałem kod pod płytkę ESPduino i CNCshield V.3.
Zasadniczo jestem do CNCshield uprzedzony, bo te płytki są wyjątkowo kiepskiej jakości, ale są tanie, więc można kupić kilka i wybrać najlepszą.
CNCshield nie nadaje się do zastosowania z ESPduino, ale przeróbka jest bardzo prosta i oprócz lutownicy i kilku oporników nic więcej nie potrzeba. Problem polega na tym, że opornik oznaczony R1 podciąga jeden z sygnałów do napięcia +5V, którego ESP32 nie toleruje i nawet jeśli się od tego nie spali, to zgłupieje i nie będzie poprawnie pracował.
Do tego cztery wejścia nie mają wewnętrznych pullupów, więc byle zakłócenia zmieniają ich stan, co praktycznie uniemożliwia ich użycie.
Tak więc opornik R1 trzeba usunąć, natomiast dodać należy cztery oporniki ~10k pomiędzy GPIO 34, 35, 36, 39 a 3,3 V. Przydałyby się jeszcze diody Shottky zabezpieczające przed przepięciami i kondensatory zwierające szumy, ale pajęczyna by się zrobiła niesamowita, więc same oporniki muszą wystarczyć...

Ponad dodanymi opornikami, w połowie wysokości płytki, widać miejsce po usuniętym R1.
Zakładam, że jeśli ktoś zabiera się za samodzielną budowę maszyny CNC, to z tak prostą przeróbką sobie poradzi.
Trzeba pamiętać, że ESP32 to "zielony" procesor, pracujący przy niskich napięciach i małych prądach, a więc czuły na wszelkie zakłócenia. Szczególnie przewody pomiędzy ESPduino i W5500 powinny być najkrótsze jak to tylko możliwe.
Oczywiście napisy nadrukowane na CNCshield mają się nijak do funkcji pełnionych w tym urządzeniu i nie należy się nimi sugerować.
No to teraz pójdziemy na zakupy:
https://www.aliexpress.com/item/1939323977.html
https://www.aliexpress.com/item/1005006852396857.html
https://www.aliexpress.com/item/1005006687766918.html
To są pierwsze aukcje jakie znalazłem, jak się dobrze poszuka, to da się kupić trochę taniej.
Są jeszcze takie płytki W5500 na dużo większym, niebieskim PCB. Mam taką jedną i nie działa ona prawidłowo, ale nie wiem czy to wina tego egzemplarza, czy typu.
ESPduino trzeba kupić z małym gniazdem USB. Mam takie z dużym (typu B) i CNCshield nie daje się zamontować.
Przydałby się jeszcze jakiś moduł z tranzystorem MOSFET do sterowania PWM wrzeciona, ale na razie żadnego nie testowałem, więc nie mogę polecić. Musi wytrzymać co najmniej 10A i pracować przy sterowaniu 3V, o czym należy pamiętać przy zakupie.
Sterownik uruchomiłem, podłączyłem do mojej testowej CNC1310 i wygląda na to, że działa prawidłowo, ale gwarancji żadnej nie daję.
Projekt jest tutaj: https://github.com/jzolee/HAL2UDP
Oczywiście uruchomić się tego nie da...
Nie to żebym jakoś specjalnie narzekał, bo kod jest napisany wyjątkowo schludnie i łatwo się domyślić co jest do czego, tylko jak to się często zdarza, autor coś chciał poprawić, ale rozbabrał i nie dokończył...
Projekt jest w oryginale przeznaczony pod płytkę ESP32-devkit (taką małą z 30 lub 38 pinami). Nie ma w tym nic złego, ale jak się zechce zrobić użyteczną konfigurację, to się robi niezła pajęczyna...
Dlatego przystosowałem kod pod płytkę ESPduino i CNCshield V.3.
Zasadniczo jestem do CNCshield uprzedzony, bo te płytki są wyjątkowo kiepskiej jakości, ale są tanie, więc można kupić kilka i wybrać najlepszą.
CNCshield nie nadaje się do zastosowania z ESPduino, ale przeróbka jest bardzo prosta i oprócz lutownicy i kilku oporników nic więcej nie potrzeba. Problem polega na tym, że opornik oznaczony R1 podciąga jeden z sygnałów do napięcia +5V, którego ESP32 nie toleruje i nawet jeśli się od tego nie spali, to zgłupieje i nie będzie poprawnie pracował.
Do tego cztery wejścia nie mają wewnętrznych pullupów, więc byle zakłócenia zmieniają ich stan, co praktycznie uniemożliwia ich użycie.
Tak więc opornik R1 trzeba usunąć, natomiast dodać należy cztery oporniki ~10k pomiędzy GPIO 34, 35, 36, 39 a 3,3 V. Przydałyby się jeszcze diody Shottky zabezpieczające przed przepięciami i kondensatory zwierające szumy, ale pajęczyna by się zrobiła niesamowita, więc same oporniki muszą wystarczyć...

Ponad dodanymi opornikami, w połowie wysokości płytki, widać miejsce po usuniętym R1.
Zakładam, że jeśli ktoś zabiera się za samodzielną budowę maszyny CNC, to z tak prostą przeróbką sobie poradzi.
Trzeba pamiętać, że ESP32 to "zielony" procesor, pracujący przy niskich napięciach i małych prądach, a więc czuły na wszelkie zakłócenia. Szczególnie przewody pomiędzy ESPduino i W5500 powinny być najkrótsze jak to tylko możliwe.
Oczywiście napisy nadrukowane na CNCshield mają się nijak do funkcji pełnionych w tym urządzeniu i nie należy się nimi sugerować.
No to teraz pójdziemy na zakupy:
https://www.aliexpress.com/item/1939323977.html
https://www.aliexpress.com/item/1005006852396857.html
https://www.aliexpress.com/item/1005006687766918.html
To są pierwsze aukcje jakie znalazłem, jak się dobrze poszuka, to da się kupić trochę taniej.
Są jeszcze takie płytki W5500 na dużo większym, niebieskim PCB. Mam taką jedną i nie działa ona prawidłowo, ale nie wiem czy to wina tego egzemplarza, czy typu.
ESPduino trzeba kupić z małym gniazdem USB. Mam takie z dużym (typu B) i CNCshield nie daje się zamontować.
Przydałby się jeszcze jakiś moduł z tranzystorem MOSFET do sterowania PWM wrzeciona, ale na razie żadnego nie testowałem, więc nie mogę polecić. Musi wytrzymać co najmniej 10A i pracować przy sterowaniu 3V, o czym należy pamiętać przy zakupie.
Sterownik uruchomiłem, podłączyłem do mojej testowej CNC1310 i wygląda na to, że działa prawidłowo, ale gwarancji żadnej nie daję.