Linux a Absolutní enkodéry

K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

14. 2. 2017, 7:42

fupe píše: ... Nejsem si uplne jistej ze seriova komunikace bezi po A B kanalech. Myslim si, ze ty slouzi jen pro incrementy a pro komunikaci slouzi S kanal. Nejak si uplne neumim predstavit jak by se to prepinalo. podle me jsou to dva nezavisle kanaly.
Ty enkodéry jsou ve dvou verzích, 12bit a 15bit. Ta 12bit verze má implementovaný S kanál jak si ho zmínil a asi by se dal použít k získání výchozí absolutní polohy po startu, nicméně i ona po zapnutí napájení vyšle " inicializační sekvenci " na A B kanálech tak jak jsem jí popsal. Ale tenhle typ je osazen pouze na motoru výměníku nástrojů. Na osách X,Y,Z jsou 15bit verze a ty S kanál vůbec implementovaný nemají. Mám to prakticky ověřené protože jsem Lubošovi na jednom motoru ten 15bit enkodér měnil a potřeboval jsem si ověřit co z toho leze za signály abych podle nich ten nový mohl správně osadit zpět na motor (sfázovat). Ta sériová data s počtem celých otáček se po zapnutí napájení objeví pouze na kanálu A, poloha hřídele v dané otáčce je poté odeslána pomocí "INITIAL INCREMENTAL PULSES" a data na S kanálu se objeví až po ukončení této sekvence ale pouze u 12bit verze viz. obrázek:
enc.jpg
Takže ano, ten A kanál funguje chvilku po startu jako UART a pak se přepne do IRC módu.
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

14. 2. 2017, 7:56

Super, diky za vysvětlení, jak říkám pořád je se co učit.
V tom případě je to ještě o trochu složitější než sem si myslel. Pak by ten hal modul musel byt o něco chytřejší a řešit to přepínání sám uvnitř.
Jaký z toho lezou napěťový úrovně? rs232 rs422 nebo rs485. ?
M
K_73
Příspěvky: 267
Registrován: 10. 4. 2014, 5:43
Bydliště: Praha

14. 2. 2017, 8:14

Jsou to RS422 linky.
"Each Phase is an RS-422 type (~±4.5VDC) Line Driver"
pavel7890
Příspěvky: 52
Registrován: 15. 7. 2010, 10:49

14. 2. 2017, 11:59

Mex píše:A je hodně složité nebo dokonce nemožné si napsat vlastní HALový modul, který na začátku načte tu odeslanou pozici, a pak se přepne do průchozího stavu a bude jen předávat data původní obsluze enkodérů?
Nic o tom konkrétně nevím, zatím jsem nestudoval, jak se takové věci v LinuxCNC píšou (na nic jsem to nepotřeboval).
Ale pokud jsou ty HALové moduly aspoň trochu normální SW komponenty, tak by to snad neměl být nijak neřešitelný problém, ne?
Dokonce si myslím, že by se ani extra hal modul psát nemusel, že by stačila pouhá konfigurace v hal souboru. Pochopitelně za předpokladu, že už je k dispozici informace o aktuální poloze.
Odpovědět

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