http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...
Liczniki są osobnymi blokami uC, więc jeśli sygnał wejściowy jest poprawny, to impulsy powinny być zliczone poprawnie. Podany wyżej program to program użyty w moim mierniku częstotliwości okrojony z niepotrzebnych ci rzeczy, które mogłyby zaciemnić jego sens. Działa przy częstotliwości kilku MHz.
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni. Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15 Nic mi się nie zgadza...
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 Potrzebuje mierzyc czas pojedynczych impulsow dodatnich o czasie trwania od 0 do okolo 5 s podawanych na jedna z koncowek ATmega8 z kwarcem 4MHz. Moge zastosowac tylko Timer2. Jak wlaczyc ten timer po pojawieniu sie tego impulsu i jak go potem wylaczyc po jego zakonczeniu. No i jakich dokonac obliczen, aby czas trwania tego impulsu wyswietlic...
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...
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 . Chciałem zrobic tester pomp opryskiwaczy . Chodzi o mierzenie wydajności pompy w litrach na minute a moje pytanie czy nie bedzie gubił impulsów podczas wykonywania przerwania . Pomiar co 1 sekundę a wydajność pomp od 40l do 260l / min [syntax=basic4gl] $crystal = 16000000 $regfile = "m32def.DAT" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
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,...
Czy ten kod nadał by się do zliczania impulsów z INT0, ewentualnie co trzeba by zmienić ? Nie. Po pierwsze: Nie możesz liczyć na dokładny pomiar czasu stosując Start/Stop Timer przy użyciu prescalera o wartości różnej od jeden. Wartość timera może zostać incrementowana już po jednym ticku zegara albo nawet po 100; 150; 193 itd. tickach zegara taktującego...
Sorki (at)mezcook ale chyba nie nadążam za Twoim tokiem myślenia lub wszedł on fazę ostrego zakrętu. O ile wykorzystanie mnożnika jest ok o tyle porównywanie "z jakąś" wartością jest co najmniej zagadkowe - przecież po odczycie ilości impulsów w jednostce czasu będziesz wiedział czy wał się obrócił czy nie... Komplikujesz sobie sprawę na własne życzenie....
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...
Tu jest gotowy przykład na atiny13 ale w ASM [url=http://www.avrfreaks.net/index.php?... nie mam pojęcia czy działa ale zapewne tak ;)
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...
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...
Witam Czy w BASCOM’ie jest jakaś komenda która zlicza liczbę impulsów na jakimś z portów?? Pozdrawiam Michał
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. Czy ktoś wie dlaczego dziwnie liczy mi wartość Impw? W symulatorze jeżeli na pind.5 caly czas daje 0, to po osiągnięciu przez timer 0,1s (6249) wartość Impw wynosci 9300. Skąd to się bierze??? $crystal = 4000000 Config Timer1 = Timer , Prescale = 64 poczatek: Start Timer1 Impw = 0 Timer1 = 0 Do If Pind.5 = 0 Then Incr Impw Loop Until Timer1...
Czy ktoś ma pomsył/przykład programu do pomiaru wypełnienia impulsu?
Jak zmienic ten kod: $crystal = 11059200 Config Lcdpin = Pin , Db4 = P0.2 , Db5 = P0.3 , Db6 = P0.4 , Db7 = P0.5 , E = P0.1 , Rs = P0.0 Config Timer0 = Timer , Gate = Internal , Mode = 0 Config Lcd = 16 * 4 Dim C As Byte Do Counter0 = 0 Bitwait P1.1 , Set Start Timer0 Bitwait P1.1 , Reset Stop Timer0 C = Counter0 Cls Lcd "Czas impulsu:" Lowerline Lcd...
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...
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...
Proszę. Nie testowane bo ja tu mam mnóstwo roboty ;) Normalnie użyłbym raczej wejścia ICP1, ale takie cos to możesz mierzyć chyba z palcem w uchu :D Powinien pokazać czasy stanu wysokiego i niskiego ;) [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 $hwstack=64 $swstack=32 $framesize=128 Config Lcd = 20x4 Config Lcdpin = Pin , Db4 = Portb.2...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...
Jak napisał mirekk36- do takich czujników w Bascomie nie ma gotowców. Trzeba je sobie napisać. Ale to dopiero jest ciekawe- a nie gotowce. Schemat wzmacniacza z linku- prawidłowy ale koncepcja układu- taka sobie. Na obrazku z linku jest pięknie- a wrzeczywistości jest tak: http://obrazki.elektroda.net/56_12643603... Pięć impulsów o częstotliwości...
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....
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...
Proponuję zamiast mierzyć czas 5 obrotów sprawdzać ilość impulsów co stały czas.
jak chcesz takie duze czestotliwości mieżyć to musisz użyć timera żeby liczył zewnętrzne impulsy, wtedy drógim timerem wyzwalasz przerwanie co określony czas (im dłuższy tym lepszy bo pomiar dokładniejszy) liczysz ile było ilmpusów z zewnątrz w okreslonym czasie. wydaje mi się że tą metodą dało by sie mieżyć nawet do 100Mhz ale jest jedno zalożenie...
Akurat ważniejszy jest mały spadek napięcia, żeby stan niski pozostawał niskim również za diodą. Zrobiłem szkic pokazujący o co chodzi w tym różniczkowaniu i ANDowaniu: http://obrazki.elektroda.pl/7732349900_1... Przy zwykłym różniczkowaniu widać, że brakuje szpilki wskazującej początek impulsu pierwszego kanału. Można ją odtworzyć...
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...
Nie jestem za biegły w timerach i się ciut pogubiłem. Proszę zatem o podpowiedzi. Próbuję ustalić ile czasu będzie trwał impuls podawany na INT procesora a jednocześnie zmierzyć czas od początku tego impulsu do początku następnego. Jednym uP podaję impulsy na drugi uP. Do Portc.7 = 0 'stan wysoki Waitms 1 Portc.7 = 1 'stan niski Wait 5 Loop Drugim uP...
Problem polega na tym, aby pomierzyć ilość impulsów jaka upływa pomiędzy kolejnymi pomiarami czujnika. Chodzi o to żeby timer1 zliczający impulsy po wykonaniu pomiaru przez czujnika wyświetlał ich ilość, a następnie zliczał kolejne impulsy upływające do wykonania 2 pomiaru itd. Zamiast czasu podawać na monitor zliczone impulsy pomiędzy kolejnymi pomiarami....
Ja tylko tak luźno dodam, że na pomiar impulsów z trzypinowego wiatraczka przy sterowaniu masą przez PWM bym nie liczył.
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...
Timer to dobry pomysł a w ogóle juz nie wspomne o łatwosci jego obsługi w BASCOM'ie, jeśli nie robiłeś tego jeszcze to nie martw sie przyjdzie Ci to napewno bez problemu. Jeżeli chodzi o dwa kanały no to po prostu wykozystasz dwa timery. Gorzej z odmierzaniem czasu bo timery się skończyły (no chyba że 89c52), w tym przypadku bez problem można by poradzić...
Witam Traktując poważnie ten cały komputer pokładowy to chyba trzeba wysiąść z bascom'a, owszem tam można sobie testować pewne procedury ale poważny program,jakim pewnie docelowo ma być ten, w bascomie zajmie >>>8kb (a wybrany przez Was proc 90s8515 to właśnie 8kb). Wiem to z doświadczenia. Napisałem tylko 1 procedure do pomiaru prędkości chwilowej...
nie uwzględniałem. Nie wiem czy są takowe w ogole, a poza tym ja liczę czas trwania impulsu sterującego - czyli masy. Myślę, że bez oscyloskopu w samochodzie się nie obejdzie...
........ 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...
To trzeba zmienić priorytet z 12 bitów stałokodowego pilota na odbiór HCSa lub całkiem usunąć obsługę pilota 12 bitowego. może tak: [syntax=vbnet]'*************************... '========================= przerwanie przy kazdym zboczu ICP, odczyt czasu trwania impulsu...
Witaj. Skądś znam ten problem, ktoś mnie o coś takiego prosił. Tyle, że wartości częstotliwości i wypełnienia były ustawiane potencjometrami. Programik był napisany na ATtiny26, wartości częstotliwości i wypełnienia nieco sie różnią, ale możesz sobie to zmienić. Programik testowałem (ale bez oscyloskopu). W razie błędów proszę o łagodny wymiar kary...
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
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...
Postawiłem sobie zadanie opracowania licznika prędkości. Powiedzmy, że do roweru. Konstrukcję i jej sens odłóżmy na razie na bok :) Zadanie dla procesora niby banalnie proste - liczyć prędkość przez badanie impulsu na pinie. I teraz zaczynają się schody. Mogę to zrobić na kilka sposobów (te które znam): 1) mierzenie czasu między impulsami 2) mierzenie...
Dzieki za ten program ale niestety za slaby jestem jeszcze zeby go od razu zrozumiec :( Wiem ze bascom to niezbyt dobry jezyk ale jest dla mnie w miare zrozumialy i dobrze by bylo jednak gdybym ten licznik w nim pisał. Potrzebuje zeby mi ktos prosciej wytlumaczyl na czym ten pomiar dokladnie ma polegac? Narazie zrozumialem ze na pomiarze liczby impulsow...
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)...
Może ten temat troche pomoże jest na innym kwarcu ale zasada ogólnie ta sama http://www.portalnaukowy.republika.pl/ob... Takie rozwiązanie w Bascomie jest najprostsze, tzn pomiar czasu poprzez komendę Wait 1(odczekanie 1 sekundy), odliczenie 1 sekundy podczas, której Timer1 jako licznik zlicza ilość impulsów. Już tak robiłem, ale domyślnie...
Sam pomiar w przerwaniu nic nie da. Bo zawsze wskaże porównywalny prąd (impulsowy podczas trwania impulsu PWM). Ten prąd trzeba przeliczać w zależności od wypełnienia PWMa. I dlatego pytałem jaki chcesz prąd. Średni czy skuteczny. Jak średni to mnożysz przez wypełnienie PWMa (przeskalowane do zakresu 0...1). A jak chcesz skuteczny to mnożysz przez wypełnienie...
Wywal z przerwania obsługę LCD i waitms. Z tego powodu może gubić przerwania i cały pomiar czasu jest do d.. Obsługa przerwania ma trwać jak najkrócej a pozostałe dodatki robić w pętli głównej. Impulsy masz co 20ms a obsługa przerwania trwa min 100ms więc to nie ma prawa działać
Też składam coś takiego tylko zastanawia mnie jedna rzecz. Jak dokonać pomiaru temperatury cieczy za pomocą DS18b20? Oryginalne czujniki wkręca się np. w blok głowicy a to? Na przewód chłodnicy i taśmą? Poza tym kolego janoo0 czy mógłbyś zapodać kawałek kodu który jest odpowiedzialny za pomiar prędkości obrotowej silnika? W moim przypadku mam dwa impulsy...
Jest pewien, maleńki problemik z dekodowaniem sygnału żyro. Powiedzmy, że pobudzamy go sygnałem średnim tzn. 1,5ms. Jak wiadomo, żyro powinno skorygować wartość tego sygnału o +/-0,5ms. Nie może jednak tego zrobić, do czasu zakończenia impulsu wejściowego, w związku z czym sygnał na wyjściu zacznie się, dopiero kiedy ten na wejściu się skończy. Niestety...
Tak na chłopski rozum pierwsze co przychodzi na myśl to stały pomiar częstotliwości wejściowej i na tej podstawie wytworzenie nowych impulsów o wyższej częstotliwości przeliczanych w czasie rzeczywistym. Oczywiście w takim układzie impulsy wyjściowe były by z lekkim opóźnieniem (co najmniej 2 imp. na wejściu), bo potrzebny jest przecież czas na zmierzenie...
Nie chciał bym za Ciebie pisać tego programu, bo jest to naprawdę proste zadanie i dlatego spróbuj sam napisać go jeszcze raz od początku wg np. takiego algorytmu: Ustaw timer powiedzmy na 10khz aby każde przerwanie wykonywało się co 100 mikrosekund. Możesz też gęściej od tego zależy dokładność - tu 100us czyli 0,1ms Zdefiniuj sobie zmienną licznikową...
chyba to powinno byc jako pierwsze : $regfile = "m8def.dat" $crystal = 8000000 i nie zapomnij przestawic fusebity na zewnetrzny zegar jaki ma byc algorytm pracy ? bo najczesciej jest to uklad dzialajacy podobnie jak radar wyslanie krotkiego impulsu o czestotliwosci ok 40khz pomiar czasu przelotu i odebranie odbitego impulsu. Twoj moze ma pracowac w...
Minutowy pomiar 4204 4259 4254 4250 4240 4231 4237 4231 4201 4198 Zastanawiam od czego to jest zależne skoro pomiar jest "dokładny" to takie błędy możne wnosić wentylator? bo nie wiem jak wyglądają inne projekty na takich wentylatorkach. Dodano po 1 W sumie nie ma co grzebać uśrednię jakoś te obroty z 10-20 pomiarów i powinno być ok. Zrobiłem by dodawało...
NOUKI przeglądałem odnośnik - dzięki . Kombinuje maszyne do ciecia przewodów czyli : zadaje długość np. 10,5cm i po odmierzeniu "maszyna" ma uciąć ten przewów . Przesów drutu realizuje na siłniku prądu stałego z przekladnią (wiem że łatwiej by bylo na silniku krokowym )ale mam gotową przekłanie na silniku dc . pomiar przesuniecia przewodu - dioda-fototranzystor...
pomiar czasu impulsów bascom pomiar impulsów bascom pomiar czasu
kompakt schemat kabel świeca simson brudne paliwo
pralki siemens interpretacja błędu
Mercedes W245 B200 – lokalizacja czujnika temperatury powietrza dolotowego IAT Lokalizacja bezpiecznika świateł postojowych Scania Irizar 2002