Moje-boje: ASRock D1800B-ITX
LinuxCNC na BeagleBone działa, póki co, za wolno by go używać na maszynach produkcyjnych, a ponieważ Micges na forum CNC reklamował tą płytę jako nadającą się do naszych zastosowań to poleciało zamówienie.
Płyta jest, zamontowałem w obudowie dużego Della, postawiłem Debiana (chyba nie ma nad czym się rozwodzić – obrazek z sieci na USB i ognia: Ok, Ok, Enter, Enter – jak ktoś ma życzenie to opiszę)
Instalujemy machinekita.
Dodajemy kluczyk i adres pakietów – wszystko wg strony machinekit.io
sudo sh -c "sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key 73571BB9; echo 'deb http://deb.dovetail-automata.com wheezy main' > /etc/apt/sources.list.d/machinekit.list"
aktualizujemy listę pakietów:
sudo apt-get update
instalujemy machinekita:
sudo apt-get install machinekit-xenomai
Potrzebne nam jeszcze jądro RT – szukamy co tam mamy:
sudo apt-cache search xenomai
dostajemy wyniki:
libxenomai-dev - Headers and static libs for Xenomai linux-patch-xenomai - Linux kernel patches for Xenomai xenomai-doc - Xenomai documentation xenomai-runtime - Xenomai runtime utilities libxenomai1 - Shared libraries for Xenomai linux-headers-3.8-1-common-xenomai.x86 - Common header files for Linux 3.8-1-xenomai.x86 linux-headers-3.8-1-xenomai.x86-amd64 - Header files for Linux 3.8-1-xenomai.x86-amd64 linux-headers-xenomai.x86-amd64 - Header files for Linux xenomai.x86-amd64 configuration (meta-package) linux-image-3.8-1-xenomai.x86-amd64 - Linux 3.8 for 64-bit PCs, Xenomai x86 linux-image-xenomai.x86-amd64 - Linux for 64-bit PCs (meta-package), Xenomai x86 machinekit-xenomai - PC based motion controller for real-time Linux machinekit-xenomai-kernel-3.8-1-xenomai.x86-amd64 - PC based motion controller for real-time Linux machinekit-xenomai-kernel-3.8-1mk-xenomai.x86-amd64 - PC based motion controller for real-time Linux xenomai-kernel-source - Source for Xenomai kernel-space support
Od razu widać które to jądro więc instalujemy:
sudo apt-get install machinekit-xenomai-kernel-3.8.1-xenomai.x86-amd64
Oczywiście w te pędy klikamy CNC->LinuxCNC w menu i…
nie działa 😀
halcmd: hal_init() failed: -22 NOTE: 'rtapi' module must be loaded
Ale na samej górze jest linijka:
this user is not member of group xenomai please 'sudo adduser <username> xenomai', logout and login again
No to się słuchamy:
sudo adduser cnc xenomai
Oczywiście zamiast 'cnc’ podajemy nazwę swojego użytkownika. Jeżeli to świeża instalacja to wynik może być tylko jeden:
cnc nie występuje w pliku sudoers. Ten incydent zostanie zgłoszony.
Nie ma rady – wchodzimy na roota i robimy co trzeba:
cnc@maszyna:~$ su Hasło: root@maszyna:/home/cnc# adduser cnc sudo
możemy tez od razu dodać naszego usera do grupy xenomai:
adduser cnc xenomai
Logout. Login.
Oczywiście dalej nie działa 😀
Potrzebny w jądrze moduł 'ppdev’ więc klepiemy:
sudo modprobe ppdev
żeby zmiana była na stałe powinniśmy jako root dodać linię 'ppdev’ na końcu pliku '/etc/modules’.
No, teraz LinuxCNC się powinien uruchomić. Ale ekran najprawdopodobniej będzie wyglądał tak:
czyli jesteśmy prawie w domu. Jeszcze tylko prosta zmiana na programowy OpenGL:
sudo apt-get install libgl1-mesa-swx11
I wreszcie możemy się cieszyć działającym LinuxCNC. 😀
Teraz to już gilgotki – Dropbox, podmontowanie NASa firmowego, Emacs.
Aaa, jeszcze dwie ważne sprawy – desktop i automatyczne logowanie.
1. Desktop
Ponieważ Gnome się zamieniło w jakieś nieużywalne nowoinformatyczne badziewie to trzeba się ratować przed osiwieniem. Próbowałem jakieś lekkie managery okien ale człowiek się rozpieścił i nie da się tego używać 😀
Jedyny ratunek w Mate-desktop.
Czyli – włączamy repozytoria backports dodając linię:
deb http://http.debian.net/debian wheezy-backports main
do /etc/apt/sources.list
Instalujemy MATE:
sudo apt-get update sudo apt-get install mate-desktop-environment
2. Automatyczny login
W pliku /etc/gdm3/daemon.conf kasujemy komentarze przed dwiema liniami i podajemy nazwę naszego usera:
[daemon] # Enabling automatic login AutomaticLoginEnable = true AutomaticLogin = cnc
Dobra, maszyna odpala się, automatycznie loguje się user cnc, od razu startuje LinuxCNC.
Teraz to już normalna ścieżka:
- ustawienia tokarki pod Axis
- własne dodatki do Axisa – GUI do zmiany narzędzia
- Checkboxy w NGCGUI
- zmiana prędkości frezowania pod 1-4
- bazowanie maszyny przy starcie i skróty klawiszowe
Gotowe – podpinamy do sterowania i do roboty 😀
Hejka
Super wpis.
Robiłeś na tej płycie Latency Test ?
Pozdrawiam
Tomasz
Robiłem ale tak z głowy to nie pamiętam. Jutro napuszczę i dam znać.
Zrobiłem. Wyniki są takie:
Servo thread – 18546ns
Base thread – 22237ns