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...
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.
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...
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ć...
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...
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...
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.
Cześć. Czy ktoś wie jak obsługiwać w Bascomie Impulsator (Kliker=> nastawnik impulsowy => nastawnik obrotowy=>wszystko to to samo), element bardzo użyteczny (zastępuje tradycyjny potencjometr), a jakoś żadko stosowany. Już kiedyś pisałem post na ten temat, ale prawie nikt nie zareagował. Może ktoś budował jakiś układzik z tym elementem, może ktoś miał...
prosze o pomoc w znalezieniu albo podaniu mi jakichkolwiek informacji na temat pomiaru czasu długosci impulsu prostokątnego(nie chodzi mi oscyloskok)
Czy ktoś ma pomsył/przykład programu do pomiaru wypełnienia impulsu?
Witam Czy w BASCOM’ie jest jakaś komenda która zlicza liczbę impulsów na jakimś z portów?? Pozdrawiam Michał
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...
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...
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...
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 ;)
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...
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...
Nie wydaje się to dziwne ale musiałby pan mieć przed sobą układ jest tam pomiar impulsu wysłanego i po powrocie do procesora przeliczeniu go na metry ,ale to tak na marginesie powiem że układ zaczął działać ale po kilku razowym w graniu do procesora nie rozumiem jak kompilator ustawia wyjścia na wyświetlacz ja ten procesor programowałem w innym układzie...
Witam serdecznie, Chcę zrobić sterowanie wentylatora w łazience takie, żeby wentylator włączył się gdy wilgotność powietrza przekroczy pewną wartość. Nabyłem więc czujniki DHT11 pracujące pod 1wire. Walczę z problemem już jakiś czas i nie mogę sobie poradzić. Znalazłem artykuł na ten temat : https://serwis.avt.pl/manuals/AVT3079.pd... Przystosowałem...
Witam. Przeszukałem dokładnie internet i nie znalazłem podobnego przykładu stąd zapytanie. Czy może ktoś podpowiedziec jak napisać obliczenia na zmiennych ? Mam zadanie napisać listing i zaprogramować procka , który będzie mierzył ile impulsów z timer1 mieści się w przerwaniu INT1 , tzn. kiedy INT1 =1 wtedy ile w tym czasie impulsów zliczy Timer1. Licznik...
Start Timer1 If R = 1 Then Stop Timer1 A = Timer1 End If Locate 1 , 1 Lcd A Wait 1 Ale chyba coś ze sprzętem mam nie tak, bo ciągle A wyświetla że jest zero (nie wchodzi do IFa) Hmm... ok załączasz Timer1 i odliczasz impulsy do czasu wystąpienia impulsu na R(z odbiornika) ale nie uwzględniłeś że ten impuls jest bardzo krótki i może wystąpić podczas...
Nie wiem czy kod w Bascom na coś Ci się przyda ale właśnie na takiej zasadzie jak w tym programie zrobiony mam pomiar prędkości wiatru w moim pozycjonerze. Troszkę inaczej wykorzystuję tu timery niż założyłeś ale... Zostawiłem Ci tylko fragment odpowiedzialny za liczenie impulsów i dodałem obsługę wyświetlacza. Program jest na tyle prosty, że z interpretacją...
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ś...
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...
Nie pojedynczy impuls a czas trwania pojedynczego impulsu f=1/t
Zauważ, że przy zliczaniu impulsów w cyklu pomiarowym np. 1s można zliczyć max 15000/60 = 250 impulsów z enkodera. Czas pomiędzy dwoma impulsami to min. 4ms, a więc przy kwarcu 1MHz timer odmierzy minimum 4000 taktów. Błąd pomiaru w każdym przypadku to średnio 1/2 impulsu - w przypadku 1) mamy przy maksymalnej prędkości błąd względny 0,2%, który rośnie...
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...
Witam W załączniku masz cały program stopera z dokładnością 0,1s Wytniesz z niego co trzeba Pozdrawiam PIOTR
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....
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...
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...
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...
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...
Oba procesory taktowane są kwarcami zewnętrznymi. Co prawda mają różne MHz, ale to nie ma znaczenia. Pierwszy uP jest tylko testowym sygnałem podającym impuls. Docelowo ma liczyć drugi uP i zupełnie inne impulsy. Spróbuję jeszcze dokładniej zrobić podanie impulsu z uP1 na przerwaniach. Powinno to chyba wyeliminować zmienny błąd pomiaru i dać stałą błędu...
Ja tylko tak luźno dodam, że na pomiar impulsów z trzypinowego wiatraczka przy sterowaniu masą przez PWM bym nie liczył.
A czy wiesz o tym ,że liczniki (nie wszystkie) mogą wprost liczyć impulsy pochodzące z zewnątrz? Po co używać Inty i co każdy impuls przerywać główny program, skoro masz do tego piękne narzędzie?
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...
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...
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...
Ale jak? Pod pin PWM podpiąłeś? Przecież taki pomiar Ci nic nie da nawet jak trafisz w środek impulsu. A poza tym napięcie referencyjne masz ustawione na AVCC, więc nawet jak byś mierzył bezpośrednio napięcie zasilania czy nawet prąd na rezystorze, to to też Ci nic nie da jak procesor zasilasz bezpośrednio z tego samego źródła co diodę. A nota ATMegi...
Cały problem w tym, iż przy ośmiu kanałach i zakresie obrotów (impulsów) od 100 do 15000 /min konieczny jest pomiar dwóch parametrów : 1) ilości obrotów /min z dokładnością do 25 obrotów / min 2) różnica prędkości obrotowej dla poszczególnych kanałów z dokładnością do 1 impulsu/min nie mam pojęcia jak to zorganizować na jednym atmelu. :cry:
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...
Nie żebym się sz.Kol. Kamyczka czepiał,ale przeglądnąłem wszytkie posty i znalzłem taką wypowiedź Cytuję: "Odradzam budowe VLf ów wszelkiej maści , bo poza kłopotliwym strojeniem i kapryśnym działaniem za mineralnych stanowiskach budowa ich wymaga sporego doświadczenia i bazy pomiarowej" Koniec cytatu. Pozatym na minerałach ferromagnetycznych odpadach...
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ć
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...
Witam Od pół roku montuję i modyfikuję wielozadaniowy układ do samochodu osobowego, oparty o Atmega8 (program Bascom). Funkcje: -pomiar temperatury i ciśnienia oleju -pomiar składu mieszanki -pomiar temperatury cieczy chłodzącej -odczyt zerowego położenia przepustnicy -pomiar prędkości obrotowej silnika (pomiar czasu między impulsami zapłonowymi) -regulacja...
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...
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...
Witam W prockach dopiero raczkuje. Robię obrotomierz do samochodu (choć można zastosować to wszedzie). Oparłem to na atmega16 bo taki akurat teraz mam, ale docelowo ma byc na 2312.Na razie jest wszystko w fazie testowej na biurku, ale założenia są takie: na kole zamachowym umieszczam siakiś czujnik, podaje to na układ formowania impulsu, z którego będę...
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...
Jak napisać program w bascomie do pomiaru czasu trwania impulsu wejsciowego ?Prosze o konkretny przyklad listingu takiego programu ponieważ jestem początkującym programistą w bascomie i nie znam wielu możliwości.Domyślam sie ze należałoby wykorzystać któryś z timerów i poprzez start timera za pomocą przerwania i jego zatrzymanie a następnie odczyt...
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...
PWM - Poulse width modulation (Regulacja szerokosci impulsu) poczytaj sobie na necie jest pelno o tym :) w bascom jest dosc prosta obsluga PWM i dlatego Ci polecilem... Oczywiscie mozna zrobic wszystko jeszcze prosciej :) wystarczy zrobic dzielnik napiecia: fotorezystor szeregowo z rezystorem, aby unikanc pradu zwarcia... Pomiar napiecia (max do 5V...
Witam. Napisałeś, iż pomiar odbywa się co sekundę. Z programu wynika, że co dwie skundy. Load Timer0 = 250 zły zapis Load Timer0,125 125 * 8 = 1000ms
pomiar impulsu bascom bascom impulsu impulsu bascom
sensor myszy optycznej zacisk masowy alternator yamaha układ resetu
siłownik obrotu cyklop siłownik obrotu cyklop
Opel Vivaro 1.6 CDTI – odkręcające się sprzęgiełko alternatora, przyczyny i diagnostyka Błąd P1337 w Citroen C3 Picasso benzyna - przyczyny