Zaczynasz dobrze. Wg protokołu inicjację "/?!\r\n" wysyłasz na prędkości 300 bd (ustawienie transmisji 7E1). Nie żadnej innej - 300, bo tak mówi norma. Licznik energii ma wówczas maksymalnie 2 sekundy na odpowiedź, a odpowiedzią jest wpierw ramka identyfikatora licznika, który ma postać "/XXXZD<CR><LF>", gdzie XXX jest identyfikatorem producenta,...
Mam u siebie standardowy LCD2*16 z białym podświetlaniem + atmega128 na kwarcu 11,0592 MHz i pobór prądu 50mA przy 5V. Nie uzywam żadnych instrukcji oszczędzania energii. Coś mi się wydaje że trzeba zrezygnować z podświetlania (ewentualnie pozostawić jako opcje) i pobór prądu może wynieść wówczas jakieś 30-10mA - może nawet mniej. Wówczas sensowne jest...
Witam, wiem że w sieci jest 1*e^6 lub więcej gotowych liczników impulsów, lecz ja chciałbym mieć pełną kontrolę nad moim kodem, a nie kopiować bezmyślnie. Tak więc sprawa tyczy się zliczania impulsów 5V od obrotów i prędkości w motocyklu. Do tego celu chcę wykorzystać układ AVR ATMega 16 lub mniejszy (po przeróbce w kodzie). PYT1: Obrotomierz kręci...
Ja bym proponował na początek przerwanie zewnętrzne INT w którym liczysz impulsy, oraz przerwanie timera w trybie CTC co około 1s w której jak kolega (at)bochnio wspomniał będziesz zerować licznik. Kolejny krok to mniej więcej tak:[syntax=c]if(licznik > 6) POTRB |= (1<<PB0); // ustaw stan wysoki gdy przekroczy wartość else POTRB &= ~(1<<PB0);...
rpal Przecież jest napisane"sygnał jest przekazywany na jednym z pinów (nie idzie np po can)." A nawet jeśli idzie po CAN czy VAN to można zrobić wyprowadzenie z licznika.
Możesz też zliczać czas między impulsami. Znasz czas i drogę (obwód koła) co daje Ci prędkość.
Witam! Zwracam się do was o pomc w napisaniu programu do Atmeg8 w bascomie, który miałby pełnić funkcję licznika. Korzystałem z kilku programów, ale ilekroć chciałem sprawdzić działanie na symulatorze Bascom AVR tylekroć żadna cyferka nie posuwała mi się do przodu na wyświetlaczu. :(. Nie wiem czy jest to wina programów, z których korzystałem czy poprostu...
tylko tyle i już? pytam się bo nie che bez potrzeby odkręcać prędkościomierza [syntax=c] #include <avr/io.h> #include "HD44780.h" #include <util/delay.h> #include "Przerwanie_INT0.h" #include <avr/interrupt.h> #include <math.h> volatile uint8_t flaga=0; volatile uint16_t liczba=0; volatile uint16_t licznik=0; volatile uint16_t...
Witam. Mam lcd ks0108b 128x64 i chcę zrobić licznik. Chcę napisać program na atmega 644/16 który będzie zliczał czas między impulsami na int0 po czym 3.6 dzelił przez wynik i mnożył razy obwód koła. Początek programu napisałem, skonfigurowałem port na zbocze opadające ale nie wiem ja liczyć ten okres. Proszę o pomoc w tym programie. [syntax=basic4gl]...
Witaj. Według mnie pytanie raczej nie w tym dziale, ale co wiem to powiem i może to coś pomoże. Wszakże dopiero projektujesz układ. Pierwsze co bym zrobił to dał zewnętrzny licznik i tylko go resetował z AT po odczytaniu danych. Zewnętrzny licznik ma tą zaletę, że nie musisz pisać softu a wynik z licznika możesz przepisać portem równoległym do zatrzasków...
Powyższy szkielet programu powinien z tym sobie poradzić, wartość "Prescale = 8" jest przypadkowa. Z pomocą bascomowego helpa ustaw sobie czas przerwania Timera0. Przykładowo żeby przerwanie następowało co 10ms, zmienna "Pomocnicza" pomoże Ci wydłużyć czas zliczania impulsów przez "Counter1" zanim nastąpi jego przeładowanie do zmiennej "F". Counter1...
Wybrać cokolwiek współczesnego, a nie drogi, mało wydajny i kłopotliwy w programowaniu zabytek. Patrz tutaj: http://www.elektroda.pl/rtvforum/viewtop... Mam wrażenie, że porównujesz 8- i 32-bitowce mając świeżą wiedzę o 32-bitowcach i informacje tak sprzed 10 lat o 8-bitowcach. Z argumentów, które podałeś w tamtym wątku na dzień dzisiejszy...
mam koleejne pytanie czy atmega8 posiada jakąś pamięć stała ?? tzn jakbym chciał zrobić też licznik który bedzie zliczał przebieg samochodu. atmega musiała by zapamiętać przebieg nawet przy odłączonym zasilaniu
Teraz nie mam pod ręką niczego co jednostajnie i stabilnie może dawać sensowne impulsy zdatne do jakichkolwiek testów prędkości. Mam impulsator z rolki myszki, ale nie mam za specjalnie czym nim kręcić (w rozsądnych prędkościach). Nie wiem jak to jest rozwiązane w oryginalnych licznikach, ale zdaje się, że jest tam zwykły kontaktron i działa. Rozwiązań...
Hmm... ten Syrenowy jest genialny! :) Dzięki za podpowiedzi! Konstrukcja fajna, ale faktycznie przebajerzona jak na moje potrzeby. Spróbuję się chyba skontaktować z autorem licznika, może będzie miał jakieś podpowiedzi ;) Tematu krokowca co prawda unikałem, bo jedyny kontakt z nimi miałem na zajęciach i zwyczajnie mało wiem o ich sterowaniu, ale spojrzałem,...
Zestawiłem układ testowy składający się z Atmegi8A z zewnętrznym osc. 8Mhz i drugi układ z ATtiny 2313 i zewnętrzny osc. 4MHz. Oba układy połączone RS232 z prędkością 9600. Odpowiednie programy załadowane do obu uC. ATmega wysyła po RS co sekundę wartość licznika. ATtiny odbiera ta wartość i zapala wyświetlacz 7 segmentowy (tylko wizualizacja odbioru...
Głównym powodem wykonania takiego licznika była chęć rezygnacji z mechanicznego napędu klasyczną linką starego prędkościomierza/drogomierza. Linka ta niestety była dosyć zawodna - zrywała się, pękała osłona, poza tym była opornie prowadzona wzdłuż amortyzatora - naprężenia jakie powodowała urywały z czasem plastykowe obejmy. Postanowiłem wyeliminować...
A moze by tak zastosowac AT89S8252, ma bardzo fajna funkcje do liczenia czasu pomiedzy impulsami, licznik T2 tego uC po sygnale na wejscie T2EX przepisuje wartosc licznika do specjalnych rejestrow i zeruje sie i tak do kolejnego impulsu. Ja to wykorzystuje do sprawdzania prędkości generatora SRG. pozdrawiam trikess
Miejsce wpięcia u mnie to akurat komputer samochodowy (sterownik), dlatego że jest w dobrym miejscu (pod radyjkiem), a poza tym mam stamtąd dostęp do sygnałów wtrysków i licznika prędkości (cyfrowe). Chce zrobić komputer pokładowy, do liczenia spalania + tam dodatkowe info o światłach, drzwiach, temp. wew. i zew. Ogólnie projekcik na studia:)
Witam. Buduję układ sterownika tempomatu do samochodu. Wykonałem już wszystko menu z wieloma funkcjami dodatkowymi poza tempomatem (mini komputer pokładowy), zbudowałem układ wykonawczy wraz z zaprogramowaniem sterowania przepustnicą elektroniczną lecz chyba zacząłem od złej strony i utknąłem na pomiarze prędkości z czujnika prędkości samochodu. W aucie...
Szanowni Forumowicze, mam problem z regulacją prędkości obrotowej silnika DC wyposażonego w enkoder za pomocą przerwań INT. Enkoder to czujnik Halla i odbiera impulsy z magnesu neodymowego na wale silnika (magnes 8-polowy). Prędkość kontroluję za pomocą generowanego PWM na atmedze podawanego na mostek L293DNE. Atmega pracuje na 1MHz, a licznik to Timer/Counter0...
Czy zastosowanie transoptora szczelinowego będzie lepszym rozwiązaniem od wyżej wymienionego? Licznik obrotów będzie służył do obliczenia prędkości wiatru. Czujnik jest od stacji dyskietek, przeważnie w internecie spotykałem się z wersjami z 4 podłączeniami, mój ma 3, czy prawdopodobnie masy są podłączone razem?
Witam Ponieważ nie do końca odpowiadają mi podane rozwiązania, zacznę od tego co powinienem na początku podać - ossochosi :) Programuję w bascom. Buduję układ który ma zadziałać jak uproszczony ABS: 1. pomiar prędkości obrotowej każdego koła 2. porównanie tych prędkości 3. min. 10 razy na sekundę reakcja na utratę przyczepności Doszedłem do takiego...
Witam, mam problem z połączeniem po USARCIE tych dwóch procesorów. Sprawa wygląda następująco: atmega1284p ma być docelowo masterem, wysyła ramkę i w odpowiedzi dostaje ramkę zwrotną od atmega8. Obsługa ramek nie jest jeszcze napisana, na razie wysyłam 8 bajtów atmegą1284p i jeżeli wszystkie bajty zostają poprawnie odebrane, to atmega8 odsyła mi 11...
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
Nie, to MZ ETZ :) , prędkość nawet licznika ograniczyłem do 80km.h - po to tylko 16 diod , a ograniczenie ze względu na największą sprawność hamulców do takiej prędkości maksymalnej. Więc jeżeli się nieda no to zrobię tak jak mówisz, stracę całe 5 nóżek, 1 na klawiaturę i 3 na LCD (z yotube wiem jak to zrobić - przez właśnie rejestr przesuwny). A możesz...
ilmenauer -> już mi się dużo rozjaśniło. Ale podłączenie tych czujników ma być takie jak na schemacie? Próbowałem podłączać ale nie było reakcji. Zasilanie czujnika 5V. Atmega reagowała na pojawienie się "0", tylko chyba miałem włączony pullup, nie pamiętam. Dla obu schematów konfiguracja ma być identyczna? Zbudowałem układzik, w jaki sposób obliczyć...
W kalkulatorze włącz opcję Auto SCK speed bo na Twoim screenie jest ewidentnie niezaznaczona. Wtedy kalkulator przy starcie odczytu ustawia najnizszą prędkość SCK i odczytuje Fusebit`y. Jak zobaczy że masz juz wyłączony CKDIV8 to programuje szybciej i mógłby na przykład 1/4 prędkości 8MHz ale w praktyce najczęściej 1500 kHz. W opcjach programu włącz...
No to zaczynamy po raz kolejny. Coś takiego jak stworzyłeś to niestety za szybko nie będzie działać. Mega z kwarcem rs 14 z groszami działa naprawdę szybko i można zrobić bardzo dużo w jedna sekundę. Do odbierania i wysyłania danych można sobie napisać własną procedurę - nawet w bascomie i jest ona sporo szybsza i działa rewelacyjnie. Deklarujemy przerwania...
Zawody na orientacje polegają na znajdowaniu oznaczonych w terenie punktów kontrolnych na podstawie mapy dostarczonej przez organizatora. Zabronione jest używanie urządzeń GPS, przez co podstawą do nawigacji jest kompas i licznik odległości. Nawigując odmierzamy krótkie odcinki między punktami w terenie (np. od mostu do skrzyżowania ze ścieżką w lesie),...
Witam Zaczynam zabawę z Arduino, próbuję opanować trochę teorii. Chodzi mi o to aby łopatologicznie ktoś wyjaśnił mi jakie "prawa" rządzą np takim wyliczeniem. ATmega 328p do niej dołączony dwukanałowy enkoder optyczny (np 1000 imp/obrót) na tej bazie robimy licznik góra/dół który po zliczeniu 1000 impulsów daje nam informacje że wykonano 1 obrót i...
Musisz resetować timer po zmianie OCR1A - jeśli wpisujesz niższą wartość niż aktualna wartość licznika to musi on się "przekręcić", aby porównanie z OCR1A wypadło pozytywnie. BTW, po co a jest volatile? I po co jest zmienną globalną? Powinno być zmienną statyczną zadeklarowaną w procedurze ISR - po co zaśmiecać sobie globalną przestrzeń nazw? Z drugiej...
Myślę ze jak już robić wskaźnik biegów to taki, który sam rozpoznaje biegi i wyświetla aktualny. Są takie urządzenia na alledrogo w cenie od 200zł w górę. Z tego co wiem to te urządzenia działają w motocyklach z elektronicznym wyświetlaczem prędkości i obrotów. Programowane w zależności od tych dwóch parametrów jak sądzę. Wyświetlacz na podstawie licznika...
Zdecydowanie lepiej zastosować gotowy mostek. Zrobić dobry mostek na mosfetach to sztuka. Większości się wydaje że wystarczy podpiąć fety do AVRka, ale niestety takie proste to nie jest. Przekaźnik równolegle służyłby do hamowania. Nie wiem czy to dobry pomysł - łatwo spalić mostek przypadkowym zwarciem. Te mostki też dobrze hamują, a na pewno same...
Jestem już przy końcu budowy mini komputera na ATMEGA 8535 wyśfietlacz niebieski 2x16 -pomiar temperatur w wielu punktach - pomiar prędkości - pomiar kilometrów - pomiar obrotów - sprawdzanie stanu zapięcia pasów - sprawdzenie zamkniecia drzwi itp Z zainteresowanymi podziele się informacjami Całość będzie w golfie mk1
Witam, Zamiast przekładni mechanicznej chcę zrobić (a nawet już zrobiłem) przekładnie programową. Silnik asynchroniczny zasilony falownikiem napędza jedną oś. Umieszczone na niej jest kółko z 5 otworami. Do tego 2 transoptory szczelinowe z czego jedne na przerwanie INT0 drugi na normalne wejście Atmegi128. Timer0 liczy czas pomiędzy przerwaniami. Z...
Wszedzie szukam i nie moge znalezc, potrzebuje pojdzielic liczbe 16 bitowa przez 8 bitową w asemblerze Ostatecznie moze byc nawet 8 bit przez 8 bit, bez reszty, choc z reszta tez moze byc. Robie miernik prękości obrotej z enkodera (4096 na obrót). Licznik 16 bitowy zlicza impulsy, potem co 1sekunde wyzwala sie przerwanie ktore podzieli liczbe zliczonych...
Witam ! Tworzę mały sterownik do auta i mam problem. Dotyczy on pomiaru częstotliwości (a właściwie czasu trwania stanu niskiego lub wysokiego) na Atmedze 128, która po dalszych przeliczeniach będzie mierzyć obroty silnika. Sygnał , który będzie mierzony to prostokąt o wypełnieniu 50% i częstotliwości w granicach 15-150Hz. Jak w tytule pomiar ma się...
Sprzętowy PWM tylko na wyjściach odpowiednich liczników (opisane jest w PDF'ie).
atmega 16 ma liczniki/timery na innych portach impp do Portb.0 to jest timer0 - impp(impulsy drogi) impw do Portb.1 to jest timer1 - impw(impulsy wtrysku) Porty są ustawione dobrze. Chciałbym zapytać czy ma może ktoś zamontowany komputer pfemka w aucie bo mam pewien problem z wyświetlaniem prędkości.Pokazuje mi prędkość co trzy kilometry tzn. 3,6,9,12...
Funkcja DZIAŁA [syntax=cpp]//Data utworzenie: 20-09-2014 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <avr/pgmspace.h> #include "MYUART/myuart.h" #include "MK_TERMINAL/mk_term.h" #define REF_256 (1<<REFS1)|(1<<REFS0) #define REF_VCC (0<<REFS1)|(1<<REFS0) #define SR 8 typedef...
Witam kolegów mam taki problem potrzebuje programu do mierzenia prędkości obrotowej silnika. Idea pomiaru jest znana, wykorzystywany jest do tego transoptor obiciowy. Ale to nie jest celem mojego wywodu. Potrzebuje krótkiego pomiaru obrotów zbudowanego na licznikach. Oscylator zewnętrzny 8MHz. Układ już wykorzystuje globane przerwania pochądzące od...
To wymaga dogłębnego studiowania PDF dla ATmeg- nie tylko dla 16. Jest to kolejna próba sterowania silników krokowych za pomocą sterowania tranzystorów i wykorzystania ADC bezpośrednio z procesora. Co prawda nie tak niemożliwa jak sterowanie mikrokrokowe ale jak widać zależności czasowe i w tym przypadku praktycznie to uniemożliwiają. Takich prób- zastąpienia...
Jeśli chodzi o uC to jestem raczej na poziomie początkującym(odczyt stanu przycisku, zapalanie diody, wyświetlacz LCD, termometr 1-Wire). Niestety jednak muszę zrobić projekt na uczelni, i prawdopodobnie będzie to licznik rowerowy. Dodam że jeszcze nie zacząłem robić, ale już mam kilka pytań(tak szukałem na forum i w internecie, ale nie znalazłem)....
Witam. Jak w temacie zlecę zaprogramowanie Arduino UNO R3. Sterownik ma obsługiwać licznik/sterownik impulsów. Skład zestawu: Arduino: ARDUINO UNO R3 ATMEGA328 CH340 AVR KLON MODUŁ https://obrazki.elektroda.pl/7110110800_... Ewentualnie: Arduino UNO R3 ATMega328 100% zgodność + kabel USB https://obrazki.elektroda.pl/8336046000_...
Oj...prawda o programowym UARCIE nie jest do końca taka, jaką przedstawił kolega BoskiDialer . Transmisja nie wymaga blokowania uC, ponieważ można wykorzystać licznik do odmierzania zegara bitowego w transmisji. Transmisja nie musi odbywać się w trybie półdupleksowej. Da się zrobić full-duplex, mało tego, możena zrobić nawet różna prędkości w nadawaniu...
Wzór na moment obrotowy: M = P/2*pi*f P-moc silnika(na wale, bez uwzględnienia sprawności-która może być od 0.2-0.98-zależnie od mocy silnika). Moc masz podaną na tabliczce silnika(zwykle moc dostarczoną-U*I) Zwykle U=const. A "I" mierzymy na oporniku<<mniejszym niż I-dopuszczalne silnika. To nam daje "prostokąt" I/U w którym mamy się "zmieścić"...
Przeczytałem wasze uwagi i doszedłem do wniosku, że na razie zrezygnuje z trzech czujników i zostanę przy dwóch . Postanowiłem uruchomić układ żeby w ogóle coś liczył. Na razie dopracuje metodę liczenia aby błąd był jak najmniejszy lub całkowicie zerowy. A więc uC na razie pozostanie bez zmian czyli atmega8. Czujniki jak wcześniej wspomniałem TCRT5000....
Nie lepiej wyłączyć po prostu timer? Wyzerowanie bitów źródła sygnału zegara dla timera TCCR0&=~((1<<CS00)|(1<<C... zatrzyma całkowicie peryferia zamiast pomijać przerwanie. Przy ponownym starcie wystarczy zerować dodatkowo OCR0 tak jak to robisz i uruchomić licznik TCCR0|=(1<<CS00)|(1<<CS01) Dodano po 2 A przepraszam...jeżeli...
Wartość początkową ustalam odejmując 256 i 125, stąd TCNT0 = 131. Dlaczego tak to liczysz? Używasz trybu normalnego Timera0. Timer 0 w trybie normalnym liczy od 0 lub wartości początkowej ustawionej w rejestrze TCNT0 do wartości 0xFF. Przy 8 MHz i podziale przez 256 obliczenia wyglądają następująco: 8Mhz/256 = 31 250 31 250/256 (od 0 do 0xFF) = 122...
Mam projekt enkodera inkrementalnego który ma dwa pierścienie z polami generującymi sygnał 0 i 1. Między górnym i dolnym pierścieniem jest przesuniecie 90°. Więc tak wyglądają sygnały: http://obrazki.elektroda.pl/7174774200_1... Teraz tak, jedno pole na tarczy zajmuje 2°. Z racji tego że jest przesuniecie 90° mogę uzyskać rozdzielczość...
Witam. Mam problem. Próbuje policzyć drogę ze wskazań akcelerometru, potrzebuje scałkować prędkość w języku c by otrzymać drogę. Być może jest to banalne ale skończyły mi się już pomysły. Scałkowałem przyspieszenie i teoretycznie otrzymałem prędkość, przedział czasowy to 10 ms wyzwalane z licznika. Będę wdzięczny za jakieś sugestie. Poniżej zamieszczam...
Witam ! Niedawno temu zrobiłem sobie licznik do skutera cpi husar na atmega32. Wczoraj dopiero go testowałem i wszystko wyświetla na wyświetlaczu graficznym AV-G12864 ( 128 x 64 znaki) jak należy.Licznik ten ma dokonywać pomiaru prędkości, satnu naładowania akumulatora, przebieg i temperaturę silnika. Jednak gdy pochodzi dłużej to na wyświetlaczu zaczynają...
t2 może pracować taktowany z CLKio (AS2 w ASSR skasowany) lub zegarem pochodzącym z pinu TOSC1 (który pracuje łącznie z TOSC2). Asynchroniczość polega na tym, że oscylator na TOSC może pracować na innej częstotliwości niż zegar procesora. Np procesor może iść na zegarze 8MHz (wew.RC), podczas gdy do pinów TOSC jest podłączony kwarc zegarkowy i z taką...
Witam. Próbuję opanować USART w ATMega 8. Wewnętrzny oscylator 1MHz. Z komunikacją nie mam większych problemów. Jednak zastanawia mnie ustawianie prędkości transmisji. W moim programie ustawiłem prędkość transmisji na 9600bps. Rozumiem że 9600 bps oznacza wysłanie 9600 bitów w ciągu sekundy (jeżeli źle rozumuję to proszę o poprawienie mnie), a więc...
Witam szanownych forumowiczów. Temat pracy z modułami BTM był wałkowany setki razy ale nigdy nie natrafiłem na opinie dotyczące osiąganych prędkości i niezawodności transmisji. Otóż chcialbym wypowiedzieć się w tym temacie. Zrobiłem układ testujący prostą komunikację uC ATmegi168 z programem napisanym w Visual C++, na systemie operacyjnym Windows7,...
Jak sygnał z "fotokomórki" wzmocnisz tak, że będzie pasował do RS-232, to możesz go podać na port RS-232 w PC (korzystając z faktu, że on ma kilka wejść, które przy zmianie stanu przynajmniej w jedną stronę generują przerwanie) - tylko musisz do tego: (1) umieć oprogramować ten port w systemie, jakiego używasz; i (2) umieć na komputerze precyzyjnie...
$crystal = 8000000 $regfile = "M16def.dat" $hwstack = 128 Tu zmieniasz wg wlasnych parametrow '- deklaracja zmiennych dla usart ---------------------------------------- Dim Index As Byte 'kolejny znak w buforze odbioru Dim Odebrano As Bit 'flaga ustawiona po odebraniu znaku Dim Buf(10) As Byte 'bufor wejsciowy - 10bajtow '- konfiguracja...
Witam, Mam pytanie odnośnie liczników które są dostępne na allegro - obrotomierzy podłączanych do motocykla za pomocą nawinięcia kilku zwojów na przewód wysokiego napięcia ( ten od świecy ). Potrzebuje zrobić podobny licznik,zastanawiam się tylko jak najlepiej a zarazem najkrótsza linia oporu zliczać te impulsy ? Czy ktoś jest w stanie mi podać jakiś...
Właśnie siedzę nad modnym ostatnimi czasami komputerkiem do samochodu. Narazie korzystam z płytki edukacyjnej AVT3550, na której znajduje się ATMEGA 162. Pomiar drogi, prędkość i temperaturę mam już opanowane. Na timerze2 mam zrobione przerwanie co ok sekundę, w którym przeliczam trasę, impulsy podaję na INT2. Zostało spalanie, nad którym leżę. Czy...
Może to Ci coś pomoże. To jest część programu sterującego obrotami silnika elektrycznego. Na początku masz funkcję opóźniającą, obsługę przerwań, później inicjacje wyświetlacza, wyświetlanie znaku i tekstu na wyświetlaczu, funkcję menu gdzie następuje inicjacja wyświetlacza, oraz główny program. W tym programie nie trzeba używać biblioteki do obsługi...
Jeśli wybierzesz pomiar ilości impulsów w jednostce czasu, zamiast pomiaru długości impulsu, dla niskich częstotliwości, pomiar będzie obarczony błędem. Przykład : wiatr wieje z taką prędkością, że impuls pojawia się co 0,4s. W ciągu sekundy odczytasz 2 impulsy, co da f = 2Hz, podczas gdy realnie wiatrak obraca się z prędkością f = 2,5Hz, błąd 25%....
Jestem początkujący w temacie AVR'ów, niedawno zakupiłem zestaw uruchomieniowy (od GoTronika) No i rozpocząłem naukę, język C szybko mnie do siebie zniechęcił (Nie oszukujmy się jest trudny dla osoby początkującej) więc tymczasowo postanowiłem zająć się bascomem (A potem do C planuję wrócić). No ale dosyć tego wstępu :> Posiadam procesor ATMEGA 32 i...
JarekC: ad1. Próbowałem przy wszystkich prędkościach od 9600 do 230400. Jedyna różnica była taka że przy 230400 wystarczał już delay na 1ms , ale raz na jakiś czas pojawiał się na ekranie krzak. ad2. Tak mam to poustawiane: 1 StopBit (usbs zostaje defoltowo na 0, jak by ustawic na 1 to były by dwa bity stopu) // char size 8 (ucsz0 ustawione na 3(dzisiętnie),...
Pozostaje problem prędkości. Najlepszym rozwiązaniem byłoby wykorzystanie przerwań OCRxA, OCRxb itp. Jam M32 nie ma odpowiedniej liczby kanałów, użyj Mega324, który ma taka sama pinologię a jest bardziej wypasiony. Wtedy będziesz miał kilka przerwań np [syntax=c]ISR(TIMER0_COMPA_vect) //funkcja obsługi przerwania { PORTD ^= (1<<STEP_X); //zmien...
impulsy najlepiej zliczacz za pomoca wewnetrznych liczników a masz i 8 i 16 bitowy. Więc zakresu z pewnością wystarczy. Przy 8 bitach raczej nie wystarczy . Chyba, że masz patent na zapisanie w 8 bitach liczby 5000 poprzez rozwiązanie mieszane z przerwaniem z licznika. Tam jest także licznik 16-bitowy. A co do patentu to jeśli zmniejszysz interwał...
1. Bo mam - to nie jest powód - serwomechanizm kosztuje max 20zł 2. Ja szczerze mówiąc raczej nie spotykałem się z wykorzystaniem silnika krokowego do ustawiania wskazówki... 3 i 4 - jeśli ma to być projekt tylko naukowy, na którym chcesz się czegoś nauczyć, to ok, idź w tym kierunku, ale jeśli chcesz to umieścić w aucie to z silnikiem krokowym dałbym...
witam. zapytanie kieruje do osób które mają doświadczenie z w/w modułem i zwalczyły "dziwne" problemy problem: moduł nie daje się ping'ować konfiguracja: moduł iim7000a atmega 128 wyświetlacz LCD port rs232c kwarc 7372800Hz system operacyjny win xp, ubuntu płytka TCP/IP pro opis: po załadowaniu softu z bascom, ustawieniu ip w module na 192.168.0.8,...
Częstotliwość impulsów wynosi około 6kHz. Dwa timery są zarezerwowane dla PWM i przerwań. Chcę zastosować 2 transoptory w celu zwiększenia dokładności pomiaru prędkości obrotowej. Do pełni szczęścia potrzebował bym 4 Timerów , ale na pewno da się to inaczej rozwiązać. Pozdrawiam.
1. Właśnie o PINy najbardziej mi chodzi... z tego powodu muszę użyć jakiś dodatkowy moduł. 2. Wysyłam sprzętowym SPI, ładuję 1 bajt, wysyłam, potem kolejny itd. (zależnie od ilości rejestrów) a na samym końcu zatrzaskuję. 3. PWM realizuję programowo poprzez timer, używam mojego licznika który w kolejnych przerwaniach się zwiększa. A następnie przyrównuję...
Witam! W wykonywanym projekcie zapędziłem w pewien logiczny róg. Projekt jest wykonywany na rodzinie AVR, ale to ma mniejsze znaczenie. Problem jest następujący, muszę zliczać maksima dwóch niezależnych przebiegów sinusoidalnych (pochodzącego z enkoderów optycznych - elementy myszy komputerowej z lat 90) o częstotliwości maksymalnej 5kHz. Formowanie...
Zliczac impulsy musisz za pomoca timer/countera, jak sama nazwa wskazuje ma funkcje zliczania ;) Szczegoly znajdziesz w nocie aplikacyjnej. No i chyba bedziesz musial zastosowac jakiegos PIDa. Tutaj mozesz zrobic tak ze usatwisz licznik w tryb CTC i w przerwaniu co np 10ms bedziesz aktualizowac uchyb i wyjscie z PIDa, od ktorego bedzie zalezalo wypelnienie...
Jeśli to będzie przycisk to trzeba wytłumić drgania zestyków: sprzętowo lub programowo. Jeśli zrobisz to sprzętowo to najprościej będzie podłączyć ten sygnał do wejścia licznika asynchronicznego (Counter2) i co jakiś czas (w zależności jakich prędkości się spodziewasz) odczytywać ten licznik. Wartość w liczniku będzie proporcjonalna do prędkości obrotowej....
Witam! Próbuję sklecić sterowanie silnikiem DC na Atmedze 16 z wykorzystaniem sterownika L293D. To ma być symulacja sterowania roletami na makiecie, czyli potrzebuję zmieniać biegunowość silniczka, a także chciałem mieć kontrolę nad prędkością (czyli wypełnieniem PWM). Zaimplementowałem PWM programowo za pomocą Timera2. Wszystko ładnie chodzi na diodach....
Wstawka w asemblerze odpada bo nie będę się go specjalnie uczył. Wydaje mi się głównym ograniczeniem prędkości działania będzie tu sprzęt czyli przepustowość portu a nie sam program, czy się mylę? Licznik sprzętowy mnie nie interesuje bo oprócz liczenie ma być prosta analiza tego co przychodzi. Jeśli mam rację że z prościutkim programem na przerwaniu...
Dzięki jack63. Rzeczywiście chciałem przekładnik prądowy podłączyć do ADC Atmega8 lub Arduino według schematu: [url=https://openenergymonitor.org/forum... Do tego dorobić detekcję przejścia przez 0 napięcia (to jest bardzo proste). Atmega ma możliwość samplowania z prędkością ponad 10k sampli na sekundę, zatem pomiar prądu byłby...
Czego nie rozumiesz? 0. Ładujesz wartość do licznika i czekasz na przepełnienie. 1. Przepełnienie generuje sygnał przerwania. 2. CPU musi dokończyć instrukcję, odłożyć na stos adres do powrotu i załadować nową wartość do PC. W tym czasie licznik T0 nadal liczy i czas mija. 3. Skok pod adres wektora przerwania i wykonanie prologu funkcji obsługi. Czas...
To chyba nie kwestia wyważenia, tylko tego, że jest tak solidnie zamocowane, no i w końcu silnik od HDD jest dość mocny. Jest w tym sporo prawdy. Śmigło jest przykręcone w kilku miejscach a dodatkowo silnik ten ma tak zwartą konstrukcję, że mam wrażenie, że samochód mógłby po nim przejechać. Mimo to projektując płytkę starałem się rozmieścić elementy...
model to MOK40-500 /5/BZ/N czyli Nadajnik Linii. padła dziś propozycja, żeby zakupić: http://uk.farnell.com/atmel/atavrbfly/de... i do tego podłączyć enkoder przy wykorzystaniu bufora 74244 oraz 2 rezystorów w celu obniżenia napięcia (enkoder 5V, płytka 3V). wszelkie sugestie i propozycje mile widziane :)
Wróciłem do rozgrzebanego projektu i aktualnie walczę z obsługą impulsatora. Użyty procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2 (INT0), PD3(INT1) są skonfigurowane jako wejścia z podciągnięciem do 1 i do nich podłączone są piny impulsatora odpowiednio PD2 A i PD3 B (patrz załączony plik pdf). W przerwaniach chciałbym zliczać liczbę opadających...
Tak sobie głośno myślę Właściwie to oglądając filmik przedstawiający współprace twojego tworu uderzyło mnie to ze te wskazania na cyferblacie są jakieś określę organoleptyczni e "przymulone " jeżeli moje xt włazi do setki w 7- 8 sekund to szybko twoja konstrukcja odbiła by się w postaci straconego papieru przy naszym nowoczesnym systemie egzekwowania...
Witam. Mam taki problem, gdyż chciałbym ogarnąć komunikację poprzez UART między dwoma mikro. Mam dwa uC: Atmegę 16, która działa jako master oraz Atmegę 88 jako Slave (na której będzie termometr, z którego będę odczytywał dane). Programy, definicje wyglądają następująco: plik RS485.h #indef RS_INT_H #define RS_INT_H //rozmiar buforów nadawania i odbierania...
A BTW, zamiast robic takie dziwne kombinacje nie lepiej ustawic prescaler timera tak, zeby timer sie nie przepelnial p Jeśli można by użyć Timer1 to oczywiście że tak, założyłem że jest do czegoś innego potrzebny. Odnośnie losowości - największy prescaler to 1024, co nawet przy prędkości 1Mhz daje maksymalny błąd 1ms. A resetowanie prescalera resetuje...
Wszystko już działa niby jak należy, ale pojawił się pewien problem do którego mam zapytanie - z jaką częstotliwością może zmieniać swój stan ten transoptor, bo gdy zębatka obraca się około 20 razy w ciągu sekundy, to daje jakieś 320 zębów na sekunde, mam wrażenie że przy takiej prędkości się gubi, nie może wykryć szczelin między zębami zębatki.
Witam Chcę napisać program generujący na wyjściu przebieg, który odpowiadać będzie dwóm kołom zębatym umieszczonym na jednej osi w taki sposób, że zęby koła drugiego znajdują się między zębami koła pierwszego. Stosunek wzajemnego położenia kół zmienny. Prędkość (20-150rpm), ilość zębów koła(10-150). Myślę o wykorzystaniu w tym celu Licznika1 w trybie...
Pojawił się kolejny etap i niestety wiele problemów. Próbuję komunikować się z licznikiem właśnie w Modbus RTU, ale licznik milczy. Używałam terminala do sprawdzenia komunikacji i okazuje się, że ramka wysyła się dobrze, ale tylko raz na x razy. A nawet po wysłaniu dobrej ramki jest cisza. Oto moja funkcja wywołująca wysłanie (send to funkcja z USARTa...
Witam. Chcę za pomocą Timera1 odmierzyć czas w przybliżeniu 1 s (dokładność do 0,1 s). Wprowadzam następującą konfiguracje: ldi Temp, 0x29 ;załadowanie do r16 wartości ldi R20, 0x29 ;załadowanie do r17 wartości out TCNT1H, Temp ;wpisanie do rejestru TCNT1L wartości out TCNT1L, R20 ;wpisanie do rejestru TCNT1H wartości out TCCR1A,r29 ;wpisanie do rejestru...
Nie wiem jakie wyjście mają wiatromierze, ale pewine będzie to albo jakiś sygnał analogowy (typu 0-5V oznaczające jakąś prędkość) albo prosty sygnał zmiany zbocza co obrót (tak jak licznik rowerowy, który ma magnes na kole). W takim przypadku wystarczy tobie dowolny mały mikrokontroler (np. popularna atmega8) która z jednej strony będzie miała sygnał...
Pewnie że jest- ostatecznie program napisany w C jest zamieniany najpierw na asm. Nie znam asm- ale z tego co widzę wynika chyba że procesor jest sterowany impulsami zewnętrznymi i wystawia sygnały do sterowania silnikiem. Popraw mnie jeśli źle ten program zrozumiałem. Jeśli tak jest jak zrozumiałem to koncepcja jest błędna. No bo jak silnik ma zwalniać...
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Moim celem jest regulowanie prędkości obrotowej wiatraczków podłączonych do wyjść PB1 i PB2 za pomocą trybu PWM. Napisałem taki kod jednak coś nie gra. #include <avr\io.h> #include <avr\interrupt.h> #include <avr\signal.h> //ustawienie pinow na wyjscia wiatraczkow #define SET_FAN_OUTPUTDDRB|=(1<<PB1)|(1<... //wlaczenie...
Mhy, zastanawiam się co tu kolega tworzy ;) Zrobiłem niedawno licznik impulsów (dalej miernik prędkości obrotowej). Kod jest maleńki. Do samych testów użyłem licznika impulsów zewnętrznych oraz jednego timera. Timer ma przerwanie co 50ms. W jego przerwaniu inkrementowana jest zmienna, gdy jej wartość zrówna się z 20 przerwaniami to odczytuje stan licznika...
Napisałem program który ma odczytywać odległości pomiędzy zboczami narastającymi sygnału PPM z nadajnika modelarskiego. http://obrazki.elektroda.pl/7575026600_1... 1: 41 | 2: 131 | 3: 225 | 4: 314 | 5: 415 | 6: 1107 | 7: 1201 1: 1312 | 2: 2005 | 3: 2099 | 4: 2193 | 5: 2283 | 6: 2376 | 7: 2465 1: 2902 | 2: 2997 | 3: 3090 | 4: 3180 | 5:...
Na pomiar prędkości są dwie szkoły: - dla wolnych obrotów zliczasz czas pomiędzy impulsami i to najlepiej licznikiem/timerem (hasło ICP) - dla szybkich obrotów zliczasz impulsy w ustalonym czasie i to też zrobisz najlepiej dwoma timerami/licznikami (jeden odlicza ustalony czas, drugi impulsy) Wybieraj... ;)
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ą...
http://obrazki.elektroda.net/76_12533177... Jestem na etapie budowy dość skomplikowanego urządzenia do samochodu i trafiłem na barierę jakim był brak wystarczającej ilości portów do transmisji po RS232. Z atmela można uzyskać ich co najwyżej dwa a mi potrzeba ich trzy. Dość długo kombinowałem przy UART-ach tak równoległych jak i pracujących...
Myślę że same kondensatory 100n nie wystarczą. Podłącz jeszcze jakiś kondensator np 100uF do +5v i 100n dolutuj do zasilania wyświetlacza. Poza tym sprawdź, czy deklaracja "$crystal =" jest zgodna z prędkością Uc.
Hej Przesyłam do atmegi8 za każdym razem 3bajty informacji. Prędkość układu to 38400. Atmega ma kwarc 16MHz. Powiedzcie mi, czy dobrze obliczyłem, że przesył 1 bajtu trwa około 208qs ?? Mam następujący problem. Wysyłam tych 3bajtowych ciągów dosyć dużo i do tej pory między odbieraniem bajtów w kodzie pisałem _delay_ms(1); . Było dobrze dopóki...
Sorry, że wam się wtrące ale też pracuje nad komputerkiem dla Vectry B Silnik na wtrysku paliwa więc wysarczy zmierzyć czas otwarcia wtryskiwacza i tu moje pytanko. Jak najlepiej odmierzyć czas otwarcia wtryskiwacza oraz ilość wtrysków na jednostke czasu? Wtryskiwacz jest sterowany masą wiec spoko można użyć przerwań z końcówki INT1 do wykrycia otwarcia...
Obrotomierz: pomiar impulsów sterujących cewką zapłonową w jednostce czasu. Jeśli dokładnie dobierzemy czas w którym zliczamy to będziemy mieli właśnie obroty. rozważania 2000 obr/min z taka predkoscia pracuje sobie silnik 4000 imp/min liczba impulsow sterujacych cewka dla silnika 4suw. 4 cyl. 66.66 liczb imp/sec z proporcji mozna obliczyc czas pomiaru,...
prędkości rs232 atmega licznik atmega atmega licznik
nissan qashqai obroty silnika windows update aktualizacje uniwersalne sterowniki karty graficznej
internet mobilny internet mobilny
Błąd wtrysku w koparce Volvo EC180 po rozgrzaniu Raspberry Pi wolno działa na SSD, szybciej na SD