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...
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 W załączniku masz cały program stopera z dokładnością 0,1s Wytniesz z niego co trzeba Pozdrawiam PIOTR
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 ;)
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...
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ć...
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...
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...
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.
Nie pojedynczy impuls a czas trwania pojedynczego impulsu f=1/t
Czy ktoś ma pomsył/przykład programu do pomiaru wypełnienia impulsu?
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...
Chce mierzyć impulsy z zakresu 10kHz do 120kHz.Jednak nie bardzo mam pojęcie jak obsłużyć przerwania pod Bascomem dla mikrokontrolera AT89cxxxx...tzn jak w bascomie wykrywać zbocze narastające a później opadające?
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...
A co to jest ten "sound" ? Nie ma takiego polecenia w C ani w ASM, czyba , że w Bascom :). Wygląda , że to jakaś funkcja, ale bez "kodu" to tak naprawdę nie wiemy co ma robić :)
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...
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein Zauważ że zarówno instrukcja pulsein jak i pulseout mierzy tylko czas trwania impulsu a nie całego cyklu; patrz paniżej diagram: http://obrazki.elektroda.pl/1148630500_1... Zmierzysz tylko L1 albo L2 . Autor potrzebuje zmierzyc czas L (czas pomiędzy...
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...
Ten moduł daje na wyjściu impuls o szerokości równej czasowi od wysłania impulsu do odebrania echa. W efekcie trzeba zaprząc timer, ICR i potem czas przeliczyć na odległość wiedząc jaka jest prędkość rozchodzenia się dźwięku w ośrodku.
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...
Nie tędy droga, Ty musisz zrobić coś dokładnie odwrotnego - nie wygenerować sygnał, ale go zmierzyć. Rozwiązania są 2, ale jeśli programujesz w bascomie i nie masz ochoty na operacje na rejestrach w procesora to kurczą się do jednego. Mianowicie: 0. ustawiasz timer na zliczanie impulsów i zmianę wartości jakiejś zmiennej - parametry dobierz w zależności...
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...
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...
Powinieneś raczej mierzyć prąd na rezystorze diody (tylko że ten rezystor dla ułatwienia pomiaru musi być od strony masy). Żeby mierzyć w połowie impulsu to musisz uruchomić przerwanie od Timera1 i w nim dać funkcję Getadc. A jeżeli już mierzysz napięcie zasilania a nie prąd diody, to nie musisz trafiać w połowę impulsu więc już teraz powinno działać.
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, Piszę program do atmega8 i mam problem z ustawieniem Timer1. Dopiero zaczynam programować więc proszę o wyrozumiałość. Chciałbym ustawić tak timer1 aby zaczął liczyć czas od pojawienia się na portd.3 pierwszego impulsu do drugiego impulsu, zapisał wartość do zmiennej, wyzerował się i zaczął zliczać czas od drugiego do trzeciego impulsu zapisał...
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...
Potrzebuję czterech PWM i dwóch wejść odmierzających długość impulsu o zakresie od 1 do 2 ms. Pytanie czy atmega 8 się wyrobi czy muszę brać 16 . I jak rozumiem z wszystkich postów muszę pwm zrobić programowo bo potrzebuję pozostałych timerów do pomiaru impulsów. I pytanie o oscylator wewnętrzny czy mogę go użyć czy lepiej kwarc bo zależy mi na wielkości...
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:
Proponuję zamiast mierzyć czas 5 obrotów sprawdzać ilość impulsów co stały czas.
Podobno Pulein które użyłem do regulatora RGB PWM jest zbyt niedokładne przy pomiarze czasu. Wystarczyło by coś takiego: Tylko zmienna A musiała by być jakoś skalowana np: matematycznie [syntax=c]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 = Portc.2 , Db4 = Portc.3 , E = Portc.4...
Witam Troszkę przedobrzyłeś s tym licznikiem 16 bitowym, starczy połowa 8 bitowego, wróćmy do obliczeń, autor pisze o 4 impulsach na obrót, Ty o 2 i to wydaje mi się bliższe prawdy. Maksymalne obroty 7000, na sekundę daje nam to koło 117 obrotów, chcesz mierzyć 0,5 sekundy i i dwa impulsy na obrót czyli 117 impulsów przy maksymalnej prędkości obrotowej....
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...
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...
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...
Moim zdaniem to powinno wyglądać tak: po pierwsze wzór na prędkość V=s/t - czyli prędkość=droga/czas. Musisz mieć "coś" co mierzy przebyty dystans i podaje impulsy do procesora. Musisz wiedziec jaki dystans jest przebyty co każdy impuls. Cała filozofia polega na tym żeby zmierzyć czas trwania od impulsu do impulsu. Znając ten czas trwania i drogę,...
Fototranzystory są za słabe, u mnie przy lufie w ogóle się nie reagował pomimo, iż zastosowałem kolimatory zarówno dla diody jak i fototranzystorów. Od razu trzeba fotodiody i to z czasem narastania impulsu min. 3-4ns. Przy prędkości śrutu 150-300m/s standardowy fototranzystor nie reaguje (czas narastania impulsu ok 5us). Poza tym kable i cały układ...
Witam. Zrobiłem układ jak w załączniku. Mam pytanie do Kolegów mianowicie: Chce by układ po wykryciu zera wykonał pomiar czyli .. . zero = input if zero=0 then getadc(x) . ale mam problem z wykryciem zera tzn. układ stale jest w stanie wysokim i nie wykrywa spadku - impulsu z transoptorów. Jak powinien wyglądać fragment programu by poprawnie to działało??...
w końcu zrozumiałem co miał na myśli tmf , jeśli dobrze rozumiem to miałbym podać te 6 sygnałów na wejścia i nie korzystać z timera jako countera tylko zrobić przerwania min połowę od najkrótszego impulsu, stany zapisywać w zmiennych, zrobić porównanie poprzedniego i jeśli zaszła zmiana np z 0 na 1 to wtedy tak jakby robię timer na zbocze narastające,...
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...
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...
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...
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...
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...
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ś...
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ą...
no troche sie pospieszylem :p Pprogram działa płytka nie :p źle zrobiłem drivery i płytke robie jeszcze raz. Wstawiam program w C narazie i prosze fachowców o ocene mam dopieor 18 lat i programuje 3 lata w bascomie raz napisalem program w asm a od kilku miesiecy w C ale to były chyba 3 programy. #include <avr/io.h> // dostęp do rejestrów #include...
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ę...
Pozostaje sprawdzić oscyloskopem lub analizatorem logicznym jaki jest rzeczywisty czas impulsu. Osobiście stawiałbym na to, że czujnik jest ok. Problem może być z częstotliwością pracy uP, albo działaniem funkcji Pulsein. Nie mam doświadczenia z Bascomem, ale i tak nie mam zaufania do wbudowanych funkcji bibliotecznych takich środowisk.
Ja tylko tak luźno dodam, że na pomiar impulsów z trzypinowego wiatraczka przy sterowaniu masą przez PWM bym nie liczył.
Witam Koledzy Mam pytanko dotyczące tego 1Hz... czym mierzycie taką częstotliwość i względem czego - masy czy VCC? (domyślam się standardowo ze masy :) ) Mój miernik Uni-T nie radzi sobie z tak niską częstotliwością mierzy od ok 15Hz... Jak sobie z tym poradzić? Edit Poradziłem sobie :) Napisałem prościutki programik w Bascom'ie który zlicza impulsy...
Zmiana Fese nic nie daje jak pisałem. Starałem się uruchomić preskalery pozostałe dając 10-20mHz ale nic sie nie zmienia. Bramki mam też stare Cemi jeszcze ale też się dzieje tak samo. Ciekawostka - jak liczy impulsu to działa na częstotliwości więcej niż 200kHz - widzę zmianę miedzy 10 - 100 -200 - 500 kHz w naliczaniu. p.s .... BASCOMie Timery w ATTiny2313...
To jest fragment kodu, którego używałem , żęby zrobić obsługę licznik, ale nie działa w symulacji $sim $regfile = "m8def.dat" 'Informacja dla kompilatora. $crystal = 8000000 'Też dla kompilatora,zastosujemy kwarc zewnętrzny 10MHz. Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E =...
http://obrazki.elektroda.pl/9387263500_1... Witam Chciałbym zaprezentować swoją pracę, która powstała do konkursu "młody innowator". Na wstępie chciałbym powiedzieć że jest to tylko prototyp i posiada on jeszcze wiele niedoskonałości :) Głównymi założeniami projektu było zbudowanie czajnika wyświetlającego temperaturę wody z możliwością...
Ja jakoś się doszukałem. A nie, sory. Nawet doszukiwać się nie musiałem. Liczy okres pomiędzy impulsami. Eh, Nie kazdy nosi imie Albert... e marcus
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?
Układ tzw CDI (capacitor discharge ignition - zapłon z rozładowywanego kondensatora (wolne tłumaczenie)) jest zbudowany najprościej jak sie da - chodzi o wzgledy awaryjności najlepsze są najprostsze rozwiazania. Kondensator ładowany jest przez jedną diodę (tylko jedna = jedna połówka zasilania). napięcie kondensatora jest doprowadzone przewodem do cewki...
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...
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...
Hmmm... dowiedziałem się w końcu jak ma wyglądać włączanie tego oświetlenia. Przełącznik w pozycji -1 - oświetlenie wyłączone (impuls 1ms) Przełącznik w pozycji 0 - włączone stroby (impuls 1.5ms) Przełącznik w pozycji 1 - włączone stroby i dodatkowe oświetlenie pozycyjne. (impuls 2ms) Oczywiście pomiary trzeba by było zrobić z jakąś dokładnością (impulsy...
Witam zbudowałem w sumie 2 regulatory i bardzo się grzeją już przy silniku 12v i poborze prądu 3A potrzebny jest spory radiator oraz wentylator by obniżyć temperaturę do 50*. Co jest nie tak ? Zamieszczam schemat oraz kod Bascom Nie jestem autorem regulatora . http://obrazki.elektroda.pl/6194843000_1...
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...
1. Każdy moduł lokalny ma oddzielne przewody sterowania do centralki? 2. Moduły mają jakieś połączenia do komunikacji między sobą, czy komunikacja odbywa się przez centralkę? Ad1. Każdy moduł ma 2 przewody komunikacji z centralką, z czego jeden jest wspólny(informacja z centralki do wszystkich sterowników "leci" po jednym przewodzie) Ad.2 Komunikacja...
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...
Bardzo bym sie zdziwil gdyby ten program w jego oryginalnej postaci lub nawet z pozniejszymi poprawkami mogl funkcjoniwac! Po pierwsze: Jest on nie pelny, nie tylko brak jak juz ktoz zauwazyl, deklaracji rodzaju, typu uC i jego cyklu pracy (czestotliwosci). Pomimo faktu ze nie ma w programie pomiarow czasu to ta informacja nie moze byc pominieta. W...
Ten sposób też będzie powolny a do tego niedokładny. W sumie doszedłem do wniosku że programowe zliczanie impulsów nie będzie gorsze. Zliczanie 4 impulsów trwa 10us w symulacji programowej. Zauważ że w tym pierwszym rozwiązaniu mnoży się przez 28 a więc dokładność pomiaru jest do kitu. Przy 4000rpm układ zlicza tylko 160 impulsów. Możesz dać Prescale...
Właśnie czas pomiedzy impulsami da ci wiarogodny wynik. Chyba, że czas pomiaru będzie na tyle długi, że da ci zadowalającą dokladnosc. Np. na wolnych obrotach w samochodzie(ok 900 obr/min) masz 15 obr/sek (co ok 60ms) natomiast przy 10000obr/min masz impuls co 6ms. Przy podstawie pomiaru 50us (liczenie czasu pomiedzy impulsami) masz dobrą dokładność...
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...
Sprostowanie. Do jednego wejścia komparatora w 89Cx051 dołączam napięcie z dzielnika czujnik + rezystor lub coś w tym stylu (chciałbym jak najprościej i w miarę stabilnie), a do drugiego dołączam napięcie narastające tu: najczęściej w układzie RC + parę tranzystorów dla stabilizacji, liniowości narastania. Mierzę czas od zainicjowania układu generującego...
Morduje się już chyba dwa tygodnie i zaczynam już być w kropce bo w sieci krąży .bas (nawet na elektrodzie jest ) programu tego układu wiec radośnie zrobiłem hex i zaprogramowałem ( o ile czegoś nie pomieszałem bo już niczego pewny nie jestem ) i zadziałał. Chciałem wprowadzić zmiany w programie pozmieniać niektóre funkcje i nagle wszystko przestało...
(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...
Używam jednego ADC do pomiaru napięcia stabilizatora dla kontroli jego sprawności bo miałem przypadek kiedy napięcie spadało wraz ze zwrostem temp. stab. .Miałem wolne piny to dlaczego nie wykorzystać . Ustawiłem pady tak aby można było przerobić na DS18B20 na dwa lub trzy przewody. A faktycznie. No ale to raczej dla zabawy bo ten stabilizator nie...
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...
Prototyp zrobiłem na pomiarze napięcia (ADC) na fotodiodzie - to chodziło, dopóki nie zacząłem testu na dworze.... Fotodioda łapała podczerwień z... no właśnie, skąd? Nie wiem. To oczywiste. Światło z otoczenia również zawiera podczerwień, więc pojawiają się zakłócenia. Po odłączeniu fotodiody i dotykaniu kabelkiem do + na wyświetlaczu także pokazywały...
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)...
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ć...
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...
Dobry będzie taki program? Można coś jeszcze poprawić? Return Podaj jaka dokladnosc pomiaru jest wymagana i do czego to ma sluzyc. Najprostszy, najtanszy obrotomierz/ tachometr, najlatwiej jest wykonac uzywajac tylko ATtiny 2213, jeden wyswietlacz LCD (8 lub 16 cyfr, jedna lub dwie linie dla dodatkowych informacji, opcji) Impulsy "odczytasz" z elementu...
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...
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ą...
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...
Zamiast zliczać ilość impulsów w stałej jednostce czasu, mierz czas pomiędzy poszczególnymi impulsami.
Moim zdaniem koncepcja powinna być taka: 1. Obsługa przetwornika analog-cyfra. Na początek dobrze żebyś umiał dobrze zmierzyć liczbę impulsów. Nie wiem dokładnie jaka jest specyfika Twojego sygnału, jaką amplitudę mają owe szumy, skąd się biorą i czy nie warto by ich po prostu potraktować filtrem dolnoprzepustowym, a jeśli mają odpowiednio niską amplitudę...
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! Jakiś czas temu wykonałem układ, który do sygnału sterującego z aparatury dodaje pewną poprawkę z analogowego czujnika - gdy skręcimy samochodzikiem w lewo, a czujnik wykryje obiekt na trasie, to poprawi kurs i ominie przeszkodę pomimo pozycji drążków do maksymalnego skrętu w lewo. Układ jest prosty: Sygnał PPM jest prostowany i przechodzi przez...
Witam Ogólnie rzecz biorąc mierzysz czas fali odbitej Najpierw wysyłasz impuls załączasz timer i czekasz na powrót echa fali odbitej Pozdrawiam PIOTR
Witam. Można by się obejść bez zewnętrznego generatora - po prostu sterować linię T0 (lub T1) z pętli programowej, która by liczyła czas 1ms. Pogorszyła by się dokładność pomiaru, ale przy tak wolnych przebiegach i tak byłoby nieźle. Pozdrawiam.
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...
Witam. Chcę rozpocząć dyskusję na temat sposobów pomiaru czasu wtrsku w układach wtryskowych benzyny w samochodach. Sam jestem na etapie doskonalenia pojektu komputerka paliwa, który zamieściłem na elektrodzie. Ogólnie są trzy rodzaje sterowania stryskiwaczami: a)Metoda zasilania pojedynczym impulsem: Wtej metodzie sterowanie odbywa się włączając klucz...
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
Dzięki xury za linka z tematem. Bardzo mi pomógł, odliczam czas jak chciałem, co prawda pojawia się malutki błąd czasu wynikający z tego ze nie ma pełnych 31 impulsów tylko 31,25 ale na tak mała niedokładność mogę sobie pozwolić
Witam, mam następujące zadanie: czujnik z wyjściem analogowym 4-20mA, enkoder taktujący pomiar z czujnika, wysłanie pomiaru przez RS-232 do PC. Enkoder pracuje w osi koła i generuje impuls co 25mm. Impuls wyzwala konwersję ADC z czujnika, wynik zostaje wysłany do PC. Problem w tym że nie mam pojęcia jak to zrobić. Mam do wyboru ATmega16 lub 128 i C...
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...
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...
Zrobiłem jeszcze raz pomiar i wyszło tak jak napisałem w 1 poście impuls 0,4us = 400ns przerwa 3,3us = 3300ns Czy AVR i ten program napisany powyżej w Bascomie wyrobi w 400ns żeby odczytać zawartość pinuD i zapisac do tablicy dane? Bo coś mi to nie wychodzi? Ten uC ma na pewno możliwości, aby obsłużyć te przerwania (zakładam ok. 33kHz). 270kHz W assemblerze...
jest to dieselek więc zakłócenia raczej mniejsze.. jak to zrobić? jakiś ogólny szkic programu w bascomie? bo licznik chciałem zrobić na timerze jako counter z pomiarem co sekundę, ale skoro nie zrobiłem jeszcze nic poza programem to koncepcję mogę zmienić. pfff. to jak mam to podłączyć w końcu?
Myślałem nad takim rozwiązaniem tego: Pojawia się impuls na wejściu z fotorezystora i włącza się timer. W ciągu np. 3 sekund impulsy są zliczane (poprzez zwiększanie wartości zmiennej wewnątrz pętli sprawdzającej stan portu), po czym timer zostaje zatrzymany. Na podstawie ilości otrzymanych impulsów w ciągu 3 sekund oraz ilości otworów na tarczy można...
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...
pomiar impulsu bascom bascom impulsu impulsu bascom
domofonu kolory kabli astra wzmacniacz antenowy motogodzina zetor
radio internetowe zacięcie papieru drukarce samsung
Problem z kucaniem w Fortnite - brak reakcji klawisza Canon Selphy CP510 nie rozpoznaje tuszu - przyczyny i rozwiązania