V hlavě nosím další plány pro rozvoj cnc vrtačky na plošné spoje.
Když budu mít veškerá data pro panel v jednom souboru, je trochu nesmysl z toho generovat gcode data pro řídící sw cnc a ten z toho budě dělat jednotlivé kroky pro motory.
Pokud budu mít krokové motory se zpětnou vazbou, nemusím řešit zrychlení, dobrždování. Stačí tedy v software definovat počet pulsů na mm (nebo jiný měřítko) a tím můžu vyřadit gcode mezikrok. Takže sw nebude generovat “x100 y200” ale “+3000 +500” což by mělo značit směr rotace motoru a inkrementální počet od současné polohy. Což bude trochu víc práce v sw, protože to musím přepočítat na relativní souřadnice.
Na mašině samotné, tedy bude stačit na COM nebo USB pověsit dekodér pulsů, který bude generovat kroky a odpovídající směr v definované rychlosti. Celkově tak můžu vyhodit ne zrovna levnej řídící sw s proprietárním hw co mám teď.
Nepočítám s funkcí natáčení podle kamery a tak ho na nic dalšího nepotřebuju. Samozřejmě, že tam musejí být základní bezpečností pojistky aby nevypadla komunikace a tak.
Zjednodušší se i ovládání pro výměnu nástrojů, prostě si budu moct vyvést další výstupy/vstupy a těma to řídit, čidlovat.
Počítám s optickou detekcí nuly, krokovací hw by měl umět minimálně tohle sám. Dám povel “homing xyz” a on začne krokovat — až narazí na čidlo, pak zakrokuje ++ až čidlo zhasne a uloží si nuly.
Mohl by si interně tedy počítat kroky a vědět kde je a tak by se nemuselo posílat dato inkrementálně, ale absolutně a hw si to dopočítání udělá.
Z osa by měla být víc sofistikovaná. Požadavkem je detekce délky nástroje. Kdy po výměně si změří aktuální délku. Od toho bude vědět v jaké výšce osa má jezdit pro přejezdovou výšku.
Samotné měření hloubky vrtání bude fungovat až od detekce dosednutí na materiál, což v budoucnu umožní dělat blind “otvory” nebo simulovat v-drážkování normálním cnc bitem.