By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

Video - Zabezpieczenie przed samoczynnym załączeniem przekaźników CNC Safety Charge Pump

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#1

Post napisał: adam Fx » 01 lis 2018, 00:10

Pomp ładunku CNC Safety Charge Pump DIY

https://youtu.be/K7Fltet5NBE


Układ służy do Zabezpieczenia przed niechcianym / nieporządnym załączeniem się przekaźników np. wrzeciona problem może wystąpić np. po braku zasilanie , restarcie komputera lub zawieszeniu systemu.
elektronikiem nie jestem ale działa wiec być może komuś się przyda bo dość jasno opisuje krok po kroku. Uwagi mile widziane :)

Powinno działać też na Machu.


Zamienniki jakie zastosowałem:

http://www.radiotechnika.hu/images/BUZ11.pdf
https://www.elfadistrelec.pl/pl/dioda-p ... oaqplpl-na

Schemat:
http://www.machsupport.com/wp-content/u ... Safety.pdf

WIKI :
http://wiki.linuxcnc.org/cgi-bin/wiki.p ... arge_Pumps

LPT:


Zmiany w HAL oraz INI (LINUXCNC)
HAL:
zelrp-t38262.html

INI:

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 40000
SERVO_PERIOD = 1000000

gotowce np.
https://cnc4pc.com/c4-safety-charge-pump.html


sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 16220
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#2

Post napisał: kamar » 01 lis 2018, 07:03

Też kiedyś usiłowaliśmy z tym walczyć i skończyło się na hebelkach odłączających wrzeciono czy pompkę.
Ma to tę zaletę, że można wyłączyć w zapauzowanej maszynie na przerwę czy czyszczenie.


wedlock
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 1
Posty: 71
Rejestracja: 04 lut 2017, 15:48
Lokalizacja: Bartoszyce

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#3

Post napisał: wedlock » 20 lis 2018, 23:36

Mam sterownik zelrp. Z tego co pamiętam ma on inne częstotliwości dla charge pump niż linuxcnc. Który parametr konfigu odpowiada za częstotliwość i jaki jest wzór na jego obliczenie ? Pytam bo ja po angielsku tak średnio ,😀

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#4

Post napisał: adam Fx » 21 lis 2018, 02:05

No ja też średnoio ..w sumie doszedłem metodą prób na oscyloskopie do tych 12,5khz
Na filmie pokazuje który patametr w ini zmieniam.
BASE_PERIOD = 40000
Jednak zajrzyj na film raz jeszcze bo w kom. Pojawiła się propozycja zamiast charge pump użyć syggen czy jakoś tak .... temat do rozkminienia na zimowe wieczory
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#5

Post napisał: adam Fx » 22 sty 2019, 20:12

OK inne podejście do tematu - zamiast walczyć z LinuxCNC / Mach3 by wygenerował nam 12,5khz mamy do dyspozycji Układ na arduino który możemy dostroić do domyślnego sygnału jaki generuje pompa ładunku. Ogromny wkład miał w tym projekcie " Inżynier Domu " http://www.inzynierdomu.pl/ ogromne podziękowania za wsparcie Kolego :)
Zapraszam na film :)
https://youtu.be/voYk2AVyjqQ
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


gniazdo
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 61
Rejestracja: 24 gru 2008, 22:09
Lokalizacja: Limanowa

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#6

Post napisał: gniazdo » 22 sty 2019, 20:45

jeżeli chodzi o linuxcnc
wszystko fajnie, ale trochę od d... strony,
nie prościej zrobić sobie nowy "wątek" do czego służy funkcja hal "threads"
przykład:

Kod: Zaznacz cały

loadrt threads name1=test-thread period1=1000000
możesz sobie ustawić jaka ci tam częstotliwość pasuje, i nie ma ta za bardzo wpływu na "base, servo thread"

a czy jeszcze nie prościej po prostu przejść na sterowanie falownikiem poprzez modbus? przejściówka usb>rs485 kosztuje na pewno mniej jak arduino.

ps:
http://linuxcnc.org/docs/html/hal/components.html
charge_pump
Creates a square-wave for the charge pump input of some controller boards. The Charge Pump should be added to the base thread function. When enabled the output is on for one period and off for one period. To calculate the frequency of the output 1/(period time in seconds x 2) = hz. For example if you have a base period of 100,000ns that is 0.0001 seconds and the formula would be 1/(0.0001 x 2) = 5,000 hz or 5 Khz.

Awatar użytkownika

Autor tematu
adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#7

Post napisał: adam Fx » 23 sty 2019, 10:12

Własnie o modbus teraz myślę może będziesz w stanie pomóc (sprawa nie jest prosta) rs485-jak-zaczac-falownik-linuxcnc-ardu ... 85#p674050

Ok widzę że sam znalazłeś temat :)


gniazdo pisze:nie prościej zrobić sobie nowy "wątek" do czego służy funkcja hal "threads"
przykład:

a nie jest przypadkiem tak zasada że każdy kolejny wątek będzie wolniejszy od głównego?
jeśli ktoś nie jest wstanie uzyskać 12,5kHz z głównego to chyba jak zrobi sobie nowy wątek to nic mu to nie da - a może się mylę?

próbowaliśmy i z serwo i z innym i nic z tego nie wyszło
pozwolę sobie wkleić rozmowę z YT

DOHC358
DOHC358
1 miesiąc temu
Może być osobny plik hal ale może być główny plik hal maszyny. (wklej to na końcu)
Powinno to wyglądać mniej więcej tak:

loadrt siggen
addf siggen.0.update base-thread
set siggen.0.frequency 12500
net siggen.0.square => parport.0.pin-17-out

ten kawałek kodu po wklejeniu w w plik hal powinien na pinie 17 lpt wygenerować 12.5 khz. Jeśli pin 17 był już z czymś wcześniej połączony to linuxcnc rzuci błędem. Pisze to z głowy bez sprawdzenia na linuxie ale powinno działać. Polecam manuale do linuxcnc bo tam jest wszystko napisane.

Pozdrawiam




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
@DOHC358 spróbowałem to ale cały czas się pluje błędem addf siggen.0.update needs FP

jedyny błąd jaki znalazłem (chyba) to set siggen.0.frequency 12500 ma być setp - brakło "p"
ale to nie pomogło.

nie wiem co to FP i jak to ugryźć




DOHC358
DOHC358
1 miesiąc temu
FP to floating point czyli obliczenia na liczbach nie całkowitych, możliwe że w wątku bazowym nie są obsługiwane takie obliczenia, dlatego trzeba funkcję uruchomić w wątku servo-thread, spróbuj tak:
loadrt siggen
addf siggen.0.update servo-thread
setp siggen.0.frequency 12500
net siggen.0.square => parport.0.pin-17-out




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
@DOHC358 teraz przeszło ale jest kolejny problem
Debug file information:
./pompa.hal:61: Signal name 'siggen.0.square' must not be the same as a pin. Did you omit the signal name?
3546
czegoś tu jeszcze brakuje ..


dodatkowo chyba całość jeszcze trzeba wyposażyć w dodatkową funkcje tzn. pompa wygląda tak:

#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


wydaje mi się że to coś net emcOn motion.motion-enabled => charge-pump.enable
sprawdza czy linuxcnc jest wałczony i dopiero uruchamia generowanie sygnału i zapewne trzeba by te siggen jakoś z tym połączyć




DOHC358
DOHC358
1 miesiąc temu
Wrzuć tak (dodałem nazwe sygnału) i wywal/wykomentuj wszystko co wstawiłeś w związku z charge pump. To już Ci nie jest potrzebne.


minimum tej linijki musisz się pozbyć ->"net cpump charge-pump.out => parport.0.pin-17-out"

loadrt siggen
addf siggen.0.update servo-thread
setp siggen.0.frequency 12500
net prostokat siggen.0.square => parport.0.pin-17-out




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
@DOHC358 Tak cała pompa jest usunięta pracuje tylko na tym co mi tu podsyłasz
Teraz się pluje że "prostokąt " jest Float i nie może być na pinie parport.0.pin-17-out bo jest on typu bit




DOHC358
DOHC358
1 miesiąc temu
Ok. Trzeba jeszcze zmienić typ sygnału z float na bit. A konkretniej z float na s32, a następnie z s32 na bit.

loadrt siggen
addf siggen.0.update servo-thread
setp siggen.0.frequency 12500
setp siggen.0.amplitude 0.5
setp siggen.0.offset 0.5


loadrt conv_float_s32
addf conv-float-s32.0 servo-thread
net prostokat_float_s32 siggen.0.square => conv-float-s32.0.in

loadrt conv_s32_bit
addf conv-s32-bit.0 servo-thread
net prostokat_s32_bit conv-float-s32.0.out => conv-s32-bit.0.in

net prostokat_bit conv-s32-bit.0.in => parport.0.pin-17-out

Wklej cały ten fragment. Powinno hulać ale na linuxie nie sprawdzałem. W racie problemów daj znać.




DOHC358
DOHC358
1 miesiąc temu
net prostokat_bit conv-s32-bit.0.in => parport.0.pin-17-out

Poprawka linijka wyżej powinna wyglądać tak:

net prostokat_bit conv-s32-bit.0.out => parport.0.pin-17-out




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
@DOHC358 dziękuję że tak się dla mnie meczysz aż mi głupio ... teza błędu nie ma z tym że przebiegu też nie ani fizycznie na oscyloskopie ani na HalScope ;/ (nawet zmniejszyłem z 12,5 na 5khz bo namyślam że może nie wyrabia ale to nie to ;/ )




DOHC358
DOHC358
1 miesiąc temu
Sprawdziłem to na linuxie i okazuje się że siggen działa do 500 hz. Ogarniemy to inaczej, za pomocą stepgena. Daj mi tylko chwilę czasu to w wolnej chwili przygotuje Ci rozwiązanie.




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
@DOHC358 spokojnie to nie ma żadnego pośpiechu ogólnie w ogóle zauważyłem coś dziwnego ponieważ mam dwa komputery dość podobne jednak na jednym test opóźnienia wychodzi bardzo dobrze a na drugim tak średnio ok 18000
mimo to podczas konfiguracji i wpisania tych wartości w kreatorze koniec końców pliku ini base period posiada tą samą wartość a gdy użyję Charger pomp to na obu komputera uzyskuje całkiem odmienne wyniki na oscyloskopie na jednym tym lepszym mam 5kHz A na tym gorszym mam 500 Hz nie wiem dlaczego
w instrukcji Jest napisane że charge pomp oblicza to przecież z tej wartości

Dodatkowo jeszcze z kolegą z kanału inżynier domu prowadzimy pracę nad sprzętowym obejście problemu Czyli po prostu chcemy użyć Arduino żeby użytkownik który ma właśnie taki problem jak ja że jego komputer nie jest w stanie osiągnąć tych 12,5 kilohertz będzie mógł zaprogramować sobie Arduino żeby działało dla innej częstotliwości.




Adam Maszynotwór
Adam Maszynotwór
1 miesiąc temu
Znalazłem jeszcze przed chwilą taki temat możliwe że to jest rozwiązanie z tym że jedno pwm już wykorzystuje do sterowania prędkością wrzeciona
https://emc-users.narkive.com/1RwkEl2b/charge-pump




DOHC358
DOHC358
1 miesiąc temu
Powiem Ci szczerze że już dawno nie robiłem latancy testu. Z tego co pamiętam to duży wpływ na niego miały wszelkie dodatki oszczędzające energię, wielowątkowość itp. Ja w ważniejszych maszynach stosuje karty mesa i kroki są generowane sprzętowo dlatego ten latancy test nie ma takiego wpływu. Te karty trochę kosztują ale dają duże możliwości, np. w tokarce mam na wrzecionie enkoder 2500 imp/obr i nic się nie gubi.

Co do samego komponentu charge pump to nie znam go nie wiem jak jest napisany.

Co do arduino to nie wiem czy nie przerost formy nad treścią. Czy przypadkiem tego schematu który Ty wrzuciłeś nie da się zmodyfikować dokładając pojemność do bramki tranzystora żeby działał przy innej częstotliwości?
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


gniazdo
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 61
Rejestracja: 24 gru 2008, 22:09
Lokalizacja: Limanowa

Re: By wrzeciono samo się nie włączało LinuxCNC i Mach Pompa ładunku

#8

Post napisał: gniazdo » 23 sty 2019, 10:43

siggen na pewno jest lepszy do generowania tego 12.5khz, bo możesz sobie tym wygenerować co ci się podoba,
co do wpływu dodatkowego wątku to nie wiem, bo tez używam mesy

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”