AT89C52 i czujnik przyśpieszenia

Mar 05, 2004 10 Replies

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.



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.

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

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.

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

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

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.

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

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

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

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

On Behalf Of jerry1111

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

pzdr Artur

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required