Linuxcnc vs ASDA-A2-E Ethercat driver

Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 10. 2017, 3:05

dela se to na fpga
uz jsem to nekde potkal
na stm32 to dost mozna nepujde udelat, rozhodne ne elegantne
Vsechna prava na chyby vyhrazena (E)
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

6. 10. 2017, 3:17

robokop píše:dela se to na fpga
uz jsem to nekde potkal
na stm32 to dost mozna nepujde udelat, rozhodne ne elegantne
Ja nasel easycat pro http://www.bausano.net/en/hardware/ethe ... t-pro.html" onclick="window.open(this.href);return false; a ten umi SPI, takže pak by šla rozběhat logika na kde čem.
M
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 10. 2017, 3:19

pekny
Vsechna prava na chyby vyhrazena (E)
3pajky
Příspěvky: 217
Registrován: 26. 12. 2015, 7:22

6. 10. 2017, 3:38

sikulka :)
inak ako rychlo to vie ist? 1ms ako pri tom rexrote?
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

6. 10. 2017, 4:15

3pajky píše:sikulka :)
inak ako rychlo to vie ist? 1ms ako pri tom rexrote?
Jo jo. Me to bezelo na 1khz servothredu.
M
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

6. 10. 2017, 8:50

fupe píše:Už víš na čem bys to chtěl dělat?
předpokládám nějaký tvoje oblíbený stm32 ale co ten ethercat?
Ano, řídicí část určitě na STM32. Je to levné, dostupné v široké škále konfigurací a mám to v ruce.
Ta část EtherCATu buď na LAN9252, nebo na netX52. Pravděpodobněji na LAN9252, který se dá snadněji získat jako chip. U toho netX bych to asi musel použít jako hotový modul. To by sice kupodivu nevyšlo moc dráž, ale jsi limitovaný rozměrem a uspořádáním. Ty LAN9252 už mám dokonce v šuplíku (zatím jenom holé chipy).

Než se budu pouštět do vlastní desky, tak jsem se chtěl nachytřit z nějakého hotového řešení, dělá se jich několik. Třeba už i tady zmíněný Easycat. Ale ještě jsem to nekoupil, protože desky jsou sice vždycky celkem levné, ale poštovné vychází hnusně, a tak se mi vždycky odporem zkroutí prsty na klávesnici a nemůžu to odklepnout. ;-)
To "nachytření se" není myšleno tak, že bych chtěl opisovat. Ale bylo by dobré se vyvarovat nějakých chytáků předem, protože jinak každá chyba znamená další verzi tišťáku. Možná ale obětuju jeden z těch chipů a udělám z toho jen nejjednodušší desku, v podstatě jen vytažené nohy toho chipu na pinheadery, na pokusy je to nejuniverzálnější.

Propojení s procesorem se dá udělat buď paralelním portem nebo SPI. Elegantněji vychází to SPI, a protože to umí i QIO SPI, tak je to děsně rychlé. Jen je třeba zvolit správný procesor na druhé straně, QSPI umí jen novější modely (samořejmě ty levné a oblíbené STM32F103 na modulech z Číny, které jsou skoro zadarmo, to neumí). Ale i když to jede jako běžné SPI tak je to velmi rychlé, dá se to pustit na hodně vysokých MHz, takže to nepředstavuje limit.

Pokud bych to připojoval k těm DIR/STEP servům, tak pak by se použilo HW generování STEP. A to buď čítači (pak je třeba zvolit model s vyšším počtem timerů, třeba řada STM32F1 jich moc nemá, takže to chce F3 nebo F4), nebo speciálním postupem pomocí I2S. Pokud stačí max. frekvence STEP 200 kHz, tak se dá i na levném procesoru obsloužit 8, a při troše dobré vůle i 16 stepgenů. Při použití čítačů se dají generovat frekvence i v řádu MHz.
Grad
Příspěvky: 2073
Registrován: 13. 7. 2014, 9:32

6. 10. 2017, 9:26

Mex píše:
fupe píše:Už víš na čem bys to chtěl dělat?
předpokládám nějaký tvoje oblíbený stm32 ale co ten ethercat?
...
Než se budu pouštět do vlastní desky, tak jsem se chtěl nachytřit z nějakého hotového řešení, dělá se jich několik. Třeba už i tady zmíněný Easycat. Ale ještě jsem to nekoupil, protože desky jsou sice vždycky celkem levné, ale poštovné vychází hnusně, a tak se mi vždycky odporem zkroutí prsty na klávesnici a nemůžu to odklepnout. ;-)...
A toto by k inspiraci nestačilo?
https://github.com/DieBieEngineering/DieBieSlave" onclick="window.open(this.href);return false;
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

6. 10. 2017, 9:44

No kdybych ho měl, tak by určitě stačilo.
Mně nejde o schema, to si namaluju i podle datasheetu. Já si na to chci sáhnout, rozchodit to a zjistit, co by to ještě chtělo, co je důležité atd.
To je jako když chceš dělal svou vlastní frézku. Pak je tady lepší, pokud už jsi předtím nějakou frézku měl v ruce nebo jsi ji aspoň v reálu viděl pracovat. Přitom by taky mohlo stačit se nachytřit jenom podle obrázků na webu.
Já jsem prostě na reálné objekty. Když navrhuju nějakou konstrukci v rámci svého pracovního procesu, tak si taky hrubý "model" třeba vystřihnu z papundeklu. Připadá mi to názornější než nějaký i dobře vyrenderovaný virtuální model, daleko líp si z toho udělám představu o rozměrech, jak to bude sedět do ruky atd. A většinou to mám i o dost rychleji, než to mastit v nějakém 3D CADu.
Nojo, starého psa ...
Monteg
Příspěvky: 1481
Registrován: 30. 10. 2006, 5:37
Bydliště: LOUNY

7. 10. 2017, 10:03

Tak jsme trochu pokročili a už nerozumím cca 90% :D Možná až se dostaneme na 99% tak to bude hotové?
Ale líbí se mi to čím dál tím víc držím palce :evil:
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

24. 7. 2018, 6:54

Par poznatku z aplikace na stroji
Nemam to pred sebou tak jen obecne

Parametr servodriveru nastavujici scale encoderu lcec.0.osaX.pos-scale meni i scale lcec.0.osaX.srv-vel-cmd takze pozor na to (kdyz je ve scale 1 je to v ot./s)
Chtelo by to opravit ten zdrojak

2.8 verze linuxu normalne podporuje abs. encodery takze je to poresene jen je treba enablovat pidku az pote co jsou serva v opu protoze jak se probouzeji poskoci hodnota polohy a pidka by dostala skok do vstupu a vyskocila by hlaska joint.0 following error

pro abs. hodnotu polohy vycitame lcec.0.osaX.enc-pos-enc ktery je ovlivneny vyse zminenym scale ktery posleme do joint.0.motor-pos-fb

nastaveni homingu v ini tak jako bychom homing nepouzivali takze immediate homing tj. same nuly
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
pribude pouze jeden parametr HOME_ABSOLUTE_ENCODER = 2

po naskakani vsech serv do opu lcec.0.osaX.slave-oper naskacou hodnoty do DRO a poskoci ukazatel pozice v 3D nahledu (dro obsahuje aktualni absolutni pozice os ale jsou cervene, nelze poustet mdi a program)

pote enabluju pidky a nastavim halui.home-all a shodim paklize je joint.0.homed protoze uz probehlo prepnuti os do zelene
v ten moment se odblokuji vsechny rezimy stroje
Vsechna prava na chyby vyhrazena (E)
jirgen007
Příspěvky: 2
Registrován: 27. 10. 2019, 3:45

27. 10. 2019, 3:54

Zdravím,
Jsem na fóru nový, linuxemCNC se zabývám velmi krátce, proto bych se chtěl zeptat, jestli by bylo možné rozvést část..
"pote enabluju pidky a nastavim halui.home-all a shodim paklize je joint.0.homed protoze uz probehlo prepnuti os do zelene
v ten moment se odblokuji vsechny rezimy stroje"
Přestavěl jsem si vše na ASDA-A2-E, dostanu se až k spuštění GUI, načtou se mi abs. hodnoty a jak aktivovat pid a vyřešit halui.home-all aby přepnutí os přešlo do zelené.

Děkuji za odpověď.

J.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

27. 10. 2019, 4:29

Jsem si na to napsal kernelovej modul az se k tomu dostanu tak ti napisu jak
Jinak si zatim nastiduj hal component generator a halcompile
Vsechna prava na chyby vyhrazena (E)
jirgen007
Příspěvky: 2
Registrován: 27. 10. 2019, 3:45

27. 10. 2019, 4:52

Děkuji za odpověď, budu velice rád. Stačila by jenom ukázka kousku kódu. Programuji v jiných věcech, takže jsem zvyklý si na většinu věcí přijít sám, potřebuji jenom trochu popostrčit.
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“