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.
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.
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.