Náhrada výměnných kol posuvu za krokový motor s elektronikou

Odpovědět
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

11. 1. 2016, 7:59

Tak borci zoberte papier a pocitajte. A potom tu mozete teoretizovat. A ked ste taky mudri tak chodte na to ruske forum ako na 20 stranka riesili ako vopchat obsluhu Step impulzu do prerusenia. P.S 1,75 stupanie zavitu nieje delitelne bezo zvysku s koderom s 2000. Ano da sa to vyriesit. Tak ze menej kritizujte a ked uz tak k veci. Bru noc. Prakticky ste tu ohladom toho nic neukazali. Ani vypocet.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

12. 1. 2016, 6:01

Atlan to ze 3/1.75=1,71428.... a neviem ake desatinne miesta neznamena ze to musis pocitat s desatinnou ciarkou. Krokovy motor vie robit cele kroky, pripadne ich celociselne rozdelit.
Ak chces pocitat zrychlenia v realnom case na avr radovo stovky az tisice krat za sekundu tak by som ako prve zabudol na float,double a podobne somariny.
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

19. 1. 2016, 10:24

Ja neportrebujem pocitat zrychlenie v realnom case. Proste po 10 impulzoch od vretena potrebujes jeden impulz pre krokovy motor-v pripade celeho kroku (alebo 2 alebo 4 podla toho ako je nastaveny driver cely krok, pol krok a podobne) problem je v tom ze nieje dostatok casu na generovanie impulzov pre krokac. Tj mozem urobit to ze po 10 imp od vretena vygenerujem napr na i2c zbernici 0101 0101 to mi sposobi ze driver krokaca dostane 4 impulzi a mozem mu nastavit 1/4 krok, nebude to tak drncat a bude to plynulejsie. Ano bude troska skok na zavite ale bavime sa o velmi malych zmenach. Dakujem za rady ale fakt mi nepomozu.

Navyše momentalne som spokojny stym 1 impulzom pre krokac.

Tak som na tom troska popracoval.

Obrázek ObrázekObrázek
Obrázek ObrázekObrázek

Obrázek

Ten rusky soft mi nechodi. Ale nevadi, lebo aj tak som si to chcel upravit k obrazu svojmu navyse mam aj snimac Z. Krokac je namontovany, ale dnes uz by som ho namiesto prevodovky nedaval, osadil by som ho do ramu sustruhu, a vyrobil predlzenu osku. Co uz, mozno to niekto urobi mudrejsie. Neskor doplnim fotky
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

20. 1. 2016, 6:19

Sorry atlan za moju "drzost" ale zaujima ma, ked sa vratis nozikom doprava na zaciatok zavitu, vreteno sa toci 300rpm a ty chces druhy krat rezat tu istu stopu zavitu. Ako sa do toho trafis. Bez zrychlenia. A tiez neviem, ako cez i2c posles napriklad 3 impulzy. Jedine co ma napada tak to, ze jeden impulz bude dlhsi ako ostatne. Co to spravi pri vyssej rychlosti tu vsetci vedia.Ak by si stal o radu (co ocividne nechces) tak by som ti poradil pozri sa na priebeh signalov i2c zbernice a zistis ze je to blbost. Vhodne tak maximalne na pohyb kamerou pri toceni pomalobeznych videi. (teoreticky, prakticky nevidim dovod na take riesenie)

Na druhej strane, keby sa Tesla dal odradit takymi zadubencami ako ja, neboli by tu ziadne jeho vynalezy.
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

20. 1. 2016, 7:18

Budem pocitat kroky. Kolko som ich urobil v lavo tolko ich urobim v pravo. Dostanem sa na zaciatocnu poziciu a pockam na synchronizacny pulz tak ako ked som rezal prvu vrstvu.
Myslis ze to nebude fungovat?
t256
Příspěvky: 2837
Registrován: 19. 1. 2012, 4:49

20. 1. 2016, 7:46

Cele vlakno jsem necetl, ale taky si myslim ze i2c neni moc vhodna na tohle. Sbernice je delana na kratke vzdalenosti (primarne na jedne desce), takze na delsich privodech bude v prumyslovych podminkach spousta chyb. Musis mit osetrene pokud napr. prijimaci strana neposle ACK, nebude sedet parita, CRC apod. Casto pak budes muset prenos opakovat (i nekolikrat), coz sebou nese casovou rezii, prikazy budes muset v prijimaci bufferovat abys ji vykryl apod.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

20. 1. 2016, 12:28

On nechce pouzit i2c ako prenosovy protokol. On chce budit driver priamo impulzami SDA.

Co sa tyka toho ze pockam na synchronizacny impulz, tak ano pockas, on prisiel a co teraz? Spustim motor plnou rychlostou? Pri sustruzeni 0.1 mm na otacku v pohode. Pri rezani zavitov nie. Nevravim o tom, ze ked budes generovat tie i2c impulzy tak na logickom analyzatore to bude vyzerat tak ze 4 impulzy, dlho nic, zas 4 impulzy, zas dlho nic....
t256
Příspěvky: 2837
Registrován: 19. 1. 2012, 4:49

20. 1. 2016, 12:57

Echt, to mi prijde jako docela zvrhlost :-)
Proc ty impulzy negenerujes rovnou timerem?
Rekl bych ze to bude mnohem jednoduchsi.
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

20. 1. 2016, 1:01

Lebo sa moze stat ze kym sa budem bavit s timerom ze mi ujde impulz z enkodera. Inak pouzivam Trx pre generovanie impulzov. Skusam uvidim mozno slepa cesta no.
Uživatelský avatar
Thomeeque
Příspěvky: 8916
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

20. 1. 2016, 1:31

Nestálo by za to mrknout do zdrojáků LinuxCNC, jak řešej G76?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
t256
Příspěvky: 2837
Registrován: 19. 1. 2012, 4:49

20. 1. 2016, 1:32

atlan píše:Lebo sa moze stat ze kym sa budem bavit s timerom ze mi ujde impulz z enkodera...
To se ti muze stat u I2c taky, nevidim v tom zadny podstatny rozdil.
V obsluze preruseni casovace jen zmenis/zkontrolujes hodnotu pocitadla pulzu a na jeho zaklade nahrajes novou hodnotu
do casovace (rampovani) pro dalsi pulz. Par instrukci ktere se s prehledem vykonaji radove v jednotkach mikrosekund.

Vystupy enkoderu dej na preruseni s nejvyssi prioritou, rozliseni smeru a in/dekrementace citace pulzu je opet otazka par instrukci.
Pripadne pouzij MCU ktery ma HW podporu enkoderu (lepsi varianta)
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

20. 1. 2016, 4:57

Tazko, ked dam poslat data na i2C alebo inu periferiu uz sa o nic nemusim starat vygenereju to uP bez toho ze by potreboval nejaku obsluhu.
bronek999
Příspěvky: 521
Registrován: 6. 3. 2014, 6:50

20. 1. 2016, 5:10

Obavam sa ze atlan chce nacitavat impulzy z enkodera v loop smycke testovanim pinov.

Takze dalsia rada, ktoru si pravdepodobne neprosis:
Procesory AVR (aj 99% inych) maju takzvany Pin change interrupt.
To znamena, ze nastavim napriklad na pine 1 portu A ze pri zmene tohto pinu externym zariadenim(enkoderom) sa ma vykonat prerusenie.
Takze nech je procesor akokolvek zaneprazneny vykonavanim programu (main) alebo prerusenim s nizsou prioritou tak VZDY vykona obsluhu toho prerusenia.
A nemoze sa stat ze ti ujde nejaky impulz. Samozrejme nesmu byt tie impulzy rychlejsie ako obsluha prerusenia, ale take otacky s tvojim enkoderom nedosiahnes. (Pri dobre napisanom programe)
t256
Příspěvky: 2837
Registrován: 19. 1. 2012, 4:49

20. 1. 2016, 5:38

No ale ty data pro i2c musis stejne pripravit uplne stejnym zpusobem jak pro ten citac. Pokud to budes mit blbe napsane a pulz ti prijde v okamziku kdy budes pripravovat data pro vyslani pres i2c prijdes o nej stejne :-)
Tim si vubec nicemu nepomuzes.
Nevim jak chces zajistit plynulost tech pulzu, po odeslani bajtu ceka vysilac na ACK, vznika ti tam mezera atd...

Udelej to pres to preruseni, jak ti radi i bronek a nebude s tim zadny problem. Chytat pulzy v hlavni smycce je nesmysl, tam muzes mit max tak stisky tlacitek, zobrazovani na displeji apod.
Preuseni se da nastavit na ruznou prioritu, nastav si nejvyssi na vycitani enkoderu, nizsi na posilani pulzu do krokacu, tam jedna nebo dve mikrosekundy nebudou hrat roli.

Jake chces mit otacky a kolik ma enkoder pulzu na otacku?
atlan
Příspěvky: 3348
Registrován: 7. 2. 2011, 9:12

20. 1. 2016, 6:34

No nic nechcete mi to naprogramovat vy ?

http://www.youtube.com/watch?v=9OTWBz9gQBw" onclick="window.open(this.href);return false;
Odpovědět

Zpět na „Ostatní elektronika“