Ale dzisiaj w innym wątku gorąco polecano SSK-MB5 za jedyne pięć stówek, a to tylko konwerter napięć sterujących i nic poza tym...
Ktoś inny proponuje udawany port LPT za siedem stówek...
Więc chyba najwyższy czas zaproponować coś taniego i przypominającego przemysłowy sterownik.
EC500 jest produkowany dla Mach3, w kilku wersjach różniących się wyłącznie ceną i wgranym firmware.
Do LinuxCNC trzeba więc kupić najtańszy (3 osie), bo po wgraniu nowego firmware i tak dostaniemy sterownik sześcioosiowy.
Niestety, właśnie wgranie nowego firmware jest piętą achillesową tego rozwiązania...
Ale najpierw opowiem Wam pewną historię...
Otóż kiedyś kupiłem kilka wyjątkowo tanich zasilaczy 24V, formalnie przeznaczonych do zasilania oświetlenia LED, ale nie spodziewałem się że będzie to miało aż takie znaczenie...
Akurat zupełnie przypadkiem pierwszy raz użyłem jednego z tych zasilaczy do wgrania nowego firmware do EC500.
Mikroprocesor zablokował się, program do wgrania firmware zgłaszał uparcie ten sam błąd i nic nie pomagało...
Uznałem, że sterownik trafił szlag i wrzuciłem go na dno szuflady.
Tego zasilacza próbowałem użyć do innego sterowania i działy się straszne cuda, więc podpiąłem oscyloskop i nie mogłem uwierzyć, bo zasilacza tak siejącego zakłóceniami nigdy jeszcze nie widziałem, a już trochę żyję...
Tak więc zasilacze trafiły tam gdzie i trefny sterownik i sprawę uznałem za zamkniętą, bo wszystko wyglądało na to, że to badziewny zasilacz ubił sterownik...
Potem kupiłem drugi EC500, firmware wgrałem bez problemów i wykonałem wiele testów, aż uznałem, że nadaje się do sterowania fizyczną maszyną.
Ale do sterowania maszyną lubię mieć graty w zapasie, tak na wszelki wypadek, więc kupiłem trzeci EC500.
No i ten trzeci załatwiłem tak jak ten pierwszy, ale tym razem nie miałem wątpliwości co do użytego zasilacza, czy innego sprzętu - po prostu przyczyna musiała leżeć w samym sterowniku, który wgrywania firmware po prostu nie lubi.
Z drugiej strony, to jeśli urządzenie jest produkowane fabrycznie, to problem musi mieć jakieś rozwiązanie, bo inaczej producent poszedłby z torbami...
Jako nieszczęśliwy posiadacz dwóch zablokowanych sterowników stwierdziłem, że nie mam nic do stracenia i spróbuję ożywić je metodą prób i błędów...
Złącze programowania wygląda tak:

Jest tam pin oznaczony BOOT_M0, co by sugerowało, że jest tam druga pamięć programu, z której da się układ uruchomić w takim właśnie przypadku jak opisywany powyżej. No i faktycznie tak jest, ale o tym trochę później...
Ponieważ przybyła mi nowa frezarka, więc kupiłem do niej nowy EC500.
Ten egzemplarz już na dzień dobry nie chciał współpracować, tak więc można mieć totalny niefart...
Zbierając wszystkie zdobyte doświadczenia, opracowałem następującą procedurę:
1. Sterownik odłączyć od zasilania
2. Odłączyć programator.
3. Zewrzeć jumperem pin BOOT_M0 z 3V3 (mowa o złączu programowania)
4. Włączyć zasilanie 24V i nie wyłączać aż do końca.
5. Zdjąć jumper.
6 Podłączyć programator (ja używam ST-Link, ale działają też inne).
7. Uruchomić poniższy skrypt:
Kod: Zaznacz cały
#!/bin/bash
pyocd reset --target mimxrt1050_quadspi
pyocd erase --chip --target mimxrt1050_quadspi
pyocd reset --target mimxrt1050_quadspi
pyocd flash remora-rt1052-3.1.3.bin --target mimxrt1050_quadspi
pyocd reset --target mimxrt1050_quadspi
8. Jeśli nie zadziała, to próbować do skutku.

Oczywiście w tym samym folderze co skrypt trzeba mieć też ściągnięty z netu plik z firmware.
W necie piszą, żeby po przeprogramowaniu odczekać kilka sekund zanim wyłączy się zasilanie i coś może w tym być...
O samym sterowniku EC500 i projekcie Remora nie będę tutaj pisał, bo chcę żeby temat ograniczał się wyłącznie do przeprogramowania sterownika z Mach3 na LinuxCNC.
Wspomnę tylko, że swoje sterowniki kupowałem po około 320 PLN (trzeba mieć trochę farta, żeby w takiej cenie trafić, ale jest to możliwe) i nie mam zastrzeżeń co do ich działania.
Cóż, jeśli mi udało się przeprogramować cztery sterowniki z czterech posiadanych, to chyba można uznać, że innym też powinno się udać...