Dynamechtronics DM 2800 CNC

fotky našich strojů, aneb co máme doma
Odpovědět
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

2. 3. 2016, 10:21

Tomis píše:
RaS píše:na řezání závitu potřebuješ zpětnou vazbu..
To mi neříkej, že se to se Step / Gen servem nedá udělat bez enkodéru.
Step / gen je přeci přesná poloha, systém ví kde to servo je, podle toho kolika pulsama ho krmí...
Podle mě jde akorát o to, ty step gen pulsy co posílá linux vřetenu slinkovat v HALu s pozici vřetena.

Ale to já neumím.
T.
Tak jsem teď projížděl Linux manuál.
A teoreticky by stačilo do mýho HAL doplnit řádek

net spindle-vel-fb <= motion.spindle-speed-out-rps

Nechce se mi až věřit, že by to bylo tak jednoduché
V manuálu ale stojí

motion.spindle-speed-in - (float, in) Feedback of actual spindle speed in rotations per second. This is used by feed-per-revolution motion (G95). If your spindle encoder driver does not have a velocity output, you can generate a suitable one by sending the spindle position through a ddt component. If you do not have a spindle encoder, you can loop back motion.spindle-speed-out-rps.

zde je můj nynější HAL

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

24. 10. 2016, 9:52

Tak jsem po dlouhé době zase něco udělal na mašině.
Mám už zatím provizorně připevněný vřetenový Teknomotor 2kW (750W servo jsem již vymontoval, dál se již jím zabývat nebudu).
Fotku zatím dávat nebudu, protože se za to stydím, je to prasárna, držák motoru mám zatím jen z ohnutého plechu, provizorně.
Řemenice jsou ale už hotové, vřeteno se točí.
Při max. otáčkách nejsou subjektivně na vřetenu ani motoru cítit žádné vibrace, takže úplně ustupuju od záměru nechat řemenice vyvažovat.

Teď budu obrábět díly na samotné uchycení toho motoru + boční chladiče. Potřeboval jsem stroj zprovoznit, abych to měl na čem vyrábět.

Koupil jsem si také MPG, funguje skvěle, akorát nevím co přesně znamenají hodnoty v PNCCONF viz níže, nevíte někdo?
Nevím co přesně zadat, aby jsem měl x1=0,01mm, x10=0,05mm, x100=0,1mm.
Zatím mám něco nastaveno, jen abych vyzkoušel, že to chodí.
Dále nevím co je MUX, debounce, gray code. Z linux manuálu jsem to nějak nepobral, nechal jsem defaultně zaškrtnuto.
Ještě musím vypátrat na jaký pin zapojit diodu, aby svítila, když je MPG zaplý.

Trochu jsem to nedomyslel, protože jsem si tímto MPG obsadil vstup na vřetenový enkodér. Takže nevím co dál, jestli si pořídit druhou 7i76 jen abych měl možnost druhého enkodéru. Neví někdo, jak by to šlo řešit?
Potřebuji vlastně jen možnost připojit druhý enkodér na vřeteno.
Díky za vaše podněty
DSCN3731.JPG
l1.jpg
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

24. 10. 2016, 10:07

7i76 ma podporu dalsich dvou encoderu na obecnych vstupnich pinech
precti si doc od mesy tam to je

debounce bude na odstraneni zakmitu
patrne nepotrebujes

grayuv kod je zpusob kodovani poloh nekterych prepinacu

je nejakej duvod proc to mas v palcich? (in)
Vsechna prava na chyby vyhrazena (E)
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

25. 10. 2016, 9:44

robokop píše:7i76 ma podporu dalsich dvou encoderu na obecnych vstupnich pinech
precti si doc od mesy tam to je

debounce bude na odstraneni zakmitu
patrne nepotrebujes

grayuv kod je zpusob kodovani poloh nekterych prepinacu

je nejakej duvod proc to mas v palcich? (in)
Ahoj,
tak jsem koukal do doc k 7I76 a asi máš pravdu.
Nikdy jsem si toho nevšiml, až teď, Piny 16-19.
Na ty se pravděpodobně dají připojit další dva enkodéry. Je to každopádně dobrá zpráva, která mi ušetří koupi další mesa 7i76. Je to MODE 2 nastavení. Ještě otazka, jak nastavit MODE 2?
Vyzkouším, každopádně díky za info
ScreenHunter_86.jpg
Jo ten obrázek nastavení MPG není můj, je to jen printscreen z manuálu linux.
Já to mám samozřejmě v mm.
T.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

25. 10. 2016, 3:49

viz
http://linuxcnc.org/docs/html/man/man9/ ... tml#config" onclick="window.open(this.href);return false; modparam

dela se to pri natahovani hostmot2 driveru
parametr sserial_port
Vsechna prava na chyby vyhrazena (E)
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

25. 10. 2016, 5:03

robokop píše:viz
http://linuxcnc.org/docs/html/man/man9/ ... tml#config" onclick="window.open(this.href);return false; modparam

dela se to pri natahovani hostmot2 driveru
parametr sserial_port
Předpokládám, že toto by mělo jít nastavit také přes PNCCONF nebo ne?
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

25. 10. 2016, 6:14

mam pocit ze tohle tam prave neni
Vsechna prava na chyby vyhrazena (E)
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

1. 11. 2016, 9:10

Moc děkuji za rady,
snažil jsem se prokousat manuálem Mesy 7i76, upravil jsem stávající hal a o víkendu bych to chtěl vyzkoušet.
Pokud by to někoho zajímalo, tak přidávám můj původní hal - DM2800.hal
a nový upravený s enkodérem na Inputu 16, 17. - DM2800_ver2.hal.
přípony jsem upravil na *.txt jinak mi to nešlo nahrát.
Ještě pro zajímavost, pokud jsem měl hal nastavený dle DM2800.hal, tam mi MPG fungoval následovně.
při nastavení mux16 komponentu

setp jogincr.in00 0.000000
setp jogincr.in01 0.010000
setp jogincr.in02 0.050000
setp jogincr.in03 0.100000
setp jogincr.in04 0.200000
setp jogincr.in05 0.500000
setp jogincr.in06 1.000000
setp jogincr.in07 1.200000
setp jogincr.in08 1.300000
setp jogincr.in09 1.400000
setp jogincr.in10 1.500000
setp jogincr.in11 1.600000
setp jogincr.in12 1.700000
setp jogincr.in13 1.800000
setp jogincr.in14 1.900000
setp jogincr.in15 2.000000

Jogging při
x1 byl 0,04mm v reálu
x10 byl 0,4mm v reálu
x100 byl 0,48mm v reálu

Zarazilo mě to nejdříve, ale už jsem na to asi přišel, linux počítá pro jogging pouze změnu signálu, to znamená pro 1 puls enkodéru to jsou 4 counts (High A, High B, Low A, Low B).
To znamená v tomto nastavení je v případě 100 ppr enkodéru 400 signálů.
Pokud tedy vynásobím nastavené hodoty Mux16 4x, dostanu hodnoty níže, přesně posuvy, které odpovídají realitě.
Nenašel jsem jen "true table" pro Mux16 podle jaké kombinace 1/0 funguje.
Tzn. nevím, který parametr z jogincr.in00-jogincr.in15 odpovídá jaké bitové informaci z jogincr.sel0-jogincr.sel3
Takže jenom hádám.
Snad se to testem potvrdí.
Možná tyto informace někomu pomohou.
LinuxCNC se mi líbí, pořád mi ale připadá, že to je taková černá skříňka, jejíž funkce není detailně popsána...
T.
Mux16.jpg
Přílohy
DM2800.txt
(9.76 KiB) Staženo 163 x
DM2800_ver2.txt
(10.27 KiB) Staženo 181 x
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

1. 11. 2016, 9:25

je to z vetsiny popsane ale musis vedet kde ty dokumenty jsou
a je to sakra hodne cteni

u toho encoderu je to tak
pocita kazdou hranu tj je to pocet pulzu x 4
dat dolu aby to u kolecka bylo 100 inkrementu by melo jit i prez parametr scale ktery by mel byt u kazdeho encoderu
neco ve smyslu
setp hm2_5i25.0.encoder.00.scale 4
by melo na kazde 4 hrany incrementovat hodnotu count o 1
Vsechna prava na chyby vyhrazena (E)
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

1. 11. 2016, 10:55

Prozatím jsem to řešil tak, že v parametrech jogincr.in00-jogincr.in15
jsem hodnoty vydělil 4
Jinak v novém HAL používám parametr

setp encoder.0.x4-mode 0
(0-počítá se pouze 1 count, 1- počítá se 4 counts na 1 puls)

Jinak jsem chtěl diodu na MPG ovládat takto

# --- MPG control LED ---
net joint-select-a => hm2_5i25.0.7i76.0.0.output-0
net joint-select-b => hm2_5i25.0.7i76.0.0.output-0
net joint-select-c => hm2_5i25.0.7i76.0.0.output-0

Dioda je napojena na výstup 0, vyzkouším zda bude fungovat.

Pro nastavení MODE=2

používám

sserial_port_0=02xxx

Jaký rozdíl je když napíši

místo
sserial_port_0=02xxx
toto
sserial_port_0=2xxxx
?
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22435
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

2. 11. 2016, 6:11

z hlavy nevim presne
ale myslim ze to je podle poradi zarizeni
Vsechna prava na chyby vyhrazena (E)
Tomis
Příspěvky: 209
Registrován: 14. 12. 2013, 11:11

7. 11. 2016, 8:33

Ahoj, tak MPG vyzkoušen na pinech 16,17.
Vše funguje tak jak má.
Hal jsem musel trochu pozměnit, ale linux Debug hláška mne vždy navedla, kde je co špatně, tak to zvládl i takový amatér jako jsem já.
Jelikož mám dva zdroje napájení pro Mesa 7i76, 5VDC a 24VDC a enkodér je napájen z 5VDC, musel jsem spojit obě země pro oba zdroje, protože jsou galvanicky oddělené a enkodér je zapojen jako single ended.
Vstupí piny 16,17 mají sice nižší treshold, ale signál musí být pořád vůči field voltage ground tzn 24VDC.
Pokud jsem to neměl, krokáče jen vrněly, ale netočily se.
Tak jsem zase o krok dále. Pomalu ale jistě.
Teď mě čeká udělat pořádně to vřeteno a jeho ovládání přes mesa.
Ukázky funkce MPG zde.
MPG bez vyhlazení kroků
https://youtu.be/-oVwXPdnoLo" onclick="window.open(this.href);return false;

MPG s vyhlazením kroků
https://youtu.be/jzjLUGP29bE" onclick="window.open(this.href);return false;

Test pinů v Hal
https://youtu.be/7lbC5lX9lTs" onclick="window.open(this.href);return false;

Test vřetena - vrtání "grilu" do hliníkového plechu, Teknomotor točil asi 600rpm, vřeteno 300rpm. Běželo to několik hodin, motor se ani pořádně neohřál. Teplotu kontroluju termočlánkem na dvou místech.
https://youtu.be/r-tp0NH0OzQ" onclick="window.open(this.href);return false;
DSCN3791.JPG
DSCN3789.JPG
Odpovědět

Zpět na „naše mašinky“