Mesa 7i76 a MPG

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

13. 8. 2018, 9:47

jeste jsem dohledaval na netu:

loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=0XXX"
loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=2XXX"

rozdil je v te 2 pred XXX
Vsechna prava na chyby vyhrazena (E)
Mpospa
Příspěvky: 18
Registrován: 13. 8. 2018, 12:25

13. 8. 2018, 10:00

Dík za reakci. :)
Inkrementy jsem (jak píšeš ty) měl nastavené na začátku pokusů.
Bohužel se stroj hýbal neskutečně pomalu. Při rychlejším otáčení kolečkem přestal pohyb osy a začala se třást na místě.
Proto jsem potom změřil osciloskopem pulsy na vstupu do Mesy 7i76 pin 16,17 a zjistil že kolečko pulsy generuje, ale Mesa je nepřebírá.
Podezření padlo na SW/HW řešení enkodéru na Mese.

Toto je začátek HALu:
loadrt hostmot2
#loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_stepgens=4 sserial_port_0=00xxxx"
loadrt hm2_pci config=" num_pwmgens=0 num_stepgens=4 sserial_port_0=00xxxx"

Rád bych použil HW enkodér, ale v rozdrobené dokumentaci k Mese a potažmo LinuxCnc jsem se ztratil nadobro. Je tam určitě vše, ale asi nějak jinak popsáno, nebo nerozumím jazyku tohoto kmene... :))
Kdybys mi mohl doporučit kde hledat, já už si to projdu, ale nějak jsem zatím v lese.

Díky
Mpospa
Příspěvky: 18
Registrován: 13. 8. 2018, 12:25

13. 8. 2018, 10:01

robokop píše: 13. 8. 2018, 9:47 jeste jsem dohledaval na netu:

loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=0XXX"
loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=2XXX"

rozdil je v te 2 pred XXX
Dík, vyzkouším. :)
kaba2
Příspěvky: 73
Registrován: 8. 12. 2007, 9:20
Bydliště: Vyškov

14. 9. 2018, 7:58

Ten lowpass filtr krásně uklidní pojezd. Nefiltruje hrany signálu , ale rozloží pulsy v čase při točení dle nastaveného parametru . prostě ty trsy pulsů při inkrementu kolečka prožene tím filtrem.
Prametrem filtru se dá nastavit jak měkce to bude jezdit.Odpoledne se podívám jak to mám nakofigurované a dám to sem.
Mpospa
Příspěvky: 18
Registrován: 13. 8. 2018, 12:25

14. 9. 2018, 4:42

Díky moc,
vyřešil jsem všechno co bylo nutně potřeba pro chod stroje, ještě z naprosto nutných věcí mi zbývá vyřešit reakci systému na chybu serva...
Hned na potom jsem si nechal kolečko. :)
Ještě jednou díky.
Uživatelský avatar
Meki
Příspěvky: 463
Registrován: 20. 4. 2020, 11:37

1. 4. 2022, 10:20

Dnes zápasím s MPG zapojeným do MESA karty 7i76, problém je s napětím. Když měřím výstup z MPG (signál A a B) tak je jejich napětí pouze 3.2V a to mesa nezaznamená. Pokud jesem dobře pochopil návod, mesu napájím 12V (napájecí napětí VIN a VFIELD mám propojené, totožné) tak prahová hodnota mezi HIGH a LOW je 6V, jenže MPG je stavěné na 5V

Jak se to teda řeší? nenašel jsem o tomto problému ani zmínku, uniká mi něco? MPG které by zmáklo 12V jsem ještě neviděl a že by někdo vyráběl "posilovač napětí" o tom taky nevím.
Na zahraničním foru jsem viděl že maník dal dva rezistory vždy mezi signál a VIN, ale nevadí tomu MPG když se bude boostovat tím rezistorem a z 3.2V najdenou bude mít na výstupu třeba 8V?

Já jsem to zkoušel posílit s MOSFETy 2N700 (jeden pro signál A a druhý pro signál B) a funguje, jenže je to pomalé a když točím rychleji tak to nestíhá (nevím sice jestli je to problém MOSFETu nebo mesy a možná by stálo za to kdybych to prověřil osciloskopem, ale hledám sofistikovanější řešení) potom mne ještě napadá kdybych místo MOSFETu použil optrony, ale je třeba něco bastlit? nepůjde to jen s mesou 7i76?

Také jsem úplně nepochopil jak funguje VIN a VFIELD, z návodů mi vyplývá že VIN potřebuje napětí 8-32 a na VFIELD stačí 5-32V (pokud je separuju jumprem W1), takže následoval další pokus: jumper W1 jsem přehodil na VIN SEP, na VIN jsem ponechal těch 12V ale na VFIELD jsem přivedl 5V, předpokládám že v tomto případě je VIN jen napájení obvodů v mese a VFIELD je referenční napětí, takže pro stav HIGH by mi nyní mělo stačit napětí 2.5V až 5V ale v HALSHOW se mi v tomto případě vůbec neukazuje změna stavu, ani když přivedu 5V, kde dělám chybu :?:
Přílohy
6465314451.PNG
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

1. 4. 2022, 10:27

Ta mesa ma specialni piny tusim.ze to jsou io 16 17 1i a 19 ktery se daji prepnout do modu encoderu. Jsou stavene na 5V logiku mpg
Tvoje mpg ma dost nestandardni napetove urovne. Da se resit treba optakem nebo mosfetem. Ten encoderovy vstup je pak dostatecne rychly. Jestli jedes prez softwarovy encoder a bezne piny tak ano to je pomale. Je to limitovane rychlosti sserial a obnovovanim stavu pinu do linuxu. S tim hw encoderem se uz obnovuje cela poloha encoderu z hw citace. Na ty mese je na to myslim PIC mcu.
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
Meki
Příspěvky: 463
Registrován: 20. 4. 2020, 11:37

1. 4. 2022, 11:12

zapomněl jsem upřesnit že MPG které používám je ten nejzákladnější číňan který má jen přepínač os, rozlišení a enkoder. piny pro A a B používám 16 a 17 a kod mám v custom.hal stejný, jako je na tomto vlákně v druhém příspěvku.

Je možné že mám vadné MPG ale to nemám jak ověřit. Zítra asi ještě vyzkouším ty optrony

robokop píše: 1. 4. 2022, 10:27 Jestli jedes prez softwarovy encoder a bezne piny tak ano to je pomale. Je to limitovane rychlosti sserial a obnovovanim stavu pinu do linuxu.
běžné piny myslíš všechny IN piny a nebo IN piny mimo ty 16, 17, 18 a 19 které jsi jmenoval pro enkodéry?


robokop píše: 1. 4. 2022, 10:27 S tim hw encoderem se uz obnovuje cela poloha encoderu z hw citace. Na ty mese je na to myslim PIC mcu.
moc tomuto nerozumí, šlo by to trochu rozvést? s linuxcnc začínám a tak s některými pojmy trochu zápasím.



Abych definoval co pro mě znamená pomalé, tak je to 800mm/min (při rozlišení 10mm/ot, 0,1mm/dílek ma MPG) víc jsem z toho nevyždímal, představoval bych alespoň 2000mm/min
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

1. 4. 2022, 11:44

Tuhle Mesu nemám. Ale podle manuálu má vstup pro enkodér na konektoru TB3, piny 7/8 a 10/11.
Ten už máš obsazený nebo proč ho nepoužiješ?
Jsou to vstupy pro standardní signály line-driver, tj. RS422, tj. to, co máš na svém kroutítku. Napětí 3.2V je tam naprosto správně.

Pokud používáš pro enkodér běžné I/O vstupy, tak ty prostě mají běžné I/O napěťové úrovně. Tedy předpokládají např. běžné průmyslové napětí 24V.
Pak by to chtělo enkodér s otevřeným kolektorem a vysokonapěťovým výstupem.
Samozřejmě by se takový převodník z line-driver na vysokonapěťové výstupy dal velmi snadno postavit, nebo použít rovnou hotový.
Třeba něco takového: https://www.aliexpress.com/item/1005001620605200.html
Uživatelský avatar
Meki
Příspěvky: 463
Registrován: 20. 4. 2020, 11:37

2. 4. 2022, 12:24

Mex píše: 1. 4. 2022, 11:44 Tuhle Mesu nemám. Ale podle manuálu má vstup pro enkodér na konektoru TB3, piny 7/8 a 10/11.
Ten už máš obsazený nebo proč ho nepoužiješ?
nemám ho sice zatím obsazený, ale šetřím si ho do budoucna až budu přidávat enkodér na vřeteno. I tak to asi není jednoduché obsloužit, už to zde někdo zkoušel o pár příspěvků dřív:
Mpospa píše: 13. 8. 2018, 8:25 No, protože jsem měl od počátku nedůvěru k zapojení kolečka na obecné (24V) vstupy kvůli rychlosti zpracování. Chtěl jsem využít nativně 5V vstupy pro enkodér na TB3 piny 6-11. Bohužel jsem to nedokázal v HALu obsloužit. A že jsem chvílemi lezl po zdi... :(
zatím všichni to zapojovali na piny 16 a 17 takže předpokládám že to bude funkční řešení.


Mex píše: 1. 4. 2022, 11:44 Pokud používáš pro enkodér běžné I/O vstupy, tak ty prostě mají běžné I/O napěťové úrovně. Tedy předpokládají např. běžné průmyslové napětí 24V.
Pak by to chtělo enkodér s otevřeným kolektorem a vysokonapěťovým výstupem.
Samozřejmě by se takový převodník z line-driver na vysokonapěťové výstupy dal velmi snadno postavit, nebo použít rovnou hotový.
Třeba něco takového: https://www.aliexpress.com/item/1005001620605200.html
Myslel jsem že to půjde bez dalších součástek jako např. u mesy 7i96, jenže u 7i96 je napájecí napětí stejné jako napájecí napětí MPG, čili 5V. Toho by mělo jít dosáhnout i u mesy 7i76 když oddělím VIN (8-32V) a VFIELD (kterému by mělo stačit 5V a mělo by být referenčním napětím pro vstupy pokud to dobře chápu), ale to nefunguje (viz popis výše), asi dělám někde chybu.
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

2. 4. 2022, 1:03

No - dělej jak myslíš.
Že něco nějak dělají "všichni" ještě není zárukou, že je to tak dobře.
A co s tím enkodérem na vřeteni budeš dělat? To budeš mít vřeteno řízené v polohovém režimu?

Pokud si nastavíš rozhodovací úroveň na všech běžných vstupech tak nízko, aby to správně bralo TTL signály z line-driver enkodéru, tak to (podle mě) nebude to pravé pro ostatní signály.
I když tam v tom MODE 2 píšou, že by to mělo mít na enkodérových vstupech rozhodovací úroveň 2.5V. A nepíšou tam o závislosti na napájecím napětí. Tak třeba ta karta umí přepnout některé vstupní linky do jiného režimu.

Nic tam ale nepíšou jak jsou ty signály zpracovávané. Jestli čítačem ve FPGA, nebo nějakým šidítkem. Aby to bylo dostatečně rychlé, tak by to jednak muselo vést přímo na piny FPGA, a pak by to muselo mít i obsluhu ve firmware.
No ale třeba to tak je. Kartu nemám, takže zkoumat se mi to nechce.

Ta karta má strašně málo I/O linek pro připojení k FPGA na řídící kartě. Takže s nimi museli šetřit a spousta signálů musí být zřejmě honěná nějakým šidítkem. Asi nějaký procesorem na té desce. Další FPGA tam myslím není.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

2. 4. 2022, 8:19

tak jsem otevrel manual abychom to tu meli presne bez domenek

MODE 2 I/O plus analog input and field voltage and MPG mode (32 bits of input data,
16 bits of output data, 4 analog input channels, field voltage analog in, and
2 MPG encoders on inputs 16..19). Default encoder count mode is 1X to
match normal 100 PPR MPGs. Encoder input threshold is fixed at 2.5V for
compatibility with 5V encoder outputs.

tzn. ty 4 svorky se zmeni tak abys na ne rovnou dal encoder a ostatni zustane normalni
je to vylozene pro mpg kolecka viz ten odstavec manualu

nedbej na mexe ten to bude delat vzdy uplne jinak a klidne i v rozporu s manualem

nastav si mode 2 a na input pinu 16 a 17 pripoj tvuj encoder (TB5 piny 1 - 4 jsou pro dva encodery a jejich A a B signaly)
z loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=0XXX"
to prepis na loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=2XXX"

treshold je 2.5 takze by ses mel vejit i s tvym neTTL encoder
priste se ujisti aby jsi koupil spravny
cinani radi vymetou ze skladu kde co
treba onehda open collector mpg kolecko
je to hodne atyp, standard je 5V TTL

v tom mode 2 to pak funguje hardwarove
encoder si cita pulzy z kolecka, cas bezi a poloha se jedno za cas vycte do linuxu

podle tveho chovani tam mas asi loardt encoder a pak obecne IO piny pouzite jako vstupy toho softwaroveho encoderu a to je nesmirne pomale

kdyz to prepnes do toho mode 2 tak ti ve stromu pinu hm2.7i76.0.... pribudou dva encodery kde si proste jen prectes position pripadne velocity toho encoderu

k tomu encoderu vretene a jeho vstupum
proste to tam zapojis a funguje to
Vsechna prava na chyby vyhrazena (E)
r4cv
Příspěvky: 2691
Registrován: 8. 12. 2009, 8:32
Bydliště: Topoľčany

2. 4. 2022, 11:19

Meki píše: 2. 4. 2022, 12:24 nemám ho sice zatím obsazený, ale šetřím si ho do budoucna až budu přidávat enkodér na vřeteno. I tak to asi není jednoduché obsloužit, už to zde někdo zkoušel o pár příspěvků dřív:
Mpospa píše: 13. 8. 2018, 8:25 No, protože jsem měl od počátku nedůvěru k zapojení kolečka na obecné (24V) vstupy kvůli rychlosti zpracování. Chtěl jsem využít nativně 5V vstupy pro enkodér na TB3 piny 6-11. Bohužel jsem to nedokázal v HALu obsloužit. A že jsem chvílemi lezl po zdi... :(
zatím všichni to zapojovali na piny 16 a 17 takže předpokládám že to bude funkční řešení.
tá karta má vstupy na 3 enkodéry.
na vreteno na TB3
na 2 kolečká na TB5, vstupy IN16-IN19

mám zapojené vreteno aj MPG a funguje to bez problémov.
Uživatelský avatar
Meki
Příspěvky: 463
Registrován: 20. 4. 2020, 11:37

2. 4. 2022, 11:52

robokop píše: 2. 4. 2022, 8:19 MODE 2 I/O plus analog input and field voltage and MPG mode (32 bits of input data,
16 bits of output data, 4 analog input channels, field voltage analog in, and
2 MPG encoders on inputs 16..19). Default encoder count mode is 1X to
match normal 100 PPR MPGs. Encoder input threshold is fixed at 2.5V for
compatibility with 5V encoder outputs.

tzn. ty 4 svorky se zmeni tak abys na ne rovnou dal encoder a ostatni zustane normalni
je to vylozene pro mpg kolecka viz ten odstavec manualu

nastav si mode 2 a na input pinu 16 a 17 pripoj tvuj encoder (TB5 piny 1 - 4 jsou pro dva encodery a jejich A a B signaly)
z loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=0XXX"
to prepis na loadrt hm2_pci config="num_encoders=1 num_stepgens=5 sserial_port_0=2XXX"

treshold je 2.5 takze by ses mel vejit i s tvym neTTL encoder
priste se ujisti aby jsi koupil spravny
cinani radi vymetou ze skladu kde co
treba onehda open collector mpg kolecko
je to hodne atyp, standard je 5V TTL

v tom mode 2 to pak funguje hardwarove
encoder si cita pulzy z kolecka, cas bezi a poloha se jedno za cas vycte do linuxu

podle tveho chovani tam mas asi loardt encoder a pak obecne IO piny pouzite jako vstupy toho softwaroveho encoderu a to je nesmirne pomale

kdyz to prepnes do toho mode 2 tak ti ve stromu pinu hm2.7i76.0.... pribudou dva encodery kde si proste jen prectes position pripadne velocity toho encoderu
Paráda, funguje děkuji. Přepnul jsem to teda na sserial_port_0=2XXX, nic jsem v HALu neměnil a MPG fungovalo do 1500mm/min. Ale vrtalo mi v hlavě asi to nepůjde ještě zrychlit tak jsem otevřel halshow a opravdu jak píšeš, našel jsem tam enc0 a enc1.

tak jsem v custom.hal zrušil:

net mpg-a encoder.0.phase-A <= hm2_5i25.0.7i76.0.0.input-16
net mpg-b encoder.0.phase-B <= hm2_5i25.0.7i76.0.0.input-17

a
net encoder-counts <= encoder.0.counts
jsem nahradil
net encoder-counts <= hm2_5i25.0.7i76.0.0.enc0.count

a už jezdím i na 2600mm/min :D
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

2. 4. 2022, 2:00

robokop píše: 2. 4. 2022, 8:19 nedbej na mexe ten to bude delat vzdy uplne jinak a klidne i v rozporu s manualem
Mohl bys prosím rozvést tuto svoji ostrovtipnou myšlenku?

Jen pro připomenutí, co jsem napsal:
Mex píše: 2. 4. 2022, 1:03 I když tam v tom MODE 2 píšou, že by to mělo mít na enkodérových vstupech rozhodovací úroveň 2.5V. A nepíšou tam o závislosti na napájecím napětí. Tak třeba ta karta umí přepnout některé vstupní linky do jiného režimu.
A pak tohle:
Mex píše: 1. 4. 2022, 11:44 Ale podle manuálu má vstup pro enkodér na konektoru TB3, piny 7/8 a 10/11.
Ten už máš obsazený nebo proč ho nepoužiješ?
Jsou to vstupy pro standardní signály line-driver, tj. RS422, tj. to, co máš na svém kroutítku. Napětí 3.2V je tam naprosto správně.
Která z těch informací byla "úplně jinak a klidně v rozporu s manuálem" ?
A kdybys věděl, jaká je standardní napěťová úroveň na i jen jednostranně zakončených (nebo dokonce i na nezakončených) výstupech RS422, tak bys asi nepsal spekulace o tom, jak Číňan něco vymetal ze skladu.
Odpovědět

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