zelrp

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

zelrp

#1

Post napisał: tuxcnc » 20 lip 2012, 13:08

Po raz kolejny poszedł mi dym z niebieskiego chińczyka TB6560.
Tym razem uznałem, że nie stać mnie na to, żeby się tanio ubierać.
Zakupiłem na Allegro trzyosiowy sterownik zelrp za cztery stówki.
Cena jak cena, za to jakość nieporównywalna.
Przede wszystkim cisza, silniki zimne, jednym słowem jak na razie jestem zadowolony.

Konfiguracja poszła z palca, bez problemu, sterownik zadziałał od pierwszego uruchomienia.
Zworki ustawiłem na sterowanie pompą ładunku, bo nie lubię niespodzianek ...
Napisałem osobny plik hal, ale jak ktoś chce to może ustawienia przepisać do głównego pliku konfiguracyjnego.
Ja wolę osobny plik, bo to porządek i zmiana sterownika nie wymaga dłubania i szukania wszystkich ustawień.
Dodatkowe pliki hal wczytywane są według wpisów w pliku ini.
U mnie wygląda to tak

Kod: Zaznacz cały

[HAL] 
HALUI = halui
HALFILE = frezarka.hal
HALFILE = zelrp.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
Natomiast sam plik zelrp.hal ma następującą zawartość :

Kod: Zaznacz cały

#charge pump (pin 17) 

loadrt charge_pump
addf charge-pump servo-thread
net emcOn motion.motion-enabled => charge-pump.enable
net cpump charge-pump.out => parport.0.pin-17-out

#axes (pins 2-9) 

net xstep => parport.0.pin-02-out
net ystep => parport.0.pin-04-out
net zstep => parport.0.pin-06-out
net xdir => parport.0.pin-03-out
net ydir => parport.0.pin-05-out
net zdir => parport.0.pin-07-out

#relays (pins 1,14) 

net spindle-on motion.spindle-on => parport.0.pin-01-out
net flood-on halui.flood.is-on => parport.0.pin-14-out

#inputs (10-ESTOP,11,12,13,15) 

net min-home-x <= parport.0.pin-11-in-not
net min-home-y <= parport.0.pin-12-in-not
net min-home-z <= parport.0.pin-13-in-not

#pin inverts

#setp parport.0.pin-03-out-invert 1
#setp parport.0.pin-05-out-invert 1
setp parport.0.pin-07-out-invert 1
Oczywiście krańcówki i odwrócenie sygnałów DIR to sprawa indywidualna, a ESTOP nie jest ustawiony, bo nie używam.

.



Tagi:


mastab
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 4
Rejestracja: 25 wrz 2012, 11:15
Lokalizacja: Pomorskie

Re: zelrp

#2

Post napisał: mastab » 26 wrz 2012, 19:52

Super pomysł na konfigurację. Niestety, kiedy ustawiam zworki na sterowanie pompą ładunku, na sterowniku świeci tylko żółta dioda i silniki nie działają. Założyłem zworki JP1 na CH_P i zworkę JP3. Kombinowałem już z plikiem zelrp.hal na 100 sposobów i nadal nic :mad:

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#3

Post napisał: tuxcnc » 26 wrz 2012, 21:47

Pompa ładunku pracuje poprawnie tylko w pewnym zakresie częstotliwości impulsów.
Tak musi być, żeby była odporna na zakłócenia.
Ja w tej chwili nie pamiętam dokładnie, ale w zelrp.hal przestawiałem z base-thread na serwo-thread żeby działało.
To zależy jakie wartości BASE_PERIOD i SERVO_PERIOD masz ustawione w pliku ini.
Musisz pokombinować, ale problem jest zapewne tutaj.

.


mastab
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 2
Posty: 4
Rejestracja: 25 wrz 2012, 11:15
Lokalizacja: Pomorskie

#4

Post napisał: mastab » 28 wrz 2012, 20:23

tuxcnc pisze:ale w zelrp.hal przestawiałem z base-thread na serwo-thread żeby działało.
Ustawiłem na base-thread i zapaliła się zielona dioda :grin:
tuxcnc wielkie dzięki za pomoc!

Awatar użytkownika

syntetyczny
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2696
Rejestracja: 08 gru 2009, 22:33
Lokalizacja: Elbląg
Kontakt:

#5

Post napisał: syntetyczny » 06 lis 2012, 10:55

Mam problem z zelrpem na linuxcnc. Co bym nie ustawiał, to sterownik nie odpowiada. Czasami się udaję go ruszyć, ale to po załączeniu napięcia. Dioda zielona w ogóle się nie zapala.
Próbowałem:
zmieniać base na servo i na odwrót. Kombinację charge pump, enable itd. Przy wykorzystaniu pliku kol. tuxcnc. Sterownik ustawiony na 1/16 kroku. I teraz pytanko, w którą stronę muszę drałować, aby to wszystko ruszyło....Zmieniać base-period?Jakie ustawienie nie wymaga zabiegów z charge-pump.
Kto pyta, nie błądzi. Eppur si muove
Kreatura CNC
Modernizacja plotera megaplot


Johnny
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 244
Rejestracja: 24 sty 2010, 19:08
Lokalizacja: Dębica

#6

Post napisał: Johnny » 07 lis 2012, 19:04

u mnie sytuacja podobna jak u kolego syntetycznego - wczesniej wszystko dzialalo super - cos mi sie stalo z komputerem sterujacym i wszystko szlag trafil teraz po zainstalowaniu na nowym komputerze linuxa cnc moge po właczeniu sterownika pojeździć troche recznie w emc jednak po chwilowej zabawie sterownyk wyłacza sie sam jak bym miał właczony przycisk awaryjny - krancowki mam prawidlowo podłaczone w petli (mam je tylko na osi x i y - z konfig reczny na tej maszynie) bo dzialaly wczesniej teraz jedna na osi x nie działa - przeciwna do bazowej - reszta działa - przełaczałem i przydzielałem inne piny - z konfiga kolegi tuxcnc jeszcze nie korzystałem - proszę o jakąś pomoc. Z góry dzięki

Awatar użytkownika

noel20
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1395
Rejestracja: 02 lip 2010, 07:15
Lokalizacja: Białystok

#7

Post napisał: noel20 » 15 wrz 2013, 22:22

Udało mi się właśnie odpalić charge pump ze sterownikiem od zelrp.
Choć nie obyło się bez ingerencji.
Po wprowadzonych zmianach program sypnął błędami i się wyłączył.
Poczytałem i edytowałem plik zelrp.hal
Zostawiłem tylko to:

Kod: Zaznacz cały

#charge pump (pin 17) 

 loadrt charge_pump 
 addf charge-pump servo-thread 
 net emcOn motion.motion-enabled => charge-pump.enable 
 net cpump charge-pump.out => parport.0.pin-17-out
Pytanie do tuxa, po co reszta. To konfiguracja pinów, ale po zrobieniu konfiga wizardem to już jest w ini albo halu "podstawowym" Dlaczego to dopisałeś jeszcze tu?

W pliku ini natomiast dopisałem tylko linijkę:

Kod: Zaznacz cały

HALFILE = zelrp.hal
Co to jest halui ?

Po tych zmianach uzyskałem na pinie 17 przebieg 500hz.
Sterownik nie wystartował.
Zmieniłem więc w zelrp.hal z:

Kod: Zaznacz cały

addf charge-pump servo-thread
na:

Kod: Zaznacz cały

addf charge-pump base-thread
I sterownik chodzi. Przebieg na częstotliwość 12,5kHz. Dostałem właśnie info od zelrp, że przebieg powinien się zawierać w przedziale od 6 do 12 kHz.
Od czego zależy częstotliwość tego przebiegu i jak go zmienić?

I ostatnie pytanie. Jak podłącze sobie grzybek pod któreś z wejść to jaką funkcję przypisać do pinu, żeby po naciśnięciu grzyba nie odcinało zasilania od silników tylko je zatrzymywało? Pauza chyba tak działa.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 7
Posty: 7859
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#8

Post napisał: tuxcnc » 16 wrz 2013, 05:05

noel20 pisze:Pytanie do tuxa, po co reszta. To konfiguracja pinów, ale po zrobieniu konfiga wizardem to już jest w ini albo halu "podstawowym" Dlaczego to dopisałeś jeszcze tu?
To ja mam do Ciebie kilka pytań.
Po pierwsze, dlaczego nie przeczytałeś pierwszego wpisu w tym wątku ?
Po drugie, po co cokolwiek ręcznie dopisywałeś ?
Wizard nie wystarczył ?
Jakbyś przeczytał co napisałem wcześniej, to by Ci "program nie sypnął błędami".
Ja nie używam Wizarda, programy rodem z Windows wyprowadzają mnie z równowagi.
Szczególnie jak wiem co wpisać, ale nie ma gdzie.
Dokładnie jak w tym przykładzie, Wizard nie pozwala na skonfigurowanie sterownika.
To po cholerę go w ogóle używać ?

Częstotliwość przebiegu zależy od wartości base_thread albo servo_thread, czego użyjesz.
A oba te parametry ustawić można dość dowolnie.
U mnie akurat base_thread jest ustawione na najkrócej jak się da, więc Zelrp nie chciał się włączać, trzeba było skorzystać z base_thread.
U Ciebie jest najwyraźniej odwrotnie, base_thread jest zbyt wolny żeby dać wystarczającą częstotliwość.

Wychodzi na to, że częstotliwość pracy pompy Zelrp nie jest najszczęśliwiej dobrana.
Example: A common base period is 50000 nanoseconds (see your .ini file), or .00005 seconds, f = 1/(.00005 * 2) = 10kHz. A common servo-thread is 1000000 nanoseconds, or 500Hz.
( http://wiki.linuxcnc.org/cgi-bin/wiki.p ... arge_Pumps )

.

Awatar użytkownika

noel20
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1395
Rejestracja: 02 lip 2010, 07:15
Lokalizacja: Białystok

#9

Post napisał: noel20 » 16 wrz 2013, 10:50

Po pierwsze, dlaczego nie przeczytałeś pierwszego wpisu w tym wątku ?
Otóż przeczytałem. Rozumiem, że jeżeli zrobił bym konfigurację jak ty to pisałeś w pierwszym wątku to wizard w ogóle jest nie potrzebny. Użycie go na początku pracy uznałem za pewnik. Ja jak otwieram plik ini czy hal to co jest tam napisane to dla mnie czarna magia i z palca sam konfiga bym nie napisał.

[ Dodano: 2013-09-16, 21:32 ]
Panowie, a chcę sobie jeszcze estopa podłączyć i skonfigurować.
Znaczy już podłączyłem, ale nie działa. Przynajmniej programowo. Elektrycznie jest ok.
W głównym pliku hal dodałem sobie wpis:

Kod: Zaznacz cały

net estop-ext <= parport.0.pin-13-in-not
i jak włączę sobie pomiar hal, wybiorę zakładkę sygnały i z okienka estop-ext to przy naciskaniu przycisku zmienia się true i false, więc elektrycznie ok. Ale przyciśnięcie tego nie zatrzymuje programu. Nic się nie dzieje.
Co gdzie jeszcze trzeba dopisać?

Awatar użytkownika

noel20
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 6
Posty: 1395
Rejestracja: 02 lip 2010, 07:15
Lokalizacja: Białystok

#10

Post napisał: noel20 » 21 wrz 2013, 20:57

Znalazłem, w pliku hal dopisałem jeszcze:

Kod: Zaznacz cały

net estop-ext => iocontrol.0.emc-enable-in
i estop działa.
Jak zrobić panowie, żeby po naciśnięciu tego przycisku nie odcinało zasilania od silników, ale je gwałtownie bez rampy zatrzymywało?
Właśnie w machu znalazłem opcję charge pump on estop. Da się coś wykombinować?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”