Linuxcnc doladěni systému.
Ahoj
Chtěl bych vás poprosit o radu ohledně dvou věcí
Frézuju a najednou se přeruší komunikace mezi frézkou a programem.
Nikde žádná chyba nevyskočí, program jede vesele dál a mašina stojí.
Už se mi to párkrát stalo někdy tam vyskočila hláška o latenci.
Když Linux restartuju tak jede vše tak jak má. Stává se to když pustím rychlost obrábění až na 200%
Druhá věc se kterou nemůžu pohnout je to nastavení rampy na zpomalení vřetene.
Vím, že le to přes komponentu Limit 2 , ale těch věcí co se tam musí dopsat je asi víc.
Od 2200 otáček víše už při stopce vřeteno padne do poruchy.
Takže při frézování musím na konci pauznout program a ručně snížit otáčky vřetene pod 2200 a nechat program doběhnout.
Kdy jsem měli chvilku přikládám soubory Hal a Ini
Konfigurace :
Mesa 5i23,
7i33TA
7i37TA
Vřeteno- servomotor s enkodérem řízen analogově
Tři osy serva delta Step/dir
Chtěl bych vás poprosit o radu ohledně dvou věcí
Frézuju a najednou se přeruší komunikace mezi frézkou a programem.
Nikde žádná chyba nevyskočí, program jede vesele dál a mašina stojí.
Už se mi to párkrát stalo někdy tam vyskočila hláška o latenci.
Když Linux restartuju tak jede vše tak jak má. Stává se to když pustím rychlost obrábění až na 200%
Druhá věc se kterou nemůžu pohnout je to nastavení rampy na zpomalení vřetene.
Vím, že le to přes komponentu Limit 2 , ale těch věcí co se tam musí dopsat je asi víc.
Od 2200 otáček víše už při stopce vřeteno padne do poruchy.
Takže při frézování musím na konci pauznout program a ručně snížit otáčky vřetene pod 2200 a nechat program doběhnout.
Kdy jsem měli chvilku přikládám soubory Hal a Ini
Konfigurace :
Mesa 5i23,
7i33TA
7i37TA
Vřeteno- servomotor s enkodérem řízen analogově
Tři osy serva delta Step/dir
- Přílohy
-
- Bobr.ini
- (4 KiB) Staženo 94 x
-
- Bobr.hal.txt
- (10.55 KiB) Staženo 103 x
Tady s touto částí moc neporadím.Chtěl bych vás poprosit o radu ohledně dvou věcí
Frézuju a najednou se přeruší komunikace mezi frézkou a programem.
Nikde žádná chyba nevyskočí, program jede vesele dál a mašina stojí.
Už se mi to párkrát stalo někdy tam vyskočila hláška o latenci.
Když Linux restartuju tak jede vše tak jak má. Stává se to když pustím rychlost obrábění až na 200%
Tohle bych začal řešit. Kolik máš latenci při vytíženým PC? Já PC testuji tak, že pustím Latency test k tomu 4x glxgears a zapnu několika hodinový písničky na youtube. Takhle to nechám jet třeba přes celou noc/den.Už se mi to párkrát stalo někdy tam vyskočila hláška o latenci.
Kdyz jsem resil rampu vretene, tak jsem vychazel z tohoto:
http://linuxcnc.org/docs/2.8/html/examp ... soft_start
Takhle to pak vypadá u mě:
Kód: Vybrat vše
#*******************
# SPINDLE
#*******************
setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp pid.s.error-previous-target true
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-ready => spindle.0.at-speed
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable
# ---PWM Generator signal/setup---
setp hm2_7i96.0.pwmgen.pwm_frequency 100
setp hm2_7i96.0.pwmgen.00.output-type 1
# Set the spindle's top speed in RPS
setp hm2_7i96.0.pwmgen.00.scale 111
setp hm2_7i96.0.pwmgen.00.enable true
setp hm2_7i96.0.pwmgen.00.out0.invert_output true
# net spindle-vel-cmd-rps => hm2_7i96.0.pwmgen.00.value
# ---connect the encoder outputs to LinuxCNC---
# pocet zubu remenice vreteno 56
# pocet zubu remenice motor 48
# pocet pulzu encoder 1000 (4000)
setp hm2_7i96.0.encoder.00.scale -4666.6667
net spindle-revs <= hm2_7i96.0.encoder.00.position
net spindle-vel-fb-rps <= hm2_7i96.0.encoder.00.velocity
net spindle-index-enable <=> hm2_7i96.0.encoder.00.index-enable
# ---Setup Spindle soft start---
# load real time a limit2 and a near with names so it is easier to follow
loadrt limit2 names=spindle-ramp
loadrt near names=spindle-at-speed
# add the functions to a thread
addf spindle-ramp servo-thread
addf spindle-at-speed servo-thread
# set the parameter for max rate-of-change
# (max spindle accel/decel in units per second)
setp spindle-ramp.maxv 6
# hijack the spindle speed out and send it to spindle ramp in
net spindle-vel-cmd-rps => spindle-ramp.in
# the output of spindle ramp is sent to the scale in
net spindle-ramped <= spindle-ramp.out => hm2_7i96.0.pwmgen.00.value
Kód: Vybrat vše
net spindle-vel-fb-bar-rpm hm2_7i96.0.encoder.00.velocity-rpm => gmoccapy.spindle_feedback_bar
net spindle-ready => gmoccapy.spindle_at_speed_led
Koukám, že ten enkodér v halu pořešenej ještě nemáš? Nebo se koukám blbě?Vřeteno- servomotor s enkodérem řízen analogově
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Tak jsem zapnul znovu test Latence a výsledek asi nic moc což už jsem věděl . ( 2x YouTube, a film v prohlížeči 2hodiny)
Mex v jiném vlákně psal, že když jedu přes Mesu tak ať to neřeším ,ale jestli je výpadek komunikace fakt kvůli tomu tak je to blbé. Jestli chci aby rampa fungovala, tak musím mít i ten enkoder funkční a viditelný v linuxu?
Mex v jiném vlákně psal, že když jedu přes Mesu tak ať to neřeším ,ale jestli je výpadek komunikace fakt kvůli tomu tak je to blbé. Jestli chci aby rampa fungovala, tak musím mít i ten enkoder funkční a viditelný v linuxu?
- robokop
- Site Admin
- Příspěvky: 22397
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
Tohle je tragedie
To ani mesa nesrovna.
Mex to psal obecne nesmis ho brat uplne doslova.
tohle neklapne...
Zkus povypinat kraviny v biosu jako treba powermanagement a jine... a jestli tam mas nejakou grafickou kartu tak nejprve bez ni.
To ani mesa nesrovna.
Mex to psal obecne nesmis ho brat uplne doslova.
tohle neklapne...
Zkus povypinat kraviny v biosu jako treba powermanagement a jine... a jestli tam mas nejakou grafickou kartu tak nejprve bez ni.
Vsechna prava na chyby vyhrazena (E)
Proto aby rampa fungovala, neni encoder nutný. Akorat ten hal bude vypadat jinak.
Jsem z toho akorat zmateny. Pises ze mas vreteno s encoderem ale nemas nikde v halu vystupy z toho encoderu. Pokud mas encoder jen zadratovany, tak je to stejne, jako bys ho vubec nemel. Encoder Ti prinese treba kontrolu skutecnych otacek.
Jsem PC lama, takze nad radou ze mam vypnout vse v Biosu co neni potreba, jsem byl hodne v haji. Nakonec se mi povedlo u posledniho PC snizit latenci z 2 500 000 ns na cca 70 000ns. Zkus treba zapnout jen jedno jadro, pokud mas vicejadrovy procesor atd.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Včera jsem to trochu povypinal, a první výsledek byl 550 000
Potom jsem se dostal na 75 000
Ale po zapnutí programu na 200% to opět přestalo komunikovat. Asi fakt budu muset sehnat jiné železo.
Všechny enkodery mám připojené do driveru ale zatím ne do Linuxu, tím asi začnu .
Potom jsem se dostal na 75 000
Ale po zapnutí programu na 200% to opět přestalo komunikovat. Asi fakt budu muset sehnat jiné železo.
Všechny enkodery mám připojené do driveru ale zatím ne do Linuxu, tím asi začnu .
Naposledy upravil(a) Mardako dne 14. 6. 2021, 5:38, celkem upraveno 1 x.
Zkus ještě spustit linuxCNC z příkazové řádky:
linuxcnc /home/ ..... /bobr.ini -v
A podívej se jestli něco nepíše v okamžiku kdy dojde k přerušení komunikace. (nesedím u pc s linuxem, takže nevím, kde to " -v" má přesně být)
linuxcnc /home/ ..... /bobr.ini -v
A podívej se jestli něco nepíše v okamžiku kdy dojde k přerušení komunikace. (nesedím u pc s linuxem, takže nevím, kde to " -v" má přesně být)
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
A to řízení STEP/DIR je zapojeno přímo z 5i23, nebo přes nějakou rozšiřující kartu? Jestli není chyba třeba v rozšiřující kartě? Taky další problém by mohl být v driverech, prostě nepoberou frekvenci, kterou Mesa umí vygenerovat a skočí do chyby. Zkusil bych napojit na výstupy STEP/DIR ledky, abych viděl, co se děje.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Řízení Step/Dir mám přes kartu 7i37 Ta
Vřeteno analog přes druhou kartu 7i33 Ta
Právě když nastane chyba tak se vypne vřeteno i osy.
Tak ,že to asi nebude v driverech ani v těch jednotlivých kartách, ale v komunikaci Linux-hlavní karta 5i23.
Včera jsem ještě povypinal v biosu kde co . Tady v těch záložkách skoro vše co šlo a už nechtěl ani ten BIOS naběhnout .
Vypnul jsem to tak dobře, že už jsem se do toho Biosu ani nemohl dostat
Tak jsem to nechal asi pět minut a naběhlo to. Tak jsem raděj nějakou záložku zapnul.
I když jsem nevěděl co vlastně dělám, tak výsledek byl Potom jsem pustil program na 200% na sucho bez materiálu a doběhl do konce bez výpadku.
Dokonce jsem k němu pustil i film.
Dvě hodiny a v pohodě.
Ale nic to nemění na to, že ten kompl stojí za prd.
Tak že tuhle část mám asi vyřešenou
Ještě zkusím zapnout jednou linux v té konzoli jak jsi psal. A otestuji to znovu
Vřeteno analog přes druhou kartu 7i33 Ta
Právě když nastane chyba tak se vypne vřeteno i osy.
Tak ,že to asi nebude v driverech ani v těch jednotlivých kartách, ale v komunikaci Linux-hlavní karta 5i23.
Včera jsem ještě povypinal v biosu kde co . Tady v těch záložkách skoro vše co šlo a už nechtěl ani ten BIOS naběhnout .
Vypnul jsem to tak dobře, že už jsem se do toho Biosu ani nemohl dostat
Tak jsem to nechal asi pět minut a naběhlo to. Tak jsem raděj nějakou záložku zapnul.
I když jsem nevěděl co vlastně dělám, tak výsledek byl Potom jsem pustil program na 200% na sucho bez materiálu a doběhl do konce bez výpadku.
Dokonce jsem k němu pustil i film.
Dvě hodiny a v pohodě.
Ale nic to nemění na to, že ten kompl stojí za prd.
Tak že tuhle část mám asi vyřešenou
Ještě zkusím zapnout jednou linux v té konzoli jak jsi psal. A otestuji to znovu
Naposledy upravil(a) Mardako dne 15. 6. 2021, 3:13, celkem upraveno 1 x.
Co to znamená vypaří se vřeteno i osy?
To si měl udělat v době, kdy Ti to blblo. Nejlépe se hledá chyba, která lze jednoduše nasimulovat.Ještě zkusím zapnout jednou linux v té konzoli jak jsi psal.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Kdyz jsem resil rampu vretene, tak jsem vychazel z tohoto:
http://linuxcnc.org/docs/2.8/html/examp ... soft_start
Takhle to pak vypadá u mě:
Prosím tě koukám na tvůj Hal
Když to srovnám s tím mím tak zas uplně moc toho jiného není.
Setup Spindel soft start je zkopírovaný z manuálu a doplněný o název karty 7i96.
Spindle máš 0 a já 9, to nevím proč?
Najdu někde v manuálu co všechno musí být napsané aby to fungovalo.
Zatím mi to nedává moc smysl.
Už jsem toho prohlédl hodně a každý to má napsané úplně jinak.
Třebe řádek u mě :
net spindle-vel-cmd-rpm <= motion.spindle-speed-out
u tebe:
net spindle-vel-cmd-rpm <= spindle.0.speed-out
Je to to samé?
http://linuxcnc.org/docs/2.8/html/examp ... soft_start
Takhle to pak vypadá u mě:
Kód: Vybrat vše
#*******************
# SPINDLE
#*******************
setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp pid.s.error-previous-target true
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-ready => spindle.0.at-speed
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable
# ---PWM Generator signal/setup---
setp hm2_7i96.0.pwmgen.pwm_frequency 100
setp hm2_7i96.0.pwmgen.00.output-type 1
# Set the spindle's top speed in RPS
setp hm2_7i96.0.pwmgen.00.scale 111
setp hm2_7i96.0.pwmgen.00.enable true
setp hm2_7i96.0.pwmgen.00.out0.invert_output true
# net spindle-vel-cmd-rps => hm2_7i96.0.pwmgen.00.value
# ---connect the encoder outputs to LinuxCNC---
# pocet zubu remenice vreteno 56
# pocet zubu remenice motor 48
# pocet pulzu encoder 1000 (4000)
setp hm2_7i96.0.encoder.00.scale -4666.6667
net spindle-revs <= hm2_7i96.0.encoder.00.position
net spindle-vel-fb-rps <= hm2_7i96.0.encoder.00.velocity
net spindle-index-enable <=> hm2_7i96.0.encoder.00.index-enable
# ---Setup Spindle soft start---
# load real time a limit2 and a near with names so it is easier to follow
loadrt limit2 names=spindle-ramp
loadrt near names=spindle-at-speed
# add the functions to a thread
addf spindle-ramp servo-thread
addf spindle-at-speed servo-thread
# set the parameter for max rate-of-change
# (max spindle accel/decel in units per second)
setp spindle-ramp.maxv 6
# hijack the spindle speed out and send it to spindle ramp in
net spindle-vel-cmd-rps => spindle-ramp.in
# the output of spindle ramp is sent to the scale in
net spindle-ramped <= spindle-ramp.out => hm2_7i96.0.pwmgen.00.value
Když to srovnám s tím mím tak zas uplně moc toho jiného není.
Setup Spindel soft start je zkopírovaný z manuálu a doplněný o název karty 7i96.
Spindle máš 0 a já 9, to nevím proč?
Najdu někde v manuálu co všechno musí být napsané aby to fungovalo.
Zatím mi to nedává moc smysl.
Už jsem toho prohlédl hodně a každý to má napsané úplně jinak.
Třebe řádek u mě :
net spindle-vel-cmd-rpm <= motion.spindle-speed-out
u tebe:
net spindle-vel-cmd-rpm <= spindle.0.speed-out
Je to to samé?
No tak to jsi se špatně díval. Je tam pár odlišností a právě tyto drobnosti dělají mou konfiguraci pro mě funkční. Rozhodně to není jen CTRL+C a CTRL+V a nahradit vše slovem 7i96.
Celkově tento příklad ovládání vřetena:
https://linuxcnc.org/docs/2.8/html/exam ... indle.html
je napsanej pro paralelní port a já jej modifikoval pro svou Mesu 7i96.
Např. jeden z rozdílů je v generování pulzů. Pro paralelní port musíš použít pwm generátor, který zpracovává LCNC a tím pádem CPU
Kód: Vybrat vše
loadrt pwmgen output_type=0
addf pwmgen.update servo-thread
addf pwmgen.make-pulses base-thread
net spindle-speed-cmd spindle.0.speed-out => pwmgen.0.value
net spindle-on spindle.0.on => pwmgen.0.enable
net spindle-pwm pwmgen.0.pwm => parport.0.pin-09-out
# Set the spindle's top speed in RPM
setp pwmgen.0.scale 1800
No já mám 1 vřeteno, takže to začalo číslovat od 0. Proč ty máš desáté vřeteno, tak to Ti neřeknu.
Ty hranaté závorky
Kód: Vybrat vše
setp hm2_5i23.0.pwmgen.01.scale [SPINDLE_9]OUTPUT_SCALE
Takže LCNC to zpracovává takto:
Kód: Vybrat vše
setp hm2_5i23.0.pwmgen.01.scale -6000
Ne nenajdeš, je to daň za neomezenou univerzálnost LCNC. Někdo může mít:
- vřeteno bez ovládání z LCNC
- vřeteno ovládané on/of
- vřeteno ovládané on/of s řízením směru otáček
- vřeteno ovládané po ModBusu
- vřeteno s řízenými otáčky pomocí PWM modulu v Mesa kartě
- vřeteno s řízenými otáčky pomocí PWM modulu, které počítá CPU
- vřeteno s enkodérem, kde enkodér jen hlídá otáčky
- vřeteno s enkodérem, kde enkodér pomocí PID regulátoru reguluje otáčky a polohuje
- ...................
a těch dalších variant bych vytvořil mraky. Proto je minimální šance, že najdeš hal, který by přesně seděl na Tvůj stroj.
Proto bych nemrhal časem studiem toho, jak to mají ostatní, ale věnoval bych se oficiálnímu manuálu LCNC. LCNC musíš pochopit, jak funguje, pak s ním můžeš dělat cokoliv. Slepé opisování tady nefunguje.
Tohle je zvláštní, vypadá to jako by jsi měl LCNC 2.7
http://linuxcnc.org/docs/2.8/html/getti ... le_support
Pokud máš LCNC 2.8 tak by Ti to nemělo fungovat, ale asi funguje že?The spindle control pin names have been changed to make spindles look more like axes and joints. motion.spindle-speed-out is now spindle.0.speed-out for example.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Moc děkuji za odpověd.
Zatím je to pro mě vše úplná magie
Pokusil jsem se rozchodit ten enkoder na vřetenu.
Podle Halscope jsem i snad správně změřil, že se otáčky zobrazuji správně.
Mám ve zkušební konfiguraci, tak aź to dodělám dám sem Hal na posouzení jestli to tak může zůstat .
Zatím studuji manuál a snažím se pochopit jednotlivé řádky, Těch funkci je tam opravdu hodně.
A ten Linux mám opravdu 2.7
To jsi trefil.
Zatím je to pro mě vše úplná magie
Pokusil jsem se rozchodit ten enkoder na vřetenu.
Podle Halscope jsem i snad správně změřil, že se otáčky zobrazuji správně.
Mám ve zkušební konfiguraci, tak aź to dodělám dám sem Hal na posouzení jestli to tak může zůstat .
Zatím studuji manuál a snažím se pochopit jednotlivé řádky, Těch funkci je tam opravdu hodně.
A ten Linux mám opravdu 2.7
To jsi trefil.
Je potřeba uvádět verzi Linuxu, kterou máš.
Konfigurační soubory nelze přenášet ani do vyšší ani do nižší verze LCNC.
Rozdíly jsou právě v tom odkazu, co jsem posílal. Nejdůležitější rozdíl je:
LCNC 2.7 = motion.spindle-speed-out
LCNC 2.8 = spindle.0.speed-out
Jeden skrytej návod, je manuál k hm2, najdeš ho tak, že do příkazové řádky napíšeš:
Tato neznalost mě v minulosti hodně potrápila.
Konfigurační soubory nelze přenášet ani do vyšší ani do nižší verze LCNC.
Rozdíly jsou právě v tom odkazu, co jsem posílal. Nejdůležitější rozdíl je:
LCNC 2.7 = motion.spindle-speed-out
LCNC 2.8 = spindle.0.speed-out
Jeden skrytej návod, je manuál k hm2, najdeš ho tak, že do příkazové řádky napíšeš:
Kód: Vybrat vše
man hostmot2
Tohle za Tebe tady nikdo udělat nemůže. Pokud ale budeš mít nějaký konkrétní problém, tak ho klidně sem hoď.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz