Wydano nową wersję mojego systemu zarządzania frezarką CNC. W tej wersji dokonano głównie poprawek błędów i niedociągnięć z poprzedniej wersji (Wydano NoRT CNC Control)
Ulepszenia:
- Przebudowano harmonogram ruchu. Nowy harmonogram w pełni analizuje ruch od początku do końca, uwzględniając krzywiznę łuków podczas poruszania się po łuku i wybierając maksymalną możliwą prędkość w ramach ustalonych prędkości, aby nie przekroczyć maksymalnych dopuszczalnych przyspieszeń.
- Część konfiguracji, która była przechowywana w części RT na mikrokontrolerze, została całkowicie przeniesiona do kodu Pythona.
- Poprawiono problemy z utratą fokusowania w UI przy ręcznym wprowadzaniu poleceń.
- Dodano możliwość niezależnej emulacji wrzeciona i stołu współrzędnych.
- Naprawiono błędy związane z stanem maszyny przy ręcznym wprowadzaniu poleceń.
- Skorygowano cykl wysyłania wiadomości do stołu współrzędnych i wrzeciona, poprawna obsługa sygnału reset i przetwarzanie wiadomości o resecie z mikrokontrolera.
- Dodano CRC do protokołu interakcji z mikrokontrolerem.
- Zakończenie pracy przy odłączeniu portu USB szeregowego, jeśli interakcja z mikrokontrolerem odbywa się przez niego - wcześniej system zaczynał w cyklu czytać już nieistniejący ttyUSB0.
- Ruchy są teraz zablokowane po ponownym uruchomieniu mikrokontrolera. Aby je odblokować, należy wysłać do mikrokontrolera specjalne polecenie. Jest ono wysyłane podczas rozpoczęcia wykonywania g-code. W ten sposób zapobiega się nieprawidłowym ruchom w przypadku nagłego ponownego uruchomienia MCU podczas ruchu.
Równolegle z pisaniem kodu już używam maszyny pod jego kontrolą. Niedawno wykonałem części do modelu szybowca. W ten sposób ten kod jest już wykorzystywany w praktyce.
Źródło: linux.org.ru
