Stránka 1 z 2
Jaký snímač polohy?
Napsal: 10. 3. 2023, 2:56
od prochaska
Přemýšlím o lineárním snímači polohy (ne nutně optickém), který by na rozjezdu 460 mm a při maximální rychlosti 30 m/min (500 mm/s) byl schopen dodávat polohová data v reálném čase pomocí nějakého lidského datového přenosu (UART, RS232, RS485, v nejhorším i TTL step/dir). Díval jsem se na různá dostupná odměřování, ale vždycky končí displejem a popisem funkcí, ale něco s datovým výstupem se mi nepovedlo rozumně najít. Neřešil jste prosím někdo podobný problém?
Re: Jaký snímač polohy?
Napsal: 10. 3. 2023, 3:15
od miv
prochaska píše: ↑10. 3. 2023, 2:56
Přemýšlím o lineárním snímači polohy (ne nutně optickém), který by na rozjezdu 460 mm a při maximální rychlosti 30 m/min (500 mm/s) byl schopen dodávat polohová data v reálném čase pomocí nějakého lidského datového přenosu (UART, RS232, RS485, v nejhorším i TTL step/dir). Díval jsem se na různá dostupná odměřování, ale vždycky končí displejem a popisem funkcí, ale něco s datovým výstupem se mi nepovedlo rozumně najít. Neřešil jste prosím někdo podobný problém?
Magnetická pravítka od Jirky mají kvadraturní výstup. Já jsem to použil, když jsem si dělal odměřování na zdvih osy spodní (truhlářské) frézky. Ale dělal jsem si k tomu i vyhodnocování, zpracování a softwarovou filtraci - bastlil jsem k tomu vlastní elektroniku s CPU MSP430.
Re: Jaký snímač polohy?
Napsal: 10. 3. 2023, 9:05
od Mex
Jako jedna z povolených možností je tam uveden TTL DIR/STEP.
Pokud by vyhověl (podle mě lepší) kvadraturní signál, tak to poskytuje skoro každé levné pravítko s AB nebo ještě lépe s ABZ výstupem.
Takže na výběr budou optická i magnetická pravítka v široké nabídce. Z Číny za málo peněz.
Pokud by podmínkou byl nějaký sériový protokol (zde zmiňovaný jako UART), tak to chce mezi to připojit levný a jednoduchý převodník s procesorem.
Pokud možno ne staré hloupé Arduino, ale něco s HW čítačem se schopnosti číst kvadraturní signál.
Takže ze známých a laciných třeba starý známý Blue-pill nebo jinou lacinou desku s nějakým STM32, případně ArduinoDue a mnoho dalších možností.
Blue-pill i ArduinoDue by to uměly posílat bez dalšího HW po USB. S jednoduchým a levným HW pak to RS232 (pomalu), RS422/485 (rychle), CANbusu (rychle), případně Bluetooth.
Třeba s Blue-pill se dělá opravdu dobře. Použil jsem je už v mnoha projektech, a to i v nasazeni 24/7. Já jsem si kdysi nakoupil zásoby po 2 USD, to už dneska není. Ale za stále akceptovatelnou cenu pod 200 Kč i s DPH je vede například laskarduino.cz.
Po sériovém protokolu se asi celkem bez větších problémů dá protlačit tak 1-2 Mbit/s. Na jedno určení aktuální polohy by to chtělo tak cca 4-10 byte (podle toho, jestli to má být i lidsky čitelné nebo stačí jen předání strojových informací). Takže by to zvládalo předat polohu tak 10-50 tis. krát za sekundu.
Takže při maximální rychlosti 500mm/s pak s granulitou 0.01-0.05mm.
Re: Jaký snímač polohy?
Napsal: 10. 3. 2023, 9:23
od prochaska
Dík za nakopnutí, já jsem se nějak nemoh dohrabat k tomu kvadraturnímu signálu. Teď už to vypadá řešitelně a ani ne moc složitě

Re: Jaký snímač polohy?
Napsal: 10. 3. 2023, 9:43
od Radhard
Jak píše Mex.
>----[STEP+DIR]----[STM32F}----[BUS]---->

Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 7:59
od Selic
Ještě existuje odměřování s protokolem SSI. Elektricky je to RS422 - do enkodéru posíláš hodiny a zpátky chodí data. Dělají se i odměřování asi s grayovým kódem nebo zálohovací baterií, že si to pamatuje polohu i po vypnutí napájení.
Pak se ještě nechá koupit panelový čítač od firmy Orbit Merret, kdy vstup je kvadraturní, na dispeji ukazuje přepočet polohy a data se nechají vyčítat přes modbus. Pro jeden kousek to bude asi i levnější než něco bastlit a programovat.
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 9:02
od prochaska
Aha, díky. Já asi použiju ten kvadraturní signál, jsem rád že to tak běžně bývá. Původně jsem myslel že je to co výrobce to vynález a že tam bývá nějaký mezikus který to předžvejká a dál posílá jako data, z té dokumentace co jsem k tomu našel tohle nebylo jasné. Bastlení a programování se ale nevyhnu (ten Blue pill vypadá rozumně), protože k tomu potřebuju přibalit časový signál a poslat to do PC. Windows tam celkově přidají latenci kolem 10 ms (a to je ještě musím zdvořile požádat o timeBeginPeriod(1) a ThreadSetPriority(15)

) a to už by bylo moc.
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 9:22
od testone
jestli jsem to dobře pochopil, tak tady to máš hotový
https://www.essapraha.cz/jednotka-iepc-usb-ed
jako bonus budeš mít v Radotíně dokonalou podporu od výrobce
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 9:27
od prochaska
Mex píše: ↑10. 3. 2023, 9:05Třeba s Blue-pill se dělá opravdu dobře. Použil jsem je už v mnoha projektech, a to i v nasazeni 24/7.
Jaký je k tomu potřeba programátor? Případně co se k tomu musí ještě koupit aby to šlo programovat?
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 9:33
od packa
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 12:50
od robokop
Na bluepill ti staci usb kabel ne?
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 1:28
od prochaska
Dík. Ten RS422 nebo TTL výstup stejně musím na něco konvertovat, aby to šlo napojit do PC. Jinak pravítko samozřejmě koupím, jen jsem si nebyl jistý tím výstupem, nikdy jsem s tím nedělal.
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 1:29
od prochaska
robokop píše: ↑11. 3. 2023, 12:50
Na bluepill ti staci usb kabel ne?
Aha, ten mám

to by šlo.
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 8:45
od Mex
prochaska píše: ↑11. 3. 2023, 9:27
Mex píše: ↑10. 3. 2023, 9:05Třeba s Blue-pill se dělá opravdu dobře. Použil jsem je už v mnoha projektech, a to i v nasazeni 24/7.
Jaký je k tomu potřeba programátor? Případně co se k tomu musí ještě koupit aby to šlo programovat?
Obecně současné ARMy používají pro programování a debugování rozhraní SWD. Jsou to 2 dráty (SWIO a SWCLK) a GND.
Asi nejlevnější řešení jsou ty maličké programátory, co odkazoval už Packa. V Číně za 2 dolary, u nás jako obvykle trochu výš. Za ty prachy skvělý poměr výkonu ku ceně, pokud to člověk srovná s jinými nástroji.
https://www.laskakit.cz/st-link-v2-prog ... U9EALw_wcB
Číňani to dělají jako klon originálního programátoru ST-link od STM. Funguje tam i upgrade na aktuální firmware od STM.
Teoreticky je to coby klon programátoru od STM použitelné jen pro procesory STM. Ale existuje pro to alternativní firmware. Například Blackmagic Probe (můj zamilovaný a úžasný firmware), který se tam dá nasypat a pak to používat i na ARMy jiných výrobců. Tento maličký programátor s firmware BMP je skvělý pomocník za směšné peníze. A to je ten futrál ještě poctivý hliníkový, žádný levný plast.
S omezeními se dá použít asi i interní bootloader, který tam má procesor už od výrobce. Ale mám pocit, že na STM32F103 (tj. to, co je na Blue-pill) umí jet jen přes UART nebo CANbus. Takže pro spojení s PC to chce ještě převodník USB/serial nebo USB/CANbus. Píšu "mám pocit", protože i když s těmito procesory dělám dlouho a hodně, tak jsem interní bootloader nikdy nepoužil. Je to taková nouzovka.
Ale kdyby člověk za každou cenu chtěl ušetřit stovku za programátor, tak by se dal použít třeba k tomu, aby se do Flash nasypal už nějaký pořádný bootloader a pak to programovat po USB. Já mám třeba svůj bootloader, postavený nad protokolem DFU. Ale používám to jenom k tomu, abych mohl zákazníkovi mailem poslat nový firmware a on si ho tam mohl univerzálním nátrojem dfu_utils přes USB nahrát. Pro potřeby vývoje a ladění zásadně jedu přes progamátor ST-link s firmware BMP. Je to rychlejší, má to mnohem větší možnosti (např. ladění v RAM) a hlavně se tím dá program i debugovat.
Re: Jaký snímač polohy?
Napsal: 11. 3. 2023, 8:59
od prochaska
Dík za vysvětlení. Každopádně je to o položkách v řádu stokorun, kdybych udělal nějakou blbost, tak žádný průšvih
