Do wejścia PB2 dolutowałem 1uF (ceramik) plus kilka zmian w algorytmie. Wydaje się że problem drgania styków jest opanowany. [syntax=c] #define F_CPU 16000000UL // Atmega644 #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include <stdio.h> /*biblioteka podstawowa C*/ #include <stdlib.h> /*biblioteka...
Te nagrzewanie to nie jest dla mnie taki duży problem , bardziej chodzi mi o te krzaki na wyświetlaczu i uśpienie na które stacja fizycznie nie reaguje. A jak jest u Ciebie z uśpieniem ? Uspienie to połowa temperatury nastawionej? Moze to być wina wsadu lub samej atmegi? Wydaje mi się ze atmega dostaje sygnal z guźika o uspieniu, na wyświetlaczu się...
Mam małe pytanie odnośnie bascoma i układu atmega 8 .Napisałem program pilota który działa wykorzystuję sprzętowy uart i mój pilot pobiera dokładnie 21mA dwa razy więcej niż podobne piloty fabryczne pilot jest tak zaprojektowany że nie pobiera w ogóle prądu dopiero jak nacisnę któryś przycisk w pilocie to układ załącza zasilanie i uruchamia program...
Czy kondensator 100 nF nie powinien się znajdować po drugiej stronie dławika? Powinien: http://mikrokontrolery.blogspot.com/2011... Dodatkowo można jeszcze włączyć uśpienie do trybu ADC Noise Reduction , choć trudno wyrokować, czy w tym wypadku pomoże. A swoją drogą zacznij rysować schematy w jakimś programie: http://mikrokontrolery.blogspot.com/2011...
Witam. Mam problem z XMegą, konkretnie 32D4, choć sprawdzałem też na 64A3 i wyniki podobne. Chodzi o pobór prądu: http://obrazki.elektroda.pl/8605027100_1... Zgodnie z danymi podanymi w datasheet, pobór przez układ zasilany z 3.3V w trybie IDLE z zegarem wew 2MHz powinien wynosić około 270uA. Tak wygląda kod testowej aplikacji : [syntax=c]...
Witam! Moja ATmega8 przy pracy na wewnętrznym oscylatorze 8MHz pobiera aż 85 mA przy podłączeniu do niej tylko zasilania i programatora? Ma ktoś pomysł co może być tego przyczyną ? Przez pony-proga mogę odczytać urządzenie wiec jakoś tam niby działa. dziękuje za propozycje.
Witam, mam w ukladzie ATmega8 + MAX232 do komunikacji z komputerem. ATmega jest taktowana z zewnetrznego kwarcu 16MHz. Wydaje sie, ze fuse bity sa dobrze ustawione, bo do obliczenia parametru predkosci USART (wpisywanego w UBRR) musze wykorzystywac wlasnie 16000000. Mam jednak problem z timerami. Zarowno _delay_ms(), jak i _delay_loop_2() dzialaja tak,...
Witam, ta Xmega powinna pobierać w trybie power-down co najwyżej kilka uA - moja pobiera 135 uA w układzie bez peryferiów. Jedyne, co mam podłączone to mosfet p, ale zatkany oraz 2 elektrolity i kilka kondensatorów ceramicznych. Układ zasilam z baterii 3,6 V przez Shottky'ego - procesor dostaje 3,4 V. Na początku programu ustawiam wszystkie porty jako...
Witam, mam problem z zapisem do EEPROM po wyłączeniu zasilania. Dokładnie to zapisuje mi tylko pierwszą linijkę poniższego kodu: SIGNAL(SIG_INTERRUPT1) { eeprom_write_byte(&eeprom_val http://obrazki.elektroda.pl/1904090200_1...
Witam. Mam problem z układem i nie mogę sobie z tym poradzic. Mam prawie działający układ oparty na ATmega8-L, który ma zapisywac zmienną do pamięci EEPROM po wyłączeniu zasilania. Problem polega na tym, że układ działa tylko wtedy, gdy odłączy się tylko jeden z biegunów zasilacza (np sam plus). Gdy wyłączy się z prądu cały zasilacz, Atmega nie zapisuje...
Witam, Postanowiłem dobudować sobie do zasilacza taki oto woltomierz: http://romanworkshop.blutu.pl/elec/autov... Ponieważ szkoda mi 8zł na nową Atmegę 48 zwłaszcza że mam kilka Atmeg 8 postanowiłem przerobić kod (wstawiam już po zmianach) [syntax=avrasm];Automatyczny 2-zakresowy woltomierz panelowy z 4-cyfrowym wyświetlaczem LED ;Wersja 1.02 dla...
Witam Mam następujący problem, działający program obsługi jest taki: ISR(TIMER1_OVF_vect){ UDR0= Buff[rd]; rd = (rd + 1) % 256; UDR0= Buff[rd]; rd = (rd + 1) % 256; } program działa, ale jest za wolny, te kilka instrukcji kompilator zmienia na 122 linie w asm. Najlepiej byłoby napisać tę funkcję w asemblerze, niestety do tej pory pisaałem tylko w C....
Witam. Projekt, który realizuje wymaga minimalizacji poboru energii. Stąd tez chcę usypiać procek i w razie potrzeby budzić zewnętrznym przerwaniem INT1. Układ się usypia, po wybudzeniu (przerwanie stanem niskim) wykonuje raz pętlę while(1), a następnie łapie zwiechę. jakby było ciągle wyowływane przerwanie. Próbowałem, bezskutecznie, ręcznie ustawiać...
Witam , przeczytałem kilka postów na temat poboru prądu przez xmegi ale nie znalazłem rozwiązania przy programowaniu za pomocą bascoma . Napisałem prosty listing ale atxmega 32a4 chyba pobiera zbyt duży prąd . Próbowałem różnych wariantów i dalej to samo przy 2mhz i 3 volt zasilania pobór to 2,4 mA a to jak widać z danych katalogowych ponad dwa razy...
Witam, Jaki prąd pobiera Atmega8A w trybie Power-Save ?? Dodano po 11 Znalazłem coś takiego w datasheecie od Atmega8: http://obrazki.elektroda.pl/6172581100_1... To znaczy że przy zasilaniu 3V (bateria pastylkowa) powinien pożerać jakieś 0,01 mA czyli biorąc pod uwagę jej pojemność (dajny 65 mAh) powinno to starczyć na ok. 270 dni pracy...
Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
Przed uśpieniem wyłącz TWI, i uruchom je ponownie po wybudzeniu.
Pierwszy i bardzo poważny problem zauważyłem w funkcji TIMER1_COMPA, jest nim linijka rjmp uspij. Gdy się wykona, to przerwania pozostaną zablokowane, oraz kilka bajtów na stosie zostanie uwięzionych - głównie adres powrotu z przerwania. Można temu zaradzić poprzez wstawienie pop + pop + sei przed rjmp. Drugi problem, to karygodna pętla główna - dławienie...
Ten komparator wraz z elementami z podanego linku tworzy najnormalniejszy w świecie generator napięcia prostokątnego. Okres drgań takiego generatora jest proporcjonalny do iloczynu R*C - gdzie R to wartość rezystora połączonego z kondensatorem (Twój czujnik). Pozostałe nie są zbyt istotne dla wyniku (oczywiście chcąc uzyskać precyzyjny układ należy...
Lukasso :arrow: powiedz mi czy potrzebujesz przy pomiarze tranzystora znać jego h21e z dokładnością do 1% ? poza tym ciekawy jestem jak obliczyłeś te około -12% do +4% ? Mnie wyszło z obliczenia niecałe 10%. Jeśłi jednak potrzebujesz znać parametr h21e tranzystora z dokładnością 1% możesz zastosować TL431B i zmienić w programie. Dlatego stosując ADC...
Jednak biorąc pod uwagę połączenie przewodowe, taka sytuacja jest raczej mało prawdopodobna. Aha, czyli zrobiłeś typowo funkcyjnie. Kilka razy spotkałem się z ekranami które szalały, gdy np. ktoś rozłączył sterownik. Pojawiały się wtedy krzaki, albo dziwne liczby. Też miałem przypadek, że ekran był sterowany przez RF, gdy stracił sygnał z pilota, automatycznie...
Dioda ma migać średnio ok. 70 razy na minutę. Zastanawiam się czy komunikacja (np. po I2C) z driverem PWM do diod LED nie będzie zbyt wolna? Dodatkowo chciałam uśpić ATmegę, żeby zaoszczędzić na poborze prądu. A do komunikacji trzeba by ją ciągle budzić. Uśpienie jest możliwe, jeśli wykorzystuję tylko Timer2 w trybie asynchronicznym (taktowany z zewnętrznego...
Uśpienie procesora to jest jednorazowa akcja. Po wybudzeniu procesor będzie już pracować normalnie i tak ma być. To że Ty migasz diodą w przerwaniu i tylko w przerwaniu nie znaczy że każdy tak chce. Często po wybudzeniu procesor musi jeszcze zrobić wiele rzeczy poza przerwaniem w pętli głównej dlatego takie rozwiązanie jak jest jest optymalne. A jeśli...
Panie Dasej co do Pańskiego układu to wtedy to ma być przerwanie od ADC czy wtedy zostawić tak jak mam i od przerwania INT0? Ta propozycja nie jest zła, ale ma pewną wadę. Napięcie za mostkiem będzie się zmieniać od 0V do napięcia szczytowego podanego na mostek. W efekcie na pinie będą generowane cyklicznie przerwania, z częstotliwością 100 Hz. W efekcie...
https://obrazki.elektroda.pl/9342271000_... Dzień dobry, Urządzenie powstało w celu monitorowania poziomu wilgotności w pewnej zamkniętej przestrzeni. Przekroczenie zadanego poziomu jest sygnalizowane sygnałem dźwiękowym (buzzer) i świetlnym (LED). Wartości z ostatniego pomiaru można w każdej chwili odczytać, po naciśnięciu przycisku,...
Okej, wklejam zatem treść polecenia. "Napisać program, który po uruchomieniu konfiguruje licznik WDT w tryb Interrupt and System Reset Mode z czasem przepełnienia 1000 mikrosekund. Wykorzystać jeden z rejestrów ogólnego przeznaczenia do zliczania liczby wystąpień przerwań od WDT. Drugi z rejestrów wykorzystać do odczytania wartości z rejestru MCUSR,...
Witam Tak prawdę mówiąc nie za bardzo rozumiem, dlaczego wymagany jest pobór prądu aż rzędu 100mA? Typowo przecież po zaniku zasilania robi się na szybko parę rzeczy (np. chowa do eeprom jakieś dane, wyłącza LEDy, wyświetlacze, przekaźniki itd.), a potem załącza stan uśpienia - aż do pojawienia się z powrotem napięcia. Oczywiście stan uśpienia może...
Witam :) Zdaję sobie sprawę, ze na Elektrodzie jest sporo urządzeń tego typu. Ale mimo wszystko, dorzucę do kolekcji swoją konstrukcję. :) Jest to dość prosty projekt zegarka stołowego z synchronizacją NTP. Pomysł narodził się jakieś 3 lata temu, kiedy to przy kolejnej zmianie czasu letniego na zimowy, przy istniejącym zegarze domowym znowu padło pytanie...
Poboru prądu nie potrafię zmierzyć, gdy próbowałem, ekran przestawał cokolwiek wyświetlać (i tak działa poniżej napięcia nominalnego). AtMega przez większość czasu nic nie robi nawet w czasie jazdy, wchodzi w tryb nieaktywny, a budzą go jedynie przerwania z sensorów, przycisków i timera. Podejrzewam, że największym prądożercą jest ekran, a potem rezystory...
Nie mam cewki : d. Narazie mam : Dużo kondensatorów filtrujących zasilacz zewnętrzny 5V/2,5A Program z uśpieniem na czas pomiaru: [syntax=c]/* * main.c * * Created on: 20 gru 2014 * Author: User */ #include <avr\io.h> #include <avr\interrupt.h> #include <avr\sleep.h> #include "HD44780.h" #define LED (1<<PB0) #define ADCIN PC5...
Zapomniałeś chyba że program pracuje w pętli. Zrobiłem Ci wizualizację :-P http://obrazki.elektroda.pl/3515008400_1... Ba, nawet sam sobie napisałeś że włączasz diodę :P Tutaj: -jeśli przycisk włączony to skocz do 'uśpienie' ( i pomija resztę czynności?) -jeśli nie to włącz jedną diodę potem drugą -( i znowu) jeśli przycisk włączony.......
Witam wszystkich elektroników! Jest to moja pierwsza konstrukcja na łamach tego forum i pragnę zaznaczyć, że ani zawodowo, ani hobbystycznie nie miałem zbyt dużo kontaktu z elektroniką - więc proszę o wyrozumiałość. Przez pewien okres używaliśmy przemiennik typu ?papuga? na terenie mojego miasta. Wyglądało to w ten sposób, że urządzenie nadawczo-odbiorcze...
Dziękuję za odpowiedz. Co do uwag - tak mam podpięte rezystory, a rozkaz _VB(INT0|INT1); rzeczywiście nie będzie działać poprawnie. Jeśli chodzi o drgania styków - zwykle je eliminowałem, ale w tym wypadku widziałem testując układ, że ich nie ma - chociaż w rzeczywistości były eliminowane przez długość przerwania. Moją ideą było uśpienie uC, i wybudzenie...
Możesz na stałe odblokować pamięć sterując sygnałami CE, lecz ma to pewne wady: - pamięć nigdy nie przechodzi w uśpienie i w efekcie zużywa więcej prądu, - jeśli na magistrali są inne układy to to nie zadziała, bo linie danych pamięci nigdy nie wejdą w HiZ, - nie masz możliwości sterowania mapowaniem pamięci w przestrzeń adresową mikrokontrolera - każde...
2 i 3 działają na LOW, 18,19,20 i 21 również na CHANGE. [syntax=c]#include <avr/sleep.h> //dziala z arduino 1.6.12, gorzej ze starszymi np 1.6.9 #define ledPin 13 #define interruptPin 19 //numer pinu przerwania, np. 2,3,18,19,20,21 #define przerwanie 2 volatile boolean flag; void setup() { pinMode(ledPin, OUTPUT); pinMode(interruptPin, INPUT_PULLUP);...
Raz się tak naciąłem, bit AS0 zmienia źródło taktowania procesora i po wprowadzeniu w power save odciął mi timer ... i procesor zawisł bo czekał na przerwanie od Timera0. Dlatego to pytanie. Proponuję jeszcze raz sprawdzić, czy nasz odblokowane przerwania przed wejściem w uśpienie, może zmienić bity SUT1..0, aby szybciej wstawał.
RTFM podrozdział "Asynchronous Operation of Timer/Counter2". W dużym skrócie: przed uśpieniem trzeba zapisać coś do jednego z rejestrów i czekać na wyzerowanie flagi Busy w ASSR.
Wyciągnij LCD i zobacz jak wtedy pobór prądu. Przed uśpieniem dajesz wszystkie linie sterujące LCD w stan niski?
Może też mieć na to wpływ błędne obliczenie UBRR dające nieoptymalną wartość dla tych częStotliwości zegara i transmisji. Cyfry mogą wtedy przechodzić poprawnie, a litery już nie. Takie użycie przerwania UART jest bezsensowne. Mniej czasu zajmie odczyt UDR w pętli zdarzeń, a jeszcze lepiej zrobić całą reakcję na znak w przerwaniu UART, z uśpieniem procesora...
Witaj. Pytanie: Co wybudza mikrokontroler ze snu? Odpowiedź: Przerwanie. Jeżeli uśpienie mikrokontrolera realizujesz w funkcji przerwania przy wyłączonych globalnych przerwaniach (po wejściu w funkcję przerwania są automatycznie wyłączane), to mikrokontroler się nie zbudzi, bo ma zablokowane przerwania. Musiałbyś w takim przypadku przed uśpieniem włączyć...
spróbuj wykoszystać próbkowanie z "uśpieniem" procesora - nie pamiętam dokładnie ale da się tak skonfigurować procka, że funkcją sleep uśpisz niepotrzebne układy wewnętrzne atmegi które wprowadzają dość sporo zakłuceń - funkcja sleep uruchomi wtedy automatycznie przetwarzanie ADC a po jego zakończeniu procesor automatycznie wyjdzie ze śpiączki - poczytaj...
Skoro kręcisz się w pętli testowania stanu y, to równie dobrze można również w głównym programie inkrementować tę zmienną na podstawie ustawienia znacznika przepełnienia timera w pętli głównej - kod będzie w ten sposób krótszy o obsługę przerwania. Ponieważ całe urządzenie nie robi praktycznie nic poza czekaniem na upłynięcie czasu, a to, co robi po...
Moje pytanie brzmi czy mogę pogodzić precyzyjny odczyt z ADC (z uśpieniem) i dokładny timer czy muszę wybrać albo precyzyjne ADC i niedokładny timer albo standardowy odczyt z ADC i dokładny timer? Timer1 jest taktowany przez prescaler z CLK_I/O, a podczas 'ADC Noise Reduction' , ten zegar jest nieaktywny/ wyłączony. Patrz tabela14 w datasheet; w której...
Cześć wszystkim Projekt który chcę tutaj zaprezentować nazwałem Electronic Heart . http://obrazki.elektroda.pl/1548225200_1... Układ pracuje w oparciu o ATmegę 8A działającą z wewnętrznym oscylatorem 1MHz. Całość składa się z 20 diod led smd, podłączonych bezpośrednio do procesora. Do sterowania układem wykorzystany jest pojedynczy switch,...
Nie widzę miejsca w którym ustawiałeś aktywny tryb uśpienia ... nie widzę też zezwolenia na uśpienie ...
Chciałem zrobić tak jak pisałeś - tzn. na podstawie flagi z przerwania INT2 na początku pętli głównej wchodzić w uśpienie. Ale pętla główna jest wykonywana powiedzmy 0.5 sek. Co sekundę wykonywane jest przerwanie od Timer2. Więc procesor będzie w uśpieniu tylko ok. 50% czasu. Może coś źle rozumiem, ale jedynym sensownym miejscem na uśpienie procka,...
Oczywiście, ja też jestem zdania, że jeśli się da, to czemu czegoś nie poprawić. A zwłaszcza, jeśli jest to małym nakładem pracy i finansów. Pytałem tylko, bo ja m.in. stosuje fabryczną klawiaturę 3x4, oraz procesor wykonuje szereg innych zadań, tak, że uśpienie go raczej nie wchodzi w grę. Nie robiłem jeszcze prób z oddziaływaniem DDSa (jako urządzenia)...
Jak wspomniał kolega, zastosuj kwarc zegarkowy do wyjść TOSC1 i TOSC2, uruchom timer w trybie asynchroniczny i uśpij procesor po odłączeniu zasilania. Wszystko masz w manualu :) Wiesz co robić, samo uśpienie Tobie nic nie pomoże (przy zegarku).
Co do stabilizatora, to ma niewielki wpływ, bo testowanie napięcia przed stabilizatorem powoduje że zegarek przechodzi w uśpienie zanim napięcie za stabilizatorem spadnie poniżej napięcia na goldcapie. Czyli krótko mówiąc procesor nie wychłepce goldcapa zanim pójdzie spać. Pomiar głównego napięcia 5V będzie wymagał przeliczenia wartości rezystorów dzielnika,...
Wydaje mi się, że sygnał, który używam do wybudzania jest prawidłowy. Tak jak napisałem przed uśpieniem procka ustawiam INT1 na wyzwalanie poziomem niskim, a tylko do pracy używam wyzwalania zboczem. Sygnał podawany na INT1 to sygnał zegarowy, więc jego czas trwania poziomu niskiego jest stały, więc skoro czasami się wybudza, to uważam, że jest prawidłowy...
Kolega wader chyba nie zrozumiał. Autorowi chodzi o podtrzymanie, tzn w moim przypadku (lcd) narazie zastosowałem kondensator 5V podtrzymujacy (taki specjalny) i jest w miare ok jest zrobione tak zeby z kondensatorka doszło zasilanie po odłączeniu tylko do megi8 a na lcd nic sie nie wyswietla. Lepsze było by uśpienie czy standbay ale nie moge tego znaleźć...
http://obrazki.elektroda.pl/5330077200_1... Unitra Pionier Re 105 to popularny radiobudzik produkowany w latach 80. Jak na tamte czasy była to dość nowoczesna konstrukcja posiadająca dobry tuner FM z głowicą strojoną napięciowo oraz programator, którym można było zaprogramować 3 stacje na UKF oraz Program Pierwszy Polskiego Radia w...
Mikrokontrolery to także jak najmniejsze zużycie prądu. Gdzie tylko to możliwe należy je usypiać. W Twoim przypadku możesz wykorzystać co najwyżej uśpienie 'cpu', ponieważ potrzebujesz działających 'timer'ów( przydatna tabela znajduje się w notach przy 'Power Management and Sleep Modes', np. 'atmega8' str.33) Zalecana przez twórców 'avr-libc' sekwencja...
Jeżeli procesor ma zadziałać na INT to musi chodzić główny zegar, czy się mylę. W pewnym sensie się nie mylisz. Jeśli INT ma reagowac na zbocze, to musi pracować zegar, jeśli ma to byc poziom to nie. Jest tylko jedno ale, poziom niski musi byc odpowiednio długo utrzymany (start generatora itp). Czas ten zależy od ustawień bitów konfiguracyjnych CKSEL...
Witam, Projektuje automatyczne rolety na czujnik światła. Płytkę, program oraz obudowę mam już gotową, pozostaje jedynie problem oszczędzania prądu a z tym niestety jest kiepsko. Tutaj schemat płytki, zaznaczam tylko że zasilam układ z zasilacza od laptopa 19,8V, a nie 12V jak jest w schemacie: 2764049800_1432816703|8Irn71VP70 Płytka bez podłączonych...
Może trzeba dać SEI przed uśpieniem procka? Przecież włącza SEI tyle że wszystko wg najgorszych praktyk programistycznch. SREG |= 0x80; --------------------------------- W nocie PDF ATtiny2313 wprawdzie napisano w uwadze, że tylko INT0 reaguje na wybudzanie poziomem, ale to słówko tylko (Only) tyczy się poziomu a nie samego przerwania. Powinno być...
Witam robie stacje lutowniczą z atmegą8 napisałem taki kod w bascomie, czy bardziej doświadczeni koledzy mogli by na nieo zerknąć i wytknąć mi poważne błędy jakie popełniłem. Temperatura z termopary jest brana za pomoca mac6675 i spi, uśpienie powinno się włączyć po minucie leżenia kolby nieruszanej i zmniejszyć ustawiona temp do 160 stopni, po podniesieniu...
Jedyną metodą minimalizacji zaklócen w medze jest uśpienie porocesorka na czas konwersji , i zapięcie extra dobrego zasilacza nic więcej nie da się zrobić chyba ze zamienisz atmegę 8 na atmegę 88 ;)
Nie wiem jakiego uśpienie używasz, ale zarówno z trybu Power Down i Power Save można wyjść za pomocą przerwania zewnętrznego ale zgłaszanego poziomem (a nie zboczem, tak jak masz w porgramie). Czytaj notę, rozdiał Power Mangament and Sleep Modes.
Kiedyś zrobiłem zegarek analogowy na ATmega8 wykorzystując do tego Timer2 atmegi i kwarc zegarkowy, nie będąc pewny czy z tego projektu coś wyjdzie, zaprojektowałem PCB tak żeby tylko nie pomylić pinów I/0 z pinami zasilania. Z tego powodu mogłem później zegarek wprowadzić tylko w płytkie uśpienie (Idle Mode). Testując działanie zegarka nie zauważyłem...
Wygląda na to że coś zadziałało :D [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/sleep.h> ISR(INT1_vect) //Przerwanie INT1 { if(PIND&0x08) //jeśli PD3 wciśnięty { _delay_ms(20); if(PIND&0x08) PORTB^=0x02; //jeśli PD3 wciśnięty zmień stan pierwszej diody } } int main(void)...
uśpienie arduino monitor uśpienie lenovo uśpienie
wzór indukcyjność almera schemat vista pobrac
spawarka rockworth spawarka rockworth
NetworkManager nie uruchamia się w Debian Trixie - diagnostyka i rozwiązania Mycie kondensatorów elektrolitycznych w myjce ultradźwiękowej - czy to bezpieczne?