Witam kolegę, popatrzyłęm na notę katalogową (sam też popatrz) i na mój gust to wyjście jest typu otwarty kolektor (tak przez analogię do ukłądów TTL) Więc problem w tym że owo wyjście należy jeszcze spolaryzować do plusa zasilania jakim opornikiem myslę że 1-2 k spokojnie starczy. Wówczas będziesz miał układ w pełni działający bo jak na razie to Twój...
Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM
henryxxl Ale w programie ma napisane Config Int0 = Falling spróbuj ustawić ręcznie bity ISC01 ISC00, może bascom coś miesza. Dodano po 5 Zamiast Config Int0 = Falling wpisz MCUCR.1 = 1 MCUCR.0=0 (tej lini nie musisz bo domyślnie jest 0)
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...
timer sobie zostaw do pomiaru czasu, a liczenie impulsów zrób na INT0 lub INT1
Witam, zastanawiam się, czy istnieje jakiś sposób zliczania impulsów zegara interfejsu SPI w mikrokontrolerze AtMega 16. Póki co jedyne na co wpadłem, to podłączenie tego sygnału do wejścia przerwania zew., jednak ten sposób wydaje się dość toporny. Pozdrawiam
Rozumiem, że nie chodzi o zliczanie impulsów w danej jednostce czasu tylko ogólnie ilość aż do wykasowania przez obsługującego lub aż do przepełnienia zmiennej. Jest to bardzo proste przy wykorzystaniu przerwania INTx Po porostu w obsłudze przerwania dodajesz 1 do zmiennej która przechowuje ilość tych impulsów.
Witam, chciałbym zbudować licznik impulsów na atmega 8 który by zliczał ile impulsów było w czasie 1 sekundy i wartość tych impulsów wysyłała w postaci binarnej na wyjścia procesora. Dodano po 1 Język w którym bym to chciał to C znalazłem identyczny projekt na forum ale w bascomie a w tym języku się wogóle nie orientuje
Fusebity nie wrócą. W innych mikrokontrolerach np. PIC, fusebity ładowane są razem z programem. W AVR tak nie jest.
To rozwiązanie chcę użyć do zliczania sygnałów z czujnika. Na chwilę obecną zliczam impulsy na zmiennej i jest taki efekt, że w trakcie zliczania program wykonuje zliczanie i nie mam możliwości przełączać innych wyjść. (zliczanie jest jednym etapem gdzie musi zostać wykonana określona liczba obrotów)
Może w nowszych jest hallotron - musi mieć dodatkowy wzmacniacz. U mnie w nieco starszym takim siłowniku jest zwykły kontaktron - sprawdź - może ( jak takowy jest) jest uszkodzony/ sklejony
Na 38000 zliczanych impulsów stany wahają się +/-200 i te wahania pływają. Nie analizując Twojego programu, szybkie pytanie: Zerujesz preskaler za pomocą PSRxx?
Może być tak, ale ów przebieg składa się z szeregu oscylacji, dlatego trzeba go odfiltrować i ukształtować na impuls prostokątny. Odfiltrujesz członami RC a następnie przerzutnik schmidta i masz prostokąt. Niemniej jednak układ taki (owszem, w naturze stosowany przy instalacjach gazowych) jest ryzykowny ze względu na możliwość ulotów wysokiego napięcia...
To teraz troszkę mi namieszałeś, ATmega 16 ma ICP1 przy nóżce Timera 1, ja odmierzam impulsy 2-ch sygnałów... Co do sposobu zliczania impulsów za pomocą T0/T1 to po co używać 3 timer do odmierzania okresu czasu. Przecież okres jest odmierzany na przemian. Gdy T1 zlicza impulsy obrotomierza to T0 odlicza okres, po tym okresie T0 zaczyna zliczać impulsy...
Zrób sobie filtr cyfrowy skoro zliczanie co impuls jest dla ciebie zbyt uciążliwe. Np licz impulsy i ilość podziel przez 10 (lub przez dowolny inny współczynnik). Wtedy to powinno pomóc. Nie bardzo wiem po co tutaj kondensatory na enkoderze? Jak dla mnie bez sensu, no ale może o czymś nie wiem ;)
Sposób jak podał Cezary nie jest zły. Trzeba jednak wygenerować impuls o odpowiedniej długości. Co zapewne będzie jakimś problemem. Zaproponowałem więc podłączenie fototranzystora do linii np. CTS. W językach typu VC, VB, VBnet, C# itp. zmiana stanu tej linii wywołuje zdarzenie. Wystarczy zliczać te zdarzenia.
Możesz zrobic tak - zliczać 11059 impulsów w liczniku 16-sto bitowym. Da Ci to częstotliwośći 10000,01 Hz czyli z błędęm w zasadzie do skorygowania kwarcem (kondensatorem, trymerem). Co do RS-a - to błąd całkowicie akceptowalny (dla skorygowanej do 11059000 Hz częstotliwości). P AK
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
STM32L031K6: Przy wewnętrznym zegarze 131kHz, w temperaturach -40+55, kod wykonywany z RAM, pobór prądu bez peryferiów 21uA max. Z włączonym licznikiem i RTC to będzie 36uA max. I nie trzeba obniżać napięcia do 1,8V :) Można też zejść do 9uA przy zachowaniu zliczania impulsów i bez wybudzania przez 20s (i więcej). Inna opcja to zliczanie impulsów w...
Możesz też zliczać czas między impulsami. Znasz czas i drogę (obwód koła) co daje Ci prędkość.
Jeżeli S1 służy jako przycisk a nie do np. zliczania impulsów to sugerowałbym oprócz sprawy sprzętowej lekko znieczulić układ programowo.
Witam. Posiadam kilka kompletów tego nadajnika i odbiornika (433MHz) i tak jak kolega wspominał w eterze mega dużo śmieci. Ale... znalazłem rozwiązanie tego problemu śmieci! Zmierzyłem miernikiem częstotliwości wyjście odbiornika podłączonego tylko do zasilania i u mnie były takie wyniki: od około 600Hz nawet do 3kHz sygnały śmieci które zmieniały się...
Kłania się pojęcie funkcji w języku C. setup() i loop() to też są funkcje. Do testowania stanu styków potrzeba tylko jednego przerwania timera, nic więcej. Po co mnożyć przerwania, czy to od zmiany stanu linii, czy to od dodatkowych timerów? Przy jednopoziomowym systemie przerwań, takim, jaki ma ATmega, o ile programista nie udziwnia nic na siłę, zmienna...
Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...
na atmedze i tak typ double jest równy typowi float. Zmienne x i kat powinny być zadeklarowane jako volatile. aha no i często warunki typu if(zmienna == 43.342) zwracają fałsz, nawet jak wpiszesz zmienna = 43.543; if(zmienna == 43.543) {cos} to "cos" się może nie wykonać, bezpieczniej jest tam dać znak nierówności if(zmienna...
A po co tak ? Przyzwoite impulsy zaplonu wystepuja na PRZEWODZIE GASZACYM , zwieranym stacyjka do masy w kazdym zaplonie CDI. Możesz śmiało podłączyć tam bezpośrednio obrotomierz ...ok. 80V pp, zrób sobie dzielnik i komparator, by czysty prostokąt uzyskać.
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Projektuje nowy układ z wykorzystaniem ATMEGA 8 SMD i mam problem z tym że wyjścia MOSI i MISO których będę potrzebował do programowania uC musiał bym wykorzystać jako wejścia. Czy jeżeli w bascomie skonfiguruje te porty jako wejście i podciągnę je rezystorem do plusa to czy będę mógł nadal programować uC ?
OCnX to wyjścia, nie wejścia. Skoro nie możesz odblokować timera0 (bo T0 i T1 można taktować z zewnątrz) to są opcje takie: 1. Zastosowanie przerwań INT0 i INT1 z detekcją odpowiednich zbocz i zliczanie imp. w przerwaniach 2. Polling pinów z odpowiednią częstotliwością Poza tym jaka częstotliwość impulsów?
Po co podajesz PWM na wejście sterownika silnika - na jego wejściu powinien być przebieg, którego ilość zboczy (opadających lub narastających w zależności od sterownika) odpowiada ilości kroków do wykonania w zadanym innymi wejściami kierunku. Zatem nie generuj tych przebiegów za pomocą PWM, ale za pomocą timera. Częstotliwość przerwań będzie wtedy...
Witam Chciałbym usłyszeć Wasze zdanie na jeden temat. Otóż mam urządzonko zbudowane na bazie Atmegi8 - całość zamontowana na maszynie -gra i buczy (dzięki również Waszej pomocy za co bardzo dziękuję). Maszyna ma czujnik podczerwieni, który bada przesuwające się na taśmie przedmioty (czujnik zasilany jest 24 VDC i ma 3 przewody VDC, GND, i SYGN przedmiot...
Spróbuj wgrać ten kod.[syntax=basic4gl] $prog &H00 , &H00 , &H00 , &H00 $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , E = Pinb.4 , Rs = Pinc.7 , Db7 = Pinb.3 , Db6 = Pinb.2 , Db5 = Pinb.1 , Db4 = Pinb.0 Config Pinc.2 = Input 'tego chuba nie używasz? Config Pind.1 = Input Przycisk Alias Pinb.7 'tego chuba nie używasz?...
"Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
[syntax=basic4gl]If F1s = 1 Then Ilosc_wcisniec = Zmienna_pom Zmienna_pom = 0 Reset F1s End If[/syntax] Tu jeszcze mały błąd bo brakło zerowania flagi 1s i ma być porównanie z 1 a nie 0.
No Dobra program juz prawie napisałem i głowiłem sie nad wersja ze zmiennym PWM+f... ale z tego co mi odpisałes to wnioskuję ze coś tu mi nie gra... A nie możnaby programowo realizować ten restart co 80ms? Moze napisz dokładniej co to ma być a coś doradzimy :) Pozdro No wlasnie o to chodziło by nie restartorwać tego zewnetrznie bo chyba prosciej zaimplementowac...
Tu można kilka rozwiązań zastosować: 1. Po komparatorze dać układ monostabilny rozciągający czas trwania impulsu do rozmiarów wystarczających by go Atmega zobaczyła (czas impulsu oczywiście mniejszy niż minimalny okres powtarzania impulsów). 2. Po komparatorze dać przerzutnik typu D, ustawiany zliczanymi impulsami. Wyjście przerzutnika podajemy na wejście...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
:arrow: pawlis To się tak nie da raz-dwa i wszystko wiedzieć. To wymaga czasu i pracy. Obecnie mam wrażenie, że nie wiesz o co zapytać. Powinieneś zacząć od poznania architektury mikrokontrolera. atmega nie robiłaby nic (bo nie ma takiej potrzeby) az do momentu otrzymania przerwania. kolejnym krokiem byłoby zliczanie impulsów otrzymywanych na tą samą...
Zbudowałem impulsator z wykorzystaniem silnika krokowego wg tego projektu: http://www.elektroda.pl/rtvforum/topic18... Wjścia tego "czegoś" podłaczam bezpośrednio do atmegi8 na porty int 0 / 1, atmega ta ma za zadanie zliczyć impulsy podane przez to "coś". Widzę, że muszę to w ten sposób pisać, bo inaczej sie nie dogadamy.
Walcze z licznikiem na Atmega 32 inicjacja wyglada tak : DDRB = 0xff; // DDRB jako wyjscie // t0 JAKO LICZNIK PORTB |= _BV(0); // BEZ PODCIAGNIECIA NIE CHCE LICZYC TCCR0 = _BV(CS01)|_BV(CS02); //_BV(CS00)| cs0 rosnace/~opadajace zbocze TCNT0 = 200; TIMSK |= _BV(TOIE0); // T0 wywoluje przerwanie Caly problem polega...
Witam:) mam pytanie do forumowiczów w sprawie pomiaru częstotliwości, sprawa przedstawia się następująco: chciałbym zrealizować pomiar częstotliwości .............. wiem ze należy postąpić w poniższy sposób: 1. zatrzymanie zliczania impulsow z T0 2. zatrzymanie odmierzania czasu bramkowania T1 3. przepisanie zliczonych impulsów do rejestru głównego...
Witam, Mam pewien problem, mianowicie chciałbym umieścić encored obrotowy który generował by impulsy z częstotliwością max. 1000/s ale w odległości jakieś 14 metrów od procka(atmega). Czy nie powstanie jakiś problem związany z pojemnością przewodu ? Mam jeszcze jedno pytanie, może przy okazji, jak najlepiej obsługiwać taki encoder w procku. Daje on...
Piszę w C program na atmega do komputerka podającego spalanie w samochodzie i mam problem z przerwaniami. Jednym przerwaniem będzie liczony impuls wtrysku a drugim zliczane impulsy drogi (zapomniałem dodać, że jest jeszcze przerwanie zliczające impulsy czasu rzeczywistego). Jeśli w danym momencie nastąpi otwarcie wtryskiwacza a chwilę później impuls...
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]...
Zacznijmy od tego Skopiowałem program do zliczania impulsów w języku Baskom $regfile = "m8def.dat" $crystal = 8000000 Dim Count As Integer Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdmode = Port Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 On Int0 Int0_int Do Enable Interrupts...
Nie znam się na wtryskach ale jeśli chcesz mierzyć ich charakterystykę to szybkość zjawisk tam zachodzących raczej wyklucza ATMegę. Jeśli chodzi jedynie o zliczanie impulsów z wału silnika pompy CR to nie powinno byc problemu, natomiast co do pomiaru ciśnienia za wtryskiem to ADC w ATMega może być za wolne. potrzebowałbyś szybkości, przy np max 4000...
Nie mam jak określić dokladnie częstotliwości, ale mniej więcej z przełożenia czujnika w skrzyni myślę że od 0 do 4000 impulsów na sekundę ( tak orientacyjnie), szerokość impulsu to 1/16 obrotu czujnika. Znalazlem dziś jedyny projekt, z którego mógłbym wziąć podstawę, ponieważ jest to obrotomierz czyli też zliczanie impulsów i podobno działa na takiej...
Witaj. Masy muszą być połączone. Czy są? Przykład: http://mikrokontrolery.blogspot.com/2011... Jeżeli tak i nadal nie działa, to pokaż na początek dokładny schemat.
Nie czytałem całości tematu, ale .... GDZIE PRZYCZYNA ZAWIESZANIA ? Szukasz rozwiązania problemu w niewłaściwy sposób. Najpierw znajdź przyczynę zawieszania. Co rozumiesz przez : Czasem podczas komunikacji dochodzi do zwieszenia - układ przestaje odpowiadać po TWI i pomaga jedynie manualny reset. Czy jesteś pewien, że procesor przestaje realizować program,...
Witam. Jak usunąć zakłócenia na portach. Przy zliczaniu liczby imp atmega raguje na 12 V i np. dotyk palcem. Natomiast przy zliczaniu czasu imp to tylko na dotyk palcem. Podaje schemat skrócony i program
Nawet jeśli wystąpią w tym samym czasie wyższy priorytet ma int0 i jak się wykona to przerwanie powinno się wykonać INT1 . Jeśli chcesz zmniejszyć ryzyko zwiększ częstotliwość zegara . Teraz Atmega działa na wewnętrznym kwarcu 8MHz. Wieczorem spróbuję z kwarcem 16 MHz, zobaczę czy jest różnica. Jak pisałem wcześniej, teraz sygnał podłączony jest do...
Z tego co wiem to w ATmega-ch raczej trudno o możliwość zliczania impulsów z 3 niezależnych źródeł zewnętrznych i generowania dla każdego z osobna przerwania (chyba że powyżej ATmega32, ale w grę wchodzi wtedy wysoka cena). Pytanie czy konieczne jest takie rozwiązanie jak zaproponowałeś? Przy pracy uC z prędkością 8MHz (np. jak dla ATmega8, ATmega16...
Tu masz program pod ATtiny2313, jeśli potrafisz programować, to też potrafisz przerobić program na ATMegę: [syntax=basic4gl]' Bardzo prosty zegar bez możliwości ustawiania Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim , Godzjed As Byte , Godzdzies As Byte , Mux As Byte , Migaj As Bit Config Portb = 255 : Portb = &B255...
Dzięki za pomoc. Nie nie teoretyzuje :) mam tego procka i projektuje układ zapłonowy z niezależnymi cewkami na każdy cylinder czyli bez rozdzielacza HV mechanicznego. Taki mam temat pracy dyplomowej. Przerwania będę wykorzystywał do zliczania impulsów z koła na rozrządzie. Impulsy z dwóch Halli pierwszy 4imp na obrót drugi 1imp/obr (kasowanie całego...
Absolutnie dla siebie. Chcę się nauczyć takich funkcji. Czy mógłbym prosić o podesłanie linków, lub chociaż słów kluczowych, bo szukając po wyrazach "zegarek" czy "zliczanie czasu" nic sensownego nie ma. Zapisywanie do EEPROM jest co minuta. Co 1,5 sek jest tylko zliczanie "impulsów". A co 1,5 sekundy dlatego bo taki jest potrzebny interwał czasu pomiędzy...
1. W jakim języku piszesz? 2. Kalkuluje się to tak: Masz kwarc 16 000 000 Hz (16 MHz) i dajesz sobie jeden z dopuszczonych prescalerów, np. 64 i wtedy timer zlicza Ci impulsy z częstotliwością 16 000 000 / 64 = 250 000 Hz, czyli jeden impuls timera to 4*10^-6 s lub inaczej aby odmierzyć 1s musisz zliczyć 250 000 impulsów, Jako, że Timer0 jest 8 bitowy...
czy możliwe jest uspienie procka niekoniecznie przez power down, tak żeby działało tylko zliczanie impulsów? Hmm to duża oszczędność w moim przypadku ponieważ procek przez np 5 sekund jest w jakimś stanie uśpienia a potem budzi się na sekundę robi obliczenia itd. Czyli przez tylko sekundę jest bardzo prądozerny.
Witam. Postanowiłem stworzyć swój komputer pokładowy do auta daewoo lanos. Komputer oparty jest na atmega64, cel jaki chce osiągnąć to wyświetlanie na LCD prędkości, drogi, spalania średniego/chwilowego oraz obrotów silnika. Napotkałem się na pewien problem otóż jak podłączyć upc pod komputer tego samochodu by zliczać bez problemu impulsy (dane z auta)...
Witam Sposobów realizacji jest masa. Najprościej Arduino Nano i kilka linijek programu. Mniejsze sam procesor Atmega lub Attiny, ale trudniej bo trzeba płytkę robić (lub pająka żywicą zalać) CD4017 + CD4002 bez programowania. Aby to wszystko nie padło przy pierwszym włączeniu to należy jeszcze dorobić konwertery poziomów wejściowych i wyjściowych, ale...
Na AT90S8535 zrobiłem sobie licznik impulsów i elegancko zlicza. Zrbiłem to na dwa sposoby (poniższy kod) z wykorzystaniem jednego timera i bardziej dokładny z wykorzystaniem 2 Timerów. Najgorsze jest to że gdy wsadziłem ATmega8535 na lcd pojawia mi się zero tak jakby counter w ogóle nie zliczał impulsów. Zegar procków (7.372.800 Hz) ten sam. Co jest...
10000 RPM (rotation per minute) = 200000 impulsów ale na minute codaje 333 impulsów na sekunde Pozdrawiam Ojjj ... przepraszam ... rzeczywiście ... pomyliłem się za co przepraszam :D. No a co do dokładności pomiaru, to oczywiście, że można co 3 sekundy. Zależy co kto woli. Ale wydaje mi się, że przełączanie to niezbyt dobry pomysł, bo trzeba dodac...
4. Jak rozumiem, Timer1 odlicza odcinki czasu, po których chcesz zobaczyć wynik pomiaru więc: [syntax=c]unsigned char flaga = 0; ISR (TIMER1_COMPA_vect) // timer0 overflow interrupt { impulse_count_frozen = impulse_count; impulse_count = 0; flaga = 1; }; ISR (INT0_vect) // int0 interrupt { impulse_count++; } int main(void) { ... sei(); while (1) { if(flaga)...
Witam Czy są jakieś różnice w budowie wejść tych liczników (w ATMega 162)? T0 to wejscie 8-bitowego licznika, T1 16-bitowego. Oba liczniki steruje impulsami z transoptora i T1 liczy normalnie, a T0 podlicza tylko zwarcia bezpośrednio do masy. Do transoptora (CNY17-4) wejścia liczników są tak podłączone: 5V | Kolektor * Emiter -----------wejście Licznika...
Pomyśl, jaką wartość będzie miał licznik po zliczeniu 65536 impulsów? Z jakiego powodu uważasz, że Twój program powinien wtedy uznać, że impulsów było 65535? Wydawało mi się, że pomoc, jakiej oczekujesz - to wskazanie błędów w programie. Tymczasem Ty sprzeczasz się, sugerując, że ewidentny błąd, który popełniłeś, błędem nie jest. Nie pokazałeś wersji...
Witam mam pytanie , jak z timera w atmega odczytac impulsy ktore przebiegaja po kablu WN w motoryzacji (chce zrobic obrotomierz) ? Nie znam sie na arduino wiec prosze o pomoc dostalem info zeby nie zaczynac w basicu wiec probuje tu. Pisownie poprawie rano bo pisze z telefonuu;)
pubus - Wykorzystałem Twój kod, i liczy nawet. Tylko niestety nie to, co trzeba :D Czyli na timerze 2 generuję przerwania co 10ms, a na INT2 zliczam impulsy ze skrzyni. Timer1 miał liczyć czas wtrysku, czyli sygnał narazie z generatora podłączyłem pod nóżkę PD5 (OC1A). No i nic nie liczyło, ale jeśli sygnał podłączyłem pod wejście zliczania impulsów...
Witam Kod jak poniżej służy do zliczania czasu trwania jednego impulsu (ta funkcja działa prawidłowo) oraz do zliczania czasu (w celu zliczania ilości impulsów na jednostkę czasu). volatile unsigned char pomiar = 0; volatile uint32_t cw_impuls,impuls = 0; unsigned char sreg; float tc1; char czas[8]; void Inicjalizacja(void) { LCD_init();...
Jestem początkującym z programowaniu w C.Opiszę problem : Zbudowałem licznik zwojów do nawijarki na ATMEGA 8 . Licznik liczy zwoje przy pomocy optobariery szczelinowej i tarczy z dziurką(czyli zliczanie gdy na wejściu stan niski) liczy w przód i w tył(przy odwijaniu). Jedno wejście ATMEGi zlicza impulsy (PULSELOW) , drugie to wejście sterujące aby zmieniać...
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...
Kiedyś tez to przerabiałem chociaż temat mój umarł ale robiłem to tak ze wysyłałem 150 impulsów i w przerwaniu od int0 - do niego byl podpięty odbiornik36kHz, zliczałem impulsy jeśli było ich ponad 140 to było "ok" chociaż na piloty tv było to w miarę odporne. Drugi pomysł mój był taki ze po prostu zliczałem mignięcia diodą ired + fototranzystor i tez...
Zależy, co rozumiesz pod pojęciem "krytyczne czasowo" ;) Ale ok, dajmy spokój. A co do przykładu, imho najdokładniejsze będzie coś pomiędzy - przerwanie i licznik wystąpień plus timer odmierzający np. sekundy i ustawiający flagę zakończenia pełnej sekundy. Wtedy w pętli głównej obliczenia i zerowanie flagi pełnej sekundy (w tle cały czas impulsy się...
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...
[quote="emarcus Chyba nie tak prosto z dwukierunkowym zliczaniem impulsów (rozpoznaniem kierunku obrotu)! e marcus[/quote] Warunkiem rozrówniania kierunku obrotów jest tylko to aby dwa czujniki były rozstawione miedzy sobą o kąt rózniacy sie od 180 stopni lub tez w przypadku jednego czujnika otworki lub jezyczki przecinajace czujnik byly rozmieszczone...
http://obrazki.elektroda.pl/5636705900_1... https://filmy.elektroda.pl/37_1378532310... Termometr mikromocowy LCD ATMEGA16 Tym razem głównym celem projektu było sprawdzenie możliwości wykonania mikromocowego systemu pomiaru temperatury w oparciu o możliwie standardowe elementy, mówiąc w skrócie byłem ciekawy czy zwykły avr może być...
No jest w planie kwarc 8MHz bo odcinki są po kawałku nawet do 12 godzin (pomiędzy odszranianiem) ale tu mi chodziło raczej o krótszy czas około 3 min pozwalający sprężarce na wyrównanie ciśnienia, zrobiłem coś takiego podobnego tyle że na timer0 ale za cholere nie mogę dobrać preskalera i ilości impulsów. Zegar wew atmega8 1MHz poza tym nie zauważyłem...
Z tego co wybadałem, to właśnie 2 dolne to jest przycisk, a 3 górne służą do zliczania impulsów. Jeden z nich jest masą jak sądzę - da się jakoś wywnioskować który? 1 i 2 są zwarte tak jakby przez dłuższy czas, a 1 i 3, 2 i 3 przez krótszy (podczas obrotu). Z tego wychodziło by, że 2 i 3 to A i B, tak?
Witam ... jak w temacie mam pytanie enkoder zasilanie 5V wyjście kanały A B na poziomie 1Vpp czy mogę to razem połączyć z wejsciem licznika 16bit PD5 noga 11 bez dodatkowych zbędnych układów układ ma być licznikem impulsów z enkodera 2000imp/obr przerwaniem zewnętrzym będzie sygnał zbocza opadającego na PD3 noga 5 - znalazłem kiedyś dość prosty interface...
W takim razie jak to zrobić? W podlinkowanym przed chwilą przeczytałem że częstotliwość pracy z wewnętrznymi elementami LC jest ok 550kHz, czytałeś? będziesz aż tak zmieniał wartości elementów? W nocie katalogowej jest napisane, że typowe opóźnienie to ~15ns O jakim elemencie mówisz? chyba nie o LM311. I jak działa taki licznik wewnętrzny? Jak go obsługiwać?...
Witam! Z góry przepraszam jeżeli coś podobnego było na forum, ale oszukałem się dość dobrze i na nic nie trafiłem. Mam do zaprojektowania układ który będzie rejestrował ilość występowania impulsów na wyjściu impulsowym pewnego urządzenia. Postaram się przedstawić podstawowe założenia z nadzieją że ktoś doświadczony w projektowaniu tego typu układów...
Witam, Napisalem program na atmega8 do regulatora dwukierunkowego, którego schemat można znaleść tutaj. [url=http://www.modelhobby.republika.pl/... Licznik pracuje z zegarem 8Mhz i prescalerem 64. Czyli licznik powinien zapelnić sie minimalnie po 2ms. Sygnał z odbiornika trwa od 1ms do 2ms. Najpierw zliczam czas impuslu. W zależności...
bezpośrednio z bascoma się nieda. trzeba by wpisać odpowiednią wartość do rejestru sterującego timerem ale niepamiętam dokładnie jak to sięrobi, trzeba by zajżec do noty katalogowej tam wszystko dokładnie opisane. ale mozna zrobić inna sztuczkę $regfile = "m8def.dat" Config Pinb.1 = Output $crystal = 1000000 Config Timer1 = Timer , Prescale...
Witam ponownie. Chcę zrobić sterowanie silnikiem prądu stałego za pomocą mikrokontrolera Atmega16a. Sterowanie ma się odbyć za pomocą zmiennego sygnalu PWM - to dobrze rozumiem i zaprogramowałem. Prędkość obrotów będzie regulowana za pomocą przycisku. Pozostaje problem zliczania impulsów - na początku próbowałem programowo niestety bez oczekiwanego...
W skrócie; co 1 sek wykonywane jest przerwanie w którym sa zliczane impulsy (dla wyliczenia częstotliwości) .Atmega pracuje z zewnętrznym rezonatorem kwarcowym 8Mhz.Niedawno kupiłem nowe Atmegi32 i o dziwo program zle dziala (wyliczana czestotliwosc "plywa" ) Kiedy wgrywam soft do atmegi kupionej dawniej wszystko jest ok . Teraz kupiłem 3 i na wszystkich...
Witam! Google mi nic nie podpowiedziały. Na ilu kanalach w ATmega8535 moge zliczac impulsy z wentylatora (jednoczesny pomiar predkosci wentylatorow)? Potrzebuje z 5-6 kanalow. Czy mozna to zrobic na jakims multiplexerze (moze byc odczyt jednego w danej chwili - ale zeby mozna bylo odczytac kolejno wszystkie)? Sterownik wentylatora zwiera chyba 12 V...
Proponuję dowolny mikrokontroler o wystarczającej mocy obliczeniowej, odpowiednich peryferialach i wielopoziomowym systemie przerwań. Na pierwszy rzut oka dowolny uC z rdzeniem Cortex-M0 powinien wystarczyć (np. jakiś STM32F030), a jeśli nie - to jakiś mniejszy z CM3. Oprócz 20-krotnie większej mocy obliczeniowej przy mniejszych kosztach weź pod uwagę...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Kosmo Timer1=34285 wyszło z prostej kalkulacj. przy zegarze 8000000 i preskalerze 256, timer uP'a zliczy 8000000/256= 31250 "impulsów". Czyli aby licznik sie przepelnil nalezy zaczasc zliczanie od 65535-31250=34285.
To trzeba poczytać w opisie konkretnego układu - są takie, że można podłączyć bodajże dwa piny do portu drukarki, (+ zasilanie i masę) i programować przez ten port (np. jakieś ATtiny, ATmega), i takie, że trzeba mieć programator. 6MHz zamiast 12MHz - 2 razy mniej RPM (a właściwie zapłonów / minutę), czyli pewnie to będzie 500 / 1000. Nie pamiętam, ile...
W skrócie: stanowisko do badania magneto zintegrowanego z rozdzielaczem zapłonu do silników Lycoming (4 lub 6 cylindrów) - śmigłowce Robinson R22 i R44. Obudowa wyspawana z grubej blachy stalowej, silnik sterowany z falownika, sprzęgło i montaż badanego podzespołu, na wale silnika magnesy, czujniki halla do obrotomierzy cyfrowych, gniazdo ze złączem...
Na spokojnie jeszcze raz poczytaj Helpa i notę Atmega16. Wejście Icp jest wejściem Timera 1 a nie Timera0. Myślę też że do tego co ty chcesz zrobić można by się obyć bez Timera tylko na wejściu INTx zliczać zbocza, a potem w pętli analizować te dane.
Witam, Do INT0 ATmegi16 mam podłączone urządzenie dające impulsy - łączące masę. Dopisałem filtr na drganie styków, ale jedno rozwiązanie działa, a drugie nie. Wolałbym całkiem wyłączać przerwania tak jak w listingu 1, ale w tym przypadku po upłynięciu timeoutu przerwanie uruchamia się jeszcze raz. Czyli na każdy impuls na wejściu licznik zlicza dwa...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
nie ma żadnego problemu z odczytem położenia potencjometru , może nie rezystancja ale wartość napięcia otrzymana z potencjometru zasilanego napięciem 5V , wystarczy że zastosujesz dowolny mikrokontroler z wbudowanym przetwornikiem analogowo / cyfrowym np ATMega 8 co konkretnie ma być wykonane przy określonej wartości napięcia to kwestia programowa ,...
Dzięki Marcin za odpowiedź. W sobotę kupiłem TowerPro SG-5010, bo tamte, faktycznie za delikatne były, jak mi sprzedawca w sklepie pokazał (prawdziwe mini) ;-) Uruchomiłem serwo bez problemów. Sterowanie sygnałem z regulatora PI zbudowanego na Atmega16. Jedynie problem mam tego typu, że przy korzystaniu z drugiego timera Timer1 (Timer0 wykorzystuje...
Nie da się ukryć, że TDA7052 jest wzmacniaczem mostkowym. Nie dość, że jego zastosowanie nie ma tu sensu, to jeszcze drugie z wyjść obciążono rezystorem R11. Nie napisałeś z jakim przetwornikiem ma to współpracować. W takim zastosowaniu warto mieć przetwornik piezzo, bo może on pracować jako przetwornik kontaktowy. Skoro trzeba współpracować z takim...
Wspomniane sygnały są prostokątne i przesunięte w fazie względem siebie o 1/4 okresu. No to jest właśnie 2-bitowy kod Greya. Przeanalizuj sobie jakie kombinacje stanów logicznych pojawią się po kolei i porównaj z tym co napisałem w poprzednim poście. Zresztą zobacz Electrical Characteristics w dokumencie, do którego podałeś link w poprzednim poście....
Okay. Mam jednak uwagi. Ktoś czytający ten wątek w przyszłości może pomyśleć, że moje wypowiedzi są nieadekwatnie "tonowane" a to dlatego, że usunięto posty których te wypowiedzi dotyczyły. Jeśli usunie się kilka postów to kontekst wypowiedzi może powstać inny niż był w pierwotnym zamyśle... bo wcale zadziorny nie jestem :D Dlatego, wcześniej tego nie...
Ma pytanie dotyczące jak ustawić timer, żeby można było wykorzystać go do zliczania impulsów kodu RC-5 mam program zaczerpnięty z forum do jego zliczania ale on jest ustawiony z zewnętrznym kwarcem 16MHz i tam żeby to dobrze zliczało zgodnie z notą aplikacyjną Atmega16 używa się do tego preskalera poprzez ustawienie odpowiednio bitów CSS2 – 0...
atmega zliczanie impulsów zliczanie impulsów enkodera zliczanie impulsów assembler
samsung netbook sterowniki tankować paliwo renault logitech instrukcja
speakon łączenie drzwi rozsuwane
Oleo Mac 937 po remoncie – regulacja gaźnika, czterotaktowanie, ustawienia śrub H i L Telefunken TFW2401F1E – instrukcja obsługi, programy, kody błędów, konserwacja pralki