AT89C52 i czujnik przyśpieszenia

Mam atmela c52 z podlaczonym czujnikiem przyspieszenia adxl210. Mam problem z programem do pomiaru wypelnienia przebiegu prostokatnego na wyjsciu tego czujnika. Jak to zmierzyc bo moje wszystkie pomysly upadly. Prosze o jakis programik mierzacy to wypelnienie lub choć pomysł na jego zrobienie. Bede szalenie wdzieczny bo sprawa jest naprawde wazna!!!!!!!!!!!!! Z góry dzięki.

Reply to
Mateusz Osipiuk
Loading thread data ...

Rozumiem, ze ten czujnik generuje przebiek prostokatny i ty chcesz zmierzyc jego wypelnienie ? Podlacz go do wejscia przerwan i przez inwerter do drugiego wejscia przerwan. Zmiana stanu LH i HL zglosi ci ktores z dwoch przerwan. W procedurach obslugi tych przerwan odpowiednio programujesz i startujesz timery, oraz odczytujesz ich poprzednia zawartosc, ktora bedzie ci dawac okres sygnalu i wypelnienie. To sposob skomplikowany, za to nie tracisz czasu na petle w ktorych testujesz stan wejscia proca. Prostym rozwiazaniem jest wlasnie petelka, ktora czeka na zmiane poziomu sygnalu, nastepnie liczy, az znowu nastapi zmiana poziomu itd. To rozwiazanie niestety jest kiepskie, bo proc w tym czasie uzytecznie niewiele bedzie mogl zrobic. Trzecie rozwiazanie to polaczenie poprzednich - programujesz przerwania tak, zeby byly zglaszane z czestotliwoscia kilkakrotnie wieksza (ile razy dokladnie to zalezy od wymaganej dokladnosci) i w procedurze obslugi przerwania samplujesz wejscie tego sygnalu. W tym rozwiazaniu proc moze w miedzyczasie robic cos innego, ale przy duzej czestotliwosci sama obsluga przerwan niezle go zapcha.

Reply to
T.M.F.

jaki sygnał dostajesz? stała czestotliwość ze zmiennym wypełnieniem? jeżeli tak to wprowadź sygnał na przerwanie zewnętrzne np. int0. zdefiniuj timer0 jako timer i bramkuj go zewnętrznie. skoro częstotliwość jest stała to wiesz ile impulsów powinien policzyć timer w trakcie jednego okresu. przy bramkowaniu zewnętrznym timer nie liczy gdy na int0 jest masa. stąd policzysz stopień wypełnienia.

pozdrawiam PC

Reply to
Pablo C

Użytkownik "Pablo C" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:c2afi3$qqp$ snipped-for-privacy@atlantis.news.tpi.pl...

dokładnie jak mówisz: stała czestotliwość ze zmiennym wypełnieniem. Proszę jeszcze o pomysły.

Reply to
Mateusz Osipiuk

Pewnego dnia Mateusz Osipiuk przemówił ludzkim głosem:

To może cyfrowy filtr dolnoprzepustowy ? Coś jak w przetwornikach delta-sigma.

Reply to
Zbych

albo analogowy filtr dolnoprzepustowy na wyjściu adxl + pomiar napięcia przetwarnikiem a/c (najlepiej całkującym), ale w twoim przypadku wymagałoby to dołożenia zewnętrznego układu.

Reply to
Zbych

On Behalf Of Mateusz Osipiuk

A ten który dostałeś, sprawdziłeś i stwierdziłeś, że jest zły, że prosisz o inne rozwiązania?

pzdr Artur

Reply to
ziel

Dzięki za wszystkie pomysły. Dziś bede działał i napisze jak to się skończyło.

Reply to
Mateusz Osipiuk

Czestotliwosc jest nie bardzo stala w ADXL - mi troszeczke plywala. Fakt - nie duzo, ale starczylo zebym musial pisac wyliczanie wypelnienia.

Reply to
jerry1111

AFAIR to ADXL ma uz taka noge - nie trzeba calkowac.

Reply to
jerry1111

On Behalf Of jerry1111

A Ty co? Sprawdzsz kąt ustawienia elktrody? ;-)

pzdr Artur

Reply to
ziel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.