Przeanalizowałem działanie układu timera 4541 według informacji dostępnych z katalogu, a ponieważ dalej miałem pewne wątpliwości, to jeszcze dla pewności zrobiłem próbę, bo akurat miałem ten układ. Nie pamiętam dokładnie co Ci odpisałem na PW, ale mogę teraz powiedzieć, że schemat zamieszczony przez Ciebie w tym wątku jest poprawny (z wyjątkiem uwag...
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...
https://obrazki.elektroda.pl/1761046600_... Pokażę tu jak uruchomić z Arduino czterocyfrowy wyświetlacz 7-segmentowy sterowany poprzez rejestr przesuwny 74HCT164 i cztery tranzystory BC546. Płytka z wyświetlaczem znów będzie odzyskana z elektrośmieci. Będzie to już kolejny temat, w którym uruchamiam wyświetlacz, gdyż omawiałem już...
Ty tak ale ci co chcą twojej kasy nie są zadowoleni więc ci zakażą palenia w kominku pod tysiącem powodów a teraz modny powód to eco . Raczej "eco" w dużym cudzysłowie. Organizacje typu PAS chcą zakazu palenia drewnem nie tylko w Krakowie i (lada dzień) Wrocławiu ale całej Polsce. Za "eco" uznają gaz ziemny bo daje mało pyłów. Jednak są ślepi na inne...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
(...) by uzyskać częstotliwości 32Hz (okres 0,03125s) oraz 64Hz (okres 0,015625s). Czy możesz ustalić kombinację okresów z tych dwóch dzielników tak aby w ciągu sekundy otrzymać 60? Możesz też zaproponować kod w Arduino generatora taktującego dla TMS3450. Interesuje mnie jak najmniejszy błąd odmierzania czasu. Wprowadzenie Dziękuję za szczegółowe przedstawienie...
Czuję się trochę "przywołany do tablicy", w związku z czym chciałbym w kilku zdaniach opisać cechy techniczne i funkcjonalność centrali PRiMA64 z punktu widzenia autora wątku: Centrala posiada 8 wejść dozorowych na płycie, z możliwością rozbudowy do 64 linii z użyciem ekspanderów wejść (z zasilaczem lub bez), oraz elementów bezprzewodowych (868MHz,...
W przypadku prostego procesora dochodzi też taki problem że trzeba się wcinać w normalne transfery robione przez CPU. Co wprowadza konieczność dodania logiki sterującej do tego. Tak, tyle, że w XMEGA już to wszystko zrobili, więc blokadą nie jest konieczność zaprojektowania tych układów. Wiele rzeczy w tych nowych rodzinach jest niby tak jak w XMEGA,...
http://obrazki.elektroda.pl/1852929500_1... http://obrazki.elektroda.pl/5115381900_1... Mimo upływu lat w dalszym ciągu lubię od czasu do czasu odświeżyć sobie w pamięci elektroniczne brzmienia lat 80tych, kiedy to po raz pierwszy miałem okazję usłyszeć „syntetyczną” muzykę pochodzącą z wielkich drewnianych...
Witam Staram się zrobić odliczanie na przerwaniach - jak do tej pory nie używałem jeszcze przerwań, więc proszę o wyrozumiałość za banalne pytanie. A więc tak. Potrzebuję za pomocą Timera0 wprowadzić diodę w pulsację z częstotliwością 10Hz (to tak dla testu) Wszystko wydaje się w miarę proste. Skonfigurować T0 i przerwanie na ten zegar. A więc mam tak:...
Mnie właśnie przydałby się sam scheduler, bo koncepcja działania peryferiów często bardzo zależy od użytego układu i samego projektu. Może powinieneś rozdzielić ten projekt na dwa, jeden to czysty scheduler i drugi projekt to cały system który z kolei jest oparty o ten pierwszy projekt. Zauważ, że im bardziej rozbudowany będzie ten projekt, tym trudniej...
Wiele osób w latach 2009,2010 powołuje się tutaj (i na innych serwisach m.in. na dioda.com.pl ) na bardzo ciekawe artykuły dotyczące C i AVR - podobno były tam gotowe przykłady wraz ze szczegółowym komentarzem np. jeśli chodzi o sterowanie silników krokowych czy multipleksowanie wyświetlaczy 7-segmentowych LED. Czy ktoś wie gdzie się podział ten serwis,...
Light-I ja nie twierdzę że wpływ niespełnienia warunku jest, czy nie jest istotny dla mocy procesora, generalnie chodziło mi o sprawy czasowe dotyczące testowania warunków co ściśle określony czas :). Jeśli realizacja 1 warunku zawiera 100 cykli, a jego niespełnienie tylko 1 cykl porównania. Kolejny warunek znów daje 100 cykli jeśli spełniony i 1 cykl...
Witam! Zauważyłem dziwne zjawisko: Generuję np: 10000 impulsów na jednym pinie za pomocą timera0, a na innym pinie również 10000 impulsów za pomocą timera2. Oba timery są 8-bitowe i oba ustawione są na ten sam preskaler TCCR=5 ; i oba mają tą samą wartość TCNT=5. Generację zaczynam w tym samym czasie i o dziwo mam różne częstotliwości przebiegów. Dlaczego...
Z jaką częstotliwością rezonatora pracujesz? Wszystko co dotyczy konfiguracji liczników masz w help'ie (również w b. dobrym polskim tłumaczeniu autorstwa Zbigniewa Gibka) przykład: CONFIG TIMER0=TIMER, PRESCALE=64 'ustaw timer/licznik0 jako timer z podziałem częstotliwości zegara /64 (...) ON TIMER0 wyswietl 'po przepełnieniu licznika skocz...
Witaj. Zadanie nie jest trudne i spokojnie dasz sobie z nim radę we własnym zakresie. Po prostu wszystko należy opierać o timery i inne wewnętrzne moduły oraz przerwania. W dodatku program można tak napisać, by jeden timer obsługiwał różne funkcjonalności. Innymi słowy, zacznij pisać od nowa swój program, ale tak, by pętla główna była pusta :) Aktualnie...
Nie da się. Skoro timer dzieli częstotliwość, to jak masz np. /10 i /11 to różnica niewielka, ale już /3 i /2 to różnica ogromna i zawsze tak będzie. Można to kompensować odcinkowo zmieniając częstotliwość taktowania timera, wprowadzać generatory frakcyjne, PLL itd. Tyle, że nie zrobisz tego w ATMega128, bo tam masz do dyspozycji tylko prosty preskaler....
Za pomocą bitów CSn2 CSn1 CSn0 możesz ustalić podział częstotliwości kwarcu przez 1,8,64,256,1024. Aby uzyskać dokłądnie sekundę musisz ustawić podział na 8 lub 64. Wtedy do timera musisz wpisać odpowiednio 65536-62500 lub 65536-15625 (do rejestrów TCNTnH starsze 8 bitów i TCNTnL młodsze osiem bitów). Przepełnienie jest sygnalizowane flagą ToVn którą...
Należy to zrobić na przerwaniach. Podział 1/32 akurat w tym wypadku nie będzie chyba dobry bo będzie trzeba odmierzać czas z dokładnością 50pikoSekund Przy podziale 1/1 to już "tylko" z dokładnością 5uS. Szukaj "arduino timer interrupt"
Załóżmy że chcesz uzyskać 100Hz. Procesor kreci się na przykład 8MHz. Timer napędzany jest sygnałem takim jak procesor, ale można ten sygnał podzielić tak żeby, na przykład co 1024 takty procesora do Timera trafiał jeden takt. Taki podział uzyskuje się za pomoca preskalera. Teraz wiadomo że Timer jest już taktowany wolniej bo co 1024 takty z 8MHz, ale...
Jeśli chcesz mieć periodyczne przerwanie, to ustaw stosowny okres timera i użyj przerwania końca okresu. Czy zablokowałeś wywołanie SystemInit lub wyedytowałeś ustawenia? Jeśli nie, to zapewne masz zegar 72 MHz, co by wiele wyjaśniało.
Dziękuję za wyjaśnienie. Jak ustawiać preskalery według tej tabelki w , linku poniżej TCCR1B |= bez podziału TCCR1B |= timer zatrzymany TCCR1B |= podział przez 8 TCCR1B |= podział przez 32 TCCR1B |= podział przez 64 TCCR1B |= podział przez 128 TCCR1B |= podział przez 256 TCCR1B |= podział przez 1024 https://www.niki.art.pl/index.php/avr/57...
Po pierwsze nie podoba mi się zapis: Pinc.1 = not Pinc.1 Powinno być raczej: Portc.1 = Not Portc.1 Albo jak ktoś się bardzo uprze: Portc.1 = Not Pinc.1 Ale ogólnie do rejestru Pinx raczej nie zapisujemy. Ponadto... zegar 4MHz, dzielnik w timerze przez 256, timer0 (8 bitowy) ładowany wartością 250.... to daje podział przez 6*256 = 1536. To częstotliwość...
A jakie macie firmware? Moje jest w wersji: 709131. Można to łatwo sprawdzić kombinacją klawiszy kolejno naciskając: wł power, 2 razy mikrofon, raz lampa błyskowa, raz timer, raz macro, raz kosz. Jeśli ktoś dysponuje full firmware na którym aparat się nie zawiesza, to niech się podzieli. Ja mam tylko upgrade do wersji 703241 i 706121, których aparat...
Nie wiem co to za uC, ale w AVR Timer 0 jest zazwyczaj 8-bitowy. Lepiej jest więc użyć jakiegoś 16-bitowego timera do tego. Tym bardziej, że potrzebne będzie ICP oraz OCR. ICP podpinasz pod transoptor i w przerwaniu odczytujesz jego wartość, dzielisz przez 29 (30-1) i tę wartość (offset) z kolei wpisujesz do OCR, synchronizujesz obraz. Co każde przerwanie...
Jeśli zbyt często nie przeliczasz tego czasu, i nie brakuje ci mocy obliczeniowej, to może być. Szczególnie że w arduino jest już działający timer.
Otwórz sobie pdfa od procesora zajrzyj w sekcje Timer2, poczytaj, przejdź do opisu rejestrów i poustawiaj jak uważasz. Ogólnie dla liczników wybierasz prescaler czyli podział między zegarem (16Mhz dla Arduino) a wejściem licznika. Timer2 jest 8bitowy ma 256 wartości, więc masz kolejny podział. Jak potrzebujesz precyzyjnie to są tryby gdzie możesz zrobić...
W każdym bądź razie, czy wiecie gdzie się podziały w CubeMx pozostałe timery? Nie wiedziałem że CubeMx ma w ogóle jakieś :).
Owszem, preskaler jest wspólny dla timerów T0 i T1, ale stopień podziału można ustawić niezależnie dla każdego z timerów. Ponieważ preskaler działa cały czas, niezależnie od wyboru stopni podziału dla timerów, to nie można określić ile cykli zegara systemowego upłynie od momentu włączenia timera z podziałem preskalera większym od 1 do momentu pierwszego...
Te 1-1,5 MHz to częstotliwość podstawowa PWM. W mikrokontrolerze PWM realizowane jest poprzez dzielenie zegara doprowadzonego do timera, stąd też jego częstotliwość musi być większa od częstotliwości uzyskanego PWM o co najmniej FPWM*2^(rozdzielczość PWM) razy. Natomiast we wzmacniaczu PWM można uzyskać inaczej niż przez podział zegara timera, w efekcie...
Chyba się nie zrozumieliśmy. Chodzi mi o preskaler i podział preskalera dla dwóch rożnych timerów. TC0 i TC1 korzystają z tego samego preserska. Chodzi mi o to czy dwa timery będą pracowały z rożnymi "prędkościami" właściwymi dla ustawionych preskalerów TC0 i TC1 w przypadku gdy podział preskalera dla TC0 jest iny od TC1.
W C4xx można zmienić podział sygnału do taktowania Timera, z tego co pamiętam też mogą chodzić "1:1"
W tej chwili preskalery w timerach są ustawione na 8 i to jest mój problem - przy 16MHz prescale 8 mam idealną dokładność generowania dźwięków. Przy 32MHz musiałbym mieć prescale 16 w timerach a z tego co widzę kolejnym dostępnym jest 64 co spowoduje że błąd generowanej częstotliwości będzie duży dodatkowo zmniejszy się rozdzielczość regulacji czasu...
.. zgadza sie w fusebitach miałem włączony podział przez 8 (CKDIV8) zamykam temat
I jak termostat wymieniony czy pomogło? U mnie w tym samym modelu mam podobne objawy. Piekarnik działa i co jakiś czas się wyłącza. Po naciśnięciu "menu" włącza się ponownie czasami tylko na chwilę, a czasami dłużej podziała. Ja podejrzewam, że to wina timera / zegara - on steruje chyba elektronicznym wyłączaniem piekarnika, a w mojej ocenie to on szwankuje.
Skoro opanowałeś obsługę timera, to zrób jeszcze całą obsługę LED w przerwaniu timera. W pętli głównej się multipleksowania LED nie robi, bo ciężko w to wpleść jakikolwiek inny kod. Jaki wtedy jest sens podziały projektu na pliki *.h i *.c skoro część pliku "7led.c" będę miał w pliku związanym z Timer0 ? Chyba, że coś źle zrozumiałem. Źle do tego podchodzisz....
... lecz brak dodatkowego podziału przez 39 Co rozumiesz przez dodatkowy podział :?: Może opisz, jak w/g Ciebie powinien działać timer.
Ciekawe :idea: a zna ktoś może link / i podzieli się nim/ do sprawdzonego układu timera np. na PIC. :D
Czy ktoś podzieli się przykładem lub podpowie co robię źle? Arduino IDE i ESP32. Potrzebuję przerwanie co 2 ms od sprzętowego timera. Wszystkie przykłady dotyczą arduino w starszych wersjach, gdzię między innymi funkcja timerBegin przyjmuje 3 argumnty. Od wersji 3.0 z tego co wyczytałem przyjmuje tylko jeden. Bazuje na tym https://espressif-docs.readthedocs-hoste...
Bardzo długie impulsy można też uzyskać poprzez dodanie licznika, który podzieli impulsy zegarowe z wyjścia NE555 np. dekada zmniejszy 10 krotnie, 2 szeregowo połączone dekady 100 krotnie i tak dalej. Ale wymaga to zastosowania dodatkowego (lub dodatkowych) układu scalonego. Ostatnio jednak jako alternatywę zastosowałem z dobrym skutkiem specjalizowany...
Nie rozumiem za bardzo co oznacza wartość dla 250 kroków = 50.000 . chciałbym konkretnie wysterować kroki o dokładne stopnie 1.8 stopnia. I za bardo tego nie rozumiem. Silnik wykonuje 200 pełnych kroków na obrót. 360st co 1.8st. Liczba 250 to mikrokroki na 1 krok(załatwia to sterownik w zależności od ustawienia zworek), stąd 250 (mikrokroków na 1 pełny...
Poprawny i dokładny stosunek podziału to 921600, czyli np. 14400 * 64 albo 3600 * 256 albo 900 * 1024. Jak widzisz nie ma żadnego problemu z zaprogramowaniem timera na taką częstotliwość.
problem jest taki, że ma wbudowany własny timer, który nim steruje, podobnie jak pompa. Oba urządzenia mają różne cykle pracy i... się rozjeżdzają, a generator bez pompy nie pracuje, wywala błąd. Rozwiązaniem by było ominąć timer generatora i tu jak sądzę, teoretycznie nikt nie podpowie jak to zrobić, więc w zasadzie o to nie pytam, chyba że ktoś rozgryzł...
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
Na razie patrzyłem tylko w dokumentację Bascoma... dokumentacje tego procka ma coś koło 250 stron :/ Jeśli już wiesz ogólnie jak działają avr-y , to wtedy dokumentację czytaj wybiórczo , czyli tę część która Cie interesuje ;) Z dokumentacji Bascoma wynika, że stosując polecenie config timer nie da się ustawić prescalera dla trybu PWM... Między innymi...
Timer 1 jest 16bitowy. Częstotliwość taktowania mikrokontrolera to 11059200. Preskaler dzieli tę częstotliwość przez 256. Czas przepełnienia takiego timera wyniesie około 1,51s . Żeby mierzyć małe częstotliwości będziesz musiał zwiększyć podział.
No to w Bascom mało pisałeś, ja sam osobiście znalazłem kilka błędów kompilatora (dla mnie ich rozgryzienie było formalnością, ale dla początkującego - to dramat), te które najbardziej zapamiętałem to: 1. Instrukcja start timer nie działa dla niektórych timerów niektórych procesorów (m. in. m2560, m644p - stwierdzone osobiście, miałem też raporty o...
Cześć Do osiągnięcia 1 sekundy zastosowałbym timer 1 (16-bit). Wartość OCR1A ustawiłbym 9,6MHz/1024 = 9375 i otrzymam bardzo blisko 1 sekundy. Bez zbędnych kombinacji 1) Skąd niby wziąć w tiny13 timer 16-bit? To nie tiny25. 2) Jeśli już miałby 16-bit, to nie blisko sekundy ale dokładnie (na ile pozwala dokładność generatora) sekundę uzyska dla prekskanera...
No jak? Przecież dla 4kHz wychodzi dokładny podział. 8MHz / 2000 = 4kHz. I krok PWMa 1% co równo 20 wartości Timera.
Preskaler od T2 ma podziały: 8 32 64 128 256 1024
konfiguracja timerów łączenie timerów błędy timerów
różnicówka przewody migająca dioda schemat przestawiacz kąta wtrysku
Download PQ Files for Vestel VES490QNDL-2D-N11 Panel and 17MB130S Mainboard Silnik spalinowy wolnossący – trudny pierwszy rozruch, przyczyny i diagnostyka