[elektro] potmeter encoder konverter
Moczik Gabor
pm_levlista at progzmaster.hu
Sat Dec 18 15:34:47 CET 2010
hapci wrote:
> lenne a sima idozítés periódusonként. Ami még lényeges hogy az AB jel
> feldolgozásakor így elveszteném a 4xes felbontást ha ki szeretném használni.
Nincs 4-szeres felbontás. Eleve úgy kell csinálni, hogy egy A/D
érték-változás a GRAY kód következő értékét adja, tehát egy digitális
változást eredményezzen. Nem kell lejátszani egy periódust a jelekkel,
csak bonyolítaná a dolgot.
Zajszűrés nélkül annyi, C-ben, hogy:
const char bin2gray_tab[4] = { 0, 1, 3, 2 };
uint16_t ad_prev, ad_curr;
ad_curr = get_adc_sample();
if (ad_curr > ad_prev) {
for (; ad_prev < ad_curr; ad_prev++) {
out = bin2gray_tab[ad_prev & 3];
}
} else {
for (; ad_prev > ad_curr; ad_prev--) {
out = bin2gray_tab[ad_prev & 3];
}
}
---------
a ciklusban lehet limitálni a sebességet, ha kell.
Ha nem érted a C-t, majd valaki átfordítja pseudo-nyelvre. :-)
--
((( Móczik Gábor )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))
More information about the Elektro
mailing list