Diody D1-D5 nie zabezpieczają tranzystora, tylko źródło zasilania. A jednak nie, diody zabezpieczają tranzystory przed przebiciem, tyle że nie znamy rodzaju obciążenia, i nie tego dotyczyło pytanie. Przy MOSFET-ach nie trzeba zmieniać nic, ale przy FMMT619 - ? - co jest obciążeniem w kolektorach, jaki prąd obciążenia? - bo przy rezystorach bazowych...
Witam Walczę z programem w Bascomie (coraz mniej mi się on podoba) listing poniżej. Docelowo będzie to zegar na lampach nixe. Projekt bazujący na mirley, ale zmianę ustawień chcę zrobić na impulsatorze. Dlaczego funkcja Zmiana_godziny i Zmiana_minuty nie zwraca mi wartości? Edytowałem post umieszczając w tytule znacznik
PORTC &= ~_BV(3); - wyzerowanie PORTC |= _BV(3); - ustawienie i jeszcze: PORTC ^= _BV(3); - zmiana stanu.
Swego czasu zbudowałem to urządzenie i problem złych ustawień został rozwiązany raz na zawsze: https://www.elektroda.pl/rtvforum/topic1... Wkładasz procesor, wciskasz jeden przycisk i masz ustawienia fabryczne. Gotowe urządzenia też są do kupienia :).
Pomyśl o tym, aby zapamiętywać stan poprzedni i inkrementować licznik jedynie w przypadku zmiany stanu.
Prościej sie nie da : 'w góre if pinb.5 = 0 then if A <> 4 then 'wartosc maxymalna A incr A waitms 100 end if end if 'w dół if pinb.6 = 0 then if A <> 0 then 'wartosc minimalna A decr A waitms 100 end if end if
Przychodzi Tobie prostokąt o wypełnieniu ok. 1-2ms co kilkadziesiąt ms. Musisz podłączyć ten sygnał pod przerwanie w atmega i timerem mierzyć czas pomiędzy zmianą sygnału z "0" na "1" a zmianą z "1" na "0". Z tej informacji generujesz odpowiednie PWM. PS. Ze względu na to, że nowsze atmegi mają więcej wyjść PWM polecam np. atmega88 zamiast atmega8.
chciałbym wykorzystać do tego wewnętrzny kwarc To będzie raczej niemożliwe bo w środku kwarcu nie ma jest tylko układ generatora rc . Za wszystkie ustawienia odpowiadają Fuse-bity a jedyne co trzeba czasem zrobić programowo to umieścić wartość kalibracji w odpowiednim rejestrze żeby osiągnąć żądaną częstotliwość oscylacji i jej dokładność . Jednak...
Nie wiem czy wyjdzie to jako kolejny post lub dodany po czasie :D ..., ale po pierwsze chciałbym byś nie myślał że moje uwagi są złośliwe. Po prostu zapytań o różne aspekty programowania w Bascom jest tak wiele że lepiej jest odpowiedzieć na ogólnodostępnym forum niż musieć sie powtarzać. Jest szansa że jeszcze ktoś to przeczyta :D Zamiast za każdym...
Uruchomi się - tak jak pisał kol. (at)dondu na wejściu masz układy Schmitta, czyli po przekroczeniu poziomu progowego nastąpi zmiana stanu. Problem w tym, że dla różnych egzemplarzy ATMega, czy różnych warunków, ten próg będzie nieco dryfował. Więc średnio to się nadaje np. do tego, aby odmierzać czas stałej RC.
Różnicą między tymi 2 kostkami są tylko charakterystyki elektryczne - głównie zmniejszony pobór prądu. Reszta bez zmian.
Mówiąc o ponownym łączeniu miałem na myśli aplikację po stronie PC - najpierw wysyłam komunikat z domyślną prędkością, później zamykam port i otwieram go ponownie z nowym BR. Fragment kodu zamieściłem w #1 poście. Kwarc oczywiście okrągły dla UART - 11.0592 MHz.
No tak wszystko przez jeden mały guziczek ........... działa listing czasu ze zmiana co sekundę ........ ja byłem przekonany że nim tylko wgrywa sie soft do procka
Jesli jest taka możliwość to bardzo proszę o zmiany. Atmega leżała , teraz się przyda'
Witam W tym rejestrze tylko dwa bity dadzą się zmienić i przy okazji odpowiadają one za rozdzielczość więc wpisanie do rejestru wartości 63 dzisiętnie lub 3F hexadecymalnie załatwia sprawę. -- pozdrawiam
Dodaj na początku dim flaga as byte. Resztę masz- podprogramy i główną pętlę. 'PROGRAM DO STEROWANIA SILNIKIEM KROKOWYM $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output 'czyli uaktywniam porty D Portb = &B01110111 'określam który z portów będzie jako pierwszy aktywny Config Pind.2 = Input Pind.2 = 1 Config Debounce = 30 'czekaj...
chcialbym sam wygenerowac takie dzwieki przez zmiane ksztaltu i czestotliwosci fali dzwiekowej - tym samym zmiane napiecia podawanego na buzzerek... tylko nie wiem jak takie fale moga wygladac Swego czasu potrzebowałem wygenerować taki ładny ding-dong do dzwonka i miałem programik w którym projektowało się dźwięk na podstawie czasu trwania, częstotliwości,...
Witam, mam pytanie, czy kilkukrotna zmiana napięcia zasilania układu może spowodować trwałe uszkodzenie mikroprocesora? Używałem Atmegi 328P zasilanej programatorem USBASP zmieniając napięcie na programatorze z 3V3 na 5V. Raczej nie aczkolwiek miałem przypadek, że przy duzej prędkości były błedy przy progrmowaniu na 3.3V. Pewnie FLASH przy nizszym...
Stawiam na zly uklad drivera tzn uzycie tranzystorow NPN w niewlasciwej dla nich konfiguracji. Diody sluza "tylko" do zabezpieczenia tranzystorow przed popaleniem przez napiecia indukowane w silniku i nie powinny miec wplywu. Co do ULN2003 to jest to poprostu "uklad z czerwonej ramki" w postaci ukladu scalonego - kod programu sie nie zmienia. Przyklad...
Niestety nic nie daje żadna zmiana zegara.
Poprawiłem. Wiem, że goto nie powinienem tam użyć, ale jest to wersja robocza. W każdym razie dalej proszę o pomoc w rozwiązaniu problemu. Tu pomocy nie dostaniesz. Usuń to co napisałeś bo to herezje. Zacznij od nauki podstaw C. Jakiś kurs przeczytaj czy coś dopiero wróć. Po twoje poprawki zwiększają herezje. Funkcja która ma parametry przekazywane...
Witam. Wrzucam dump mojego firmware 1,12k - kupiony około 2018-2019r. Fuses & lock bits: L:0xF7 H:0xDF E:0xFC LB:0xFF U mnie na szczęście padł SRV05-4
I o to właśnie chodzi - 2 takty na bit, czyli 16 taktów na bajt, reszta funkcji wykonuje się porównywalną ilość czasu, w efekcie za 50% odpowiada samo SPI. Druga rzecz - kompilator ma pewną dowolność w tworzeniu kodu asemblerowego, a to znaczy, że nie jesteś w stanie dokładnie powiedzieć ile ten kod się wykonuje. Dokładniej - jesteś w stanie, ale tylko...
Nad takim też myślałem ale to nie jest to. Chodzi o to, że pin wejścia będzie podpięty pod linie 5V w komputerze i jeśli będzie wykryty sygnał (to 5V) to wtedy na pinie przykładowo 13 będzie przez określony czas stan wysoki. Przez określony czas tylko. A jeśli stan tej lini 5V zmieni się na zero to wtedy znów na ten określony czas będzie stan wysoki...
Niestety... bez zmian.
Najpierw zastanów się po co chcesz tak dziwacznie podłączyć magistralę danych? Tak się po prostu nie robi. Dlaczego? Bo do LCD zapisujesz bajtami, aby bajt porozbijać na bity, tak aby dało się to przesłać do LCD będzie potrzebne wiele instrukcji, czyli dostęp do LCD będzie wolny. Poza tym wybrałeś procesor, który nie umożliwia w prosty sposób selektywnej...
Może zastanów się nad zmianą mikrokontrolera, atmega 640 bodajże ma 20Mhz.
No normalnie - chcesz zmienić baud na 31250 to wywołujesz: Serial.begin(31250);
zastosuj układ ds 1813 do zerowania procka wyłacz WDT i BOD wtedy potestuj a i zmień kwarca na inny egzęplaż czasem usunięcie lub zmiana c przy kwarcu też daje efekt . problem ze źle startującym oscylatorem ,lub ustawieniem procka na wewętrzny oscylator co kończy sie niewyrobieniem proca przd wtd i resetem ...
Poszukaj w tematach Freddiego Chopina bo on kiedyś pytał o pomiar zmiany rezystancji.
Proszę bardzo http://stud.wsi.edu.pl/~sikrolb/miernik_... Co do tych pozostałych bramek podłacz je rownolegle i na wyjście generatora w ten sposob zwiekszysz jego wydajność pradową na wyjsciu i wtedy mozesz podłaczyc rózne kształtowniki pasywne RLC :D
Podstawą pomocy jest komplet informacji od pytającego. W szczególności: - schemat lub opis połączeń - ok podałeś oznaczenie płytki... ale przypuszczam, że mało komu będzie się chciało szukać schematu - opis "co program powinien robić" oraz "co program robi w rzeczywistości" - to co obserwujesz, wynika dokładnie z Twojego programu... nie wiadomo natomiast...
DZIEKUJE CI !! NAPROWADZILES MNIE NA ODPOWIEDZ :) POLEGA TO NA WYGENEROWANIU WYSOKIEJ CZESTOTLIWOSCI, A NASTEPNIE ZMIANIE WYPELNIENIA :)
Jeżeli znasz ASM na Z80, masz źródła i bazę softwareowo/sprzętową do pracy z Z80 (tak wiem wiele tam nie potrzeba ale najczęściej trzeba mieć chociażby programator i kasowarkę UV do epromów z okienkiem oraz soft z którym będzie on chciał działać) i jest to jedno urządzenie do modyfikacji w sensie jednej sztuki (czyli przypadek raczej szczególny niż...
AVRy maja inne instrukcje operujace na pamieci FLASH a inne na SRAM, co w polaczeniu z nie do konca rozgarnietym kompilatorem jakim jest gcc stwarza koniecznosc uzycia specjalnych makr do odczytu zmiennych umieszczonych w pamieci FLASH - przejrzyj zawartosc pliku avr\pgmspace.h - powinno sie wyjasnic. Dodatkowo poniewaz ATMega128 ma wiecej pamieci niz...
bezpośrednio z usb to raczej nie wypali... może Masz gdzieś wmontowany układ ft232rl - jeden z pinów po konfiguracji w mprog może służyć jako zegar. Chyba że masz RS-a lub LPT... albo jakiś inny działający AVR z zewnętrznym rezonatorem kwarcowym - z XTAL2 możesz "zassać" taktowanie.
Zmiana w Fusebitach czasu startu nic nie pomagała. Tak samo sprawa wyglądała z konfiguracją BOD. Co do połaczenia AVCC to musze to sprawdzić,powiadomie o efektach za jakiś czas.
Kupiłem jakiś czas temu od Antela Programator AVR ATB USBASP 4.2 i do tej pory nie miałem przypadku aby nie było komunikacji z procesorami . Z poziomu Bascoma dostaje sie do At8 , 328, 128 , 2560 tylko do tego przeklętego klona nie mode się dobić. Zmiana zegarów nic nie daje
Właśnie o to mi chodziło. Przeglądałem to polecenie w wersji [syntax=c] Config Clock = soft [/syntax] ale tam była informacja, że potrzebny jest Timer, a ja już wolnego nie mam. Wystarczyła zmiana nazwy podprogramu do odczytu czasu i dopisanie zmiennych tak, jak Kolega podał i już. Działa jak trzeba, czyli przy odczycie karty SD w komputerze jest poprawna...
Witam, Wykorzystałem w swoim projekcie timer PWM i chciałbym dokonywać pomiarów napięcia po jakimś czasie od zmiany stanu z 0 na 1. Czy zrobić to za pomocą dodatkowego Timera? Może jakieś inne rozwiązania? Projekt na ATmega 168PA
Zamiast zadawać pytania, poszukaj na nie odpowiedzi w dokumentacji - przeczytaj, jak działa timer w trybie PWM z limitem w ICR1. Ani okresu, ani wypełnienia nie ustawiasz w procentach, a w cyklach zegara. Zmiana jednego nie ma wpływu na drugie.
w zależności jak uruchomię, tak pozostanie stała wartość. Jeśli uruchmię z zwartym pinem do masy - mam 0, jesli do Vcc - 1023. W czasie działania układu, zmiana napięcia nic nie wpływa na prace płytki ;/
a gdzie tu wpleść PWM który będzie działać z częstotliwością 1kHz?? Ale PWM nie potrzebuje przerwania chyba że chcesz koniecznie programowy. Po to wymyślono PWM sprzętowy żeby własnie takich cudów nie wymyślac. A zabierze on 0.0001% czasu procesora łącznie uz uaktualnianiem co 0.2s. Jak chcesz umiescic w przerwaniu 0.16s to nawet 3 atmegi64 sobie nie...
Zmiana bitów w atmedze spowodowała, że atmega budzi się z uśpienia na czas, ale cóż z tego. Na wyświetlaczu error, raz na 20 prób coś kaleczy i wyświetla nr ale niekompletny... Dodano po 1 ...dostawa CMX612 z aliexpres to 60 dni, wolę nie wiedzieć za ile.
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
wie wie , nie wiem czy mnie dobrze rozumiecie więc dam zdjęcia jedno jest zrobione z góry prostopadle do wyświetlacza a drugie jest zrobione pod kątem , dodam że wyświetlacz cały czas wyświetla to samo. http://obrazki.elektroda.net/34_12214814... http://obrazki.elektroda.net/78_12214815... i pojęcia nie mam co dalej 16x2 działa dobrze...
Nie musisz mnie słuchać. Ale ponieważ sam potrafiłeś jedynie odłączyć LCD to ci podpowiadam, że to nie musi być ATmega. To może być OPROGRAMOWANIE, które czeka na odpowiedź z uszkodzonego LCD. I mój post dotyczył zmiany oprogramowania dla testu....
Taki bubel całkowicie krzyżuje mi plany Masz rację, zrobiłeś bubel ;) który na szczęście można naprawić na kilka sposobów, z których najprostszy to wywołanie sei() w funkcji obsługującej przerwanie. Dlaczego tak się dzieje - po prostu dlatego, że na początku obsługi przerwania samo z siebie wywołuje się cli(). Najczęściej unika się tak długo trwających...
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
A co daje zmiana firmware?
Skoro zmieniałeś fusebity i ustawiłeś je na zewnętrzny kwarc Chyba nie. w zakładce External RC oscillator, To chyba nie kwarc. Spragniony_wiedzy Jeśli nic Ci się nie pomieszało i rzeczywiście przełączyłeś się na zewnętrzny oscylator RC, to podłącz XTAL1 przez 10k do VCC i powinno ruszyć. Pojemności montażowe zazwyczaj wystarczają. Jeśli nie wystarczą...
Wszystko jest w datasheecie na prawde :) Jesli wybierzesz odpowiedni tryb (o zmiennym czasie impulsu) to albo przez zmiane OCR1A albo ICR1A (pisze z pamieci).
Witam, jestem początkującym i popełniłem wielki błąd. Przy programowaniu Atmegi644P zapomniałem przestawić w AVR Studio typu mikrokontrolera. Wybarana była Atmega32. Po usilnym załadowaniu bina i zmianie fusebitów Atmega przestała odpowiadać. Da się coś z nią jeszcze zrobić? Używam programatora AVRISP mk II. Programator już jej nie widzi :(
https://obrazki.elektroda.pl/9764833100_... Witam, celem projektu było stworzenie prostownika/ładowarki wieloetapowej który w przeciwieństwie do fabrycznych konstrukcji pozwalałby naładować w pełni akumulatory samochodowe z płynnym elektrolitem. Czyli uzyskanie gęstości elektrolitu na poziomie 1.27 Wsad do uC dostępny na priv. NOWA...
A pokaż z jakimi parametrami wywołałeś avrdude.
Jak ten nagłówek powinien wyglądać i którą wartość modyfikować przy zmianie długości??
W ostatnim przypadku Atmega nie odpowiedziała nawet na żądanie o deskryptor... Komunikacja wchodzi w stan IDLE i tyle. Idealnie by było jakbyś w sofcie dodał jakieś logowanie komunikacji żeby zobaczyć co robi w tym czasie Twój procesor. Możesz dodać najprostsze wysyłanie przez RS232. Oscylogram też by się przydał bo te przebiegi co ostatnio wrzuciłeś...
12-kanałowy PWM realizowany programowo praktycznie nie zabiera czasu. Zrób tablicę o typie uint16_t, każdy bit to jeden kanał PWM - będzie ich więc 16, ale tak prościej. Interesuje cię powiedzmy 6-bitowy PWM (chyba wystarczy?), więc robisz tablicę 64-elementową. W przerwaniu timera inkrementujesz zmienną będącą indeksem do tablicy i na dwa porty wywalasz...
Faktycznie slawko_k rozpędziłem się. Sorki za wprowadzenie w błąd. Stosowałem dotychczas tylko at24c128 oraz at24c256 z uwagi na niską cene i z nimi nie ma problemów - mają 2 linie zmiany adresu. Radośnie przyjąłem że 3 linie adresowe dają jeszcze większe możliwości ale okazało się że dotyczy to tylko układów at24c01a i at24c02. Pozostałe rzeczywiście...
Podstawowym problemem jest to że wybierasz pixele z tablic ustawionych "pionowo". Działało by to znaczenie szybciej jak byś pakował pixele do tablic "poziomych" Tzn. takich gdzie każda tablica miała by powiedzmy 53 pixele i tych tablic było by 240. Wtedy te tablice o 53 pixelach jako że działało by to szybciej mogły by mieć więcej niż 53 pixele. Na...
Witam, Borykam się od pewnego czasu z problemem bliżej nieokreślonym. Oczekiwane działanie opisałem poniżej: Mikrokontroler (ATmega2560, umieszczona na płytce "chiński klon arduino") ma podłączony zestaw przycisków do wejść, oraz 8 diod led dla sygnalizowania statusu z drugiego mikrokontrolera. Ta płytka ma stanowić pilota, więc zmiany stanów na wejściach...
To tylko obejście problemu i świadczy o źle napisanej bibliotece. Chętnie bym ją poprawił, ale nie mam na czym jej przetestować... Obejście albo jedyny sposób.. Jak masz chęć to przerób bibliotekę, możesz ją podesłać a ja będę testował bo mam ten LCD z M128 złożony od jakiegoś czasu i jeszcze jakiś czas będzie tak złożony, bo projekt oscyloskopu który...
Witam. Wprowadziłem zmiany jak powyżej, ATMEGA dostała nowy firmware. Ale czujnik ruchu coś mi nie działa i enkoder działa mi na odwrót. Jak włączę nagrzeje, przejdzie w standby i ruszam i nic, nacisnę guzik enkodera - grzeje, wyjmę kostkę z płyty od czujnika ruchu, zaczyna grzać. Czy w płytce kolby powinna być dioda? Czy tylko ball sensor? Pozdrawiam
(at)dondu: Problem w tym że tamten program jest na ATmegę 8 a nie 16 co wymusza pewne zmiany w programie.
Nie, zmiana zbocza sygnału powoduje przepisanie wartości licznika timera do rejestru ICP, czyli zamrożenie jego wartości. Dzięki temu precyzyjnie można mierzyć czas pomiędzy zdarzeniami. Zbocze możesz sam wybrać.
No to spróbuj podłączyć zewnętrzny obwód RC. To taki problem?
Witam, Tak więc mam hardware jak w temacie, i na dodatek podłączony eeprom at24c08 razem z rtc ds1388 na twi. Atmega ma kryształ 18.432MHz, rezystory na linii SDA i SCL to 10k każdy. Na dodatek, jest jeszcze procek stp16cp05, czyli kontroler LED z seryjnym podaniem danych (główna część pętli while()) i LEDy podłączone pod PORTD.7 i 4. Oto część kodu:...
Waitms umieśicłem w pętli dlatego żeby była jakakolwiek komenda, myślałem że między while [warunek] a wend musi znajdować się jakieś polecenie, jednak okzauje się że go tam nie musi być. Sprawdziłem program po zamienie polecenia Set przycisk1 na Set PORTB.0 itd - działa idealnie, po kilkudziesięciu próbach nie było ani jednej nieudanej ani nie było...
Serafo jak masz jakieś propozycje to będę wdzięczny...... Wszystko sterowne z AT89c51 qrde, ciezko bedzie... jak juz pisalem, ja robilem to na MSP430, a to jest uP 16-to bitowy, pokusil bym sie o paisanie czegos takiego na AVRze z dosc szybkim zegarem, ale na zwyklym 51 obawiam sie ze bedzie problem po pierwsze jesli chcesz miec tylko uP bez peryferii...
Chociażby tego, który masz w Atmel Studio. Pytanie na ile znasz asembler? Wiesz chociaż w czym był napisany kod źródłowy? To był Bascom, C, czy czysty asembler? Przejrzyj kod startowy, jeśli gdzieś testowane są jakieś sumy, CRC itd. to raczej na początku kodu. Przede wszystkim podejrzane są o to fragmenty kodu zawierajace w długich pętlach instrukcje...
Twoje procedury obsługi przerwań są stosunkowo długie. Np. ISR(TIMER1_COMPA_vect) trwa ok. 670 taktów zegara. Z kolei odstęp między kolejnymi przerwaniami przy zmiennej okres1=127, jak sam napisałeś, wynosi 8*128=1024 taktów. Jeżeli zmienną okres1 zmniejszysz np. do 80 taktów, to przerwania będą częściej niż trwa ich obsługa, więc niektóre zostaną po...
Dlaczego nie wziąłeś mikrokontrolera z odpowiednią liczbą wyjść PWM albo zewnętrznego układu sterownika LED PWM? Jeśli już musisz tak plątać - u Atmela znajdziesz starą, dobrą notę aplikacyjną nt. programowego PWM - szukaj.
Ten algorytm zupełnie nie działa, bo nie posługuje się jakimkolwiek wiarygodnym wzorcem czasu. Nie wiesz więc, czy masz częstotliwość 5, 50 czy 500 Hz. WIszy tylko, że są jakieś zmiany stanu wejścia.
Zmiana tematu jest spowodowana brakiem srodkow pienieznych na programator ;). A co do pradu to to bedzie wisialo w klasie wiec zrobie zasilacz. Bede kozystal z wewnetrznych Timerow i przerwan. A mi chodzi o ustawienie go raz punkt 8:00 zeby dobrze chodzil rowno z dzwonkiem :). Teraz pracuje nad procedurami odliczania czasu:). Jak dojde do czegos konkretnego...
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...
Dzięki za cenne uwagi. Teraz wiem czego szukać. Generalnie zmiana kontrastu pokaże że dolna linia nie działa. Szpilki na zasilaniu przy LCD mogą się pojawić, nie dałem dodatkowego kondensatora. Inicjalizacja wyświetlacza co pewien okres czasu na pewno pomoże. Poprawki wykonam w Piątek lub Sobotę i się odezwę za tydzień. Kontrast jest regulowany dla...
Witam Tak z ciekawości: Co da zmiana z RS na USB ?? przecież procesor i tak posługuje sie RS, a ten układ FT245 to chyba przejściówka USB--->RS. Pozdrawiam USB -> 8-bit. Na szeregowcu uzyskam jedynie 115200 kbit/s. ATmega potrafi obsługiwać SPI z prędkością aż do 8Mbit/s (w praktyce mniej, choć i tak więcej, niż potrzeba do tego wyświetlacza), więc...
Projekt naprawdę użyteczny. Skorzystałem i zbudowałem swój egzemplarz. Napotkałem jednak pewien problem, na schemacie rezystory na liniach sygnałowych mają wartość 1k co w moim przypadku powodowało brak możliwości zapisu. Pomogła zmiana na 470ohm.
Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...
Wychodzi na to ze to wina srodowiska? Da sie jakos naprawic te usterke? Powiem szerze ze na eclipse bardzo przyjemnie mi sie pracuje:) ale jak takie bledy ma..to mozna caly tydzien szukac przyczyny.. Ja bardzo przepraszam za to co napiszę teraz, a i tak to będzie moja bardzo delikatna reakcja na elektrodzie, ale to co powyżej jest napisane to kompletna...
Witam Zacznę od tego, że uczę się programować Atmega. Napisałem programik (prosty dla początkujacego). Idea jest taka, że: - 3 swiche i 3 LED'y. Działanie programu: -wciskam 1 SW - zapala się 1 LED, 2 SW to 2 LED, 3 SW to 3 LED. Wciśnięty 1 SW pali się 1 LED ale wciśnięcie dodatkowo 2 SW spowoduje wygaszenie LED. I Tak w pzrypadku 2 i 3 oraz 1 i 3....
Odświeżam bo zmiana czasu jest rozwiązana w Bascom-ie bezpośrednio na dowolnej ATMega. Nie potrzeba zewnętrznego RTC. [syntax=vbnet] $regfile = "m32def.dat" 'procesor $crystal = 11059200 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "Datetime.lbx" Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Portd.6 , E = Portb.4 ,...
napisałem program zmieniłem taktowanie uc na 8MHz wgrałem program jedyne, co działa to obsługa przycisków Dodano po 24 Problem najpewniej występuje w tej części programu: Dodano po 3 66 osoby widziały ten post, ale tylko jedna odpowiedziała. Wiesz dlaczego? Ponieważ Twój kod i schemat są nieczytelne. Nadal to jest problem? Jakie mosfety włączają zasilanie?...
Witam! Od jakiegoś czasu zajmuję się trochę programowaniem uC Atmega. Wszystko było ok dopóki bawiłem się w to w systemie Windows. Zmiana środowiska na Linux stała się problem. Otóż: mam zestaw EVB 4.3 pod AVRDUDE w windows chodzi. Ale w Linux już nie :(. Wykonałem instrukcje z forum and-tech.pl: Instrukcja dla osĂłb korzystających z OS Debian/Ubuntu...
Nic nie ustawiałem, więc pewnie są domyślne "Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 8 są bity CKSEL3..0 = "0001" oraz SUT = "10". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i taktowaniem 1MHz."
(at)BK_klp kiedyś nawet odkodowałem sobie ten sygnał na AVR: https://obrazki.elektroda.pl/9065154400_... 16801652#16801652
http://obrazki.elektroda.pl/5016503100_1... Układ nadążny za słońcem- inaczej układ śledzący, jest rodzajem układu sterowania, który umożliwia automatyczne lub półautomatyczne wodzenie za Słońcem. Układy tego typu wykorzystuje się najczęściej w celu znacznego podniesienia wydajności baterii fotowoltaicznych lub kolektorów słonecznych....
Załadował sie 2 razy po czym wgrałem inny program który sie juz nie wgrał, po czym blink wgrał sie raz i teraz juz ani blink ani żaden inny - znowu trzeba wgrać bootloader - w sumie da sie z tym żyć ale trace dużo czasu przez to przy próbowaniu zmian w programie
Dopóki nie ruszasz fusów nie możesz przestawić nic, co by uniemożliwiało komunikację procesora z programatorem. Więc jeżeli udłało się go zaprogramować raz, to uda się też następnym razem, chyba że faktycznie procek uległ uszkodzeniu.
Temat rzeka, wielokrotnie poruszany na forum. Od strony mechanicznej pewnie sprawę rozwiązałeś, 2 silniki napędzające mechanizm pozycjonujący, może napisałbyś jakiego typu silniki chcesz zastosować. Wg mnie lepszym rozwiązaniem byłoby użycie silników krokowych, wtedy masz możliwość kontroli położenia i sprawdzenia, czy układu pozycjonujący działa (dwa...
Czy trzeba dokonywać zmian w programie, aby atmega współpracowała z kwarcem 16mhz? Czy wystarczy tylko skompilować zmieniając wpis w pliku makefile?
Zwróc uwagęna to, czas trwania stanu wysokiego na lini zegara SCK generowanego przez zmianę stanu lini PA1 jest bardzo krótki w porównaniu do trwania czasu niskiego: for (char a=0; a<8; a++) { PORTA &= ~0x80; // tu ustawianie w stan niski PORTA &= ~0x80; if((PINA & 0x20) == 0x20) Byte |= (0x80 >>...
Po małych zmianach działam na czymś takim. Pomimo taktowania z wewnętrznego kwarcu nie widać efektu. Jakiegokolwiek. [syntax=c]/* * RealTimeClock.c * * Created: 2013-11-17 01:46:48 * Author: Piotr Pabian */ #include <avr/io.h> #include <avr/interrupt.h> void init_RTC(void) { //ASSR = 1<<AS2; //Enable asynchronous mode TCCR2 = (1<<CS22)|(1<<CS21)|(1<&l...
Trochę czasu sterownik był już testowany ;) Czy można liczyć na udostępnienie kodu sterownika? Każdy ma swój rozum i musi się liczyć z tym, że nie jest to produkt komercyjny testowany przez X osób i sterownik może działać wadliwie. No w sumie 2 miesiące bezawaryjnej pracy praktycznie daje już jakieś minimalne poczucie bezpieczeństwa. Oczywiście w tym...
Moja uwzględnia czas, który upłynął od przerwania do załadowania timera. Może to mieć wpływ gdy wystąpi w tym samym czasie obsługa innego przerwania. Pod warunkiem że to przerwanie zabierze więcej czasu niż potrzebne będzie preskalerowi na 256 cykli. W przeciwnym przypadku nic nie trzeba korygować właśnie dzięki preskalerowi, który daje te 256 cykli...
Nie o to mi chodziło ale mniejsza z tym :) Poprawka oprogramowania z 14 kwietnia. Dziś sobie przypomniałem, że jak zaczynałem robić oscyloskop (jeszcze na wyświetlaczu L2F50) miałem go w drugą stronę (Jakby do góry nogami) i dlatego zapisywanie do bufora próbek musiało być wykonywane od tyłu żeby potem dobrze było to wyświetlać. I zapomniałem potem...
Kombinowałem na różne sposoby i nadal nie rozumiem na jakiej zasadzie odbywa się sterowanie tymi układami z poziomu programu. Samą tabelę z datasheet zrozumiałem ale nie widzę co trzeba zmieniać w programie, by móc dostosowywać go do swoich potrzeb. Mógłbym Cię prosić abyś dorzucił kilka komentarzy? Zdecydowanie pomogłoby mi to w zrozumieniu. Musisz...
W trybie CTC wartość timera jest zerowana, gdy TCNTx jest równe OCRxA. Nie pojawia się tutaj sprawdzenie w relacji większy/równy. Tak więc jeśli w danym momencie OCRxA jest równe 100, TCNTx 98 i w tym momencie zostanie wpisane do OCRxA wartość 96 to nie zostanie spełniony warunek dla TOP, timer będzie się zwiększał aż do 65535 (długa przerwa) kiedy...
Zmiana częstotliwości zegara i jest ok
A jak wpiąć termistor do przetwornika w ADC? Na zasadzie dzielnika napięcia dzielącego napięcie zasilania (5V lub 12V)? Pewnie będzie trzeba się troche pobawić przy kalibrowaniu obrotów bo termistor jest nieliniowy, modyfikacja obrotów za pomocą pwm zresztą też ale naszczęście będą to zapewne tylko drobne zmiany kodu.
zmiana atmega regulacja czasu atmega atmega licznik czasu
lm358 histereza drukarka blokuje tusze launch sprinter
Trudności z odpalaniem piły Oleo Mac 937 na zimno Ustawianie kąta wtrysku w VW LT 2.5 TDI za pomocą czujnika zegarowego