Witam.
Z racji tego że mam nie najnowszą już drukarkę Ender 3 Pro i znudziło mi się ciągłe ganianie z kartą w tą i z powrotem postanowiłem coś z tym zrobić. Szukanie w internecie niewiele pomogło, nie znalazłem tego co chciałem. Podpinanie Raspberry Pi mnie nie interesowało, projekty z ESP32 były albo za wolne, albo wymagały podpięcia się zamiast kary drukarki. Niezbyt podobały mi się te pomysły więc postanowiłem zrobić coś swojego. Podłączanego wyłącznie za pomocą UARTa. Miał być w miarę szybki upload przez WiFi, bez wodotrysków. Druk nie mógł być wolniejszy jak z karty podłączonej bezpośrednio do drukarki.
Kilka dni później miałem już pierwszy prototypowy kod.
Na początku eksperymentowałem na ESP32-S3, potem przeniosłem się na tańszy ESP32-C3.
Wymagania:
W marlinie trzeba ustawić bufor odbioru na minimum 1kB ("Configuration_adv.h").
Kod: C / C++
Ograniczenia:
Soft nie obsługuje błędów.
Schemat:
Drukarkę podłączamy do RXD0/TXD0 (uwaga, logika 3,3V).
Prędkość transmisji 115200.
PCB:
Print serwer zamontowany w drukarce Ender 3 Pro:
Układ można zmontować na tanich modułach z Ali.......:
Na karcie należy umieścić plik "wifi.txt" z nazwą sieci i hasłem (2 linie).
Po włączeniu drukarki na wyświetlaczu pojawi się adres IP jaki otrzymała drukarka.
Odpalamy przeglądarkę, wpisujemy adres i można uploadować pliki:
Szybkość uploadu to około 300...600kB/s.
Podczas drukowania zarówno interfejs WWW jak i wyświetlacz LCD pokazują postęp:
Po zakończonym wydruku na wyświetlaczu możemy zobaczyć czas drukowania:
Czas drukowania przykładowego pliku 32MB:
- z karty drukarki 6h25m +-1m
- z karty ESP32-C3 6h25m +-1m
Ciekawostka:
"diff" z obrazka przedstawia różnicę między nie działającym a działającym kodem.
Edytor tekstowy którego używam niczego poza nawiasem i plusem/minusem tam nie wyświetla.
Nie ma żadnego niewidzialnego znaku.
Dopiero podejrzenie w hex-edytorze ujawnia dodatkowe bajty po nawiasie.
Na takie cuda się natknąłem podczas pisania softu.
Soft w załączniku.
Wykorzystanie w celach komercyjnych zabronione.
Fajne? Ranking DIY