No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
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ć...
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...
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....
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...
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...
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...
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...
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 ;)
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...
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...
Natomiast do rozładowania użyłem żarówki 12V 200W. Gdyby PWM ustawić na 1023 to wtedy prąd wyniósłby 200W : 12V = 16,6A. Moc tracona na Mosfecie wynosiła wtedy właśnie około 200W w szczycie. A to dlaczego? Reasumując moje "wypociny" :D ACS będzie wskazywał poprawnie jeżeli prąd przez niego przepuszczany nie będzie wyższy niż prąd maksymalny dla wersji...
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ł...
Czy ktoś ma pomsył/przykład programu do pomiaru wypełnienia impulsu?
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...
Witam Czy w BASCOM’ie jest jakaś komenda która zlicza liczbę impulsów na jakimś z portów?? Pozdrawiam Michał
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 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 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...
Witam obecnych. Czy ktoś z Was ma program którym można byłoby obsłużyć enkoder impulsowy tak aby dla pewności każdy impuls był próbkowany 2 razy.Zmienna licznika w programie byłaby zmniejszana lub zwiększana w zależności ok kierunku obrotów. Jest taka opcja w bascomie "encoder"lecz nie wiem czy jest to wystarczająco niezawodna metoda na pewny oczyt...
witam mam taki problemik bo wyczerpały mi się pomysły potrzebuje zrobić licznik na wejściu x który zlicza liczbe a następnie zapisuje ją sobie i licznik sie zeruje i od początku. Niedawno bawie sie w bascomie i nieumię sobie ztym poradzić za pomoc bardzo dziękuje.
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 Chciałbym zmierzyć prędkość obrotową wykorzystując do tego układ ze zwykłej myszki z kulką, czyli fotodiode i fototranzystor oraz tarczke z otworami. Myślę, że najlepszym rozwiązaniem byłoby zliczenie w czasie ilości impulsów (ile razy zasłania i odsłania tarcza z otworami fotodiode), a następnie na tej podstawie wyliczenie z jaką prędkością obracało...
Cześć. Czy ktoś z was bawił się kiedyś obsługą impulsatora. (Takie coś jak potencjometr, tylko ze bez ograniczeń co do kręcenia i działa na innej zasadzie:podwójny stycznik). Chodzi mi o jakiś program w bascomie lub coś podobnego. Pozdrawiam Jacek
Tak, chciałem policzyć czas grupy impulsów i z tego częstotliwość. Dla przykładu: Timer0 liczy impulsy sygnału o częst. około 500 Hz, wiec 50 impulsów to około 0,1 sek, 450 impulsów to około 0,9 sek. Dlatego Timer1 miał się przeładowywać co 50 i stąd moje nieudolne próby wpisania w niego 206 :cry: Jestem świadomy, że znaczna zmiana mierzonej częstotliwości...
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 Nie musisz obawiac się o gubienie impulsów z powodu wykonywania przerwań. Impulsy są zliczane przez Counter1,...
(at)asembler - no może trochę demonizowałem co do przerwań zewnętrznych. Wszystko zależy od tego jak zaprogramuje się obsługę tych przerwań. W każdym razie i tak myślę, że w tym konkretnym przypadku (tak czułem, że coś z samochodem jednak będzie :) ) lepiej będzie wykorzystać jeden timer (do wyznaczania stałych odcinków czasowych) i odpytywać w tym...
cały kod aktualnie wygląda tak. Docelowo w pętli głównej będą inne rzeczy jeszcze. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Portc.0 = Output Config Portc.1 = Output Config Pind.0 = Input Config Pind.6 = Input Config Pind.5 = Input Config Pind.7 = Output Config Timer0 = Timer ,...
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...
Napisałeś, że spodziewasz się ok 13000 obrotów na sekundę. Licznik 16 bit powinien przyjąć Ci to z ponad czterokrotną nadwyżką. Drugi 8bit timer odmierza Ci czas pomiaru - np.: 1/4 sekundy - zależnie od tego jakiego używasz zegara i preskalera timera. Przerwanie timera oznacza że ukończyłeś pomiar ilości impulsów licznikiem. Wtedy zatrzymujesz timer,...
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ą...
W skrócie do zadań programu należało by: 1. Wyświetlanie komunikatów na wyświetlaczu LCD 2x8 (około 7 zakładek z informacjami, przełączanych jednym przyciskiem) w tym sterowanie podświetleniem przez BC557B. *1 powitanie *2 pierwszy pomiar temperatury (DS18B20 po 1wire) + alarm przy pewnej temp. niezależnie która zakładka jest włączona. *3 drugi pomiar...
Lj = Li / 250 250 to ilość impulsów na 1 l. według producenta Cały problem w tym że nie wiem jaki uklad wsadził do tego przepływomierza i co ma na myśli 250imp/l . Próbuje na różne sposoby poprawnie zliczać litry . Brak jakiejkolwiek noty tego przepływomierza.... Jeżeli tak figuruje na obudowie przepływomierza, to taką liczbę należy zastosowac do wzoru...
Czy jeżeli napisze program w którym : - będzie zliczał ilość obrotów w ciągu 1 s (będzie to częstotliwość f ) - zastosuje wzór V=2*pi*r*f r-promień koła Robisz tak: 1.Zliczasz ile impulsów przypada na 1km drogi (wykonywane tylko raz), najlepiej jak ustawisz program tak aby zliczał impulsy drogi do zmiennej typu word. Jedziesz np. 5 km i zapisujesz...
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...
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...
W Helpie Bascoma masz przykłady jak w podstawowy sposób obsługiwać i RS485 i RS232 więc może zacznij od tego ? Gdybym ja miał Helpa po polsku lub ew. angielsku to byłbym zbawiony... Wiesz może gdzie mozna takowego zdobyć? Może ta ATmega644p to lekki przerost formy nad treścią bo to olbrzymi procek jak na te potrzeby Czy ja wiem czy przerost formy nad...
Witam, bascom wysypuje mi error 1 w tym programie: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.4 , Db6 = Portb.0 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.1 Config Pinc.5 = Input Config Pinc.4 = Input Config Timer1 = Counter , Edge = Rising 'konfiguracja Timera do zliczania...
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...
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...
Proponuję zamiast mierzyć czas 5 obrotów sprawdzać ilość impulsów co stały czas.
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....
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...
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...
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...
'Działa od 30rpm do 300000rpm $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Timer1 = Timer , Prescale = 64 Config Int0 = Rising Dim Flaga As Byte Dim Text As String * 10 Dim Wynik As Single Dim Zmienna As...
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....
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...
Ja tylko tak luźno dodam, że na pomiar impulsów z trzypinowego wiatraczka przy sterowaniu masą przez PWM bym nie liczył.
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...
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...
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...
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...
Witam, przerobiłem nieco program kol. Teedd, pod swój mikrokontroler i kwarc, niby działa, ale nie mam regulacji częstotliwości, reguluje mi tylko wypełnienie, kończą mi się pomysły.. $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default...
Może: Licz: If Co_robic = 0 Then 'Odliczanie przerwy Incr Licz_przerwe If Licz_przerwe > 1000 then Licz_przerwe = 0 Co_robic = 1 End If Else Incr Licz_impulsy If Licz_impulsy > 4 Then 'Odliczanie okresu przebiegu (4 - okres = czas 4 przerwań Timera) Toggle PortD.4 Incr Licz_przerwe 'Odliczanie ilości impulsów (10/2 = 5 impuslów)...
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 Z tego co wyczytałem w postach to jest mozliwy pomiar częstotliwości dla impulsów prostokątnych. Co zrobić gdy ja mam przebieg sinusoidalny i to w dodatku nieprzemienny (posiada składowa stałą i nie przechodzi przez zero). Jak zmierzyć cześtotliwość takiego sinusa?? Pozdrawiam i dzięki za zainteresowanie moim postem
pomiar czasu impulsów bascom licznik impulsów bascom impulsów licznik bascom
tracer highlander silent uruchomi laptop matryca lenovo podlaczenie mikrofonu
pralki siemens interpretacja błędu
CAT B26 – brak możliwości powiększenia liter, rozmiar czcionki, ustawienia wyświetlacza Mercedes W169 2009 – kolory przewodów kierunkowskazów przednich, wtyczka, SAM, schemat