poki co to tylko bascoma cos kumam
Witam. Licznik 4017 "zapalający" kolejno 3 diody LED powinien być tak połączony: http://obrazki.elektroda.net/43_12354806... Diody można sterować bezpośrednio z wyjść 4017 (z rezystorem R3) pod warunkiem, że są to diody "małej mocy" i niewielka jasność świecenia będzie - w tym zastosowaniu - wystarczająca (sam oceń). Przy większych prądach...
Czego oczekuje NAZE Ci niestety nie powiem. Poszukaj informacji w manualu. Po wyłączeniu nadajnika dioda przy attiny powinna zgasnąć, bo brak PWM to brak PCINT, a tam jest załączana. Możesz dopisać symulację dodatkowych kanałów i sprawdzić, czy coś to pomoże. Dodaj sobie np. drugi output compare do tego licznika, który już masz. Jak zliczysz 6 wyłączeń...
Wydaje mi się, że kompilator nie ma problemu z funkcją "mod" (dlatego też dwie ostatnie cyfry się zgadzają), tylko przy dzieleniu zmiennej typu word, dającej zmienną typu byte jako wynik.
Kawalek kodu w asemblerze. Nie jestem pewien czy ATiny ma wszystkie te rozkazy. in r16,PINA ;odczytaj klawiature i enkoder cbr r16,sEnkoderMask ;maskuj niepotrzebne bity lds r17,dPoprzedniStanEnkodera cpse r16,r17 ;porownaj aktualny stan ze starym rjmp EnkoderWRuchu ;= to skocz do obslugi enkodera ret ;!= to wyjdz EnkoderWRuchu: lsl r17 ;przesun...
Musisz zmodyfikować program tak, żeby zliczał czas jednego i drugiego stanu. Tak mniej więcej: [syntax=vbnet] If Wejscie_1 = 0 Then 'jesli pojawil sie impuls na wejsciu 1 Licznik_1 = 0 'zeruj licznik bezczynnosci danego kola If Licznik_2 < Limit Then Incr Licznik_2 Else 'jesli nie ma impulsu, to... Licznik_2 = 0 If Licznik_1 < Limit Then Incr...
Witam. STM8L steruje bezpośrednio wyświetlaczem LCD i również ma mały pobór prądu. I kosztuje tyle samo co Attiny.
Witam! Możesz wykorzystać popularny licznik typu 4017 sterowany generatorem impulsów pracującym na częstotliwości 0,2Hz(5s) lub mikroprocesor(nawet prosty ATtiny 13), który będzie odpowiednio sterował diodami. Mikroprocesor daje większe możliwości, bo łatwo go przeprogramować na inny efekt. Pozdrawiam, BTomasz92
Dwa pytania: Co rozumiesz żeby układ był jak najbardziej uproszczony? Czy jak najmniejsza ilość elementów? Bo jeżeli tak to najlepiej zrobić to na jakimś procku attiny. Wtedy odpadają dwa scalaki z dekoderami. Jeżeli będzie to na 'zwykłych' elementach to będzie: 1 licznik, dwa dekodery (najlepiej OC), kilka elementów pasywnych do eliminacji drgań zestyków....
np. Nie da się. TImer0 może zliczać tylko z pinu PD4. I to z PinD.4 a nie PortD.4 ;) Można i z PinD.0, ale nawet przerwania żadnego do tego nie ma więc trzeba by programowo. A nawet jak przerwanie by było (mowa o przerwaniach INTx) to Timer tego nie zliczy. Trzeba by programowo zwiększać zawartość licznika Timera0, ale po cholerę. Jeżeli to ma być...
Takie kiedyś były np. liczniki rozmów w telefonii. Tak się składa, że identyczne, może tylko na inne napięcie - 24V - stosuje się również w "zawodowych" pulpitach kolejowych właśnie. Jeśli Kolega ma coś wspólnego z ISEA, nie powinno być problemu ze zdobyciem. No, chyba że się nie zmieszczą... A impulsator? Attiny, a do tego tranzystor i przekaźnik...
Chyba złoże to z licznika 8 bitowego 74hc590 Może jakiś mały Atmel ATTINY? Nie wiem jak cenowo to wychodzi.
Jutro jeszcze sprawdzę jak będzie działać Attiny 45. Może coś uda się osiągnąć. Zrobiłem trochę testów na attiny13 i po nich jestem bardzo sceptyczny co do użyteczności funkcji micros() w takim zastosowaniu jak metoda użyta w twoim szkicu. Mam obawy że na attiny45 problem może być ten sam, tylko nieco mniejszy, z powodu możliwości wyższego taktowania....
Witam. W przerwaniu wpisałeś : Timer1 = 131 do zliczenia zostało 65536 - 131 = 65405 Przy wpisaniu do Timer0 tej samej wartości do zliczenia pozostaje : 256 - 131 = 125 impulsów. Myślę, że dobrze zrozumiałem Twój post.
A więc tak : - na przyszłość podawaj pełne nazwy, łatwiej bedziesz rozumiany. ;) - zajrzałem do pdf-ów od AT90S2313 i ATtiny2313 (trudno zgadnać którego miałeś na myśli) i tak - AT90S2313 (s.18 DOC0839.pdf) ma 11 wektorów przerwania wliczając RESET, a ATtiny2313 ma ich 19 (s.43 - doc2543.pdf). Wyciągając moją słabo działającą szklaną kulę jestem w stanie...
Ostatecznie tak to zrobiłem, gdzie w miejscu licznika będzie attina, generator impulsów jest tutaj tylko dla symulacji attiny. http://obrazki.elektroda.pl/1118534000_1...
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
Ja bym nie zerował licznika tylko puscił go wolno a w przerwaniu odczytywał tylko wartosc tego licznika. Teraz wystarczy odjac obie wartosci i masz czas od zbocza do zbocza. Sumujac oba czasy otrzymujesz obroty oczywiscie po przeliczeniu odpowiednim. Ten sposób zapewnie że do pomiarów obrotów i czasu wtrysku używasz tylko jednego licznika. Dodatkowo...
No tak faktycznie te 100x zrobi się w mgnieniu oka... Więc program musi dodać +1 przy zmianie na stan wysoki i koniec, jednokrotnie. Może zastosować przerwania? W momencie kiedy wystąpi stan wysoki, następuje przerwanie które zlicza +1 do licznika. Czy to miało by sens? uC to attiny 2313.
Witaj ! Oceń tą nakładkę przy zastosowaniu małej 12V żaróweczki np. takiej z deski rozdzielczej z samochodu tak aby nie przekroczyć prądu 170mA. Połącz układ/obwód, plus 12V- żaróweczka- przewód biały lub ten brązowy z nakładki i teraz ten zielony do minusa np. tego akumulatora.Tranzystor w stanie otwartym ma 30 Ohm. Tak połączony obwód powinien Tobie...
Witam. Napisałem program do migania diodami i mam trzy pytania: 1.Czy da się ustawić cały port w stan spoczynku (coś w stylu PORTD = 0)? 2.Czy po każdej komendzie IF trzeba pisać END IF, czy da się to jakoś ominąć? 3.Czy poniższy kod jest poprawny, czy będzie działał? 1. Tak, możesz tak pozostawic. Bascom akceptuje kilka form ustawienia poziomu pinów...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Zdefiniuj zmienną Temp jako Word. Jak ci ma wyświetlić 600 jesli zmiena Byte może przyjąc max wartość 255. Właśnie powyżej tej wartości będą ci sie wyświetlać dziwne rzeczy. No to może wytłumaczę jak to zrobić na zmiennej typu Byte według wyżej wspomnianej ideii. $crystal = 4000000 $regfile "attiny2313.dat" Dim Pomiar As Single Dim Temp As...
Czas otwarcia wtryskiwaczy mierzysz za pomocą 1 timera, ale nie tak od razu. Są dwie metody: pierwsza to podpięcie (przez transoptor) wtryskiwacza do wejścia timera i wejścia przerwania - po wykryciu przerwania (początek stanu niskiego) startujesz timer, przestawiasz stan aktywacji wejścia INT na przeciwny i procek wraca do pętli głównej, po ponownym...
Pozmieniałem troche program ale nie działa prawidłowo prędkość strasznie skacze od 0 do 240 km/h -bo nie zerujesz co 1 sec. licznika impulsów (Timer0), ponadto ,masz zbyt duży błąd zaniżając zakrses zmienmnej "Licz" - as byte Porównaj: $regfile = "2313def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin ,...
Masz błędny kod. Jak chcesz by program działał jak trzeba to musisz wiedzieć co robi każda linijka. Włączasz przerwanie od przepełnienia timera0, a nie maż funkcji do jego obsługi. Deklarujesz funkcję do obsługi przerwania zewnętrznego, a nie masz funkcji obsługi i nie zezwalasz na to przerwanie. Na moje oko to po uruchomieniu timera procesor się zresetuje...
Tak teoretycznie można do tego podejść analogowo. Po pierwszym impulsie zaczyna się ładować kondensator, a po drugim impulsie zaczyna się rozładowywać. Przy odpowidnio dobranych stałych RC czasy mogą być równe. Całość będzie się składała z wzmaczniaczy operacyjnych. Inne rozwiązanie to liczniki cyfrowe, po jednym impulsie zaczyna liczyć w góre, a po...
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...
Witam Na wstępie zaznaczam, że AVR-ami zajmuje się dopiero od tygodnia :). Mam problem jak w temacie. Potrzebuję aby timer 1 (16 bitowy) liczył od ustalonej wartości początkowej, a po wystąpieniu przepełnienia wygenerował przerwanie i się zatrzymał. Potrzebuję odliczyć 25ms. Attiny taktowany jest zegarem 16MHz, dzielnik częstotliwości dla timera 1 ustawiłem...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
Ale odpowiedzi dla nouki? W Bascomie można wstawić wartości do rejestrów, niekoniecznie w asemlerze. Ja to robiłem tak: Set Tccr1b.cs10 'start timer1 Else 'a jak nie Czas = Timer1 'odczytaj czas (liczbę zliczonych impulsów) z timer1 Reset Tccr1b.cs10 'zatrzymaj licznik Timer1 = 0 'wyzeruj licznik(żeby po następnej zmianie wyjścia komparatora mógł liczyć...
Warto zacząć od uwzględnieniu sytuacji awaryjnych: 1. Co jeśli czujnik się odczepi, uszkodzi. Brak światła? 2. Co jeśli bateria pod wpływem wstrząsów chwilowo straci kontakt a mikrokontroler zasilanie. 3. Skoro to mikrokontroler, to może warto dodać stan baterii? Natomiast kolejne wciśnięcie switcha podczas ściecenia LED nie resetuje licznika czasu....
Nijak z żadnego kodu nie mogę się doczytać na chłopski rozum kiedy on mierzy czas od Rising do Rising. Nie używaj więc chłopskiego rozumu - użyj własny! Wyjaśnienie powinno być zbędne bo jest bardzo trywialne; - obracając wiatrakiem, w pewnym momencie wbudowany tam hall switch daje impuls na INT0, co wtedy robisz w programie? - odsyłasz go do etykiety...
Można na wspomnianej ATmedze8 a można coś kombinować z NE555 jako generator impulsów i jakiś skrócony licznik Johnsona. Program bez problemu do napisania na kolanie jak i schemat wspomnianego układu.
Witam muszę zaprogramować atmega8 tym kodem. Niestety on jest dla attiny. jak go konwertować do "*.bin" dla atmegi8 Jak mogę to wykonać? [syntax=basic4gl]$crystal = 4000000 $regfile "attiny2313.dat" ' Miernik prędkoci obrotowej 'licznikiem 0...65535 jest Timer1 Dim Wynik As Long Config Timer1 = Counter , Edge = Rising 'konfiguracja Timera do zliczania...
Chciałem zaprezentować licznik Geigera, który wraz z synem postanowiliśmy wykonać. Licznik w założeniu miał być mały i wyposażony w zewnętrzną sondę. W zasadzie oparliśmy się na dwóch projektach - pierwszym, podstawowym był projekt opisany między innymi tu: http://www.elektroda.pl/rtvforum/topic32... http://obrazki.elektroda.pl/7746693100_1...
Możesz spróbować mniej więcej tak: // deklaracja zmiennych globalnych volatile uint8_t prev_tcnt, T; // w funkcji 'main' // skonfiguruj przerwanie INT0 tak, by reagowało na obydwa zbocza MCUCR |= (1<<ISC00); // używaj raczej makra ISR ISR(INT0_vect) { // sprawdzasz które zbocze wywołało przerwanie // jeżeli zbocze narastające,...
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...
Witaj, Ja też walczę z SPI od pewnego czasu, ale używam SPI w Atmega8515 jako Slave. Jeśli dobrze zrozumiałem, to masz problem z USI w Attiny26. Z tego co wyczytałem w pdf'ie i z tego co pamiętam jak się bawiłem tym prockiem, to USI można skonfigurować jako normalny SPI. Musisz tylko odpowiednio ustawić bity rejestru USICR. Nie wiem po co liczysz impulsy...
Bo się wziąłeś do tego od d*** strony. Jak wykorzystujesz enkoder z myszki to czemu nie wpadłeś na genialny pomysł i nie oświetlacz enkodera tak jak w myszce? Przecież niezależnie jak byś myszkę nie ustawił to kursor sam się nie przesuwa. A czemu? Bo położenie enkodera jest sprawdzane podwójnie i nie ma możliwości aby przez oba otwory świeciło światło.
Na początku chciałbym zaznaczyć, że znam się na programowaniu w C tylko natomiast jeśli chodzi o mikrokontrolery to jestem początkujący. Wszystko zaczęło się od tego, że potrzebowałem zamiennika układu 1-wire DS2423. Jest to podwójny licznik impulsów. Niestety Maxim/Dallas już go nie produkuje ale znalazłem implementację tego licznika na uC AVR. https://github.com/smurfix/owslave...
Zrób tak: 1 licznik do odmierzania czasu, przerwanie co np 25ms 2 licznik do zliczania impulsów Jeżeli nastąpiło przerwanie np 25ms, to zlicz liczbę impulsów. W taki sposób masz dokładniejsze odmierzanie czasu, funkcja wait do tego się nie nadaje. Przeanalizuj sobie ten temat: http://www.elektroda.pl/rtvforum/topic16... a potem dodaj to co napisałeś...
Witam Kod w Bsascomie: ' Impulsator ' 432 bajtów pamięci programu ' 57 taktów zegara w pętli (max) ' 87719 obr/min przy 24x4 stanach impulsatora $regfile = "attiny2313.dat" $crystal = 8000000 Dim Licznik As Byte ' Wartość licznika Dim Stan_imp As Byte ' Pozycja impulsatora Dim Temp10 As Byte ' Zmienna Ddrd = &B01000011 'konfiguracja portu: 1 = wyjścia...
Mam zamiar zbudować licznik impulsów + Lcd , który zliczałby impulsy z czterech fotokomórek od myszek. Procesor ma równiż rozróżnić kierunek obrotów kółeczek (600-1200 rpm) w myszkach. Docelowo ma obserwować tarczę 200 kresek/obrót. Mój problem polega na tym, że nie wiem jak wskazac procesorowi ponowny start obrotów w tym samym kierunku Czy ktoś robił...
Hej! Mam wodomierz Apator JS 4, chciałbym zczytywać z niego użycie wody w sposób kablowy (obecnie stosuję nakładkę radiową AT-WMBUS-16-2 i nie jestem zadowolony - odczyty często gubione a odbiornik 30 cm od licznika). Moduł impulsowy AT-MBUS-NE-02 jest ciężki do dostania (i dość drogi). Zastanawiam się, jak samemu sklecić jego odpowiednik. Czy ten wodomierz...
Mam w domu kilka świeczek podobnych do tych z obrazka https://obrazki.elektroda.pl/8153128500_... Po czasie prawie wszystkie przestały działać - zniszczone ścieżki na płytce od wilgoci, przerdzewiałe styki włącznika. Dodatkowo świece mają tylko ruchomy płomień, a świecą statycznie. Nie było też żadnego czujnika światła, tylko ręczne...
Witam. Mam pytanie takie czy ktoś kiedyś składał - robił dzielnik na np attiny2313 który to będzie dzielił impulsy wejściowe przez 8 -8,5 -9 do wybrania. Nie mam pomysłu jak rozwiązać ten problem bo moja wiedza jest w fazie rozwoju Myślałem, o liczniku na jednym z wejść liczącym do 8 bądź 9 i dającym wtedy impuls na jedno z wyjść ale to nie rozwiązuje...
Dlaczego nie dałeś jakiegoś voltage followera na wyjściach? Bufor wyjściowy nie jest mi potrzebny. Czyli glitch. To cecha programów w asemblerze - autorom nie chce się po walce z programem ich poprawiać, bo wtedy jest duża szansa na nowe Ciekawa teoria, ale całkowicie nie trafiona. To nie żaden glitch wymagający poprawki tylko takie było moje założenie,...
Witam. Od niedawna uczę się programować mikrokontrolery i postanowiłem rozpocząć zabawę na układzie attiny2313. Zrobiłem układ, który miał zliczać impulsy (w przyszłości ma to być licznik do motoru) projekt jest zaczerpnięty z tej strony: http://www.portalnaukowy.republika.pl/ob... jednak nie mogę znaleźć nigdzie przełącznika hallotronowego...
Mógłbyś mi jeszcze podpowiedzieć jak rozszerzyć program, aby oprócz funkcji wykonywanych jak dotychczas ( dwa niezależne liczniki ) na wyjściu Portd.2 uzyskać impulsator o częstotliwości ok 0,5 Hz. Mój obecny program 'Niezależne sterowanie dwoma wyświetlaczami 'przy pomocy dwóch przcisków. Zliczanie w górę. $regfile = "attiny2313.dat" $crystal...
Do tej pory troszkę bawiłem się AT89C2051. Wykonałem pewien układzik który za pomocą Timera0 zliczał impulsy na wejściu T0 podczas 1sekundy którą odmierzałem Timerem1. Jako, że musiałem przeprogramować 51 do innych celów chciałbym go zastąpić Attiny2313 bo mam dwie sztuki. Zacząłem czytać książkę Dolińskiego aby wykonać program ale mam pewne problemy....
Co ty opowiadasz... Mamy enkoder, który generuje max kilka impulsów na sekundę i to ma być problem? No właśnie zależy od enkodera. Dlatego zapytałem się w pierwszym moim poście. Ja kiedyś trafiłem na taki enkoder z jakiejś wieży albo wzmacniacza, że miał bardzo dużo impulsów na obrót. To miało chyba symulować 'analogowosc'. Jak zrobiłem odczytując...
Łopatologicznie: 1. zgłasza się przerwanie ze zbocza opadającego. wywołana jest procedura jego obsługi. jesteśmy teraz w niej. 2. włączasz licznik by zliczał impulsy zegarowe przez prescaler. 3. czekasz tak długo aź stan na INT0 się zmieni na przeciwny - koniec impulsu. 4. zatrzymujesz licznik. odczytujesz zawartosc licznika i zapamiętujesz w zmiennej....
Witam! Mam na początku pytanie: Co jest pierwsze przy pojawieniu się impulsu na ICP, przerwanie od niego czy przepisanie zawartości licznika do rejestru ICR1? Planuję zrobić licznik czasu trwania impulsu i wymyśliłem coś takiego (na razie schematycznie): [syntax=c] ISR(przerwanie od przepelnienia licznika) { wartosc = 0; marker = 0; } ISR(przerwanie...
Witam! Mam taki oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 10000000UL #include <util/delay.h> char znaki[10]={48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; //znaki ASCII: 0 12 3 4 5 6 7 8 9 volatile uint16_t m_sekundy_wtrysk=0, m_sekundy_obr=0, licznik_z, wynik_z; //dokładność od 0.1ms do...
Witam. Do mojego Opla Astry zamontowałem MID (wyświetlacz komputera pokładowego). Powinno się go przeprogramować na dany silnik, na impulsy z licznika przebytej drogi itp. W moim samochodzie licznik przebytej drogi podaje ponad 8000 impulsów na kilometr, ale MID pochodzi z nowszej wersji samochodu gdzie było ponad 16000 impulsów na kilometr. Czy można...
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...
'$sim 'to jest programik do sterowania silniczkiem w obu kierunkach 'za pomocą sygnału do sterowania serwa w odbiorniku zdalnego sterowania. 'sygał odbierany przez wejście odwracające komparatora analogowego z progiem 1.1V 'Sterowniki do silników modeli samolotów,chociaż są lekkie, nie mają zwykle możliwości zmiany 'kierunku obrotów silnika.(I...
Dokładnie, skorzystanie z timera ułatwia sprawę - nie trzeba liczyć instrukcji procesora. Poniżej mała wskazówka z komentarzami (może nie jest to podręcznikowe cudo, ale najprostsze i najczytelniejsze zrealizowanie migacza na procesor attiny10 w ASM). [syntax=asm] /* * Created: 2012-07-12 10:32:21 * Author: Piotr */ ;dołączenie definicji procesora .include...
Witam temat mocno przed sezonem, poszukaj czujników indukcyjnych są one niezawodne, muszą pracować w warunkach przemysłowych i zniosą bardzo dużo, montaż ich jest bardzo wygodny, wystarczą trzy przewody i tyle, napięcie zasilanie różne zależy od typu i producenta są takie nawet od 6v do 24V, na alledrogo można trafić je już od 20zł, elektronikę z wyświetlaczem...
Sygnał z czujnika to sygnał z hallotronu, który odbiera sygnał co 1/6 obwodu koła (czyli 0.25m). Reszta przedstawia program. Jeżeli faktycznie masz hallotron a nie kontaktron (Reed SW) to masz z niego 'czysty' cyfrowy sygnał, który możesz podać bezpośrednio na wejście z dowolnym interruptem (INT0 lub (INT1). Wystarczy odpowiednio skonfigurować Timer0...
Nie musisz zatrzymywać i uruchamiać licznika za każdym razem, może on ciągle chodzić, wystarczy że go będziesz zerował. A tak naprawdę to jeśli chcesz potem generować przebieg dla serwa za pomocą tego samego timera, to nawet zerować go nie możesz.... tylko zapamiętywać jego wartość. Wygodniej się to robi jednak na 16-bitowym timerze, który ma jeszcze...
O już chyba wiem. Nie rób mnozenia przez liczbę z przecinkiem tylko dzielenie. Ty masz 0.000016*licznik i potem to dzielone przez 60. Ten sam wynik będzie jak dasz tak: 3750000\licznik i to samo masz w jednym równaniu bez używania przecinków(to w baskomie działa bardzo wolno) a dlaczego akurat tak? No bo broty(np 1000) = 16,67imp/sek=imp co 0,06 sek...
Jeśli dobrze rozumiem, otrzymujesz przerwanie co 1 sekundę i w jego obsłudze odczytujesz ile licznik zliczył impulsów? Nie ma się co dziwić że tak się dzieje licznik po prostu zliczy wartość całkowitą impulsów. Lepszym rozwiązaniem będzie pomiar czasu pomiędzy impulsami (okresu) i z niego przeliczenie częstotliwości.
Witam Kiedyś kupiłem zestaw nord elektronik ne2008 (licznik impulsów) na procku 2051 ja włozylem tam avr 2313 i odpowiednią przerobką. problem polega na tym że nie potrafię wysterowac tranzystora pnp który steruje wyświetlaczen 7seg , bez znaczenia jakiej komendy uzyje do ustawienia pinu w stan niski (bascom avr). Jeśli w to miejsce wlutuje npn i odpowiednio...
Witam Ostatnio chciałem zbudować inteligentny wyłącznik na ATTiny2313 zrobiłem układ podłączyłem procesor do niego sprawdziłem wszystkie obwody wejść i wyjść i gdy upewniłem się że wszystko dział sprawnie zabrałem się za pisanie właściwego programu, jednak już przy pierwszych testach okazało się ze procesor działa ale jakby bardzo wolno, postanowiłem...
Urządzenie ma być zastosowane do licznika geigera, który sam zbudowałem. Po zliczeniu więcej niż 3imp/sec ma uruchamiać alarm który sygnalizuje zwiększone promieniowanie.
Dzięki, śmiga programik - kluczowanie PWM z częstotliwością ~31kHz a wyjście jest na pinie 14, jakby ktoś chciał wiedzieć: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 19200 Const Maxlen = 40 'Deklaracje stalych Dim Akey As Byte 'Deklaracje zmiennych Dim I As Byte Dim Cmd As String * 4 Dim Buffer As String * Maxlen Dim E As Eram...
ATTINY13 + program ma tylko 8 pin.
Więc tak: PortB.7 - podpięty do licznika impulsów silnika na gołó prosto pod port PortB.6 - mikrostyk odkłucony komendą debounce i kondensatorem 100nF PortD.2 - przekaźnik 1 portD.3 - Przekaźnik 2 To może jeszcze kondensator pod port licznika?
Ha! Na AVR wyszło by taniej :) - Attiny2313 kosztuje ~7zł, nie potrzeba podstawek, tylko 7 rezystorów. Jedyny mankament, że prąd każdej cyfry byłby 1/8 wartości którą teraz osiągasz. Schludny montaż, ładny projekt PCB, jak dla mnie 5+!
Witam Niedawno postanowiłem że warto nauczyć się czegoś pożytecznego. Niewątpliwie taką rzeczą jest programowanie mikroprocesorów. Poczytałem co nieco tu i tam, szperałem na forum, no i w końcu przyszedł czas na pierwszy własny program. Założenia programu są następujące: -Sterowanie 5 diodami oznaczonymi jako K1, K2, K3, K4, K5 pod wpływem impulsu na...
Witam. Proszę nie mówcie żebym nie szukał na forum bo tego jest miliony i tu się zgodzę bo jest pełno ale dla kogoś kto średnio się zna to jest mało przydatne. Mam układ ds18b20 podłączony do portu D pin 0 avr'ka tiny2313 rezystor podciągający 4,7k. Cały port B wykorzystany do sterowani podwójnym wyświetlaczem siedmio segmentowym przy pomocy CD4511....
Na schemacie jest: 500V 250ns. We wspomnianym przeze mnie projekcie użyłem attiny261, które posiada wewnętrzne PLL. Przy taktowaniu µC 8MHz, układ czasowo-licznikowy otrzymuje 64MHz. Daje to 8bit PWM o częstotliwości 250kHz. Pomiar prądu klucza można łatwo dorobić.
Witam. Chciałbym sobie zrobić elektroniczny licznik (prędkościomierz) do motoru. Zamysł jest taki: Procesor Attiny2313 zlicza impulsy podawane przez czujnik optyczny z myszy komputerowej. Znając czas, obwód koła itd. możemy wyliczyć prędkość. Jest jednak problem. Mianowicie po włączeniu silnika licznik zaczyna wariować... pokazuje jakiś liczby, często...
Problem rozwiązany zastosowałem ATtiny13 do tego program blink zmierzony dokładnie czas , i uzyskałem rezultat taki jak chciałem ,zamiast przekźnika zastosowałem IRF520, także dziękuje wszystkim za pomoc. Temat zamykam
Witam! Głowie się z tym nie wiem którą godzinę i nie mogę dojść czemu tak się dzieje. Mam tego typu program: #include <avr/io.h> #include <avr/interrupt.h> float m_sekundy_wtrysk=0, m_sekundy_obr=0, wynik2=0; uint8_t i=0, k=0, znacznik=0; float wynik=0; ISR(INT1_vect){ //przerwanie od złącza PD3 (INT1) TCCR1B |= _BV(CS10);...
Cześć To nie jest tak jak kombinujesz. Sterownie typu PPM do serw może przenieść kilka kanałów, 20ms to nie przerwa miedzy impulsami tylko okres powtarzania. Transmitowane sygnały od nadajnika PPM nie zawierają szerokich na 1,5ms impulsów tylko szpilki i szerokości około 300µs, pierwsza szpilka wyznacza początek impulsu do serwa, druga koniec,...
Witam prosiłbym o kompilację programu ponieważ kompilator pod windows 7 wariuje. Prosiłbym o podesłanie kodu na adrian359(at)poczta.onet.pl [syntax=basic4gl] '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 8000000 'internal RC oscilator Config Portb = &B11111111...
Najprostszym sposobem jest skorzystanie z języka wyższego poziomu np.C. Wtedy sytuacja się znacznie upraszcza. Nie mniej jednak tak w asemblerze jak i w C całość należy zrealizować dość podobnie. Pierwszą metodą która sprawdza się gdy nie mamy nic więcej do zrobienia a tylko odmierzenie czasu i nie używamy przerwań albo gdy ich używamy ale na dokładności...
Witam Potrzebuję oprogramować w najprostrzy sposób Attiny2313 i z [url=http://www.cyfronika.com.pl/kityavt... kodu zostawiłem tylko sam licznik impulsów bo nie potrzebuję wyświetlacza, ale nie wiem co dalej bo potrzebuję wiedzieć ile impulsów na sekundę będzie odpowiadało np prędkości 5km/h. Zliczanie nie musi być dokładne gdyż nie...
Chciałbym stworzyć układ, który pozwoliłby mi mierzyć obroty wentylatora komputerowego. Na wstępie dodam, że mam bardzo małe doświadczenie w programowaniu i raczej bazuję na gotowym kodzie, który ew. modyfikuję opierając się na innym. Do rzeczy. Sam układ jest już postawiony i działa... połowicznie, tzn. dane z procesora idą do wyświetlacza (pokazuje...
Po pierwsze ten układ na tranzystorze jest do bani. Zauważ że przy skręceniu na zero potencjometra tranzysotor najprawdopodobniej pójdzie z dymem. Po drugie warto by dać na kolektorze rezystor do masy, po trzecie na bazie dałbym diodę aby i rezystor podciągający do 5V aby układ reagował tylko na napięcia poniżej 5V. Ale jest jeszcze jeden błąd . Przecież...
[quote="lukaskay"] a gdybym czas oczekiwania zwiększył do 15 s wtedy dokładność wzrosła by mi do 4 obr/min mogę użyć komendy: Wait 15 ?? ale wtedy chyba dojdzie do przepełnienia licznika?? quote] Przy twoich parametrach silnika el., oczywiscie ze dojdzie do przepelnienia licznika0. Ponadto uwazam ze stosowanie dyrektywy "Wait" w pomiarach nie jest najlepszym...
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ść...
Jeszcze inne wyjście, jakie mogę zaproponować - jeżeli by miał być pisany program od nowa, zamiast 8051, równie dobrze można użyć ATtiny2313, tylko zamiast kondensatora do Vcc, wstawić rezystor 10k. --------------------- Przy takiej ilości to pewnie da radę wynegocjować odpowiednio niską cenę - np w Propox-ie (Gdynia) ;)
r"]Idę w jakimś kierunku ....... ? Niezupełnie, nie najlepsza ta droga..... Po pierwsze: wybór processora i parametrów. -Attiny13; praktycznie nie masz możliwości taktowania go 10 Mhz. Masz do wyboru: 1.2, 4.8, 9.6 Mhz. albo też 'zasilić' go (CLK1) z gotowego (zewnętrznego) źróła zegarowego co nie ma w zasadzie ekonomicznego sensu. Jego timer0 z przyjętym...
Sprawy zawodowe oderwały mnie od tego tematu, ale już jestem i działam. Układy elektroniczne nie są dla mnie problemem, ale gdy kończyłem szkołę to komputer zajmował pomieszczenie o sporej kubaturze i był bardziej ciekawostką niż pomocą naukową. "bart-projects" dziękuję bardzo, sprawdziłem, działa. Twoja wiedza programistyczna po prostu mnie powaliła...
U mnie w firmie przełamywano blokadę "0" w prostacki sposób: w momencie startu tarczy mechanicznej trzeba było odpowiedni "klapnąć" w widełki by zamiast 10ciu impulsów poleciało 11 impulsów. Dyskryminatory - fabryczne w 18E - były tak zrobione, że 11 impulsów było traktowane jako cyfra 1 i kierunek dozwolony. A że linie wychodzące były dołączone do...
Witam Wpadłem na problem i mam spory problem z rozwiązaniem. Chciałem zbudować włącznik led do autka zdalnie sterowanego, zasilanie idzie z odbiornika (5V) i sygnał PWM w zakresie ok. 700us - 2300us. W programie mam próg ustawiony ok. 1500us. Gdy włącze układ to robi się dyskoteka (diody migają na przemian), a gdy przekrzywie drążek w jedną stronę to...
Witam, dziękuję za chęć pomocy , ale Koledzy chyba nie do końca zrozumieli mój problem. Chodzi mi o uruchomienie na jednym ATTiny2313 dwóch niezależnych liczników liczących każdy od 0 do 9. Liczniki te mają zliczać impulsu od dwóch przycisków ( do masy ) , każdy na osobny licznik. NIe chodzi mi o licznik liczący do 99 z wyświetlaczmi multipleksowymi.
Toż to BASCOM! '$sim $regfile = "ATtiny2313.dat" $crystal = 20000000 $hwstack = 64 $swstack = 16 $framesize = 32 Enable Interrupts Config Int1 = Falling Enable Int1 'włączenie przerwania On Int1 Imp Config Timer1 = Timer , Prescale = 64 Enable Timer1 'włączenie przerwania On Timer1 Wylacz Stop Timer1 Config Timer0 = Timer , Prescale = 1024...
Musisz zliczoną ilość impulsów podzielić przez 100 :>
Ta.... 1) Help, jest ładnie opisane... 2) Co masz ustawione jako wejście impulsów? (Co zliczają liczniki)? 3) Portb = &B255 co to za twór?
Co można z tego zrobić: Zegarek, wyświetlacz jakichś liczb, minutnik, licznik impulsów, prędkościomierz do roweru, obrotomierz... Jak: Poszukaj o programowaniu procesorów AVR (przez ISP), dokumentacja ATTiny2313, języki C, BASCOM
Witam. Tak się zastanawiam , po co tak komplikowac sobie życie i "pilnować" timera w głównej pętli :wink: Jestem ciekaw , w jaki sposób regulujesz długość impulsu i czy to ma wpływ na okres generowanego przebiegu.Proponuję zmienić troszkę kod przerwania i regulować wypełnienie poprzez zapis odpowiedniej wartości do zmiennej w programie głównym , a resztą...
Masz chyba błąd w założeniach konfiguracji Timera. Licznik ustawiony jako Counter po prostu liczy impulsy z zewnątrz- prescale nie powinno być- bo to nie jest Timer tylko Counter. Rejestr Capture też w tym wypadku jest użyty bez powodu- nie ma do niego żadnej obsługi przerwania a i zezwolenie na przerwanie nie jest ustawione. Zezwolenie na obsługę przerwania...
1 obrót cylindra to 1 arkusz więc jeśli na osi umieścimy "podziałkę" z drukarki atramentowej HP (taki foliowy krążek z naswietloną podziałką) i element odczytujący (takze z tej drukarki) wtedy uzyskamy kilkaset impulsów na 1 obrót - czy wtedy bedzie łatwiej? np. 1 obrót = 500 impulsów 500 impulsów = 1 ark. 250 impulsów/sek = 0,5 ark/s =1800ark/h Zakres...
emarcus dzięki teraz już gra. ... Mam jeszcze takie pytaniena wejście INT0 podam np sygnał z generatora który podaje przebieg np 4.8KHz to na wyświetlaczu pojawia mi się liczba 11136 zamiast 4800. Co może być nie tak ? Poniżej podaję listing programu. $regfile = "attiny2313.dat" $crystal = 12000000 Portd = &B00100100 Portb = &B00000000 Config...
Witam, Męczę właśnie kod do sterownika serw. Na chwilę obecną jest to coś takiego: (wartościami zmiennych stan i zegar się nie przejmujcie, ostatecznie będę inne. Procek ATTiny2313, taktowany wewnętrznym zegarem 8MHz) #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> // definicje SIGNAL, INTERRUPT// Następnie deklarujemy...
licznik attiny licznik impuls ilość impuls licznik impuls miernik impuls
moduł naczepa nawadnianie zawór power germany
zgrzewarka transformatorowa zmywarka whirlpool
NE5532 – eliminacja szumu 50 Hz w przedwzmacniaczu, filtracja zasilania, ekranowanie VW T-Roc 1.5 TSI 150 KM – chwilowy wzrost obrotów do 1200 rpm przy hamowaniu i wciskaniu sprzęgła