Turboasm Napisano Maj 31, 2010 Udostępnij Napisano Maj 31, 2010 Jak zrealizować pomiar czasu pomiedzy impulsami ? Dodam że impulsy są zbierane z czujnika indukcyjnego zamocowanego nad kołem zembatym z około 100 zębami. Zależy mi na bardzo dynamicznym pomiarze gdyż zliczanie impulsów w czasie nie zdaje egzaminu gdyż silnik zmienia prędkość obrotową bardzo dynamicznie od 500 - 7000 obrotów na minutę. Nie musi być to dokładne nie co 1 obr/m a np 100 200. Czy w bascomie intrukcja PULSEIN dała by radę czy moze znajdzie sie jakies inne rozwiązanie ? Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Maj 31, 2010 Udostępnij Maj 31, 2010 Osobiście zrobiłbym to na przerwaniu zewnętrznym i liczniku. Licznik z sygnałem zegarowym z kwarcu (ew. przez preskaler) - przerwanie wyzwalane czujnikiem, a w nim odczytywana wartość licznika, i zerowanie go. Wartość licznika byłaby czasem jaki jest pomiędzy 2ma impulsami z czujnika (nie wiem jak to masz zamontowane, ale chyba pomiędzy 2ma zębami, czyli x100 i mamy czas obrotu całego koła). Byłoby to bardzo dokładne. Cytuj Link do komentarza Share on other sites More sharing options...
Turboasm Maj 31, 2010 Autor tematu Udostępnij Maj 31, 2010 A mógł byś dać jakis przykład ? Cytuj Link do komentarza Share on other sites More sharing options...
mictronic Czerwiec 5, 2010 Udostępnij Czerwiec 5, 2010 Witam! Jeśli temat jest nadal aktualny... Użyłbym do tego dowolnego przerwania zewnętrznego i dowolnego timera do pomiaru czasu. Zaleta jest taka ze można ustawić sobie na jakie zbocze lub zmianę sygnału ma układ reagować,po wykryciu takiego sygnału uruchamiamy timer który liczy sobie takty.Polecam w tym wypadku 16bitowy. -Przykładowo konfigurujemy urządzenie INT0 to generowania przerwania po stwierdzeniu zmiany sygnału na końcówce. Timer1 konfigurujemy normalnie z jakimś prescalerem. Przykładowo liczę dla max obrotów 10000rpm Gdzie jedno przejście kola trwa 6ms (10000/60=166 1/166=6ms) To impuls z ząbka będzie trwać 60us (6ms/100=60us) Dlatego potrzeba inkrementowac timer1 szybciej niz 60us Wiec dla zegaru 8mhz prescaler wyniesie np 256 i timer będzie się inkrementowac co 32us,i przepełni się dopiero po ok 2 sekundach czyli idealnie znajdzie się w naszym zastosowaniu 🙂 (0,000032*65536=2,097152s) -W podprogramie togglujemy sobie flagę ze przerwanie nastąpiło a po tym warunek jeśli flaga=1 to włącz timer a jeśli 0 to wyłącz timer i zacznij przeliczać na obr/s Po prostu trzeba się pobawić 🙂 Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Zuk Czerwiec 6, 2010 Udostępnij Czerwiec 6, 2010 Nie wiem czy da się to zrobić w BASCOMIE,ale np. ATmega88 umożliwia zrobienie czegoś takiego tylko na jednym timerze. Trzeba skonfigurować ten timer, aby był wyzwalany wejściem zewnętrznym bezpośrednio sterującym tym timerem (nie pamiętam nazwy wejścia). Samo wyzwolenie działa podobnie jak wejście INT na typ zbocza. Ale cała procedura jest wykonywana na jednym układzie peryferyjnym. Za pierwszym razem startujesz licznik, a za drugim spisujesz wartość zczytana do zmiennej, na której już dokonujesz odpowiednich przeliczeń w programie. Kiedyś do tego trzeba było użyć 2 timerów i przerwania INT. Tak, że jest to spore ułatwienie. Więcej informacji w nocie katalogowej. Cytuj Link do komentarza Share on other sites More sharing options...
mictronic Czerwiec 6, 2010 Udostępnij Czerwiec 6, 2010 No właśnie bascom nie daje za bardzo takiej opcji trzeba mieszać w rejestrach :/ Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!