Tak na szybko.
1. Dlaczego NIE Arduino?
Arduino jest oparte o 8-bitowy procesor z pamięcią programu 32 kB i zegarem 16 MHz.
GRBL na Arduino jest praktycznie projektem martwym i nierozwijanym, bo z uwagi na ograniczenia użytego procesora wykorzystano dostępne zasoby prawie w 100%.
Są dostępne płytki z dużo mocniejszymi procesorami o większych zasobach, które są do tego tańsze.
Najmocniejszym procesorem z dolnej półki jest bez wątpienia ESP32, 32-bitowy procesor z (co najmniej) 4 MB pamięci flash i zegarem 200 MHz. Taki właśnie procesor jest użyty w Makerbase DLC32 oraz Makerbase Tiny Bee.
2. Dlaczego Makerbase Tiny Bee?
Formalnie rzecz biorąc do CNC jest dedykowany DLC32, natomiast Tiny Bee to sterownik drukarki 3d z fabrycznie wgranym firmware Marlin.
Tiny Bee ma więcej zasobów (pięć krokowców zamiast trzech), nie ma natomiast wyjścia mocy PWM (DLC32 ma). Moduł PWM można jednak dokupić za dosłownie kilka PLN.
Ponieważ w obu sterownikach zastosowano identyczny procesor, to do obu można wgrać FluidNC.
Oczywiście każdy procesor ma skończoną ilość pinów, więc w sterownikach Makerbase użyto chytrego chwytu i do sterowania pinów STEP/DIR użyto rejestru przesuwającego. Nie wnikając w szczegóły, z dwóch pinów procesora (dane/zegar) są sterowane aż dwadzieścia cztery wyjścia sterownika (16 w DLC32). Zaoszczędzone piny procesora można natomiast wykorzystać do innych celów...
3. Dlaczego FluidNC?
Jak pisałem, do GRBL na Arduino już niczego więcej dodać się nie da, ale użycie procesora o nieporównywalnie większych możliwościach i zasobach otworzyło drogę do dalszej rozbudowy.
Powstało kilka projektów dodających nowe funkcjonalności, wzorowane lub identyczne z LinuxCNC.
FluidNC jest najbardziej perspektywicznym z tych projektów.
Posiada podstawową kompatybilność z GRBL (Programy dla GRBL będą działać z FluidNC), ale coraz bardziej przypomina LinuxCNC...
4. Jak wykorzystać możliwości i zasoby Makerbase Tiny Bee. plus FluidNC?
Standardowo, każde GRBL może wysterować sześć silników, wrzeciono PWM oraz dwa sygnały włącz/wyłącz standardowo przypisane do M7/M8/M9.
FluidNC dodatkowo udostępnia cztery piny PWM i cztery piny włącz/wyłącz https://github.com/bdring/FluidNC/wiki/User-Outputs
Na razie nie ma M66 (wait on input), ale jest na liście życzeń i należy się spodziewać, że niedługo będzie dodane.
To powinno Ci w zupełności wystarczyć.