LinuxCNC: Czy Ktoś próbował??

Dyskusje dotyczące działania obsługi programu LinuxCNC

szdowk
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 26 lip 2006, 13:26
Lokalizacja: Warszawa
Kontakt:

#21

Post napisał: szdowk » 26 lip 2006, 15:04

Dzień Dobry

Ja próbowałem i na razie to używam. Dokładnie EMC2.

Zastosowałem micro-dystrybucję CoolCNC, zainstalowaną na twardym dysku.
Komputer Celeron 533, 96MB RAM, HDD 1GB (dystrybucja zajmuje na HDD ok. 170MB), sterowniki miejscowe (cnc.info.pl).

1. Instalacja dystrybucji - w sumie to nie miejsce na dywagacje w tym temacie, ale:

a) Instalacja na HDD pociąga za sobą pewne trudności. CoolCNC przy uruchomieniu/bootowaniu z CD musi(?) sobie gdzieś zrobić plik konfiguracyjny (w zasadzie obraz ramdysku). Może go zrobić na jakimkolwiek dysku, ale jak już go zrobi, to na tej partycji nie będzie się to chciało zainstalować (chyba, że ew. nie będziemy jej formatować - ale nie wiem, czy tak się w ogóle da). Ja miałem dwa dyski - na jednym (z MS-DOS) CoolCNC zrobił sobie plik konfiguracyjny, a na drugim się zainstalował (ext2). Oczywiście, przy bootowaniu instalacji już z HDD, ten pierwszy dysk nie był już więcej potrzebny.

b) Przy instalacji należy zrobić dyskietkę bootującą. Instalacja boot menadżera, w szczególności automatyczna, potrafi zawieść i należy się spodziewać, że będzie potrzeba jej powtórzenia.

c) Jeżeli do karty sieciowej nie jest podłączony kabel, to karta będzie zignorowana do kolejnego restartu (lub wydania jakiegoś zaklęcia...); Podczas instalacji instalator zakłada, że IP będzie pobierane z DHCP (manualna konfiguracja jest dostępna po zainstalowaniu).

2. Konfiguracja EMC2

Na wstępnie chciałbym odradzić używanie EMC1 (czyli zwykłe EMC bez numerka). Od strony użytkownika mało się różnią, ale zasadniczo inaczej się je konfiguruje od strony sprzętowej. Np. w EMC1, aby zmienić np. funkcje pinów w interfejsie LPT, to trzeba przekompilować całe EMC1, a w EMC2 wystarczy zmodyfikować jeden plik tekstowy (patrz niżej). (Uwaga: BDI 4.49 to ciągle EMC1 !)

Moja maszyna to prosta frezarka XYZ, przebudowana z wiertarki ze stołem krzyżowym, napędzana silnikami krokowymi i sterowana przez port LPT. Silniki Sanyo-Denki 3,9V, 1,35A, z niedużymi przekładniami zębatymi.

a) przy uruchomieniu EMC pojawia się okno z dostępnymi konfiguracjami w formie "drzewiastego menu". Tak jak dla mojej maszyny, należy w nim wybrać opcję "/usr/local/etc/emc2/sample-configs/" > "stepper" > "stepper_mm". I program się uruchomi (domyślnie Axis), ale zapewne nic nie zrobi, bo wymaga dalszej konfiguracji ;)

b) Najpierw dopasowywujemy program do sterownika (oczywiście domyślnie jest zaimplementowana inna pinologia niż dla sterownika SSK-MB+SSK-B01, a do tego nie ma skonfigurowanego sygnału "enable", wykorzystywanego przez ten sterownik). W tym calu należy wyedytować plik "/usr/local/etc/emc2/sample-configs/stepper/standard_pinout.hal". Np. mój plik wygląda tak:

# standard pinout config file for 3-axis steppers
# using a parport for I/O
#
# first load the parport driver
loadrt hal_parport cfg="0x0378"
#
# next connect the parport functions to threads
addf parport.0.read base-thread 1
addf parport.0.write base-thread -1
#
# finally connect physical pins to the signals
linksp Xstep parport.0.pin-02-out
linksp Xdir parport.0.pin-03-out
linksp Ystep parport.0.pin-04-out
linksp Ydir parport.0.pin-05-out
linksp Zstep parport.0.pin-06-out
linksp Zdir parport.0.pin-07-out

#Enable X
linksp Xen parport.0.pin-17-out

# create a signal for the estop loopback
linkpp iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

Nie opisuję konfiguracji przycisku "e-stop" i czujników położenia "Home"/krańcowego, ponieważ ich nie posiadam.

c) Następnie należy skalibrować maszynę. Odbywa się to poprzez edycję pliku "/usr/local/etc/emc2/sample-configs/stepper/stepper_mm.ini". Należy zwrocić szczególną uwagę na parametry w sekcjach AXIS_n:

- UNITS - jeżeli urządzenie będziemy programować w mm, ma miec wartość 1.0.
- INPUT_SCALE - pierwsza wartość INPUT_SCALE oznacza ilość kroków jakie musi przesłać program do starownika silnika osi, aby wrzeciono przesuneło się o 1mm, druga równa 0. Celowo nie używam słów "ilość kroków o jakie musi się obrócić silnik aby przesunąć wrzeciono o 1mm" z uwagi na to, że sterownik może pracować w półkoku.
- BACKLASH - luz posuwu, podawany w mm (luz jest podczas pracy wybierany szybkim posuwem).

Jeżeli w Axis'ie skrecimy suwak "feed overdrive" do 5% to z tymi parametrami maszyna będzie juz coś robić (mam malutkie silnicznki...). Jednak aby było sprawnie, należy jeszcze zdefiniować maksymalną szybkość i przyspieszenie posuwów (oddzielnie dla każdej osi). Służą do tego poniższe parametry. Niestety, może da się je jakoś powyliczać, ale w sumie należy je dobrać doświadczalnie (używając do tego szybkiego posuwu).

- MAX_VELOCITY - powinno być o ok. 1/6 mniejsze niż STEPGEN_MAXVEL.
- MAX_ACCELERATION - powinno być o ok. 1/6 mniejsze niż STEPGEN_MAXACCEL.
- STEPGEN_MAXVEL
- STEPGEN_MAXACCEL

Parametry te oprócz sekcji AXIS występują też w sekcji TRAJ, nie bardzo wiem, co tam wpisać. Ponieważ w moim wypadku dla wszystkich osi prędkości i przyspieszenia są identyczne, to poprostu je wpisałem bez żadnych zmian. Gdyby były jednak inne, to trzeba by sprawdzić, czy podać tam wartości minimalne, maksymalne, czy może... średnie.

Podczas testowania, może się pojawiać błąd: "joint [n] following error emc". Błąd ten w moim wypadku (z uwagi na brak informacji z silnika lub liniałów o rzeczywistej pozycji wrzeciona) nie ma sensu i należy go zwalczyć zwiększając wartości parametrów FERROR i MIN_FERROR (za wikipedią). Poniżej przykład konfiguracji dla jednej osi:

[AXIS_0]
TYPE = LINEAR
UNITS = 1.0
HOME = 0.000
MAX_VELOCITY = 4.10 #oryg. 30.48
MAX_ACCELERATION = 5.00 #oryg. 500
STEPGEN_MAXVEL = 5.00 #oryg. 35
STEPGEN_MAXACCEL = 5.200 #oryg. 520
BACKLASH = 0.21 #oryg. 0.00
CYCLE_TIME = 0.001000
INPUT_SCALE = 157 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -1000.0
MAX_LIMIT = 1000.0
FERROR = 2.0 #oryg. 1.270
MIN_FERROR = 1.0 #oryg. 0.254
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO

Oczywiście należy założyć, że opisałem zupełne podstawy konfiguracji oraz jak również nie biorę odpowiedzialności za straty wynikające z zastosowania powyższych porad ;)

Jeszcze jedna uwaga: po dokonaniu jakichkolwiek zmian w plikach konfiguracyjnych, należy zrestartować EMC.

3. Wady
Wygląda na to, że EMC nie wspiera cykli obróbkowych, np. G88.

I to chyba na razie wszystko. W razie gdybym coś naknocił lub informacje zawarte w tym poście groziły utratą zdrowia lub mienia, to proszę o naprostowanie.

szdowk



Tagi:

Awatar użytkownika

Autor tematu
markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 19
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#22

Post napisał: markcomp77 » 26 lip 2006, 15:31

szdowk pisze:Ja próbowałem i na razie to używam. Dokładnie EMC2.
dzięki :)
..za zasygnalizowanie istnienia dystrybucji zawierającej na gotowo EMC2!!!

idąc za stringiem "coolCNC" w NET... znalazłem całkiem ciekawe forum poświęcone emc2:
http://cooltool.he.fdread.org/cncforum/index.php

zabieram się za czytanie ;)

[ Dodano: 2006-07-26, 15:39 ]
iso do coolcnc:
http://web23.he.fdread.org/cncforum/coo ... -1-0-1.iso

opis:
http://www.thecooltool.com/files/coolcnclinux-en.pdf

[ Dodano: 2006-07-26, 15:41 ]
i nowsze:

http://cooltool.he.fdread.org/cncforum/ ... cncb05.iso
http://www.thecooltool.com/files/coolcn ... -05-06.pdf

[ Dodano: 2006-07-26, 15:45 ]
trzeba luknąć na forum - tam są opisy.. i opisane poprawki
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


szdowk
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 26 lip 2006, 13:26
Lokalizacja: Warszawa
Kontakt:

#23

Post napisał: szdowk » 26 lip 2006, 17:47

Dzień Dobry

Uzupełnie, że w Internecie można dostać "emc2-ubuntu-live-cd.iso". Jednak tego nie widziałem na żywo. Tzn. przy próbie uruchomienia na wspomnianym komputerze z 96MB RAM kernel najwyraźniej nie mógł sprawnie zarządzać ram-dyskiem. W efekcie, po 15 minutach mielenia CD-ROM'em wyświetliło się tylko logo Ubuntu. Po dalszych 20 minutach nadwyrężania CD-ROM'u, przy braku dalszych efektów wizualnych poddałem się i więcej tego nie testowałem. Myślę, że np. przy 512MB pamięci nie było by takich problemów :/

Można to pobrać co najmniej tutaj: http://www.cncgear.com/EMC/ i http://dsplabs.cs.upt.ro/~juve/emc/ - ale uwaga: to ma 700MB, a ja tego nie widziałem, więc proszę nie mówić, że to rekomendowałem ;)

szdowk

Awatar użytkownika

x
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 9
Posty: 243
Rejestracja: 29 mar 2006, 23:24
Lokalizacja: Laski, gm. Izabelin

#24

Post napisał: x » 26 lip 2006, 20:36

No właśnie mam problem z tym Ubuntu, to nie jest system dla starego komputera. 5.10 zainstalowałem w trybie "server", ale po ciężkiej przeprawie poległem przy instalacji eagle-usb dla mojego modemu do neostrady. W Slackware, czy Debianie załatwiam to w godzinę, a tu ni w ząb. A bez netu instalowanie tego jest beznadziejne. Ściągnąłem (w Slackware) wszystkie pakiety do EMC2, zrobiłem repozytorium na dysku, i kicha, EMC2 dla Ubuntu potrzebuje GTK 1.2, a jest 2.6. Pościągnięciu GTK i Glib w odpowiedniej wersji pewnie okaże się, że trzeba jeszcze innych pakietów, itd.

Dzisiaj próbowałem zainstalować Ubuntu 6.06, i jeszcze większa porażka - instalacja typu "Wizard" w trybie graficznym. Uruchamia sie długo, później ledwo zipie. Przy czym u mnie instalacyjny X serwer zechciał się uruchomić jedynie w trybie 640x480, i okno instalatora nie mieści się na ekranie, nie widzę najważniejszych przycisków. Próbowałem coś zrobić, ale nie odważyłem się wybierać partycji na oślep.

Po raz ostatni byłem tak sfrustrowany, kiedy używałem Win 3.1. Dokładnie ta sama "dobra robota" programistów, żadnego pola manewru. Nie tego oczekuję od dystrybucji Linuksa.

Komuś padło na mózg, żeby wybrać Ubuntu do EMC2. Nie polecam, chyba, że ktoś ma dobry komputer ( Pentium III, 256MB RAM, 2GB HDD )

Spróbuję z coolCNC, bo najwyraźniej działa. Tylko nie mam jak wypalić płyty. Przez ten upał naprawdę nie chce mi się własnoręcznie kompilować jajka z RTAI, i całego EMC2 dla Slackware.

Co do konfiguracji i użytkowania EMC2, to jest to obszernie wyłożone w dokumencie "EMC2 User Handbook", do pobrania na linuxcnc.org.

Awatar użytkownika

Autor tematu
markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 19
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#25

Post napisał: markcomp77 » 27 lip 2006, 15:40

x pisze:próbuję z coolCNC, bo najwyraźniej działa. Tylko nie mam jak wypalić płyty.
wygląda na to, że można umieścić coolCNC na FlashDrivie !!!! :)
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


szdowk
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 26 lip 2006, 13:26
Lokalizacja: Warszawa
Kontakt:

#26

Post napisał: szdowk » 28 lip 2006, 12:27

Dzień Dobry
markcomp77 pisze:
x pisze:próbuję z coolCNC, bo najwyraźniej działa. Tylko nie mam jak wypalić płyty.
wygląda na to, że można umieścić coolCNC na FlashDrivie !!!! :)
Ale coś mi chodzi po głowie, że i tak trzeba najpierw zbootować to z płyty (przy okazji konfigurując). A dopiero potem, jak już się odpali, można z menu wybrać polecenie przekopiowania na wybrany nośnik.

szdowk

Awatar użytkownika

Autor tematu
markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 19
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#27

Post napisał: markcomp77 » 28 lip 2006, 13:12

robiłem kiedyś eksperymenty z bootowalnością flashdrivów...
daje się TO zrobić.. oczywiście trzeba ustawić odpowiednią opcje w biosie, o ile taka istnieje
i niestety są dwa spotykane rodzaje bootowania flashów w biosie:

1. traktowany jest jak fdd (boot record + data)
2. traktowany jest jak hdd (mbr+boot record + data)

ta różnorodność trochę przeszkadza w zrobieniu uniwersalnego obrazu bootowalnego flasha

jednak daje się TO zrobić... ja eksperymentowałem z "cd rescue disk" na flashu
jest mini dystrybucja linuksa bazującego na gentoo... bardzo wygodna dla celów diagnostyki i odzyskiwania danych - i jest mała... ok. 100MB jedynie

coolCNC na flashu jest wart popróbowania... jak uda mi się znaleźć trochę wolnego czasu to popróbuje
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

x
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 9
Posty: 243
Rejestracja: 29 mar 2006, 23:24
Lokalizacja: Laski, gm. Izabelin

#28

Post napisał: x » 28 lip 2006, 19:59

Już sobie poradziłem. Wypaliłem sobie płytę w zaprzyjaźnionej firmie. Próbowałem to uruchomić u nich na komputerze z 32MB RAM, i coolCNC zatrzymywał się na rozpakowywaniu ramdysku. U mnie przy 64MB uruchamia się bez problemów. Wybieram tryb graficzny Vesa. Jest to całkiem sprytna dystrybucja, ale GUI to naprawdę gruntownie przekalkowane z Windowsów. Pewnie chodziło im o nieodstraszanie lamerów Linuksowych, ale mnie to trochę razi. W weekend w końcu zobaczę to EMC2 w praktyce.

W tej chwili kompiluję jajko 2.4.32 dla Slackware ( w moim 10.0 jest 2.4.26, a RTAI nie dostrcza do niego łaty, więc wybrałem najnowsze z serii 2.4). Niestety po nałożeniu łaty HAL kompilacja nie udaje się, więc na razie buduję jajo bez łaty, a jak się upewnię że z konfiguracją jest O.K. spróbuję z łatą. Chociaż z drugiej strony najwyższa pora na Slackware 10.2 i jajka z serii 2.6.

Awatar użytkownika

Autor tematu
markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 19
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#29

Post napisał: markcomp77 » 28 lip 2006, 20:40

x pisze:jajka z serii 2.6.
ja na swoim komuterze desktop mam PII350... i po zmianie na jądro 2.6 z 2.4 wyrażnie szybciej wszystko zaczęło chodzić!

więc WARTO :)

jednak bootownie się z jądem czasu rzeczywistego spowalnia mi maszynę na tylę, że praca biurowa przestaje być przyjemna... więc chyba jednak czas na upgrade sprzętu ;)

ja oczywiscie mam debiana (wiele lat tego samego)... i w lilo posutawiałem sobie parę różnych jąderek - które przy starcie wybieram - 2.6 bez rtai jest najszybsze
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


vitro
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 1
Posty: 56
Rejestracja: 11 sty 2006, 18:55
Lokalizacja: Łódź
Kontakt:

#30

Post napisał: vitro » 28 lip 2006, 22:16

Witam.
Ściągnąłem, wypaliłem i uruchomiłem. Z CoolCnc nie ma najmniejszych problemów,
po prawidłowych ustawieniach w plikach .hal i .ini frezarka pracuje aż miło. Do frezowania używam komputera z Pentium 400Mhz i 64 mega ramu. Uruchamiam w opcji "5", pliki zapisuję na partycji windowsa, przy następnym uruchomieniu zamieniam je z oryginalnymi i jest ok. Z Ubuntu jest większy problem, musi mieć najmniej 128 ramu, zamieniłem komputer z ( tego ci unas dostatek) procesorem duron 950 i 512 mega ramu wystarczył. Konfiguracja podobnie jak w coolu, jedyna różnica to brak Axisa, ale oryginalny interfejs EMC2 też jest dobry.

Pozdrawiam.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”