Jakou zvolit strategii programu
CNCnet.info
hwnews@cncnet.info
Čtvrtek Březen 29 21:36:39 CEST 2007
Zdravim, mam alespon z meho pohledu zajimavou vec nad kterou zu chodim
cca dva dni a nemohu se rozhodnout co bude lepsi.
Potrebuji udelat zpetnovazebni regulator motoru rizeneho modelarskym
regulatorem - tedy celym vystupem je PPM modulace s opakovanim 20ms a
sirka pulzu je 1-2ms.
Vstupem je cidlo od motoru, ktere dava 4 pulzy na otacku. Rozsah
regulace je 1.000-20.000rpm - tedy prodleva mezi pulzy je 15ms az 749us.
Rozhodl jsem se merit ne pomoci nacitani poctu pulzu za urcity cas, ale
merenim casove roztece mezi signaly z cidla - neni to sice definitivni
rozhodnuti, ale ma to jiste vyhody se vzrustajicima otackama (nevyhodou
je ruzna doba mereni) - nicmene pokud se ukaze ze merit pocet pulzu za
cas je lepsi klidne to zmenim.
Zatim reseni, ktere jsem zatim vydumal jako perspektivni je generovat
prepruseni pres timer inkrementovany hodinama a tim generovat zacatek
pulzu PPM s tim ze v hlavni smycce budu prubezne merit cas mezi pulzy z
cidla a cist nastavovaci prvky - vysledkem bude doba zpozdeni kterou
pouziju v preruseni pro genrovani delky pulzu.
Problem vidim v tom, ze pri otackach 1000rpm je doba mereni 15ms a nemam
zaruceno ze to v tech 20ms stihnu kdyz se to netrefi mezi dve preruseni
a prijdu pri odskoku do generovani pulzu o presnost mereneho casu.
Resenim by bylo merit cas pomoci dalsiho preruseni (cidlo je na RB0 coz
je externi preruseni). Pak by na hlavni smycku zbyvala jen obsluha
nastavovacich prvku. Je ale nebezpeci ze v pripade ze se sejdou dve
preruseni tak se to mirne zdeformuje casove - podle toho cemu dam prednost.
Procesor zatim v ramci pokusu je PIC16F873A, ale neni problem pouzit
nejakou pinovou nahradu z 18tkove rady pokud by to bylo prinosem.
Pokud byste mel nekdo nejake osviceni jak treba lepe vyuzit HW uvnitr
procesoru tak budu rad.
RadekCX
Další informace o konferenci Hw-list