Atmega8 akcelerace krokového motoru

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Nearduinista
Příspěvky: 23
Registrován: 08 kvě 2024, 00:00

Atmega8 akcelerace krokového motoru

#1 Příspěvek 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 ??
Uživatelský avatar
HF_Tech
Příspěvky: 2365
Registrován: 25 dub 2022, 00:00

#2 Příspěvek 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.
Uživatelský avatar
samec
Příspěvky: 6670
Registrován: 19 pro 2017, 00:00

#3 Příspěvek 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
Uživatelský avatar
Nearduinista
Příspěvky: 23
Registrován: 08 kvě 2024, 00:00

#4 Příspěvek 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.
Uživatelský avatar
samec
Příspěvky: 6670
Registrován: 19 pro 2017, 00:00

#5 Příspěvek 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ť.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“