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