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.
Chodzi Tobie tylko o szybsze, czy o to, że ma zliczać impulsy tylko wtedy jeśli ich częstotliwość jest równa 100 Hz?
Można, oczywiście z rezystorem i pojemnością kondensatora dobraną do maksymalnej spodziewanej częstotliwości impulsów.
Na moje oko 4046 to najlepsze rozwiązanie. To ja podpowiem że trzeba tylko minimalnie zmodyfikować mój program. Tak żeby drugi Timer generował tylko tyle impulsów po uruchomieniu ile wynosi mnożnik. A w tym pierwszym Timerze który mierzy okres ma być inicjalizacja tego drugiego Timera i uruchamianie go. Dzięki temu częstotliwość tego drugiego będzie...
Witam, Polecenie SOUND port , il_impulsów , czas_impulsu To mi nie pomoże. Jako argument chcę podać potrzebną częstotliwość (liczba), a nie ilość impulsów i czas impulsu...
Dałem kondesator i jest lepiej z tym że zawartość timera nie zawsze jest zwiększana co jeden szczególnie gdy z większą częstotliwością podaje impulsy.
Powiedz w jakich zakresach ma być regulowana częstotliwość tego impulsu. A w BASCOM teoretycznie można zrobić to samo co w C - kto powiedział, że nie można w B. operować na rejestrach i uruchomić "ręcznie" timera w dowolnym trybie? Dla Autora tematu - zapoznaj się z notą katalogową procesora, z rozdziałem dotyczącym timera i jego trybu pracy jako PWM...
Config Portb = 63 : Portb = 63 Config Timer0 = Timer , Prescale = 1 Enable Interrupts : Enable Timer0 : On Timer0 Time Do Loop End Time: Timer0 = Zmienna Toggle Portb.3 Return Zmieniając wartość zmiennej "Zmienna" zmieniać będzie się częstotliwość impulsów.
Witam, też aktualnie bawię się impulsatorem na EVB4.3 M32 16MHz. Fajnie działa sterowanie w przerwaniu: http://www.elektroda.pl/rtvforum/topic14... Dołączyłem kondensatory 68 nF równolegle do styków. Na kwarcu 16 MHz nie ma żadnego problemu z liczeniem impulsów w obie strony. Musiałem tylko dokonać modyfikacji kodu ponieważ trafił mi się impulsator,...
No, tak dobrze to nie jest. AVR-y (a w nich timery) nie mogą poprawnie zliczać impulsów o częstotliwości większej niż połowa częstotliwości zegara zakladając na wejsciu wypełnienie przebiegu 50%. Niezbędne będzie zatem zastosowanie preskalera. Proponowałbym ATMEGA8 z kwarcem 16MHz i z prescalerem /4 zbudowanym np z cyfrówki 74F74. Mamy zatem poniżej...
Musisz określić 1. maksymalną częstotliwość sterowania wynikającą z wymaganej prędkości końcowej silnika 2. właściwości dynamiczne silnika wynikające z momentów oporowego, bezwładności oraz napędowego (silnika). Z tych parametrów wynika dopuszczalny minimalny czas rozruchu gwarantujący po pierwsze ruszenie silnika i po drugie rozruch bez poślizgu Stąd...
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...
Czyli generator impulsów jest włączany przez procesor nadający jakiś kod?
Przykładowo możesz wykorzystać dwa liczniki. Jeden do regulacji częstotliwości, a drugi do regulacji wypełnienia. - licznik pierwszy odlicza czas pomiędzy okresami od 1 sek dla 1Hz do 50 ms przy 20Hz. - licznik drugi oblicza czas trwania impulsu. Powiedzmy że zmiana stanu pinu X generuje przerwanie uruchamiające licznik drugi który po upływie zaprogramowanego...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
Mam rozumieć, że częstotliwość sygnału jest stała i równa 306Hz? Bo w takim przypadku nie widzę sensu stosowania dzielnika.
A jak trwa ci sygnał na wejsciu 1 i zacznie się na wejsciu 2, to jak jednym timerem zmierzysz dwa czasy, zerując timer po każdym impulsie?
Po pierwsze nie baw się w sterowanie fotodiodą IR tylko zastosuj fabryczny odbiornik scalony jaki jest stosowany w sprzecie RTV. Takie odbiorniki są ogólnie dostępne (poszukaj) i wymagają sygnału IR o określonej częstotliwości. Poczytaj sobie dokumentację takiego układu. Najprostsze sterowanie to nadawanie "paczek" impulsów o częstotliwości dostosowanej...
Program wyświetla to co chcesz ale w symulatorze to trwa bardzo bardzo długo. i Teraz ja licznik odlicza 100 impulsów to musisz pozmieniać obliczenia. Podczas symulacji w warunkach wpisz mniejsze wartości to się szybciej doczekasz tego wyświetlenia na lcd albo zwiększ zmienne ręcznie podczas symulacji. sygnał 125khz do generowania PWM 1,25khz. Nie rozumiem?...
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...
Witam. Jestem osobą która od kilku miesięcy w wolnych chwilach próbuje sił z mikrokontrolerami. Jako język wybrałem Bascom bo wydaje się być bardziej przyjazny od np. C. Mam wielki problem gdyż nie wiem jak zabrać się za pisanie programu który miałby generować 59 impulsów w określonym czasie, a po wygenerowanie zrobić przerwę długości jednego impulsu...
ATmega8 posiada trzy liczniki/timery, z których dwa (T0 i T1) mają możliwość zliczania zewnętrznych impulsów, dołączanych do pinów 6 i 11. Wg atmelowskiego pdf'a częstotliwość zliczanych impulsów nie może być wyższa niż połowa częstotliwości zegara ATmegi. Dla bezpieczeństwa i zapewnienia prawidłowej synchronizacji podają wartość fclk/2.5 - co w Twoim...
Może po prostu widzisz 0 bo taką wartość ma rejestr po wykonaniu przerwania? Dodatkowo rozważ, że przy podziale 8MHz przez 256 otrzymasz częstotliwość taktowania 31250Hz. Zakładając, że przerwanie będzie po zliczeniu 256 impulsów będzie ono generowane co około 122Hz.
Jeżeli chcesz precyzyjnie odmierzać / wyznaczać częstotliwość powinieneś korzystać z przerwań Timera. Zależy też jakie mają być te impulsy, jakie wypełnienie etc.
Chyba faktycznie zaczne sie uczyc assemblera bo ten mikropascal nie ma wogóle żadnej pomocy Wiesz, powiem Ci, że aby zacząć programować w asemblerze wystarczy znać nazwy najważniejszych rejestrów, wiedzieć za co odpowiadają i mieć pod ręką listę rozkazów dla danego procka. W porównaniu z Micropascal, Microbasic, BASCOM lub nawet z C, w przypadku programowania...
Jeśli dobrze rozumiem, otrzymujesz przerwanie co 1 sekundę i w jego obsłudze odczytujesz ile licznik zliczył impulsów? Nie ma się co dziwić że tak się dzieje licznik po prostu zliczy wartość całkowitą impulsów. Lepszym rozwiązaniem będzie pomiar czasu pomiędzy impulsami (okresu) i z niego przeliczenie częstotliwości.
Witam. Jestem kompletnie słaby jeśli chodzi o timery i przerwania w atmegach. Próbowałem to zrozumieć, ale całkiem mi nie idzie. Mam "generator" impulsów prostokątnych o różnym odstępie i długości. Potrzebuje mierzyć czas trwania całego impulsu. Częstotliwość niewielka, maksymalnie 200Hz. http://obrazki.elektroda.pl/8068495000_1... Czyli...
Witam. Ja zrobiłbym to tak: 1. Przebieg pomiarowy wprowadziłbym na wejście przerywające INT0 lub INT1 (w 2051 są dwa więc można mierzyć dwa kanały). 2. Ustawiłbym timer do pracy ze zliczaniem impulsów 1/12 fxtal, w trybie pracy 1, a więc 16-bitowym. Przy kwarcu 12MHz daje to rozdzielczość timera 1us, a maksymalny czas liczony przez timer to 65535 us,...
Napisałem sobie taki programik: $regfile = "m8def.dat" $crystal = 8000000 'Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Portb = Output Enable Interrupts Ocr2 = 103 Tccr2 = 25 Enable Oc2 On Oc2 Licz Dim Paczka As Byte Paczka = 0 Do Loop End Licz: Incr Paczka If Paczka...
Czyli dokładności to pewnie za dużej nie potrzebujesz? To zrób to tak normalnie: miernik częstotliwości + mnożnik + generator częstotliwości. Dla uproszczenia: miernik okresu + dzielnik + "generator okresu".
Prawie wszystko jest nie tak - oczekiwanie w przerwaniu, brak eliminacji drgań. To nie tak się robi - potrzebujesz przerwania timera zgłaszanego ze stałą częstotliwością, np. 100 Hz, i w nim robisz wszystko - sprawdzasz stan przycisku i odmierzasz czasy impulsów.
Witam. Zmieniłem prowizję . Jest to potencjometr (ze startem). U mnie pracuje na IC 89C4051. Krótki opis : Impulsy (odseparowane galwanicznie) poprzez inwerter (4049) ładują kondensator . Regulacja to częstotliwość i wypełnienie impulsów . CD4049 i Transoptor startu zasilany jest z Falownika ( 10V).
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?
Nie wiem jak to się robi w Bascomie, ale może odbiornik nie ma czasu żeby "obrobić" odebrany bajt? Pewnie Bascom robi obsługę odbioru na przerwaniu: przychodzi bajt, wywołuje przerwanie procka na nadejście transmisji, i w tym przerwaniu umieszcza wszystkie instrukcje które mu wpisałeś (czy coś w tym stylu :P). Spróbuj, tak z czystej ciekawości, po nadaniu...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
Nie wiem jaką częstotliwość próbujesz mierzyć, 8 bitowy timer zlicza do 255 więc w ciągu sekundy może się wyzerować kilkaset razy. Ponadto polecenie wait nie jest za dobre do takich pomiarów.
Tak, będziesz mógł. Jeśli chcesz liczyć w czasie (a nie chcesz) to mierzony przebieg doprowadzasz do wejścia zegarowego timera, w efekcie każdy impuls powoduje zwiększenie wartości licznika o jeden. Skoro chcesz mierzyć szerokość impulsu to wykorzystujesz wejście ICP timera - timer taktujesz z maksymalną częstotliwością, z kolei impulsy z obrotomierza...
Własnie myślałem żeby tak zrobić, dokładność ±10Hz mogę zaakceptować. Spróbuje to zmodyfikować i niedługo wrzucę tutaj do sprawdzenia. Muszę zaprojektować płytkę, wyfrezować i polutować, zobaczę efekty i wtedy się będę zastanawiać nad ewentualną zmianą. Jeszcze myślałem żeby zrobić to tak by przy czasie próbkowania 0.1sek wyniku nie mnożyć przez...
Witam ! Obliczenia źle oraz pewnie źle ustawione fusebity (pewnie default - 1Mhz internal rc). Instrukcja Load jako parametr ma po ilu impulsach ma wystąpić przerwanie, więc powinno być 625, ale że pojedyńcza połówka przebiegu sieci trwa nie 20ms a tylko 10ms więc powinno być 312,5 :D. Więc lepiej chyba prescale = 64 i load timer1, 1250. Pozdrawiam...
To, o czym piszesz, to na pewno nie jest IRDA. Używasz TSOP1736. "36" w nazwie - to częstotliwość filtra pasmowego w kHz. żeby to zadziałało, musisz sterować diodą podczerwoną falą prostokątną 36 kHz, w dodatku sygnał nie może być ciągły, 10-20 impulsów nadawania i min. 10 impulsów przerwy.
Witam! W jaki sposób można zrealizować zadanie aby na wyjściu PB3 mieć impulsy regulowane od 1 do 10 Hz, wraz z regulacją szerokości tych impulsów? Najprościej jest z waitms ale przestoje w programie nie są mile widziane. Wiem jak zrobić sam PWM ale jak zmieniać jego częstotliwość w programie?
Witam serdecznie! W tym dziale piszę do Was koledzy po raz pierwszy. W programowaniu procków raczej nie siedzę( bawiłem się kiedyś w bascomie kilka razy). Mam teraz do wykonania następujący układ. Podajemy impuls startu na nózkę procka załączając urządzenie (przerzutnik RS) zadajemy x liczbę impulsów podawanych na drugą nózkę (timer0 lub przerwania)...
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...
Maksymalna częstotliwość jaka mnie interesuje jest uzyskiwana przy OCR1A = 19. Generalnie wszystko mi działa i to całkiem przyzwoicie, ale muszę zliczać wygenerowane impulsy. Myślałem już nawet o jakimś zewnętrznym liczniku - w postaci układu TTL którego wyjścia będę sobie odczytywał w pętli głównej. To już oczywiście abstrakcja.
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
Witam. Mam pewien problem. Muszę napisać program, który na wyświetlaczu alfanum. LCD wyświetlałby poziom głośności. Nie jest to jednak jakaś konstrukcja przedwzmacniacza cyfrowego. Sprawa wygląda tak. Mam potencjometr , mikrokontroler i wyświetlacz 2x16. W jaki sposób się za to wziąść? Głośność może być wyświetlana np. od -68dB do 0dB lub jeżeli da...
Wielkie dzięki! Oczywiście masz rację! Oczywiście...Nie ma racji!... (16000000/256 = 62500) Jest to częstotliwość impulsów z prescalera kierowanych do timera0. Timer0 - z konfiguracji pracuje w trybie 'Normal' bez preload, więc interrupt OVF0 będzie generowany po otrzymaniu 256 impulsów (pełny zakres licznika); a zatem częstotliwość wystąpienia interruptów...
Wolałbym nie pisać Ci gotowca ;) natomiast moja rada jest taka. Uruchomić timer i jeśli częstotliwość tych impulsów jest dość wysoka to bezpośrednio w przerwaniu timera dawać sygnał rozpoczęcia i zakończenia zliczania i zliczać w pętli głównej programu, a jeśli częstotliwość impulsów jest mała (np. w ciągu 5 czy 10s ma liczyć) to lepiej zrobić dodatkowy...
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
Na razie patrzyłem tylko w dokumentację Bascoma... dokumentacje tego procka ma coś koło 250 stron :/ Jeśli już wiesz ogólnie jak działają avr-y , to wtedy dokumentację czytaj wybiórczo , czyli tę część która Cie interesuje ;) Z dokumentacji Bascoma wynika, że stosując polecenie config timer nie da się ustawić prescalera dla trybu PWM... Między innymi...
Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do 2sekund czas. Aby timer1 odmierzył inne/dowolne interwały czasu,...
16 Mhz . Gdyby był 8Mhz to bym go nie mógł zaprogramować. Częstotliwości pwm zgadzają się z tymi wyliczonymi na papierze dla 16 Mhz. Chyba ten procek jest uszkodzony bo innego wyjścia nie widzę.
Witam. Z pewnych przyczyn musiałem przejść z pisania oprogramowania w Bascom na C. I pojawił się problem. Mianowicie chodzi o konfigurację Timera1 tak aby był generatorem, którego częstotliwość zmienia się wpisem do rejestru pwm1a. Pwm1a = 312 Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1 On Compare1a Impuls Enable Interrupts...
Położenie serwa zależy od długości impulsu sterującego. Podawanego co ok. 20ms. Długość impulsu 0.9ms i 2.1ms określa max. wychylenie. 1.5ms- pozycję neutralną. Zmieniając to wypełnienie stopniowo określasz prędkość wychylania się serwa. Maksymalne przyspieszenie podawane jest w danych serwa. Prędkość silnika krokowego zależy od częstotliwości podawania...
Po pierwsze przydałoby się więcej szczegółów takich jak częstotliwość taktowania i w czym to ma być zrobione, domyślam się że w asemblerze ale równie dobrze może to być bascom lub c++. Załączam program w asemblerze, który generuje sygnał o częstotliwości 0.5Hz i wypełnieniu 0.5 czyli mówiąc prościej zmienia stan na przeciwny co sekunde dla kwarcu 12MHz...
Jeśli chcesz wykrywać pociąg, to nie jest właściwa metoda. Na ten temat masz sporo artykułów w sieci. Oczywiście najlepsze są odcinki izolowane i wykrywanie zajętości przez monitorowanie natężenia na odcinku. Czujniki innego rodzaju, nie podłączone do torów muszą być odporne na to, co na zewnątrz, czyli np. na poziom oświetlenia. Można użyć diod IR...
Mam kolejne pytania. Skoro attiny automatycznie ustawiony jest na 1Mhz to w takim razie jak go podepnę bez kwarcu i w programie skonfiguruje do 1Mhz to będzie ok.?? bo już tak zrobiłem i zastanawiam się, jaki jest błąd w odliczaniu czasu np. w ciągu jednej sekundy. I drugie pytanie. Powiedzmy ze układ ma zliczać impulsy podawane z częstotliwością do...
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...
Jestem początkujący w dziedzinie programowania Atmelków. Mam zamiar zrobić licznik impulsów , który w pierwszej linii wyświetlacza LCD 2*16 , będzie wyświetlał ilość impulsów , zaś w drugiej ma pokazywać ilość obrotów na minutę. Generalnie ma to rejestrować przebiegi wolnozmienne ok 1Hz nawet ciut mniej. Zaczerpnąłem kawałek kodu oczywiście z netu ,...
Bo kontaktrony w licznikach rowerowych są jakieś szybsze. Robiłem kiedyś eksperymenty z rowerem i faktycznie zwykłe kontaktrony "rurkowe" nie nadążały się przełączać. Pierwszy z brzegu kontaktron KA-02 ze sklepu na literę T przy napięciu 5V i i prądzie 100mA ma częstotliwość przełączania 125Hz. Czas załączania do oporu 1Ohma wynosi ok 2,5 ms Czas odpuszczenia...
Rozumiem o co ci chodzi tylko nie potrafię ubrać tego w język BASCOM. Wiem że muszę naliczać zmienną 4 razy następnie ją zerować i wartością zmiennej będą case-y. i tak będzie sobie przełączać. Ale co zrobić ze zliczaniem impulsów częstotliwości pulein ? też w case-ach ją podawać ? znalazłem także super projekt http://mirley.firlej.org/sterownik_tasmy...
Tak myślałem, otałem sie o produkcje poligraficzną na maszynach offsetowych:D Główny problem to najniższa prękosc liczenia. Poza tym dość prosto, zewnętrzny kwarc jako podstawa czasu, wenętrzny ma za duże odchyłki. Timer 16-bitowy jako timer zliczający interwał czasu w którym odbywa się pomiar, drugi timer jako licznik impulsów z fototranzystora. Reszta...
Nieee- to się kompiluje. Sprawdziłem. To jest stary, klasyczny problem. Czętościomierz- czasomierz. Dokładność zależy od częstotliwości- czasu. Przy dużej częstotliwości otwieramy "okno"- bramkę i zliczamy ile tych impulsów było. Przy małej częstotliwości mierzymy czas między impulsami a bramka- pracująca teraz jako generator impulsów- zlicza czas między...
Zwiększanie częstotliwości czyli zmniejszanie czasu na cyfrę skutkowało ciemniejszym świeceniem. To można łatwo kompensować zwiększając prąd segmentu. LEDy tolerują w impulsie prądy wielokrotnie wyższe niż nominalne, co w pewnym zakresie istotnie zwiększa ich jasność.
czyli inaczej częstotliwość impulsów - działający jak prescale obecnie mam około 4 impulsów na sekundę, a tą ilość chcę zmieniać do np 1 na 2 sekundy wiem ze jak zmienia kwarc na 1 MHz to uzyskam ale inne sprawy przestają działać poprawnie
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...
Błędów brak, symulator wskazuje że jak zwykle ok i ładnie wszytko śmiga. Inaczej potrzebuje mieć 3 sygnały z możliwością zmiany czasu trwania impulsu i przerwy. Chciałem uzyskać częstotliwość od 0,5hz do 250Hz na kanał (impuls 100% wypełnienia). Impulsy mają być pierwsze wyjscie, drugie , trzecie, pierwsze.... Że nie wiedziałem jak to zrobić pod bascomem...
Najprościej na jakimś ATtiny mierzyć czas między impulsami i podawać o 3,5x większej częstotliwości na wyjściu. Program najprościej napisać w Bascomie. A swoją drogą, dlaczego po wymianie skrzyni masz nieprawidłową prędkość? Przełożenie nie ma na to wpływu. Chyba, że czujnik nie znajduje się na osi napędowej tylko gdzieś wew. skrzyni.
Witam. Nie istotne jest co wpiszę w: Load Timer1 , 250 czy też Load Timer1 , 65000 liczy tak samo. Dodatkowo stosując prescaler nawet 8 uzyskam częstotliwość blisko 20Hz czyli chyba nie bardzo jak pracę diody. P.s proponuje zerknąć do helpa:) Opis: Instrukcja powoduje wpisanie do licznika określonej liczby zliczanych impulsów. Przed załadowaniem wartości...
Policzyłęm impulsy i wychodzi mi że przy prędkości maksymalnej = 1500 obr/min i 4 impulsa na jeden obrót (tak podaje utor) z każdym obrotem na "wirtualne" wejście układu pomiarowego idzie 100 impulsów czy 100 Hz.=(1500/60)*4. Ganiając procka z maksymalną prędkością błąd pomiaru można zminimalizować bo impulsy na wejściu wewnętrznego licznika są szybciej...
Jakie moce ma mieć posiadana przez ciebie przetwornica ?? Jaką bedziesz miał częstotliwość impulsowania PWM ?? domyślam się że przemiennik bedzie procował z elementami indukcyjnymi (np. silnikami) Temat co cię czeka nie jest łatwy i wymaga trochę doświadczenia. schematu nie mam ale moge podać ci kilka uwag praktycznych: Jeżeli chodzi o przemienniki...
W takim razie nie można wstawiać opóźnień. A w każdym razie nie takie duże jak podałem. Mozesz wypróbowac te instrukcje, które napisałem pod warunkiem przesunięcia instrukcji wait poza instrukcje Dodano po 1 No proszę. Ledwo co odpisałem a ty zmieniłeś częstotliwość impulsów z 80 na 300. To zmienia czas instrukcji Waitms z Waitms 10 na Waitms 3
Bardzo dobrym rozwiązaniem będzie jeśli kod do obsługi wyświetlacza umieścisz w przerwaniu od jakiegoś timera Tak. Tylko, że w magistrali 1Wire bardzo ważną rolę czasy impulsów, przerw między nimi. Co będzie jak procedura obsługi przerwania akurat wpadnie w "treść" jakiegoś polecenia związanego z 1Wire? masz uniezależnienie od instrukcji wait mozesz...
Witam. Nie wiem czy dział będzie ok. Mam nadzieje że tak. Chciałbym poprosić kogoś o napisanie krótkiego programiku w Bascomie. Dawno temu bawiłem się w AVR a teraz mam szybki temat i proszę o pomoc. Program miałby wyglądać następująco. (tak bym go napisał w PLC) Impuls (zbocze narastające) na wejściu X1 setuje marker M1 Marker M1 wyzwala Timer T1 Timer...
Był podobny temat w bascom tyle ze dla monitora, trzeba zmienić (zwiększyć) czasy impulsów dla telewizora http://www.elektroda.pl/rtvforum/topic12... z attiny na powyższe procesory chyba nie jest trudno przenieść kod. Dodano po 13 Jeżeli powyższy układ pracuje w trybie vga to być może wystarczy obniżyć częstotliwość kwarcu o polowe i odchylanie...
Więc na razie zdecydowałem się tylko na stałą impulsów o wypełnieniu 50% jak na rysunku z pierwszego postu a zmienna częstotliwość 50-200Hz i teraz kombinuje nad tym zagadnieniem. By było to widoczne chce zacząć od 0,1 do 5 Hz
https://obrazki.elektroda.pl/7406837400_... Chyba siła wyższa musi w tym maczać palce, bo przymierzałem się od kilku lat(!) z publikacją tego projektu i ciągle albo brak czasu albo skleroza... a tu trafił się konkurs no to jak nie skorzystać :) Urządzenie o, którym mowa w temacie to bardzo prosty i niezwykle przydatny (przynajmniej...
To była moja pierwsza myśl, Disable INT0 umieściłem w pętli głównej na zasadzie [syntax=basic4gl]Do Czas = Czas * 0.22148394241 Predkosc = Fusing(czas , "###.#") Predkosc = Format(predkosc , "00000") Mid(predkosc , 4) = " " Text = Predkosc Disable INT0 gosub sendnap Enable INT0 Loop [/syntax] I działanie to przyniosło efekt w postaci narastania licznika...
cls nie powinien tu być problemem. A przed wygłoszeniem opinii zapytałeś o częstotliwość sygnałów? Instrukcja CLS może zajmować np. 300ms. Czy 4 impulsy na sekundę to jest coś co przekracza możliwości AVR? A najlepiej sygnał taktujący zliczaniem podaj na pin INT0 lub INT1 i ustaw przerwanie żeby reagowało na zbocze. Bardzo dobre rozwiązanie, pod warunkiem,...
Możesz liczyć za pomocą jednego z nich... Nie znam się na silnikach mechanicznych. Nie wiem jak to jest rozwiązane. Ale dla rozwiązania "liczenie impulsów" jeżeli jest 1 impuls to jeszcze gorzej, bo przy 100ms będzie ich o połowę mniej więc dokładność będzie jeszcze dwukrotnie niższa. Więc jedynie "liczenie czasu pomiędzy impulsami". Powodzenia życzę.....
Jeśli chcesz uzyskać takie szybkie przedziały czasowe to proponuję popędzić licznik TIMER1 bez preskalera i ustawić go w tryb CTC by sam się przeładowywał. W przypadku gdy zliczy 1000 impulsów to przerwania właśnie będą generowane z częstotliwością 16kHz (To daje jakieś 400 instrukcji maszynowych możliwych do wykonania między przerwaniami). Niestety...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Witam. Przy obliczeniach nie bierzesz chyba pod uwagę prescalera. Raczej pojemności Timera0. Kolego marcin-k . Aby policzyć ilość impulsów podaną na wejście T0, powinieneś wykonać następujące obliczenie: Czestotliwosc*256+timer0 . PS "Czestotliwosc", to oczywiście nazwa Twojej zmiennej :)
Mhm 4MHz, a ile masz w procku? Czyżby 1Mhz?:> 2) chodziło mi o nakłonienie Cię do przemyśleń, co jest źródłem impulsów które zlicza licznik.. I że to całkiem przypadkiem jest kwarc systemowy... a co za tym idzie, jak nie masz wpisane w programi $crystal=xxxx to pewnie nie wiesz, jaką masz częstotliwość w układzie. Naucz się za każdym razem wpisywać...
Znaczy chce odczytać 1 paczkę 128 impulsów "0" ale jak się da to po kilku ms następną która jest taka sama. Częstotliwość różna ale cały okres to ok 4,4us ( "0" 400ns "1" 4000ns). Zrobiłem puste przerwanie tylko X++ i też mi zgubił impulsy x=218 do 223 średnio. Ale opanowałem to chwilowo i przepiąłem się na INT0 ustawiłem na opadające zbocze , łapie...
Witam. Mam taką sytuację: Na nogę 2 (T1) uP 90S8515 podaję sygnał prostokątny 0 V - 5 V o częstotliwości 100Hz (za pomocą tranzystora podawana jest szpilka 5V w miejscach gdzie sinusoida napięcia przed mostkiem prostowniczym przechodzi przez 0). Po przyłożeniu sondy do nogi 2 uP na oscyloskopie pojawia się prawidłowy przebieg. Tymczasem, po umieszczeniu...
Jeżeli częstotliwość impulsów jest stała to tak. Jeżeli nie to trzeba też mierzyć okres przebiegu. Dodatkowo jak chcesz mierzyć przesunięcia i dodatnie i ujemne to trzeba trochę zmodyfikować pomiar. Jeżeli na pewno będzie ono wewnątrz zakresu -90...+90*, to wystarczy jedno z przerwań INT zamienić z Rising na Falling. Wtedy sposobu pomiaru nie trzeba...
W dobrym zakresie jest ten PWM? 1÷2ms szerokość impulsu i częstotliwości max poniżej 500Hz?
Myślę że mógłbym dostosować moje programy i udostępnić programy dla wersji 4-ro i więcej kanałowej. Oczywiście źródła też. Tylko wrócę do domu. Ze względu na jawność kodu będzie można do woli we własnym zakresie zmieniać częstotliwości, zrobić mixowanie kanałów czy ustawić wartości domyślne wypełnienia impulsów po zaniku sygnału. Mam takie coś od 2...
Zacznij od oszacowania typowych częstotliwości impulsów - jakie są spodziewane minimalne/maksymalne przepływy? Jaka jest wymagana dokładność pomiaru? Do tego dobierz okres zliczania impulsów. Oczywiście nie potrzebujesz żadnych danych zmiennopozycyjnych, na których obliczenia skutecznie zarżną mikrokontroler. Możesz przecież zliczać przepływ np. w mililitrach.
Patrzymy do datasheeta i widać, że potrzeba ustawić mode 7, gdzie OCR0A = 33 ustala częstotliwość, a OCR0B wypełnienie. TCCR0A = &B00100011 TCCR0B = &B00001001
Witam. Posiadam kilka kompletów tego nadajnika i odbiornika (433MHz) i tak jak kolega wspominał w eterze mega dużo śmieci. Ale... znalazłem rozwiązanie tego problemu śmieci! Zmierzyłem miernikiem częstotliwości wyjście odbiornika podłączonego tylko do zasilania i u mnie były takie wyniki: od około 600Hz nawet do 3kHz sygnały śmieci które zmieniały się...
Wiadomości przyswaja się najlepiej jeśli trzeba włożyć trochę pracy w ich zdobycie. Przedstawiony "program" to sterownik mostka H ze zmienną częstotliwością i wypełnieniem impulsów. $regfile = "attiny26.dat" $crystal = 2000000 Config Portb.2 = Output Config Portb.3 = Output Tccr1a = &B00010001 Tccr1b = &B10000011 Ocr1c = 30 'wartość przykładowa...
Skleciłem jeszcze generatorek na NE555 częstotliwość: 20Hz wypełnienie 66% czas wysokiego: 33ms czas niskiego: 16ms I wyniki są sztywne...przy prescale=8 mam wyniki rzędu 31-32. Czyli jednak problem będzie leżał w jakości impulsów. Sprawdziło się najgorsze. Fakt wcześniej podawałem wykres z oscyloskopu i lecą dość duże szpilki, ale zabezpieczyłem się...
Witam! Chciałbym wykonać elektroniczny cyfrowy licznik obrotów do 126p. Projekt swój chcę zrealizować na procesorze AT902313. Jednak zanim wykonam ten obrotomierz chciałbym skonsultować swój algorytm programu z Wami. Być może któś zaproponuje lepszy spobób całego procesu poiaru. Założyłem że zakres pomiarowy obrotomierza będzie od 500 do 4800 obr./min....
Żeby przetaktować, trzeba zasilać z 5 V. Żeby zasilać z 5 V trzeba większy i droższy akumulator, oraz dzielniki napięć lub konwerter napięć do LCD. Wyświetlanie wykresu nie jest szybkie, bo trzeba obliczyć amplitudę, wyskalować, zmazać stary wykres, narysować kratki w miejscach gdzie stary wykres je nakrył i dopiero potem rysować nowy wykres a to wszystko...
Czy np do prędkościomierza zastosowanie wait wystarczy?wolałbym dokładniej, co będzie jeśli będe chciał cos w tym czasie obliczać. Wystarczy, jak dasz Wait1 przykładowo, to w czasie 1 sekundy licznik policzy ci ilość impulsów z czujnika, a dla dokładności jak pisałem wcześniej, trzeba sobie z generatora puścić daną częstotliwość, aby sprawdzić poprawność...
Mam narazie pomiar częstotliwości i nawet działa, jednak szczerze mówiąc to przerwania to dla mnie czarna magia. W teorii wiem tyle: Mógłbym wyzwolić przez int0, timer a drugim wejściem int1 go zatrzymać ale nie mam pojęcia jak. Drugi sposób to pierwszym zboczem wystartować a drugim impulsem zatrzymać i wykonywać wszystko w pętli. Tylko tego też nie...
nie liczyłem tego , napisałem tylko o pomysłach jakie przyszły mi do głowy na hasło "linia opóźniająca". żeby zwiększyć dokładność w metodzie z rejestrem, można połączyć kaskadowo np. 4 sztuki i zejdziemy z błędem do 0,5 stopnia. oczywiście częstotliwość rośnie. można by spróbować napisać rozsądny soft do jakiegoś małego procka, gdzie impuls powodowałby...
impuls bascom częstotliwość bascom bascom liczenie impuls
tylna kanapa astra termowentylator farel programator renesas
zmywarka bosch siemens zmywarka bosch siemens
Mercedes SLK Kompressor R170 2002 – kontrolki świecą, rozrusznik nie reaguje, brak dźwięku Wyłącznik podciśnieniowy pompy wtryskowej Mercedes Sprinter T1N – objawy, diagnostyka, zamienniki