Stránka 1 z 1

Atmega8 akcelerace krokového motoru

Napsal: 23 čer 2024, 14:24
od Nearduinista
Zdravím, řeším jednu takovou věc, zda se dá nějak zjednodušit tenhle vzorec OCR1A_VALUE ((((FREQMCU/2)/DELICKA)/F_OUT)-1) abych nemusel dělit. Trvá to na můj vkus moc dlouho. Defakto každou 1ms přepočítám novou frekvenci pro zrychlovaní krokáče přes dva časovače abych dostal lineární zrychlení.
Výpočtem si potom zjiším, že např. z 1000hz do 2000hz bude krokač zrychlovat 1s a udělá při tom 1500 kroků. Praktický jsem si to ověřil, že to sedí.
No jo jenže jak dám zobrazovací logiku jakou vzdálenost ujedu a zobrazuju každych 100ms, tak se to celé zbortí pač inicializace lcd něco trvá atd. Pokud přepočty hodím do přerušení, tak to je nekonečně dlouhé přerušení.
Hodí se vůbec atmega na to ??

Napsal: 23 čer 2024, 17:24
od HF_Tech
Zkus se podívat do zdrojových kódů GRBL. Ten to zvládá s dloubáním v nose v několika osách.

Napsal: 23 čer 2024, 17:33
od samec
To bude ťažké. Potrebuješ aspoň pentium i5, 4-jadrový na 2,4GHz a 6GB RAM.
Alebo dve vysoké školy, lebo na jednej si dnešný človek nestihne všimnúť, že veľkými písmenami sa zapisujú konštanty a makra, že konštanty sa za behu programu nedelia, že f=1/T a že na kód sa používa formátovanie "Code".

Idem si po pizzu a pivo, toto bude zaujimávé.
Obrázek

Napsal: 23 čer 2024, 19:22
od Nearduinista
HF_Tech píše:Zkus se podívat do zdrojových kódů GRBL. Ten to zvládá s dloubáním v nose v několika osách.


To jsem koukal, ale tam se rovnou ještě odmocňuje a otázka je jaké rychlosti to bude zvládat, takže zkouším tenhle způsob jak by fungoval https://www.eetimes.com/linear-motor-co ... -the-math/ . Jenže tam použivá rovnou procesor AT91SAM9260 a to už je trochu jiná sranda.

Napsal: 23 čer 2024, 21:29
od samec
Uob si tabuľku, do nej daj už vypočítané hodnoty a tie potom jednoduchým indexovaním vyčítaš a zapíšeš do príslušných registrov. 256 rýchlosti by ti malo stačiť.