jakie jest ustawienie rezonatora wewnętrznego w atmedze 8 nowej? 1MHz Zmienić to można tylko fusebitami. Jeśli się boisz to tymczasowo - dla prób - możesz zmienić: "Counter1 = Counter1 + 34286 " na "Counter1 = Counter1 + 61629". Będzie prawie sekunda.
To wręcz pewne, że masz złe ustawienie. U mnie ustawienie by używał kwarcu to lfuse = 0xEE. Być może masz gdzieś ustawioną zmienną jakąś, która definiuje częstotliwość taktowania. Skąd funkcja opóźniająca ma wiedzieć, czym jest proc taktowany i jak szybko? Poszukaj zmiennej F_CPU albo F_OSC i ustaw właściwą wartość (takie zmienne są przynajmniej w C).
Mój problem przedstawia się następująco. Chciałem przetestować komunikacje pomiędzy atmegą8 i PC. Niestety na zlutowanej płytce uniwersalnej z atmegą jeszcze nie miałem kwarcu, mikrokontroler pracował na wewnętrznym rezonatorze i nie mogłem uzyskać nic poza krzaczkami. Przylutowałem więc do odpowiednich pinów podstawki rezonator 8mhz plus oraz w odpowiednich...
ustaw fusebity. było na forum wiele razy - użyj szukarki ;)
A jak podłączyłeś przycisk TOW do portu ? Standardowo ustawiamy port jako wejściowy i podciągamy go do plusa przez rezystor wewnętrzny a przyciskiem zwieramy do masy. Dodano po 4 Wystarczy wtedy uznajemy TOW jako aktywny z poziomem logicznym zero. Czyli zmienić tam gdzie TOW=1 na TOW=0 Jak przycisk jest wciśnięty to mamy zero jak wolny to jeden
F_CPU=10000000 i zmienić czasy oczekiwań odpowiednich dla 1MHz? Do tego zmień na milion, a nie dziesięć. Ściągnij sobie AVR LAB++ czy MK AVR Kalkulator (demo tego działa z Atmega8) i po prostu sobie przestaw na 8MHz. Gotowy hex, który Ci tu wrzuciłem zmienia stan led co 1s, jeśli masz zegar prawidłowo ustawiony to na pewno oczami zauważysz czy masz...
Sam nie stosowałem takiego czujnika ale mam w rękach działający sonar oparty o taki czujnik i działa niezawodnie, tylko jest bardzo wolny. Może dokonujesz pomiaru w nieodpowiednich momentach? http://www.konar.iiar.pwr.wroc.pl/articl... Dokumentacja "po naszemu"
Raczej tak, acz niekoniecznie. Zauważ, że transmisja TWI jest bardzo wolna, a działa niezależnie od zegara systemowego, bo jest popędzana sygnałem SCK z TWI. Z drugiej strony procesor utrzymuje SCK w stanie niskim sygnalizując brak gotowości urządzeniu master i to ty po wybudzeniu możesz ten fakt zmienić. W efekcie nawet jeśli wybudzenie będzie trwało...
Wolne piny zostawiłem w spokoju i działa - dzięki !
Chodziło mi o to że Fuse Bity sa dobrze ustawione a procesor i tak działa bardzo wolno. Czy Atmega8 ma jakis wewnętrzny dzielnik sygnału zegarowego ustawiany jakimś fuse bitem?
Wpisanie w programie info o prędkości nie ustawi mikrokontrolera na korzystanie z kwarcu. Prawdopodobnie ATMEGA32 jest ustawiony na 1MHz(ustawione podczas produkcji) dlatego wolno działa.
itoa musi działać. Stwórz nowy projekt, i sprawdź sam. U ciebie problem może leżeć zupełnie gdzie indziej i tylko przypadkiem objawia się w czasie konwersji. Strzelając zastanawiam się ile masz wolnej pamięci RAM? Patrząc jak umieszczasz teksty w programie, mogę przypuszczać, że wygląda to licho - one wszystkie lądują w SRAM. Idąc dalej mogę przypuszczać,...
Wpisz większą wartość do OCR1A, przerwanie wtedy musi wywoływać się rzadziej albo zrób tak jak czasami robię kiedy procek działa za szybko a potrzebuję mieć przerwanie rzadziej; zadeklaruj zmienną globalną, np: uint8_t licz = 0; SIGNAL(TIMER2_COMPA_vect) { licz++; if(licz >= 10) //liczba przykładowa, zależy jak często chcesz...
Dzisiaj ruszyło. Mogę ci jakoś dokładniej to opisać, ale teraz na szybko: zrobiłem dokładnie tak jak w manualu. Clock mam ok 10kHz, czyli raczej wolny. Głównym błędem jaki robiłem,to wywoływanie komendy SOFT_RST, a potem w niedalekim odstępie ADC_CVT i READ_PT. Po usunięciu SOFT_RST wszystko zaczęło chodzić. Chyba nie zachowałem odpowiedniego czasu...
Co do pierwszego kodu, prawdopodobnie uart działa zbyt wolno - błąd jest tutaj: UCSRC = _BV(UCSZ0) | _BV(UCSZ1); //--- ustawienie ramki, kolejno: długosc slowa - 8bitów UCSRC |= _BV(USBS); //--- ilosc bitów stop - 2 UCSRC |= _BV(URSEL); //--- zapis/odczyt danych z/do UCSRC Nie ma dowolności kiedy co ustawić, ustawiać...
ldi r16,(1<<TWPS0) sts TWSR,r16 ldi r16,18 sts TWBR,r16 ret z tego wychodzi preskaler 160 czyli przy 1Mhz sygnał clk ma czestotliwość 6250Hz. niby nic nie szkodzi że tak wolno ale sprubuj dać wiecej. dodał bym jeszcze ldi r16,(1<<TWEN) sts TWCR,r16 w procedurze inicjalizacji i jakieś jakieś małe opuźnienie. jak bede w domu...
Niepodłączony pin AVCC. O tyle ciekawe że w dokumentacji również piszą o podłączaniu tego pinu - a ja kiedyś nieświadomy zostawiałem wolny - i działa :)
Tak, dziękuje. Doszedłem do tego dzisiaj rano. Wszystko funkcjonuje w miarę poprawnie. W wolnej chwili udostepnie kod dla pozostałych osób z tym samym problemem.
okej już działa...teraz problem jest z tym że przy 25 "if" w przerwaniu program w pętli jest wykonywany bardzo wolno :/
według mnie to za wolno działa uC( ale jak naprawić to nie wiem), a ICR1 musiało gdzieś wyparować przy wklejaniu
Schemat i zdjecia drugiej strony - juteo (zostswilem na biurku w pracy). Co znaczy "zwarcie miedzy ukladem i konwerterem"? Maja polaczone masy, zasilanie oraz nadawanie i odbior na krzyz. Wiecej nic ich nie laczy. Zapytam o BOR - chodzi o to, ze napiecie zbyt wolno narasta w czasie wlaczenia i trzeba ustswic prog przy ktorym zaskoczy?
Dla ATmega8 na str. 91 jest wzór na częstotliwość PWM Może masz zbyt wolny zegar żeby uzyskać pełne sterowanie? Albo zbyt duży preskaler?
Przyznam się, że nie próbowałem pomijać reti skacząc do pętli głównej z ISR, ale już podmieniałem adres powrotu w projekcie minidds. Ale zakładam, że AVR ma to gdzieś i nie obchodzi go, czy ISR jest zapętlone, czy nie. Zresztą gdzieś w nocie pisało, że SEI w obsłudze przerwania może spowodować nadpisanie całego RAMu, jeżeli kod będzie wolny, więc raczej...
Pokaż jeszcze deskryptory, diody nie są za wolne dla takiej transmisji (max 187500 bajtów na sekundę, Ty masz dużo mniej) Nie używaj tego urządzenia bez tych diod.
Spróbowałem po nieudanej próbie wybudzenia sygnałem CLK zrobić to ręcznie i nie mogłem. Mimo zwarcia INT1 do masy procek nie wstawał :-/ Więc chyba to jest jakiś problem w samym procku. Jeśli to ma znaczenie to używam kwarca 16MHz w tej atmedze, bo 8MHz był za wolny. Ogranicza to manewry z czasem wstania z uśpienia do 16K CK.
Zmontowałem układzik wg schematu czujnik2.gif . Działa b. ładnie ale tylko przy zasilaniu symetrycznym. potrzebne jest dodatkowe -5V do zasilania LM-a. Odpowiedź na skokowe podanie sygnału wejściowego jest prawie niezauważlna, ułamek sekundy. Zauważ, że na wyjściach czujników zmiany będą b. wolne bo wilgotność nie zmienia sie skokowo. Układ działa tez...
O paleniu w łazience nie pomyślałem bo u mnie nikt nie pali, ale czemu nie! Można i to dołożyć. A wyświetlacz dałem tylko do symulacji ;-) w łazience jest tylko czujnik ruchu, "krańcowka" przy drzwiach i układ na Atmega8 (bo taki akurat miałem wolny) no i oczywiście przekaźnik załączający światło. Wszystko działa bez dotykowo i jest idiotoodporne.
Ja tak z ciekawości zapytam: co masz podłączone do PC6(ten żółty przewód) wiesz ze to jest reset? No i co z wolnymi pinami wyświetlacza są podłączone do masy? EDIT Czy kręcenie potencjometrem zmienia kontrast? Może podłącz diodę pod jakiś wolny pin i spróbuj ją zaświecić będzie wiadomo wtedy na 100% że mikrokontroler działa.
Rozwiązałem w międzyczasie ale dzięki bardzo. Przyjrzę się Twojemu rozwiązaniu. Ja nie mam ograniczenia liczby bajtów. Zapisuję je do tablicy a tablice wysyłam na LCD po Stopie. Adres mam ustawiany sprzętowo z portu mikrokontrolera. Obsługuję tez General Call. Do czasu wyświetlenia blokuje przerwanie od TWI aby niczego nie stracić - nie robiłem bufora...
Witam Mam prośbę dotyczącą konwersji wkładu z procka 90s4433 na Atmega8. Poskładałem sobie niedawno tan układ publikowany w EdW grudzień 2003 "Akwariowy kombajn" i nigdzie nie moge dostać mikroprocesora 90s4433. Wiem że jego rozbudowanym zamiennikiem jest Atmega8. Udało mi się przekonwertować program na procesor Atmega8 w programie BascomAVR jednak...
Sekwencja inicjalizacji wywietlacza jest nastepujaca: 1. Wlaczenie zasilania 2. Oczekiwanie min. 45ms (wewnetrzna inicjalizacja) 3. Wyslanie komendy : RS R/W D7 D6 D5 D4 0 0 0 0 1 1 przed ta operacja nie wolno sprawdzac znacznika busy 4. Oczekiwanie min 4.1 ms 5. Powtorz poprzednia komende 6. Oczekiwanie min. 100us 7. Powtorz poprzednia komende 8. Wyslanie...
Nie było mnie kilka dni (woodstock :d ) ale juz jestem powróciłem do projektu. dałem rezystor 10K między baze a mase - miga jak trzeba :D:D Fajnie ze jest nowy soft ale ja juz sobie podaruje bo działa i jest zmontowany z tranzystorem ;] - ale przyda sie kolejnym osobą :D Mis zrobiłem jak doradziłeś - poprawiłem luty jeszcze raz kupiłem nawet nowy stop...
(at)ele_marek Oczywiście jest to niewykonalne. Aby skalibrować cokolwiek potrzebujesz wzorzec. Tym wzorcem może być transmisja zwrotna. Jeśli tylko nadajesz to nie masz nic stabilnego w układzie wg czego mógłbyś zegar wykalibrować. Natomiast jeśli masz wolne piny to można zawsze zamias asynchronicznego UART, zrobić synchroniczny, wtedy master taktuje...
To ja mam inne pytanie. Z doświadczenia wiem, że taka Atmega8 działa przy napięciu 3.3V dość dobrze. I pytanie: czy to norma, czy wyjątek? Zastanawiam się właśnie nad urządzeniem na układzie Atmega32, w którym miałbym zasilanie 3.3V. I pytanie - czy mogę spokojnie zastosować atmegę bez "L", skoro zegar będzie dość wolny? Moje doświadczenie mówi, że...
1. Można wyłączyć optymalizację (opcja -O0). To się przydaje (czasem) przy debugowaniu (dla AVR może po JTAG-u, nie wiem, bo nigdy nie korzystałem). Ale program jest wtedy większy i wolniejszy. 2. Porty są zadeklarowane jako volatile, dlatego kompilator zawsze wykona do nich zapis/odczyt. 3. Przeczytaj jeszcze raz to, co napisałem powyżej. Według kompilatora...
Zbadałem systematycznie swój problem i okazało się, że przyczyną było włączenie przerwań ("sei"). Jeśli przerwań nie ma, to wszystko działa jak powinno, natomiast po ich włączeniu obserwuję kilkunastokrotne spowolnienie procesora. To jest prawdziwe spowolnienie, a nie tylko timera - pętla assemblerowa o znanej długości wykonuje się o wiele za wolno....
Zapewne da się to zrobić inaczej. Da się tak jak w C przy czym w Bascomie wystarcza tylko poprawne wykorzystanie przerwań i obsługa "manualna" kilku rejestrów co akurat dla większości bascomowców jest problematyczne, bo język sam z siebie przyzwyczaja do rozwiązań podanych na tacy. A skoro już trzeba robić coś ręcznie, żonglować bitami w rejestrach,...
To, że działa to nie znaczy, że jest wolny od błędów i ukończony. Działa pewna część, ale wygląda strasznie i daleko mu do pełnej funkcjonalności. Umieszczenie kodu w tej postaci w jakiej jest teraz byłoby daleko idącym nietaktem, bo nikt by z niego nie skorzystał. Postaram się go umieścić jak go doprowadzę do użyteczności.
To może jeszcze spróbuj tak. Wstaw kwarc poniżej 8MHz. Spróbuj ustawić oryginalne fusebity poleceniem: avrdude -p m8 -c stk200 -i 1000 -U lfuse:w:0xE4:m -U hfuse:w:0xD9:m (przy takiej wartości "-i" to trochę wolno idzie). Wykasuj pamięć avrdude -p m8 -c stk200 -i1000 -e Wklej pełne komunikaty AVRdude.
SPI_init wyleciał gdy czyściłem kod przed wrzuceniem na forum. Linia SS jest oczywiście wolna. Co zauważyłem przed momentem - o.O - moja atmega8 jest czuła na dotyk. Gdy przyłożę palec w okolice portów SPI port zaczyna reagować. Z góry mówię że nie ma tutaj nic do rzeczy lut ani docisk do płytki. o.O EDIT: Zaczynam czuć się troszkę jak szaman. :/ Zmieniłem...
Witam wykonałem układ pod wyświetlacz 2x16 znaków i mam pewien problem. Gdy ustawie go na wewnętrzny kwarc 8MHz (0100) to działa wszystko dobrze tylko trochę wolno, a jeśli ustawie fusy na zewnętrzny kwarc 16MHz czyli tak jak jest w układzie (1111) to wyświetla mi tylko połowę widma tj. 8lini od lewej. Ktoś ma pomysł o jest nie tak ? Układ wykonałem...
Programowanie i odczyt eepromów działa na przejściówce usb-com ,ale bardzo wolno. Gorzej jest z picami, bo ten sam programator (też parę oporników i chyba 4 diody) na sprzętowym com śmiga aż miło a na przejściówce dochodzi do połowy i wywala błąd. W każdym razie eeprom odczytasz i zapiszesz.
Dla zainteresowanych i śledzących temat: prace nad zasilaczem postępują ale z braku czasu idzie to wszystko dość wolno. Zmobilizował mnie ten temat: http://www.elektroda.pl/rtvforum/topic29... więc działam dalej ale idę od tyłu czyli najpierw powstaje miernik (woltomierz i amperomierz) rozdzielczość 0.1V i 0.01A. Gdy skończę projekt płytki wrzucę...
Jeśli chodzi o przewód to jest dokładnie tak jak Kolega pisze, wisi/leży. Jednak ten tranzystor faktycznie bez sensu, dalej nie działa jak trzeba. Dodatkowo termometr w obu wskazaniach pokazuje tę samą temperaturę, braną z jednego czujnika. Rezystorów podciągających nie ma - zostawiłem cztery wolne piny ( w tym INT0 i INT1 ) jako wejścia/wyjścia Co...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Może wyjęcie zworki JP3 - slow sck pomoże Nawet nie ma co pomagać, ta zworka jest po to żeby zaprogramować procki, które domyślnie ustawione są na 1MHz i nie zawsze bez tej zworki chcą się programować. Wtedy dopiero się ją zakłada. No chyba, że ktoś cały czas pracuje na procku ustawionym na 1MHz (wewn. oscylator) to wtedy ma ZONKA. Pomóc może jeszcze...
Siedziałem nad tym parę godzin i sprawdzałem na różne sposoby i nadal to samo :| doszedłem do wniosku że albo układ mam spalony albo jest on po prostu za wolny i trzeba go wymienić na jakiś szybszy :| Da się jakoś sprawdzić czy ten układ działa poprawnie np. za pomocą LED-ów mam całe pudełko zielonych i pomarańczowych LED-ów.
Witam, złożyłem sobie układ z Atmegą8 zaprogramowałem co chciałem ale dalej poległem. Otóż jednym z wyjść atmega ma sterować żarówką o mocy 1,2W. W tej chwili tę nóżkę w atmedze ma podłączoną przez rezystor do diody a diodę z drugiej strony do masy i wszystko działa. Z tego co przeczytałem na forum to nie wolno żarówki bezpośrednio do procka podłączyć....
Gdyby ktoś miał działający wsad HEX ale nie tylko do ATmega8 ale również ATtiny2313 to prosiłbym o nakierowanie na niego abym miał pewność że on działa dla ATtiny2313 a reszty będę szukał sam na płytce (może jakimś cudem bład) może opisze problem Zmieniałem fuse bity zjezdzajac z częstotliwością pokoleji jak to leciało 8MHz 8MHz/8 4MHz 4MHz/8 1MHz 1MHz/8...
Witam ponownie, dokonałem dzisiaj długich i żmudnych testów odnośnie prędkości i ilości wysyłanych danych pod kątem błędów transmisji. testy robiłem transmitując z procka do PC 800 bajtów z pamięci SRAM ATmega8 9600 - bez najmniejszych problemów 19200 - bez najmniejszych problemów 38400 - bez najmniejszych problemów 57600 - raz na kilka transmisji zgubiny...
A ja proponuje oryginalny programator AVRISPmkII. Potrafi się dostosować napięciowo do programowanego układu, jest zabójczo szybki, działa na USB (pozostawiasz wolne porty COM do komunikacji z tworzonym układem), i ma możliwość upgrade'u wersji firmware. Do tego kontrola poprawności podłączenia i zabezpieczenia przeciwswarciowe. 160zł to nie wydatek,...
Jeśli chodzi o resterty, to czy mogą one być spowodowane dużą ilością zmiennych zadeklarowanych, oraz to że wykożystuje przerwanie ( 42 zmienne i przerwanie na przepełnieniu TIMER1 co 0,2sek). Czytałem gdzieś że zmienne powinny być deklarowane w odpowiedniej kolejności. W symulatorze działa ok ( i tam się niezawiesza), chociaż działa bardzo wolno. Gdyby...
Dziękuję za pomoc. Poradziłem sobie ciut wcześniej za pomocą programu burnomat. Swoją drogą bardzo przejrzysty program i prosty w obsłudze. Oczywiście uprzednio sporo czytając, że ów problem leży w tych magicznych fusebitach (o których do tej pory nie musiałem nic wiedzieć, bo procesor który dostałem z płytką testową był już odpowiednio "ustawiony")....
Cześć Patrzyłem na ten program, nie wiem jak to jest z tym Config Port, dla wszelakiej pewności dodałbym DDRB ..... Wejście przy Debounce ustawiłbym z podciąganiem, zresztą nigdy mi Debounce nie działało prawidłowo i zawsze robiłem swoją obsługę klawisza, może w tym jest przyczyna ?? Ustaw jakiś wolną pętlę nawet z instrukcjami Waitms i wyświetlaj naprzemian...
Dzięki za pomoc. Zastanawiam się, czy nie lepszym rozwiązaniem będzie podanie SCK mastera dodatkowo na INT0 slave. Tak żeby pierwsze zbocze zegara wywoływało przerwanie. Czy wtedy transmisja przejdzie bez problemów? I bezbłędnie przy użyciu samych poleceń SPI IN/OUT? Zależy mi na transmisji od razu 8 bajtów. A jak jest z UARTem? Nie miałem okazji jeszcze...
Upewnij się, że masz wszystkie piny podłączone dokładnie te same co ja, Program powinien działać , bo ja go bez problemów portowałem na Atmega 162. Na początek upewnij się czy diody led masz poprawnie podłączone czyli Pind.4 i pind.5 Pierwsza powinna się zapalić kiedy mikroprocesor poprawnie się dogada z telefonem. Druga zapala się podczas odbierania...
Witam Napisałem program z obsługa lcd 3310 , no i troszkę miejsca sie zaczęło mało robić więc zmieniłem procek z mega8 na 168 no i program ruszył ale... cały program chodzi za wolno (fusebity wydaje mi się ze zmieniałem poprawnie) grafika wczytuje mi się wolniej (widzę jak się rysuje) w atmedze8 tak nie było waity tez są za długie. miałem zrobione na...
Witam! od jakiegoś czasu jestem w trakcie robienia mojego projektu, jednak po skończeniu całego układu okazało się, ze wewnętrzny generator 8MHz jest za wolny :( na dodanie zewnętrznego generatora jest za późno, bo procesor którego użyłem ma tylko jeden pin wolny i to ADC, a prawdę mówiąc nie podoba mi się zbytnio dawać nowego uC (atmegi 16). Jest jakaś...
Też uważam że to już przerost formy nad treścią. Można iść dalej w tych wywodach. Wzór L*dI/dt działa także przy układach z mniejszymi pojemnościami i indukcyjnościami , czy zatem przy 10n, 100p czy 10p też mamy dawać szeregowe rezystory? :D :D Przecież zgodnie z teorią także wystąpią szpilki o ogromnym napięciu? Idąc dalej tym tokiem myślenia to wogóle...
stronkę dobrze znam, tylko poprzednie USB2LPT, były na układach Cypress'a, które chodzą na USB High-Speed, a sam uC na 48MHz, więc zastanawiam się czy układ z AVR działa z Xilinx'em, bo o ile się orientuję to na AVR można wyciągnąć jedynie standard USB 1.1 i zastanawiam się czy to nie będzie za wolno dla Xilinx'a
Sterownik na ATMEGA8 v1.0 z nestor-electronic jako dedykowany (Higrometr regulator wilgotności temperatury) . Dla AM2302 – jest zamienny z DHT22 pokazuje mi 0 lub 1 stopień i 3% wilgotności. Kiedy zwróciłem się do nestor w sprawie małej dokładności DHT 11 kazał zmienić na DHT 22 ale uprzedził , że nie testował go w układzie . Czuje że ATMEGA8...
Dopiero teraz mogłem sprawdzić działanie układu wg Ciebie kolego WOBI. Rzeczywiście działa bez pudła jak zastosuje połączenie 3przewodowe:) Mogę prosić o podanie programu, gdyż chciałbym go zmodyfikować wg własnych potrzeb:) Mam jednak jedno zastrzeżenie, zastosowałem rezystor 1k podciągający, i teraz odświeżanie wyników jest nieco wolniejsze niż przedtem,...
Nie ciesz się tak bardzo, bo rzecz wcale jeszcze nie jest całkiem opanowana, wszystko zależy od rodzaju enkodera obrotowego. A jak się okazuje są ich przynajmniej dwa rodzaje: takie, które podczas jednego przeskoku grzechotki wykonują cały cykl złożony z czterech faz jak na rysunku z Twojego pierwszego postu, oraz takie, które przechodzą tylko z jednej...
No i lipa, Procesor działa bardzo wolno. zmieniłem $crystal = 1000000 i działa szybciej (dioda miga w cyklu około 1 s) ale dioda na konwerterze usb-rs232 nie zmienia tępa. dalej miga w odstepie około 2-3 razy wolniej niz deklaruje w programie. Zmiana w Fuspite na 8MHz też nic nie dała. Czy przyczyną może być brak zewnętrznego kwarca? Dodano po 1 Dobra....
To nie diody mrugają a wyświetlane dane. Wszystkie używane przeze mnie wyjścia są podłączone przez uln 2003apg. Sprawdzałem też na zasilaczu warsztowym i to samo. Takich usterek raczej bym się dopatrzył. Dziwne jest to że im krótszy napis tym bardziej miga, i to mruganie jest tak jak pisałem ok 8 razy i stabilnie świeci ale dzieje się to w ciągu około...
Mnie link się otwiera, ale strona jakoś wolno działa. Schemat, który tam jest (standard): http://obrazki.elektroda.net/50_11992084... Dalej jest opis montażu układu na płytce uniwersalnej. STK200 śmiga mi bezproblemowo na kablu LPT 2 metry. Nigdy nie miałem z tym problemu, ale może i to autor wątku powinien sprawdzić. Pzdr.
Witaj, Przypomnij się na email to podrzucę na forum obsługę TWI do Atmeg napisaną w C działającą na 100%. TWI nie jest trudne ale z tego co pamiętam to jest tam jakiś myczek z zapisem do rejestrów. Pozdrawiam Dodano po 3 Witam, autor tematu otrzymał już obsługę I2C w C, ale tak sobie pomyślałem że od czasu do czasu pojawia się takiż problem dlatego...
wyłączanie zegara i konfigurowanie go w przerwaniu - to nie wygląda za dobrze...Szczególnie jeśli chodzi o rejestry MCUCR Akurat ta część działa prawidłowo i została zrobiona wg. wskazówek i porad, które znalazłem tutaj na elektrodzie. Mam problem z drugą częścią, z tym przerwaniem: SIGNAL (SIG_OUTPUT_COMPARE2) { ++cw_impuls; impuls=(cw_impuls*2)/1000;...
Na ostatnim schemacie masz źle podłączony reset do gniazda programowania - mają być połączone bezpośrednio, a rezystor ma podciągać do zasilania. Staraj się prowadzić linie na schemacie pod kątem prostym wzdłuż siatki. Unikaj prowadzenia skośnych ścieżek na schemacie (chyba, że już musisz), ale nigdy nie rób łączeń na takich liniach, bo mogą nie trafić...
Jak INTX ma cały czas stan niski to przerwanie jest cały czas wywoływane, a procesor wykonuje jedną instrukcję pentli głównej na jedną obsługę przerwania - czyli działa tylko że bardzo wolno. A rozwiązanie Twojego problemu jest proste. Gdy przyjdzie przerwanie od INTX w stanie niskim to przełączasz to budzisz procesora i przełączasz to przerwanie na...
Dla ułatwienia dodam że Bartek teraz działa na płytce EVBavr04 z Propoxu-nieco zmodyfikowaną- z podpiętą płytka stykową. Czas w tym wieku ma ZUPEŁNIE INNE ZNACZENIE niż w naszym. Płynie wolno- sam pamiętam. I zazdroszczę. A tak nieco poza tematem- Kod C TCCR1B |= (1<<WGM12); TCCR1B |= (1<<CS12)|(1<<CS10); OCR1A = 0x36d8; TIMSK |= (1<<OCIE1A);...
Wykonałem układ rozjaśniacza żarówki bo taki akurat potrzebuję, miękki start dla drogiej żarówki. Program to zwykły PWM z atmegi z izolacją optyczną i triakiem. Tylko z rozpędu zapomniałem o detekcji zera o czym przypomniałem sobie gdy żarówka dziwnie migotała na gotowym już projekcie. Mam wolne wyprowadzenia na pcb więc detekcję zera już dorobiłem...
Na reszcie zadziałał dziad jeden:). Po prostu zamówiłem inny wyświetlacz i przykręciłem go do tej płytki. Zarówno ten mój kod jak i Twój poszły za pierwszym razem. Ten który nie działa wygląda na oryginalny nokii (wytłoczony napis). I jest dużo staranniej wykonany niż ten co teraz mi działa. Spróbuję więc zmusić go do pracy. Mam kod na 51 który dodawał...
Kolego działa prawie że idealnie :) Wiedziałem że da się to w prosty sposób zrealizować, musiłałem tylko zmienić w 2 miejscach znak wielkosci bo działało na odwrót. If Pomiar_ac < 470 And Pwm1a > 0 Then Decr Pwm1a If Pomiar_ac > 470 And Pwm1a < 255 Then Incr Pwm1a A mówie że prawie idealnie bo zwiekszanie wartosci pwm o 1 trwa troche wolno...
Jedyne co jest poprawne w Twojej odpowiedzi z punktu widzenia elektrotechniki to to, że należy się skupić na momencie wyłączania tranzystora. Reszta to bajki. W pętli dioda - cewka prąd zmienia się wolno. (tu są długie przewody przy proponowanym przeze mnie połączeniu) Natomiast w przewodzie kolektor -(dioda,przekaźnik) szybko (tu są długie przewody...
Według niej w trybie idle zatrzymany zostaje zegar CPU, zegar Timerów działa nie przerwanie. Zatem nie będą występowały ŻADNE problemy z stabilnością zegara RTC, gdy: -w pętli głównej procesor będzie wprowadzany do trybu IDLE --w przerwaniu od TIMERA co 4ms odświeżane są wyświetlacze LED - Jest zgłaszane co przerwanie od licznika TIMER2 pracującego...
trochę kombinowałem i poradziłem sobie tak: Jako tarcze enkoderów zastosowałem zwykłe kółko z LEGO, które ma na swoim obwodzie 6 dziurek, do tego kupiony za 4zł transoptor szczelinowy. W sumie dało mi to ok 150 impulsów na jeden obrót koła. Niezbyt wiele, ale narazie starczy. Nie bawię się narazie detekcją kierunku obrotu, jedynie prędkością. Jeden...
Witajcie Mam problem z prawidłowym wystartowaniem tego LCD, ale po kolei: Piszę program na Atmega8 i mam podpięty pod niego wyświetlacz 3x24 DM157A (zgodny z HD44780), problem polega na tym, że gdy włączam zasilanie to bardzo często LCD dziwnie startuje, czasami po włączeniu nic nie wyswietla i nie działa, czasami pokazuje krzaczki lub kawałki dobrego...
Co do kodu: 1. Na początek zrezygnuj z przerwań. Obsługa 1wire wymaga dużej precyzji "czasowej" - opóźnienia liczą się w µs. Jeżeli w czasie trwania komunikacji 1wire pojawi się przerwanie to zależności czasowe się rozjadą. Jak już będzie działać to możesz wrócić do przerwań, ale wyłączać je na czas wysyłania/odbierania bitów z 1w. Lub jeszcze...
o bramce shmitta już słyszałem tydzień temu ściągnąłem program do symulacji (Circuit Design Suite 10.0)i ją przepisałem na symulatorze działa ok ale co mi z tego jak nie mam pojęcia czy jak kupie jakieś 2 tranzystory bądź je wylutuje z jakiegoś badziewia to będzie mi to działać jak na symulatorze? http://obrazki.elektroda.net/7_125829035...
Witam. Problem jest dość prosty do rozwiązania. Sam robiłem kiedyś gościowi podobny patent ( kontrola obrotów kilu kół pasowych ) w proszę się tylko nie śmiać w kombajnie do buraków. Patent działa w sposób następujący . Procek co 0,1 sekundy odczytuje stan portu do którego podpięte są czujniki . Dla każdego czujnika jest inny czas pomiędzy impulsami....
http://obrazki.elektroda.pl/3040116400_1... Model ten został wykonany przeze mnie i kolegę jako praca na zaliczenie do szkoły. Jest to proste, odwrócone wahadło zbudowane z drukarki atramentowej HP. Sterownik jest oparty o kontroler atmega8 ze względu na przetwornik adc. Jako czujnik przechylenia wahadła zastosowałem potencjometr, który...
No tak, ale przerwanie mam co jedną sekundę, więc świeciła by tylko jedna cyfra na przemian co sekundę. Dlatego włączyłem drugi timer: [syntax=cpp]//Nauka obsługi wyswietlaczy //Atmega8 12MHz #include <avr/io.h> #include <avr/interrupt.h> #include <stdint.h> #include <util/delay.h> #define wyswietlacz1 0x01 #define wyswietlacz2...
Myślę, że telefonu by nie spalił, bo kabel co idzie od maxa przy uC do telefonu też pewnie ma maxa w sobie. Więc połączenie jest typu uC<>Max232<>Max232<>te... i jest ok. Po narysowanej wtyczce widać że to kabel z wtyczką Cannona. Jeśli wepnie sie do Tx z telefonu ale już po stronie TTL to nic się nie bedzie działo, zwłaszcza, że...
Siema wszystkim. Od jakiegoś czasu siedzę nad moim projektem, posiada on 3 mikro kontrolery 2 Atmega8 i jeden Atmega32. Każdy z nich wykonuje inne funkcje w tym samym czasie, A32 jest szefem. Wymyśliłem system komunikacji miedzy nimi który polega na podawaniu sobie wzajemnie kodów sześciu cyfrowych w ciągu 100 milisekund. Wszystko działa super... mam...
Pomysł z jedną szerszą szczeliną jest świetny. I to z kilku powodów. Jeśli bym zastosował dodatkową szczelinę to układ w czasie normalnej pracy musiał by ją ignorować żeby tarcza dobrze się zatrzymywała. Timer musiał by cały czas liczyć czas między sąsiednimi szczelinami. A procek na podstawie czasów ignorował by tą dodatkową. A szersza szczelinę wystarczy...
Układ działa z vref 1,024 V sprawdzone praktycznie ! marek_Łódź na której stronie pdf-a jest info o parametrach diody zabezpieczającej porty ? Apropo ADC to istotnie projektant mógł wykorzystać wbudowaną diodę (jeżeli taka jest w strukturze ?) która wraz z rezystorem 100k nie pozwalała by na wzrost napięcia powyżej Vcc+Vd. Tu wykorzystano zatem myk,...
Timer 8-bitowy przepełnia się po zliczeniu do 256 a preskaler dzieli maksymalnie przez 1024 więc z prostego mnożenia wynika, że częstotliwość zegara, która spowoduje przepełnienie timera po 1 sekundzie to 1024x256=262144 Hz. Jeśli taktujesz mikrokontroler wyższą częstotliwością to na tym timerze nie zrobisz przerwania co 1 sekundę. Oczywiście timer...
Proste rozwiązanie i teoretycznie działa: Pisałem w czym problem, a Ty wymyśliłeś taki test żeby go nie znaleźć, ustaw jakiś realny prąd obciążenia i zmierz spadki napięcia na tranzystorach. Dowiesz się że taka "oszczędność" wymusi zastosowanie sporego radiatora. Nie wiem z jaką częstotliwością chcesz przełączać, ale najprawdopodobniej ten układ będzie...
ja bym wywalil to Portb = &B00000000 Portc = &B00000000 Portd = &B00000000 i sprawdzil czy dziala poza tym sprawdz kontrast. Jak masz zasilanie podpiete to czy sie swieci jeden wiersz ? i napewno bym nie podlaczyl lcd do pinow b.6 i b.7 (to jest wejscie na kwarc ktore czasem sie przydaje i warto je miec wolne) jeszcze te kondensatory chociaz jak zasilasz...
Atmega8 też biorę pod uwagę. Tylko nie "przerabiałem" jeszcze PWM, ale szybko się uczę :) Skoro nie ma odpowiednika 10 bitowego w/w PCF'a, to myślę jeszcze o załączaniu dzielnika 1/10, albo 1/2 po przekroczeniu 25V i mnożeniu wyniku w programie, bo na dużej dokładności aż tak bardzo mi nie zależy. Nie chciał bym tylko mieć nieliniowych wskazań w stylu:...
Tak wygląda gotowy projekt: http://obrazki.elektroda.net/71_12168947... http://obrazki.elektroda.net/26_12168947... http://obrazki.elektroda.net/1_121689479... Poziom świecenia wyświetlaczy jest dobry jak widać na zdjęciach, jednak mam pewny problem z mikrokontrolerem, który prawdopodobnie jest uszkodzony (czego efektem jest...
To chyba nie jest sterowanie półkrokowe- ma tylko 4 stany a przy półkrokowym powinno mieć 8. 1-1i2-2-2i3-3-3i4-4-4i1 itd. P.S. tak jak napisał karol 966. P.S2 I żadne opóźnienia nie są potrzebne. Bo jak dołożysz coś do swojego programu to będzie chodził strasznie wolno. Zastosuj przerwanie od któregoś Timera i zmieniaj stany po wystąpieniu przerwania-...
Witam Testowałem sobie funkcje Timera0 mojego ATMEGA8 i kiedy to chciałem zmienić Fuse Bits tak, aby podłączyć kwarc zegarkowy+2x33pF (bo wcześniej podłączony był 8MHz+2x22pF), to zarówno WinAVR jak i PonyProg przestał widzieć uC ;| - WinAVR pisze że błąd rc=1 i żeby sprawdzić połączenia, ale te raczej są 150% ok, a pony prog pisze że device missing...
Witam! Próbowałem... Niestety mi nie wyszło... Próbuję załączyć na początku 5 LEDów na porcie C (tylko ten mam wolny), w tym celu zrobiłem coś takiego: Aa = 24 Select Case Aa Case 0 : Portc = &B00000000 Case 40 To 31 : Portc = &B00111110 Case 31 To 22 : Portc = &B00111100 Case 22 To 13 : Portc = &B00111000 Case 13 To 4 : Portc =...
Witam, do "szymtro" wykonałem płytkę zapłon mikroprocesorowy v 1.1 z Twojej strony i mam pytania oraz zastrzeżenia -czy dobrze rozumiem, że diody zenera są tylko dla zabezpieczenia? -czy układ ze strony dokładnie taki był uruchamiany? -znalazłem błąd w połączeniach:na rysunku ideowym pin 21 (AREF) jest podłączony przez kond. 100nF do masy, a na rysunku...
Nie ma różnic, bo sposób przesyłania danych określa protokół programowania mikrokontrolera. Wiele programatorów ma procesory, ale one służą innym celom w zależności od typu programatora. Dla tanich (usbasp) procesor udaje urządzenie USB-device, najczęściej jest to jakaś ATMega8, w efekcie procesor jest średnio kompatybilny z USB, a całość działa wolno....
Napisz mi Piotrus po czym tak wnosisz? Wykonałeś chociaż jedną w swoim życiu próbę takiego podciągania czy po prostu tak zakładasz bo gdzieś przeczytałeś? Powiem Ci jak ja do sprawy podchodzę. Wszystko o czym piszę to nie są moje domniewania tylko rozwiązania które się sprawdzają w moich projektach. Kiedy odpowiadam na forum to często poprzedzę to jeszcze...
Walczyłem dzisiaj cały dzień i dopiero teraz zrobiłem coś inteligentnego co powinienem zrobić dawno. Odczyt działa, zawsze działał ! Ale jest dziwny błąd, zlokalizowałem go ale jeszcze nie znam przyczyny. Otóż zapisałem edytorem na karcie SD na samym jej początku różne wzory bitów, potem odczytałem w swoim urządzeniu i powstaje coś ciekawego: WZÓR BITOWY...
Kolego wszystko fajnie Ci wyszło ale zapomniałeś o jednej bardzo ważnej rzeczy mianowicie o obniżeniu częstotliwości programowania SLOW_SCK ! To jest bardzo ważne gdy programujesz procesor, który działa z częstotliwością mniejszą niż programator czyli f<=12MHz. Chyba że z góry obniżyłeś częstotliwość programowania ale wtedy to nie wiem kto chciał...
atmega8 wolno komputer wolno dziać internet wolno dziać
ferrytowy toroidalny płytka drukowana przetwornicy kreska środku
niegasnące światła stopu niegasnące światła stopu
Jak odzyskać hasło do nawigacji Navigon 33XX? Samsung Galaxy A32 5G - Ekran gaśnie na ułamek sekundy