Witam Na zaliczenie projektu postanowiłem wykonać zegarek z kilkoma dodatkowymi funkcjami. A że miałem z góry określony typ mikrokontrolera muszę korzystać z ATTINY2313. Program odmierzający czas wczoraj skończyłem wszystko działało jak należy. Po dodaniu zewnętrznego kwarcu 4Mhz, włączyłem cały układ żeby sprawdzić czy poprawnie odmierza czas. Jakieś...
Po dodaniu rezystorów podciągających działa już wyświetlacz i dioda:) Jednak dalej układ nie odmierza czasu
Niby tak jak wykasuje je całkiem to czas odmierza ale bardzo krótko daje stan wysoki na ledy i prawie ich nie widać . Chyba mój algorytm jest do bani :(.
Witam , po przerwie , Nie, w zależności od szacowanych obrotów wybierasz metodę pomiaru, w której wykorzystujesz jeden (dowolny) timer, lub oba w której jeden odmierza czas a drugi zlicza impulsy. Ta ostatnia jest alternatywą do tej którą zastosowałeś lecz czas jest mierzony timerem a nie przez processor instrukcją Wait . Ta druga metoda polega na pomiarze...
Czas odmierza się oczywiście timerem. Możesz nastawić timer na 18 ms, dobierając odpowiednio do częstotliwości procesora preskaler i wartość rejestru porównania. Możesz też zaprogramować timer na zgłaszania przerwać np. co 1 ms i odliczyć do 18 w procedurze obsługi przerwania, po czym programowo zmienić stan wyjścia. Zacznij od poczytania w dokumentacji...
Witam. W końcu udało mi się wygrać z tym zegarem. Powód był prozaiczny i aż wstyd się do niego przyznać. Więc okazało się że zasilacz (prostownik+stabilizator) miał za małą wydajność prądową i w momencie odświeżania buforów zasilacz nie wyrabiał (za mała pojemność filtrująca) i napięcie zasilające całość (między innymi odbiornik IR) spadało na tyle...
Ściągnij datasheet ze strony producenta i otwórz na stronie 23. Masz tam tabelkę do ustawienia bitów CKSEL3..1 (w Twoim przypadku to będzie 110) a na stronie 24 masz tabelkę do ustawienia bitów: CKSEL0 i SUT1..0. Musisz sam zadecydować jak je ustawić w zależności od Twoich potrzeb. Od tych bitów zależy czas startu mikrokontrolera. Pamiętaj, że bit zaprogramowany...
przerwanie timera wpływa na polecenia z rodziny Wait - powodują one, w zależności od częstości wydłużenie czasu oczekiwania, dlatego trzeba w takim wypadku odmierzać czas używając timera ;-)
Podaje program z komentarzem. ............ Ps. Nie ładowałem do licznika wartości bo potrzebuje dwóch pełnych przeładowań. W programie jest zupenie nie ważne ile tych przepełnień wystpuje; istotne aby rachunek odmierzanych odcinków czasu był zgodny z zamierzonym. Skoro jesteś zmuszony zliczać przepełnienia (co jest rzeczą absolutnie normalną), więc...
Niebardzo wiem jak mialbym to zrobic z poziomu BASCOMu! Rzeczywiscie uC sa nowiutkie dzis je pierwszy raz programowalem. Nie znam sie na tym zbyt dobrze wiec prosze powiedz dokladnie co mam ustawic i gdzie zeby czas byl odmierzany prawidlowo
Popatrz na MCP3202. To przetwornik 12-bitowy 2 kanałowy. [url=http://cubloc.com/download/etc/MCP3... Kiedyś robiłem projekt na MCP3201 (wersja jednokanałowa w/w przetwornika). Współpracowało to z ATtiny2313. Zegar był generowany "na piechotę" poprzez zmianę stanu na nodze kontrolera, odstępy czasowe odmierzane NOP'ami - i to działało bez...
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
karol75 przecież płytka jest jednostronna a poza tym z tego co zauważyłem elementy smd są tańsze:) Co do zegarka wykonanie jest na poziomie jedyne co bym zmienił to tego 4017 w smd. Jak ma się kwestia dokładności odmierzanego czasu?
Tak,oczywiście ze zamiast waitms muszą by warunki żeby procesor mógł odmierzać czas . Natomiast zawsze nie rozumiałem sensu flag .
Pisałem ostatnio zegar na attiny2313 również popędzany z 8Mhz. Ponieważ musiałem ograniczyć się do 8bitowego licznika wykorzystałem: prescaller 64, zliczanie do 250 w trybie z maksymalną wartością licznik w rejestrze OCRxx i generowanie przerwania przy przepełnieniu. Otrzymałem generowanie przerwania z częstotliwością 500Hz. Teraz tylko programowy podział...
Więc sugerujesz ze problemem może być odmierzanie czasu? Może bez zbędnych komplikacji zmodyfikuje odmierzanie tak for(int i=0;i<100;i++) { _delay_ms(10); } dla jednej sekundy?
paavo91 Podkreślam że działanie musi być natychmiastowe i nie zależne czy przycisk wcisnę na moment czy wcisnę i przytrzymam. .............. ,......jak to rozwiązać. Zastosuj konstrukcję 'DEBOUNCE' w połączeniu z "Toggle Switch" jak dla przyładu przełączania/załączana świateł głównych: [code][syntax=basic4gl] $regfile = "attiny2313.dat" $crystal =...
jak zrobić żeby przerwanie od timmera 0 w atmedze8 było taktowane kwarcem zegarkowym(tzn. podłączam kwarc w miejsce xtal 1,xtal2 i skąd timmer 0 będzie wiedział ze ma być taktowany takim kwarcem) i jak dobrać preskaler itd żeby po zapełnieniu licznika odmierzana była 1s używam programmer's notepad.
(at)marco47 Nie rozumiem twojego pytania. (at)janbernat Timer1 służy do odmierzania 1 sek. Po tym czasie następuje przerwanie, w którym liczba zliczonych impulsów (przez timer0) przepisywana jest do zmiennej wynik.
Chyba nie potrzebujesz odliczać dokładnych czasów, więc najlepiej wyliczyć ile przepełnień licznika potrzebujesz przy danej częstotliwości i danym preskalerze. f=fosc/p f - częstotliwość taktowania licznika fosc - częstotliwość oscylatora p - preskaler T=1/f t=(c*x)/f t - czas odmierzany c - pojemność licznika x - ilość przepełnień ostatecznie: x=(t*fosc)/(p*c)...
Ten preskaler czyli jak sie domyślam [Divide clock by 8] to zauważyłem jak ładowałem program z 90s2313 na Attiny2313 i licznik jakoś dziwnie czas zaczoł odmierzać. Czyli jak obecnie mam ustawione 4 Mhz na zewnętrznym kwarcu to jak przestawię na internal oscilator 4Mhz to będzie bez zmian dla programu?
Witam! Zbudowałem sobie zegar na Attiny2313 oraz LCD 2x16. Czas "próbuje" odmierzać PCF8583 ale mu to nie wychodzi. 1. Dlaczego PCF8583 nie działa dokładnie ? na 1h <> 4 min błędu! spieszy. Układ działa z kondensatorem 27pF do 1 pinu oraz VDD. Jak to ustawić ? 2. Jaki jest najdokładniejszy zegar RTC ? Widziałem, że w DIY zegarach ludzie stosują...
Przymierzam się do zrobienia komputerka do samochodu. Jego głównym celem ma być obliczanie chwilowego i średniego zużycia paliwa. Nie wiem czy mi się to uda ale chcę wykorzystać kontroler ATTiny2313 i tu mam problem - potrzebuję zliczać czas wtrysku i ilość impulsów z czujnika ABS lub impulsatora na skrzyni, potrzebuję też odmierzać czas... i tu mam...
Witam. Temat już był poruszany, lecz ja nie znalazłem na moje pytanie odpowiedzi. Czy aby Attiny2313 był kompatybilny z at90s2313 wystarczy ustawić fusebit c - divide clock by 8 disable i to już wszystko czy gdzieś jeszcze coś zmienić. Zastosowałem rezonator kwarcowy 4MHz. Po takiej zmianie jak wyżej nie zauważyłem różnicy w odmierzaniu czasu, lecz...
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
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ś...
Najprościej i najtaniej - kawałek procesorka (ATTiny11, ATTiny2313) i krótki programik badający wejścia i odmierzający tę minutkę (najprościej by wyszło pewnie w BASCOMie). W wersji CMOS lub TTL trzeba dać dwa zatrzaski, dwie bramki XOR z wejściami dołączonymi do wejść (XY) i wyjść zatrzasków (wykrywanie zmian sygnału). Wyjścia bramek XOR przez OR na...
Ta pętla nie jest konieczna. Dodałem ją żeby przyciski działały cały czas. Bo jak byś napisał Waitms 1000 to przez całe 1000ms przyciski by nie działały. A tak w pętli co raz masz sprawdzenie przycisków i odmierzanie czasu 10ms. Czyli łączenie te 1000ms i tak uzyskasz a przy okazji przyciski będą normalnie działały.
Witam od jakiegoś czasu próbuję w Bascom napisać zegarek (lub coś co precyzyjnie odmierza czas), ale niestety nie wychodzi mi to, mógłby mi ktoś pomoc udzielić wskazówki bo już sie powoli gubię
tak jest w bascomie i koniec, nic na to nie poradzisz prawdopodobnie czas potrzebny na przeliczenie ile porezeba instrukcji na 1 uS jest porównywalnie duzy z czasem 1uS dlatego było by to bez sensu. jeśli chcesz zrobić programowane PWM to użyj przerwania licznika do odmierzania czasu i całłą obługe zrób w przerwaniu. ja tak czasami robie gdy potrzebuje...
Można spróbować to zrobić na bramkach i ewentualnie przerzutnikach 'RS', albo 'D'. Tylko tego trochę dużo wyjdzie. Bramki: myślę, że z 2 bramek 2-wejściowych i 2 bramek 3-wejściowych można zbudować układ 2 przerzutników 'RS', do którego podłączy się 2 przyciski, i on zapamięta wciśnięcie przycisku i który to był; 3 takie układy, i do tego trzeba dodać...
Kolego dondu: deklaracja zmiennej licznik: unsigned long int licznik=0;//zmienna globalna licznik Fuse bity ustawione prawidłowo (temat wałkowany setki razy).Zegar definiowałem początkowo w ustawieniach konfiguracyjnych AVR Studio, później gdy zaczęły się problemy przez #define F_CPU. Do mirekk36: Timer sprzętowy działa bardzo dobrze i precyzyjnie....
Napisz jeszcze, na czym polega problem, bo na razie wygląda na to, że napisałeś kod do szybkiego migania diodami i diody szybko migają. A tak ogólnie - do odmierzania czasu używa się timera, a nie pętli, zwłaszcza, gdy czas wykonania kodu silnie zależy od wartości zmiennych. Przy takiej deklaracji zmiennej delay kompilator może usunąć Twoją pętlę opóźniającą.
Jeśli przerwania nie są wykorzystywane w programie to od bidy te WAIT jest w miarę dokładnie (na tyle na ile zegar trzyma) ale zdecydowanie lepszym rozwiązaniem jest używanie timerów do odmierzania czasu. W momencie włączenia przerwań dokładność WAIT drastycznie spada. Najlepiej zapomnij o WAIT i naucz się timerów. WAIT można spokojnie i bezpiecznie...
Witam, Mam problem z obsługą timerów w Attiny2313. Korzystam ze środowiska Atnel studio 6. Przechodząc do rzeczy, napisałem sobie kiedyś program w Basomie, w którym odmierzałem czas za pomocą Timer0. Poniżej fragmenty kodu odpowiedzialne za konfigurację tego timera: [syntax=basic4gl] Config Timer0 = Timer , Prescale = 256 Load Timer0 = 45 On Timer0...
Witam Rezonator jest potrzebny do tego aby "napędzać" cały mikrokontroler. Układ rezonansowy składa się w tym przypadku z rezonatora kwarcowego oraz dwóch kondensatorów ceremicznych. Rezonator kwarcowy zapewnia dużą stabilność parametrów w czasie. Jeśli nie potrzebujesz dużej dokładności w odmierzaniu odcinków czasu to nie musisz tego kupować. Attiny...
to może wykorzystasz częsc programu która odpowiada za odmierzanie jednej sekundy np dla zwykłego zegarka pozostaje tylko przelicznie dla danego kwarcu. projektów zegarków troche jest. tak sobie mysle ze problem z pomiarem tzn że silniczki maja taką samą prekdkość może byc zbyt krótki czas pomiaru czyli jedna sekunda w czasie której np dla wartości...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie serwa2 Dim Czas1 As Integer 'zmienna pomocnicza do odmierzania czasu Dim Czas2 As Integer 'zmienna pomocnicza do odmierzania...
Oczywiście, że pomieszałeś, bo pod PD3 jednocześnie masz podłączone sterowanie anodą wyświetlacza i przycisk - jak wciśniesz przycisk, to odpowiednia cyfra wyświetlacza będzie zawsze aktywna... Użyj Timer1 w trybie CTC do odmierzania 0.01s - przy F_CPU = 1MHz chcesz mieć przerwanie z f=100Hz czyli odliczasz do 10000-1. To będzie za mała częstotliwość...
Spoko, tylko to jest na ATmega128. Co do kart pamięci to musiałbyś napisać obsługę sam. Generalnie poczytaj notę katalogową. //inicjalizacja Timera 0 jako generatora PWM void Timer0_PWM_mode() { DDRB |= (1<<4); TCCR0 |= (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00);...
Też myślałem, że to proste ale ciągle robie coś nie tak. Działało to tak: Przerwanie co około 96 us. Sprawdzam czy nie ma zera, jeśli jest to wyłączam triak. Odmierzam sobie np. 5ms i włączam triak. Niby proste, ale problem był w tym że na początku regulacji (do około 40% była płynna regulacja, przy następnym kroku był przeskok do około 60% a potem...
Timer0 i timer1 używają tego samego preskalera. Dlatego instrukcja prescale=64 zmienia warunki dla funkcji getrc5. Zajrzyj do noty katalogowej ATtiny2313 i nie pisz głupot więcej. Dodano po 14 Odmierz20ms1: 'funkcja obsługi serwa1 Timer1 = 65286 'przy wartosci 65286 timer1 bedzie generował przerwanie co 2ms Incr Licz2ms1 'zwiększ licznik zliczający...
Przy projektowaniu używam kalkulatora chociaż to akurat można policzyć na palcach. Jeśli dobrze pamietam to impuls powinien się zawierać między 1ms a 2ms a servo stoi na środku przy 1,5ms. Niemniej daje to 1ms którą chciałbś podzielić tak by móc sterować servem. Załóżmy że chcesz to podzielić tylko na 100 części. Jedna milisekunda ma 1000us Podzielona...
Witam! Kilka tematów niżej tez zmagam sie z podobnym problemem, ale jakoś nikt nie potrafi /nie chce pomóc. Ma być tak dozownica z pompą zębatą odmierzająca precyzyjnie ilość cieczy. na silniku tarcza z otworkami i kawalek myszki komputerowej. Zadaje ilość obrotów?impulsów wciskam start i silnik dopóty kręci dopóki liczba zadana nie zrówna się z liczbą...
Wklejam kod. [syntax=basic4gl]'ATtiny2313 mruga dioda ustawienie portów. $regfile = "ATtiny2313.dat" $crystal = 10000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , Rs = Portd.4 , E = Portd.5 Config Portd.6 = Output 'podłączenie diody pin nr 11 Config Timer0 = Timer , Prescale = 1024 Dim...
Prostszym językiem to będzie tak. Ponieważ masz 2 wyświetlacze, wyświetlasz cyfrę na pierwszym wyświetlaczu, później go gasisz i wyświetlasz cyfrę na drugim. Żeby nie było widać migania cyfr trzeba to robić 100 razy na sekundę, albo szybciej. Procesor więc musi zatrzymywać się 100 razy w ciągu sekundy i zapalać wyświetlacze na przemian. W tym celu należy...
M.S. To nie jest samodzielny układ do sterowania silnikiem- to ma być sterownik sprzętowy sterowany zewnętrznymi sygnałami. Gdy silnik traci zasilanie- to i tak gubi pozycję. Trzeba wrócić do krańcówek i na nowo go spozycjonować. Trochę się nie zrozumieliśmy. Mój sterownik samoczynnie wyłącza zasilanie silnika (0 napięcia na wszystkich cewkach) kiedy...
Na razie dla testów podłączyłem: R1=330Ω R2= 0 i zdecydowanie się poprawiło jednak nie jest to jeszcze to czego oczekuję. Inna sprawa, ze gdy testowałem z R1=68Ω to pilot zaczynał się dziwnie zachowywać. Dioda zaczynała świecić zamiast mrugać, a odbiorniki w ogóle nie reagowały na sygnały. Jutro powinienem pójść do sklepu i zakupić rezystory...
Witam Napisałem swój pierwszy program wiec proszę o wyrozumiałość … Attiny cyklicznie będzie odmierzał zadany czas i po upływie tego czasu załączał przekaźnik na 1 sek Będzie również zliczał ile razy przekaźnik został załączony i wyświetlał na wyświetlaczu : Zadany czas , ilość załączeń wyświetlacza , ile czasu już upłynęło od ostatniego załączenia....
A propos 1 i tego co napisał kol. slx: http://mikrokontrolery.blogspot.com/2011... Swoją drogą odmierzanie czasu za pomocą delay - rozumiem, że to tylko do testów? Jeszcze uwaga dot. F_CPU - nie definiuj w kodzie z tych powodów: http://mikrokontrolery.blogspot.com/2011... Stosuj ISR():...
http://obrazki.elektroda.pl/6514394200_1... Chciałem przedstawić prościutkie urządzenie, służące do ułatwienia pomiaru czasu. Na zawodach samochodowych, w których biorę również udział do pomiaru czasu wykorzystywany jest chronometr, do którego należy podłączyć fotokomórkę na linii START i drugą fotokomórkę na linii META. Jednakże nam...
Możesz spróbować tak: Zmień typ zmiennej timer na volatile uint8_t i procedurę obsługi przerwania: timer w ogóle nie musi być volatile . Można nawet zastosować zmienną statyczną timer wewnątrz procedury obsługi przerwania, przy czym to już niewiele zmieni, jeśli chodzi o szybkość wykonywania procedury. No i zakladam, że te funkcje _delay_ms() wewnątrz...
http://obrazki.elektroda.net/61_12301131... Witam, Na wstępie chciałem zaznaczyć, że to moja pierwsza konstrukcja w dziale DIY więc proszę o wyrozumiałość. Zbudowałem urządzenie odmierzające czas w dół czyli minutnik. Moje urządzenie ma możliwość nastawienia dowolnego czasu z zakresu od 0 sekund do 99 minut i 99 sekund. Po odmierzeniu nastawionego...
emarcus dzięki teraz już gra. Mam jeszcze takie pytanie bo tak jak wcześniej pisałem docelowo chcę zrobić miernik indukcyjności. Przejrzałem projekty mierników w necie i na elektrodzie i są oki tylko większość z nich opiera się na mikrokontrolerze PIC 16F84A. W sumie mam wsad do procka w asm ale kiepsko znam asemblera wiec postanowiłem napisać własny...
Zacznij od atmega8. Dlaczego? Bo jest tania. Kup sobie programator, a resztę zrób sam. Zablokować atmega16 za 10 zł boli bardziej niż atmega8 za 4zł. Możesz używać płytek stykowych ale najlepiej wszystko mieć na pajączku(zlutować na płytce prototypowej) aby wykluczyć błędy kabelkologi. Skoro lubisz bawić się wytrawianiem to na tym forum jest mnóstwo...
http://obrazki.elektroda.pl/3995422400_1... Witam wszystkich, moim nowym projektem jest wydajna wytwornica dymu, którą konstruowałem przez ostatnie tygodnie :D Jako że nowe wytwornice dymu są drogie i dość mało wydajne, średnio zużywają 25ml na minutę. Moja wytwornica dymu miała spełniać kilka założeń: - po pierwsze - tanio!; - po drugie...
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....
Witam, Próbuję uruchomić zegarek na procku ATtiny2313. Problem w tym że zegarek (stoper) działa za wolno - nie chodzi tu o precyzyjne odmierzanie czasu ale dziesiątki sekund zmieniają sie z prędkością sekund. Program jest z mikroprocesorowej oślej łączki z edw. Tam użyty był at90s2313, ale jeżeli dobrze wyczytałem w nocie katalogowej to timer0 w obu...
Witam, mam problem z obsługą RC5, chce zrobić obsługę przekaźników poprzez RC5. Może ktoś sprawdzić co jest nie tak??. Dopiero zaczynam programowanie więc proszę o wyrozumiałość. [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #define pierw_spraw 90 #define spraw 149 #define odebrano 0 #define zdekodowano 1 #define error 2 volatile...
Zamiast robić tam opóźnienie można policzyć ile taktów zajmie uartowi wysłanie ostatniej ramki i robić sobie inne potrzebne operacje ,które zajmują czas a po odpowiedniej ich liczbie zmienić stan porty i tyle . Asembler daje wiele możliwości wykorzystania czegoś co się nazywa opóźnieniem . A jak masz wolny licznik to można na nim zrealizować opóźnienie...
jak chcesz zrobić dimmer, to musisz zastosować detekcję zera w sieci, oraz traiki "nie załączające w zerze". Sam PWM nie da tutaj Tobie dużo. Taki ściemniacz jest o kilka rzędów bardziej złożony niż sterowanie jasnością LED'a. Musisz zrobić coś na kształt pętli PLL i odmierzać odcinki czasu do następnego przejścia przez zero w sieci. Jeżeli chcesz ustawić...
Witam. Zmontowałem prosty zegar na procku attiny2313. Użylem softu ze strony: http://www.mikrokontrolery.net/avr_c_07.... (kod ponizej). uC jest taktowany kwarcem 4Mhz. Okazuje się jednak , że dokładność odmierzania czsu jest bardzo mała, zegar spóźnia sie co godzinę o kilka minut. Wydaje mi się że problem tkwi w opóźnieniu wpisania wartości do rejestrów...
Z rozmachu zapomniałem o tych dyrektywach ale pomimo dodania nich występuje nadal to samo z wewnętrznym oscylatorem po zmienieniu FUSEBITS na zewnętrzny generator kwarcowy 4Mhz i jest wszystko dobrze sekunda trwa sekundę. Ta wada eliminuje użycie wewnętrznego oscylatora do precyzyjnego odmierzania czasu w moim przypadku jest to sterownik rolety okiennej...
Proszę bardzo[syntax=basic4gl] 'Copyright Robert Wołgajew, 2012 'Wersja z dnia 26.04.2012 $regfile = "Attiny2313.dat" $crystal = 1000000 'Fusebit CKDIV8 = 0 -> zaprogramowany (ustawienie domyślne producenta) $hwstack = 32 $swstack = 32 $framesize = 32 'Konfiguracja wyświetlacza LCD Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.2...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
http://www.kanthal.com/en/products/mater... * Temperatura topnienia 1500°C - spora, to duża zaleta, może nawet dałoby się używać takich drucików wielokrotnie? * Ciepło właściwe: średnio około 0.66 J/g/°K, 5 J/cm³/°K - to też sporo, i to akurat jest niekorzystne - duże zużycie...
Witajcie! W sieci znalazłem projekt lampki RGB sterowanej z pilota, projekt pochodzi z tej strony. Postanowiłem jednak z budować do tego swój pilot, a wybór padł na SAA3010: (na schemacie zamiast rezonatora jest kondensator, proszę się tym nie sugerować.) http://obrazki.elektroda.pl/9020128600_1... Pilot jest raczej sprawny i działa...
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ść...
Proponuję zacząć od końca czyli od elektroniki cyfrowej. Dokładniej od programowania w BASCOM Skoro mówisz, że wiesz co nieco o elektronice to posiadasz już jakąś wiedzę teoretyczną, którą później rozwijasz. Na początek skompletuj zestaw: Podstawowe zaplecze do nauki, I: - " Programator + mikrokontroler "(najlepiej AVR, jakiś ATtiny2313 albo Atmega8)....
Witam Próbuję napisać obsługę pilota, który używa kodowania [url=http://www.ustr.net/infrared/nec.sh... Następnie chcę przesłać kod na okno terminala za pomocą USART. Próbuję to realizować bez użycia funkcji typu delay_ms(), zamiast tego chcę użyć przerwań. Idea jest taka, że po pojawieniu się pierwszego zbocza od odbiornika podczerwieni, wywoływane...
Dzięki bardzo zrobiłem to na timerze odliczanie zamiast wait 1 ale jaka dac wartosc w timer1 aby odmierzało co sekunde albo co minute jest jakis wzor aby to obliczyc?? przycisk działa wiekie dzieki $regfile = "attiny2313.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował Dim Jedn As Byte...
I ooo to właśnie chodzi - a jeśli potrzebujemy dużych i pewnych na 100% prędkości RS232 - to wtedy zachodzi jedna z istotniejszych potrzeb aby zastosować w ogóle kwarc zamiast oscylatora. I wtedy też na potrzeby akurat transmisji RS232 stosuje się tzw "kwarce przyjazne dla RS232" Jak sobie zajrzysz na ostatnią stronę rozdziału UART w dowolnej nocie...
[syntax=basic4gl] Dim Przerwa As Byte 'licznik czasu przerwy Dim Pomoc1 As Byte , Pomoc2 As Byte , Wysw As Byte 'zmienne pomocnicze Dim Random As Byte 'zmienna do uzyskania przypadkowości Dim Zliczaj As Bit '1 - zezwolenie zliczania czasu Dim Setne As Byte 'licznik setnych części sekundy Dim Dzies As Byte 'licznik dziesiątych części sekundy Dim Wygasz...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
https://obrazki.elektroda.pl/8213915500_... Czasomierz dla klejarki pistoletowej Bosch PKP 18 E. https://obrazki.elektroda.pl/3128317200_... Po kolejnej awarii pistoletu do klejenia na gorąco, kupiłem klejarkę firmy Bosch. Klejarka ta, wymaga siedmiominutowego wstępnego rozgrzania, aby umożliwiała właściwe klejenie....
Witam! Ponieważ potrzebuję miernik częstotliwości do 160MHz, postanowiłem przerobić nieco projekt AVT3003. Zamiast kwarcu 10Hhz i AT90s2313 włożyłem ATTiny2313 z generatorem kwarcowym 20MHz. Przy takim taktowaniu należało zmienić również program. W komentarzu ' moja zmiana wskazałem, co zmieniłem - trzy linie programu. Problem jest taki,że podłączony...
https://obrazki.elektroda.pl/2363772900_... W miarę rozprzestrzeniania się na całym świecie koronawirusa coraz częściej zastanawiamy się, jak zapewnić sobie i innym bezpieczeństwo w domu, pracy lub innym miejscu spotkań. Dezynfekowanie i sterylizacja za pomocą płynów na bazie alkoholu wszystkich pomieszczeń, w których przebywamy i przedmiotów,...
To proste: Aby odczekać sekundę to przy zegarze 1Mhz musisz odczekać 1 000 000 cykli. Możesz użyć do tego preskalera (1,8,64,256,1024). Jesli chcesz odmierzyć sekundę to musisz użyć preskalera 64 (256 i 1024 nie wchodzi w gre ponieważ jeśli podzielimy 1 000 000 przez te liczby to nie wychodzi liczba całkowita). I tak przy preskalerze 64 timer musi zliczyć...
czy mógłby mi ktoś podpowiedzieć jak odbierać rc5, chodzi mi o rozwiązanie czasów odbioru, czy umieścić odbiór w timerze1 jeśli tak to jak go ustawić żeby odmierzył te 864us, prosiłbym również o podpowiedź jak rozwiązać sam odbiór, zapisywać stany do zmiennej??(przeglądałem forum[i nie tylko] ale informacji dla c nie znalazłem)
Witam. Zaprogramowalem mikrokontroler tym programem: $regfile = "attiny2313.dat" $crystal = 4000000 Config Pinb.3 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_20ms As Byte Enable Interrupts Load Timer0 = 156 Enable Timer0 Do Loop End Odmierz_1s: Load Timer0 = 156 Incr Licz_20ms If Licz_20ms = 100 Then Licz_20ms = 0 Toggle...
Pozamieniałem. Ale z tym "On Timer0 Odmierz" chodzi o to aby umieścić w pętli Do..... Loop ??? Może mi ktoś przerobić ten program? PS: Te "wykłady" to przerobiona książka Programowanie mikrokontrolerów AVR w jezyku BASCOM Marcina Wiązania.
Witam! Mam następujący problem. Jak ustawić prescaler i licznik aby odmierzyć 1 sekundę. programuje w bascom-ie, procesor attiny2313 zegar 1MHZ. Wspomagam się książką Wiązani, ale tam jest przykład dla atmegi8 i w pewnym momencie występuje stwierdzenie,że przy 8mhz jeden cykl zegara wynosi 125ns. To stwierdzenie jest dla mnie kluczem do zrozumienia...
Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...
Oczywiście chodzi o rezonator ceramiczny 432KhZ z kondensatorami 33pf. Co do pasma diody to poprostu powiedziałem w sklepie "Dioda IR", wiec nie wiem na jakie pasmo wysyla światło... Dziwne jest tez to, że na standardowym kwarcu 4mhz +33pf, zasięg był mniejwięcej taki sam (jak wiadomo na kwarcu 4mhz nie da się dokładnie odmierzyc 36khz).
Witam Podam prosty przykład programu w "BASCOM" i proszę o podanie zmian jakie należy wprowadzić, aby był "idle" oraz gdy "power down" i w jaki sposób wychodzić z tych stanów. Przykład programu: $regfile = "ATtiny2313.dat" $crystal = 8000000 Config PortB.0 = 1 'wyjście na diodę LED PortB.0 = 1 Config PortD.0 = 0 'wejście na mikrołącznik PortD.0 = 1...
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Witam :) Jako ze jest duzo pytan na forum na ktore odpowiedz padla, postanowilem ze zbiore choc troche postow do kupy, tematy dotycza glownie AVR, bo z ARMow jeszcze nie czuje sie na tyle na silach zeby robic FAQa ;) Mam nadzieje ze sie komus przyda :) Niby FAQ jest, ale dla mnie jakoś malo czytelny i chyba nikt go juz nawet nie aktualizuje ;) Jesli...
Witam. Wiem, że podobne problemy był już wałkowane milion razy lecz nie mogę sam sobie z tym poradzić. Do rzeczy: Chcę aby po przyciśnięciu przycisku dioda zapaliła się po pewnym czasie na krótką chwilę. Chcę to wykonać na przerwaniu, zależy mi na precyzyjnie odmierzonym czasie od momentu naciśnięcia przycisku do zapalenia się diody. Czas palenia się...
Tak mi to wyszło to mój pierwszy program (nie licząc włącz-wyłącz diode) wiec proszę o wyrozumiałość. Częstotliwości jeszcze nie obliczyłem bo mam z tym trudności. Nie wiem tylko czy dobrze zrozumiałem ze timer1 w trybie Pwm jako jedno przerwanie zlicza jeden cykl [syntax=basic4gl]$regfile = "2313def.dat" $Crystal=8000000 Config Pinb.3 = Output Config...
no jak się szybko pisze to tak jest, ale ważne że działa. Po 2 chciałem żeby jak najmniej ingerowac w program tegoż Pana. Mozna dać w przerwaniu od Timera żeby zwiększało sekundy, minuty i godziny. Tak sie powinno dać ale zrobiłem to na szybko. Mniej więcej tak by to wyglądało: $regfile = "attiny2313.dat" $crystal = 8000000 Config Pind.0 =...
kuba989898 -> hmm widzisz ja stosuję AVR Studio jako kompilator i tam makefile , wraz z tymi parametrami o których piszesz, jest automatycznie generowny. Tak więc próba ich dodania w kodzie powoduje czkawkę i warningi o tym, że coś jest dwukrotnie zdefiniowane itp. doszedłem już zgodnie z tym co mówiłem poprzednio, że jednak źle dobrałem czasy przez...
MatiZ --> no ok - w takim razie takie dokładne pomiary oscylem cyfrowym to już coś. Rzeczywiście pilot - dziwoląg ale ..... skoro masz dokładną częstotliwość i nawet współczynnik wypełnienia udaje się dokładnie określić to: 1. trzeba w procku zrobić procedurę odbioru powiedzmy .. np 64 bitów. Jeden bit to będzie jeden okres tego przebiegu 2. procedura...
Koledzy potrzebuję pomocy, siedzę cały dzień nad programem i nie mogę sobie poradzić. Chodzi o to aby program działał tak jak ten który napisałem, tylko potrzebuję dopisać do niego procedurę kodowania zmiennych A i B. Konkretnie chodzi mi o to aby np po wciśnięciu przycisku SW i SW1 przez około 5 sekund, żeby program skoczył do podprogramu np PROGRAMUJ,...
Mam prośbę o pomoc w ukończeniu programu, otórz założeniem programu jest aby zaświecić dioda1 po określonej ilości mrugnięć dioda2 i w odpowiednim momencie wciśnięciu SW1. Program działa bezbłędnie jeśli ręcznie określę mu zmienne A i B, natomiast zaczynają się schody jeśli chcę dodać możliwość programowania zmiennych A i B, zapisując je w pamięci eeprom....
Powinno działać zmniejszanie, aczkolwiek nie testowałem. Napisałem tak na kolanie, ale i tak znów pomimo dodania funkcjonalności zajmuje mniej ;) Dodatkowo: PORTB w Attiny2313 ma już osiem pinów a nie jak poprzednio... [syntax=vbnet]$regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 32 $swstack = 14 $framesize = 32 $baud = 38400 Config Submode...
Poniżej zamieszam kod w Bascom pisany dla zestawu uruchomieniowego ZL11AVR. Dioda podczerwieni dołączona do Pinb.3. Chyba najważniejsze z tego, to komenda wyzwalająca migawkę: Sonysend &HB4B8F , 20 (Sony alpha korzystają z 20 bitowego protokołu SIRC) W razie pytań postaram się pomóc. [syntax=basic4gl] 'Program zegara wykorzystującego przerwania...
Nie przesadzaj ;) Jestem programista ale akurat bascom mi nie podchodzi. Do tego slyszalem ze odmierzyc tam cos precyzyjnie nie idzie - stad opinia. Co do kodu to co tu pokazywac? toggle portd.0 .... waitus ... toggle itd? Tak czy siak twoj kod nie dziala odnośnie gotowca od kolegi pixel.... Juz naprawilem kod. Napilem sie kawy a nastepnie jeszce raz...
http://obrazki.elektroda.pl/3622659500_1... Witam, chciałbym przedstawić swoją prototypową konstrukcję dotyczącą 1wire i słynnych czujników DS18, jak każdy układ powstał z potrzeby. Ten projekt jest Aktualizacją obecne używanego starego dosyć układu AVT AVT5330(8 x DS18) opartego na Attiny2313 - Link do dokumentacji: crontab -e i na...
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora oraz sterowanie elektrozaworami a drugi obsługa wyświetlacza graficznego...
zegar odmierza odmierza przerwa bascom odmierza
podłączyć gniazdo przyczepka pilot sencor pomiar małych oporności
active webcam obudowa 18tbx100
Fiat Croma 2005 – awaryjne uruchomienie, kable rozruchowe, immobilizer, odcięcie paliwa Jak podłączyć transformator trójfazowy w migomacie?