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...
"można zrobić wyprowadzenie z licznika" nie znaczy "wygrzebać komunikaty" tylko podłączyć się do samego sterowania wskaźnikiem prędkości , chyba że prędkość jest podawana w postaci CYFROWEJ tzn. jako liczba to wtedy nie da się tak poprostu. Jeśli gość nie ma praktyki elektronika to nie zalecam grzebania w liczniku.
Nie, zmiana zbocza sygnału powoduje przepisanie wartości licznika timera do rejestru ICP, czyli zamrożenie jego wartości. Dzięki temu precyzyjnie można mierzyć czas pomiędzy zdarzeniami. Zbocze możesz sam wybrać.
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);...
Możesz też zliczać czas między impulsami. Znasz czas i drogę (obwód koła) co daje Ci prędkość.
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]...
A masz tyle?:>
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...
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
Miałem ostatnio trochę czasu i udało mi się zrobić wstępny prototyp. http://obrazki.elektroda.pl/4199773400_1... Na schemacie tranzystory BC 415 = BC 560 PNP 1. Mam problem ze stabilizatorem 7805 gdyż po podłączeniu do akumulatora 12V, po pięciu minutach pracy jest już dosyć mocno nagrzany nawet przy podłączonej tylko 1 diodzie LED....
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...
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,...
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:)
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
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?
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...
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ć...
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...
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...
Ż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...
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ć...
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...
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...
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...
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...
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...
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...
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...
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
Lecz jeśli jest to wystarczające może mierzyć kanały kolejno. Jeden po drugim. Tak, ale kolega chce uzyskać dokładność 1 obr/min , oraz jak kolega pisze mają być jednocześnie wyświetlane, mierząc kanały kolejno w danej chwili brany pod uwagę jest tylko jeden czujnik. Jeszcze taka uwaga, o jakich prędkościach mówimy? Dla małych prędkości obrotowych...
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. 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...
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...
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, 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...
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...
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_...
Sprzętowy PWM tylko na wyjściach odpowiednich liczników (opisane jest w PDF'ie).
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ć"...
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...
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,...
Dla zainteresowanych tak zrealizowałem czujnik prędkości: http://www.fsoautoklub.pl/?action=techni... Coprawda prędkościomierz działał w oparciu o licznik rowerowy ale w zupełności wystarcza do zastosowań mikroprocesorów. W chwili obecnej przykeljone są cztery magnesiki i będę próbował zrealiwować układ na mikroprocesorze. No ale to daaaleka przyszłość....
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. 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 ! 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ę...
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...
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...
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...
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ą...
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...
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...
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...
Chyba się nie zrozumieliśmy więc wyjaśnię dokładnie. Transmisję sprawdzałem na wszystkich prędkościach włączając w to 300 bodów, a cały czas testuję na "standardowym" 9600. Ale do rzeczy... Do tablicy wpycham np. 100 znaków i wszystie przechodzą przez transmisję którą inicjuję ustawieniem bitu UDRIE w rejestrze UCSRB. Wtedy pojawia się przerwanie SIG_UART_DATA...
Witam, $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pind.1 = Output Config Timer2 = Timer , Prescale = 128 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 8 Cls Cursor Off Portd.0 = 1 Portd.1 = 0 Set Portd.4 On Timer2 Czas1s Dim Licz8ms As Byte Dim Wartoscpwm As...
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,...
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....
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...
Przy enkoderze 100 imp/ obrót wcale nie jest niedokładny pomiar ;) Przykład: mamy silnik, który obraca się z prędkością 300/obr minutę => 5obr/ sekundę = 500 impulsów - czy to jest mało, aby była kiepska dokładność? Dla wyższych prędkości aby nie "zgubić" znacznej ilości impulsów spowodowanej przepełnieniem licznika trzeba dorobić obsługę przerwania...
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...
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...
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...
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ść...
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! 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....
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...
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...
Kawałek kodu : #include <avr/io.h> #include <avr/interrupt.h> // funkcje obsługujące przerwania #include "lcd.h" // funkcje obsługujące wyświetlacz LCD // #define DDR_Out DDRB // konfiguracja portu i pinu wyjścia #define PORT_Out PORTB #define Out PB0 #define clr_out bit_set(PORT_Out, bit(Out)) // operacje na pin-u...
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ł...
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...
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...
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ą...
Tego typu program jest tak prosty, że aż sobie sam nie zdajesz z tego sprawy :) Używasz dwóch przerwań 1) pierwsze przerwanie np int0 uruchamia timer (o ile aktualnie nie jest uruchomiony - element zabezpieczeń) 2) drugie przerwanie np int2 zatrzymuje timer i przepisuje jego stan do obliczenia prędkości. Do tego oczywiście precyzyjny timer z takim preskalerem...
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...
Zmiana procesora, raczej nie możliwa. Jeśli już to zmieniłbym na Xmega co ma sprzetową obsługę encodera. Ale na razie bede probował na ATMEGA2560. Jeśli chodzi o przerwania to wyglądają one tak (kompilator Codevision): 1) Procedura odczytu encodera (przerwanie na obu zboczach): [syntax=c] #define kanal_A (PINE & (1<<4)) #define kanal_B (PINA...
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ć...
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...
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...
Dzięki Panowie za pomoc, poradziłem sobie z konfliktem sygnałów. Zastosowałem 2 przerwania zewnętrzne które odczytują wartość licznika, oraz 1 przerwanie od przepełnienia w którym inkrementuję odliczanie sekundy. Pozostało jeszcze wysłać zebrane dane do jakieś pamięci np. karta SD. W razie pytań będę pisał tutaj. #include <avr/io.h> #include <stdlib.h>...
smajlas - Twoja podpowiedź działa ale nadal są jakieś problemy z czasem wciskania sw ;/ Postanowiłem więc poczytać nieco o timerach. Z tego co napisał TMF dobre rady ale jestem początkujący i tu jest problem ;/ jeśli dobrze rozumiem: 1.Określam czas najkrótszej sekwencji (np.u mnie najkrótsza sekwencja zmiany stanu LED wynosi 100ms) czyli co 100ms mam...
atmega licznik prędkości prędkości rs232 atmega licznik atmega
opinie graphite przerywa klawiatura samsung ic501
zelmer uszczelka bosch sd13h1b
Jak zakodować stacje radiowe w tunerze? Moc silnika pralki Polar - szczegóły i modele