Trzeba tu zaznaczyć, że metoda zliczania impulsów w czasie nie jest tożsama, pod względem efektów, z pomiarem czasu między kolejnymi impulsami. Pierwsza metoda nadaje się do wyższych częstotliwości, a druga do niższych. Problem tkwi w rozdzielczości pomiaru i szybkości uzyskania wyniku. Licznik AVR'a reaguje na impulsy o częstotliwości maksymalnej niższej...
Ok rozumiem . Cały temat staram sie zrozumiec poprawnie i zmierza do zbudowania komputera do opryskiwacza na podbudowie "BRAWO180 lub 300S" wiec zależało mi na poprawnym zliczaniu przepływomierza i pozostało mi obliczyć prędkość . Muszę obiczyć predkość z dokladnościa do 0,1 km/h do maksymalnej predkości około 35km ,niewiem czy liczyć impulsy czy mierzyć...
Nawet jeśli nie programuje się w Bascom to warto wiedzieć że ma taką WIKI. Wszystko na jednej stronie bez przewijania Helpa. Tam opisana każda instrukcja z właściwym syntaxem i przykładami. Otwiera się ze skrótu szybciej niż Acrobat Rider hahahaha :D Raz trzeba zobaczyć http://wiki.mcselec.com/bavr/BASCOM-AVR_... ..i nacisnąć PULSEIN - tam są odpowiedzi....
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy Start a Stop? Bardzo proszę o podanie fragmentu kodu. A czy...
Witam, Mam mały problem z pomiarem prędkości za pomocą Timer'a (Bascom). Może napisze krótki opis problemu: Na początku wyznaczyłem sobie ile impulsów na metr daje auto, wyszło 5,15. postanowiłem więc mierzyć w stałym czasie te impulsy i przeliczać na km. Jak się okazało takie podejście jest ok ale skoki prędkości są o kilka km np: 22, 25, 29 km/h ......
Witam Zawsze staram się sam rozwiązywać problemy jednak tu poległem. Chodzi mi o pomiar czasu między impulsami. W jaki sposób poradzić sobie z Timerami? Który Timer można użyć do tego i z których wejść mogą być wyzwalane? Z góry dziękuję za pomoc.
Witam Mógłby mi ktoś powiedzieć jak to napisać, żeby program zliczał impulsy z pinu przez określony czas np. 10sec Pozdrawiam ;)
Jak zrealizować problem jak w temacie w bascomie , urządzonko ma zliczac np. 4 implusy i czas występujący między nimi (od zbocza narastającego do następnego zbocza narastającego) np. ________/\______/\____/\__/\_________ | | | | ------------------------ T0 T1 T2 Całość ma zajmować do dwóch sekund. Gdzie dać sygnał wejściowy żeby urządzenie działało...
Potrzebuje zmierzyc za pomoca AVR i do tego najlepiej BASCOMA liczbe impulsow i czas trwania kazdego z nich w okreslonym czasie oczywiscie lub sam czas trwania wszystkich impulsow. Podobno AVR ma jakas mozliwosc mierzenia etgo sprzetowo wejscie ICP? jesli tak prosze o konfiguracje timera/licznika do tego. Nie moglem znalezc sensownego tematu jesli ktos...
Witam Tak jak w temacie. Jak liczyć czas między pojawieniem sie na porcie impulsów stanu niskiego (o ile stan niski można nazwać impulsem)? tzn tak: pojawia się 0 timer rusza, pojawia sie 0, timer się zatrzymuje, zczytuję stan timera, robie z tym to i tamto, zeruje licznik i od początku, czekam na 0, licznik rusza, itp. Nie chcę korzystać z licznia...
Witam Mam za zadanie zrobic pomiar czasu wtrysku w ms poprzez przerwanie ICP1 Niestety po wielu bojach z rejestrami Tccr1B Tccr1A oraz Timsk i innymi , program nie dziala jak potrzeba w Proteusie Czytalem w dataszicie ze licznik T1 musi byc ustawiony w trybie TOP i musie byc wlaczony Noise Canceler , wszelkie ustawienia WGM nie dzialaja :/ Bardzo prosze...
Mam problemy z odbiornikiem modelarskim gdzie jest sygnał PWM o różnym wypełnieniu. Chciał bym zmierzyć czas tego wypełnienia. Napisałem prosty program ale jak na moją głowę coś z nim nie tak. Zbyt prosto wygląda. Może lukniecie na niego i podacie jakieś spostrzeżenia ? [syntax=c]$regfile = "M8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin...
Czy ktoś ma pomsył/przykład programu do pomiaru wypełnienia impulsu?
Witam. Chciałbym zrealizować pomiar częstotliwości impulsów podawanych na któryś pin Atmegi (zakres częstotliwość od 1 do max 100Hz). Narazie testuje podawanie impulsów na wejście T0 i zliczam je Timerem0 w trybie counter. Napisałem taki prymitywny programik, ale coś mi się wydaje że można zrobić to lepiej, więc proszę o jakieś sugestie lub poprawki....
Koledzy znając życie to pewnie problem wynika z mojej niewiedzy. Mam podprogram Który ma mi zliczyć czasu załączenia pompy. W tym celu wykorzystałem sobie przerwanie które generuje mi przepełnienie co 500ms. W warunku Flagi 500ms jest zmienna (kala(n))która jest zwiększana co 500ms jeśli pompa jest załączona. Załączam sobie pompę np na 3,5s czyli zmienna...
Witam Mam oto taki kawałek kodu w bascomie Locate 3 , 2 Lcd " Dmuchawa " ; I If I < 255 Then If Pinc.1 = 0 Then I = I + 1 End If If I > 0 Then If Pinc.2 = 0 Then I = I -1 End If Xxx: If Pinc.5 = 0 Then Goto Bbb If Pinc.6 = 0 Then Goto Ppp Ttt: Portc.0 = 0 For A = 0 To B Step 1 If Pinc.5 = 0 Then Goto Xxx Wait 1 Locate 1 , 1 Lcd...
Witam serdecznie! Mam problem z wyliczeniem czasu trwania modulacji PWM. Dane: kwarc 8MHz, preskaler 1, pwm 8bit, waitms 4 Dają one mniej więcej sekundę na zmianę jakości LEDa z 255 do 0. krok_z=255 do pwm1a=krok_z waitms 4 decr krok_z loop Chciałbym rozciągnąć ten czas na kolejno 5,10,15,20,25 i 30 min. Próbowałem jakichś współczynników korygujących...
Witam Jak transmitowac dane z bajtu - bit po bicie ( na dowolnym porcie ) z okreslonym opóźnieniem ( rzedu 1ms ) W asemblerze to takie proste - ale jak to zrobić w BASCOMIE ?? szkoda ze nie mam czasu na pisanie w asemblerze ! Wolałbym o odpowiedź na temat maskowania bit po bicie i uzyciu instrukcji "waitms 1" niz uzywania Timera do generowania opoznien....
Witam. Napisałem program zegara na timer1 (atmega8) z zewnętrznym kwarcem. Chcę, by podczas przytrzymywania przycisku do ustawiania czasu naliczało coraz szybciej lub chociaż co 5. Próbowałem wielu przykładów ale żaden nie chce działać poprawnie. Mój fragment kodu: Do Call Wyswietl_czas If S1 = 0 Then Waitms 25 If S1 = 0 Then If Przysp = 0 Then Incr...
No to mniej więcej tak jak w temacie potrzebuje zrobić coś takiego że jak wypełnienie będzie trwało ponad 1.5 ms to na wyjściu będzie 1 a jeżeli poniżej 1,5ms to na wyjściu będzie 0 chciałbym to zrobić na atmega 8 ponieważ taki sobie leży u mnie w domu ale kompletnie nie wiem jaki program do niego napisać żeby mega8 zmieniał mi stany wyjść w zależności...
Witam, da się jakoś sprawdzić czas trwania wartości zmiennej? Chodzi mi konkretnie o to że mamy jakąś zmienną powiedzmy I=8 jeśli zmienna ta nie przekroczy wartości 8 przez 3 sekundy wykonuje się podprogram poprzez polecenie Gosub hamować
Witam Czy w BASCOM’ie jest jakaś komenda która zlicza liczbę impulsów na jakimś z portów?? Pozdrawiam Michał
Rzeczywiście, z zaremowaną funkcją bitwait zmienna W przybiera wartości. Nie mam pojęcia dlaczego. Musisz tu zrozumiec mechanizm pomiaru długości trwania impulsu w instrukcji "PULSEIN": patrz 'Bascom help' Pulsein W , Pinc , 0 , 1 W tym konktetnym przypadku pomiar czasu dokonywany jest pomiędzy zboczami, z których pierwsze jest rosnące a drugie opadające....
Dawno Bascoma nie używałem ale to będzie coś takiego: On int0 czas 'przerwanie zewnetrze (wejście impulsów) do czestotliwosc=1/czas 'obliczenie czestotliwosci z czasu pomiedzy impulasmi loop czas: stop timer0 'zatrzymaj timer czas=timer0 'odczyt z timera timer0=0 'wyzerowanie timera start timer0 'ponowne uruchomienie timera return Oczywiście...
Pomiar czasu pomiędzy impulsami radzę stosować dla małych prędkości obrotowych. Dla większych prędkości , lub odczytywaniu impulsów z enkodera ( np . 1000 impulsów na obrót ) czasy pomiędzy impulsami mają małą wartość , należy wtedy zliczać impulsy w czasie . Daje to większą dokładność. Np dla 1000 obr/min 100 impulsach na obrót i czasie pomiaru 1 sek...
Z listingu programu nie mozna doszukac sie jaka metode przyjmujesz w pomiarze RPM. Ja jakoś się doszukałem. A nie, sory. Nawet doszukiwać się nie musiałem. Liczy okres pomiędzy impulsami. Ale przerwanie to powinno wyglądać tak: Przerwanie: Zmienna = Timer1 Timer1 = 0 Wynik = 7500000 / Zmienna Return Preskaler Timera ustaw na 64. A: Capture Edge...
........ chce wykorzystać wewnętrzny kwarc 8Mhz po trzecie czytając helpa jesli dobrze rozumiem to timer1 jest 16bitowy a timer0 jest 8 bitowy emarcus - gdybym chciał wykorzystać twój pomysł to gdybym zostawil timer1 jako counter a jako timer wykorzystał timer0 ktory by zliczał czas w jakim sa zbierane impulsy - jeśli o to ci chodziło i jeśli jest...
Sugerujesz, żeby np. mierzyć impulsy przez 100ms i później pomnożyć to razy 600 żeby otrzymać wynik w obr/min? Dokładnie to sugerujemy. Ale z tym 6us to się BARDZO pomyliłeś i to zmienia postać rzeczy, bo przy 2 impulsach na obrót przez 100ms przy ok 11krpm impulsów będziesz miał np 36. 36x300 = 10800rpm z dokładnością +-300rpm... przy 10 pomiarach...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Witam. Próbuję napisać program odpowiedzialny za pomiar odcinków czasowych pomiędzy impulsami sygnału S1 i S2 (zgodnie z załącznikiem). Proszę o prześledzenie kodu, wszelkie uwagi i sugestie mile widziane. Nie mam pewności co do poprawności pobierania wartości licznika TIMER1 za pomocą TCNT1. 'program do pomiaru okresu sygnałów podpiętych do PD.2(INT0)...
Witam doświadczonych kolegów. Potrzebuję zrobić bardzo prosty tester. Ma za zadanie wygenerować dwa impulsy, w których czas pomiędzy zboczami opadającymi będzie wynosił 103mS. Właściwie pomiędzy narastającymi bo tranzystor je odwróci. Wiem, że Waitms nie jest dokładne ale ważniejsze jest to by te interwały były takie same, powtarzalne. Zatem czy Waitms...
Po długim analizowaniu problemu narodziło mi się coś takiego: 'pętla główna Dim I As Integer Dim Impulsy As Long Dim Sek As Integer Tccr1a = &H00 'ustawianie trybu pracy timera1 Tccr1b = &H0C Ocr1ah = &H7A 'załadowanie liczby 31250 do licznika Ocr1al = &H12 'przykładowa liczba do odmierzania (1s) Tcnt1h = &H00 ' zerowania rejestrów do zliczania...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
WItam Potrzebuję zmienić częstotliwość przebiegu prostokątnego o np 3,3 raza. Czestotliwość wejściowa jest zmiennna w pewnym zakresie maks 500hz. Wymyśliłem sobie żeby to zrealizować tak aby na INT0 podawać sygnał wejściowy i wywołuje przerwanie impulsy a timer0 generuje przerwania co jakiś mniejszy czas probkowania. Zliczam impulsy probowania pomiedzy...
Zamiast zliczać ilość impulsów w stałej jednostce czasu, mierz czas pomiędzy poszczególnymi impulsami.
Nie znam się na wtryskach ale jeśli chcesz mierzyć ich charakterystykę to szybkość zjawisk tam zachodzących raczej wyklucza ATMegę. Jeśli chodzi jedynie o zliczanie impulsów z wału silnika pompy CR to nie powinno byc problemu, natomiast co do pomiaru ciśnienia za wtryskiem to ADC w ATMega może być za wolne. potrzebowałbyś szybkości, przy np max 4000...
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Nie ma większego znaczenia w jakim środowisku programujesz (Basic albo C). Istotny jest koncept projektu i sposób rachunkowy, reszta to tylko inna forma zapisu programu. Wybrałeś za narzędzia: Timer1 i jeden z interruptów zewnętrznych. Zatem jest tez bez znaczenia...
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
Poprawiłem program, sygnał podaje na pind.5, teraz wygląda on tak --------- Dalej nie dobrze. Jest kilka metod pomiaru RPM wirujacych elementow (walow) urzadzen. Widze ze zdecydowales na pomiar czasu pomiedzy impulsami wynikajacymi z jednego obrotu, mimo ze opis do org. watku mial na celu zliczanie impulsow w okreslonej jednostce czasu. Nie ma nic...
Rozumiem Twoją ideę, ale nie za bardzo wiem jak ją zaimplementować w Bascomie. Na razie mam coś takiego: http://obrazki.elektroda.pl/7270697700_1... Nie wiem czy coś takiego się sprawdzi przy większej prędkości pracy i transmisji radiowej, czy tam nie będzie zbyt dużych rozbieżności w czasie trwania? Co do Twojego pomysłu spróbuje coś...
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
http://obrazki.elektroda.pl/5053717900_1... Miałem ostatnio potrzebę zrobić mały termostat, który będzie dość przyzwoicie trzymał temperaturę, a warunkiem było jej nie przekraczanie. Pomyślałem, że zanim go oddam to jeszcze go zdążę tu opisać... a i będzie kolejny przykład, że Attiny 13 potrafi więcej niż tylko miganie diodą :-D Było...
Zanim przejrzałem ten temat, wymyśliłem coś takiego: 'Pokazuje ilość obrotów na minutę 'Pomiar co sekundę, wejście PB0...1 'Cls : Cursor Off $baud = 19200 Dim Count(2) As Long , Last_state As Byte , Tmp As Byte Config Timer1 = Timer , Prescale = 64 'do odmierzania 1 sek. On Timer1 Co1sek On Pcint Fan_int Portb = 3 'podciąganie wejść kontroli...
Witam Mam podpięty czujnika ultradźwiękowy mobot- us v2 do atmegi8. Steruje nim za pośrednictwem interfejscu I2C, a pomiary z czujnika za pomocą rs-232 wyrzucam na moniktor komputera. Problem polega na tym że przy prędkości transmisjii 9600 (rs) czujnik wysypuje pomiary do odległości 1,8m, a przy prędkości 38400 do odległości 35 cm, a pożniej podaje...
Czy ktoś może mi wytłumaczyć co robię źle lub czego nie robię (a może założenie jest złe) Procesor AT90S2313 (kwarc 8MHz) Język: Bascom AVR (1.11.7.4) Program ma policzyć czas pomiędzy impulsami z czujników. Mój program częściowo to wykonuje, lecz ma zbyt małą rozdzielczość i nie wiem w jakich jednostkach pracuje (ok 120 na sekundę) Docelowo układ ma...
pomiar czasu pomiędzy impulsami pomiędzy impulsami pomiar czasu pomiędzy
gruszka turbiny citroen regulator temperatury przewodowy renault megane głośniki tyłu
Renault Megane IV 2016 1.2 benzyna - biały dym z wydechu Mercedes Atego 3 kod błędu 10B62 – zwarcie sondy lambda, diagnostyka, Bosch LSU 4.9