debouncingiem Plik w załączeniu autorstwa ś.p. Atmela albo z poniższego linku: http://www.electronics-base.com/avr-tuto...
Temat już dość obrósł w piórka, ale dorzucę swoje 2 grosze. To co napiszę teraz nie ma na celu ukazania "idealnie niepodważalnego podjeścia do sprawy portowania projektu na nową platformę". Po tym zdaniu napiszę jak ja bym podszedł do tego zagadnienia. Na początek: 1. Wybór nowego procka (zrobione stm32f103). 2. Uruchomienie środowiska do programowania,...
WAVGAT Official Store - jeśli chodzi o Arduino to 2x wysłali mi podróbki, które nie działały prawidłowo. Dostałem w obu przypadkach zwroty kasy ale płytki nie nadają się do użytku (niby działają ale chip nie jest oryginalny choć nadruk Atmega ;> i działają niestabilnie (at)lukaszd82, może kupiłeś płytki zgodne z NANO, a chipy zgodne z Atmega328P, czyli...
Tak jak napisałeś powinno być dobrze. Jeszcze jedna uwaga. Poprzednio miałeś ustawione bity na Interrupt and System Reset Mode. To może obecnie skomplikować ci możliwość przestawienia nastaw WatchDoga.Jeśli po wpisaniu tych wartości do rejestru nadal działanie WatchDoga nie będzie zgodne z oczekiwaniami to dzieje się tak dlatego iż w sterowaniu WatchDogiem...
ATMegą się aż tak bardzo nie przejmuj. Zwykłe usypianie wystarczy, takim zaawansowanym przełączaniem częstotliwości nie wiele ugrasz, a możesz rozjechać program Ustaw ją na sztywno na np 8MHz, lub nawet 1MHz (1 może wystarczy). Zainteresuj się lepiej jak uśpić moduł WiFi i czujniki. U mnie ATMega bierze znikome ilości prądu w stosunku do DS18B20 i modułu...
Ale wtedy takie usypianie nie ma sensu. Po drugie jak fizycznie odlacze wyswietlacz to takze zaoszczedze troche pradu. A nie sadze zeby sie cos stalo akumulatorowi jakby taki procek chodzil np. tydz jak auto stoi.
(at)KJ Ale do trybu różnicowego nie potrzebujesz żadnych dodatkowych pinów. To tylko zmiana konfiguracji ADC, wybierasz tryb różnicowy z wewnętrznym napięciem odniesienia. Możesz też wykorzystać klasyczny tryb, tylko wprowadzić ADC w tryb signed, dzięki czemu masz co prawda tylko 11 bitów, ale od zera, a nie od ofsetu -150mV. Dodano po 22 Wracając...
Jeżeli chodzi o niezawodność to oczywiście że tak. Ale pomyślałem że chodziło Ci o pobór prądu (bo w innym razie po co w ogóle usypiać procesor).
Witam, chciałbym prosić pierwszy raz od 16 lat w zasadzie o gotowca. Lub szkic programu żebym mógł sobie go sam napisać. Chcę dokonać przeróbki licznika https://sansan.cc/en/productsinfo.aspx?P... Chcę w nim zrobić: 1. W momencie dotarcia do "umownego" czerwonego pola czyli powiedzmy zapalenia przez licznik diody LED 6000 obr. Atmega...
Atmega 8 ma 3 timery więc który timer Ty wykorzystujesz?
Uśpiłeś procesor w przerwaniu. W przerwaniu jak wiadomo są blokowane przerwania więc kolejne przerwanie wybudzające już nie wystąpi. Stąd Twój problem. sleep_cpu nie może znajdować się w obsłudze przerwania.
Troszkę tych rodzajów błędów w ADC jest, możesz poczytać trochę tutaj http://www.maxim-ic.com/app-notes/index.... . Poza tym najlepiej w przetwornikach wbudowanych na czas pomiaru usypiać procesor, druga sprawa to że w DIPie dokładność jest mniejsza, z tego co pamiętam to ch-ki podane w datenblacie są gwarantowane dla obudów TQFP, tyle że to...
Wydaje się, że wszystko już działa poprawnie, szkoda tylko, że nie udało się wyzwalać sleep z INT. Może ktoś zrobił usypianie uP z przerwania? Przez wyzwalać sleep z INT rozumiesz wybudzać, czy coś innego? W jaki sposób wyzwalasz INT? Może pokasz schemat i program w tym zakresie. Wiesz także o tym, że trybie Power Down wyzwalanie tylko poziome - nie...
2. Stosować usypianie o ile możliwe. Usypianie czyli? Bo rozumiem że nie chodzi o _delay_ms()
Ale po co ci ta informacja? W moim projekcie zależy mi na oszczędzaniu energii gdzie się tylko da, dlatego też piszę własną obsługę TWI (100kHz) na przerwaniach (patrz inny mój temat). W trakcie komunikacji po TWI właśnie Atmega będzie usypiana w IDLE mode ponieważ POWER DOWN lub SAVE będzie zbyt długo wstawał. To chyba dobre rozwiązanie?
Eleganckim rozwiazanie tego problemu byłoby zasialnie buforowe całego procesora z aku np 3.7V a program powinien na czas braku zasialnia usypiac procesor.
Diody podłączyłeś dobrze, nawet jak na diody Zenera, ale przydało by się żeby miały napięcie z 10V, a nie 5,1V. I przydały by sie jakieś rezystory od przycisków do pinów procesora, bo inaczej tak jak Mirekk36 napisał napięcie na pinach procesora będzie o wiele niższe niż na GND i piny mogą się uszkodzić. Inne układy scalone w pilotach podłączało sie...
≈0,3mA na dzielniku R10+R43 to święta racja, ponieważ tu nie są potrzebne żadne prądy, a tylko dzielnik napięcia dla ADC więc zwiększę opory, ≈0,5mA na R1 ≈0,8mA na R44 Hmmm tu jest pewien problem, układ włączania modemu jest według noty katalogowej, można spróbować zwiększyć opory ale nie wiem co z tego wyjdzie. Pocieszające jest...
"Problem" wybudzenia z głębokiego uśpienia dotyczy wszystkich procesorów, czy to AVR czy ARM, czy PIC. Zasada jest taka sama, wybudza poziom niski trwający odpowiedni długo. Nie jest to prawdą. Producenci już dawno zauważyli ten problem i wprowadzili dedykowane piny IO, które umożliwiają wybudzenie procesora zboczem, także przy braku zegara. Funkcję...
Mi chodzi o pracę samego RTC na zasilaniu bateryjnym, bo rozumiem że sprzętowa realizacja w uC tak wygląda czyli kwarc zegarkowy i napięcie około 3V. RTC przez wybudzanie-zliczanie-usypianie to już było w starych atmelkach, teraz chyba bardziej autonomiczny jest zegarek tak?
Fajna miniatura, jeszcze szczelna obudowa by się przydała :) Czasami można przełączyć wyjście danych GPS na binarne aby uniknąć parsowania sekwencji ASCII. Co ile następuje zapisywanie pozycji, może warto usypiać odbiornik GPS? Zapisywanie punktu super sprawa, można jeszcze wyświetlać numer zapisanego punktu.
A może to jest lgt8F328, to zupełnie inny uC niż Atmega, czy AVR w ogóle, on nie jest przeznaczony do programowania przez ISP USBASP, programator można sobie zrobić tak samo jak ArduinoISP, Larduino ISP, piny do programowania SWC, SWD, RST. Tu jest core do takiego: https://github.com/dbuezas/lgt8fx Możesz spróbować, jakby się okazało, że programy nie...
mc1525tt, no load current typical 86uA. Byc może to pobór prądu bez obciązenia stabilizatora mc1525tt. Jesli atmega da sie wyjąc (na podstawce?) to mozna by wtedy sprawdzić. Dodano po 3 Chyba nie doczytałem opisu. Sorry. Dodano po 56 Ale tak czy inaczej jeśli nie mamy pomysłu to trzeba chyba odłączać po kawałku podejrzane rzeczy. Dodano po 2 Zacząłbym...
ATMEGA128 przy zasilaniu 5V i zewnętrznym ADCRef 2,048V szumi o ok 8 jednostek przy braku usypiania. Dzięki nadpróbkowaniu 64 x i podziale przez 32 uzyskałem stabilność odczytu ok +-1mV.
Wiesz, że przez ten stabilizator, tracisz mnóstwo energii i zasilanie układu z akumulatorów staje się zupełnie bez sensu? Prąd jałowy tego stabilizatora to pewnie połowa prądu megi. Jakiekolwiek usypianie i oszczędzanie energii da oszczędności rzędu 10%. Inna sprawa, to minimalne napięcie wejściowe stabilizatora rzędu 8V. Jeżeli będzie mniej, to na...
scalak na 5V...a on nie ma odpowiednika Możesz przynajmniej zdradzić co to za magiczny układ? Dlaczego? Wydawało mi się, że to dość popularny standard. Nie należy mylić popularności z niezawodnością ani wydajnością. I2C działa w oparciu o wired-and, czyli wszystkie urządzenia mają wyjścia typu OD, a to fatalnie wpływa na propagację sygnałów, co np....
Przyznam, że się zgubiłem w ilości konwersji prądu / napięcia W zupełnie innej dziedzinie (klucze do titawy Morsem) trochę temu kibicuję. Przede mną leży kupione urządzenie bateryjne DOBRZE oprogramowane na przerwaniach, trzeci miesiąc niemałego używania na 2xAAA. Z pewnością bierze podczas milisekund pracy swój prąd, ale średnia jest bardzo mała. Konkurencyjne...
ATTiny dla 20MHz (ATTiny13A) bierze ok. 8mA - 40mW, ale co istotne w trybie uspienia juz ok. 20mikroA, co jak przypuszczam daje jej istotna przewage nad ARMem, jesli aplikacja moze okresowo usypiac. BTW, nowy tu jestem, o co chodzi z tym "i" i ostrzezeniami?
Moduł MQ-7 i Atmega wymagają dokładnego napięcia 5V (ze względu na pomiary ADC). Sugeruję nie używać Arduinowego wejścia DC (wymagającego przynajmniej 7V), a wpiąć się zasilaniem 5V w odpowiednie miejsce (za regulatorem napięcia). Można spróbować podłączyć wszystko przy użyciu konwertera napięcia boost 5V (poza modułem GSM) i moduł GSM bezpośrednio...
No właśnie mój chodzi w RC-5. Na pewno adres to jest 0, a dla kanało 0 - komenda jest 0. Sprawdziłem, rozbierając swojego pilota, porównójąc z datasheetem SC3010S na którym jest zrobiony połówka bitu trwa 844uS... Co jeszcze może być nie tak? Nemo, tylko że te ATMELE mają dokłądnie takie same wyprowadzenia jak kość która aktualnie siedzi w klawiaturce...
Jeśli używasz bateryjek które dają ok 3V to po chcesz jakieś przetwornicę dodatkową ("zjadacza" energii) ... Przecież ta wersja 128L może być zasilana od 2,7V do 5,5V. pozdrawiam Dodano po 3 a najlepiej jakbyś wcisnął tam jeszcze jednego paluszka - ale żeby to nie były bateryjki tylko akumulatorki ;) one mają 1,2V i na 3 to by mogło długo się "ruszać"...
Cześć Nie stosowałbym 5V jako napięcia odniesienia, wewnętrzne Ref jest zwykle stabilniejsze. Blokujemy zasilanie Atmegi jak najbliżej nóżek. Blokujemy do masy przez 100nF Vref Blokujemy do masy przez 100nF AVCC Dławik powinien być niskooporowy bo Atmega ma błąd w strukturze i VCC i AVCC jest zwarte wewnątrz rezystancją około 10ohm. Od strony programowej...
A po co go ciągle testować? Ustawić jedno przerwanie co np. sekundę i wtedy sprawdzać stan ADC. Własnie o tym mówię. Odpalanie przerwaniem czy pętla busy wait - zasada jest identyczna. A to nie ma buzzerów z generatorem? Gdzieś pewnie są, ale czy akurat w tym projekcie? Kilka mA w stanie standby nie powinno być problemem W takim wypadku nie ma co się...
Łatwiej byłoby wykorzystać wejście z przerwaniem. W programie ustawić w głównej pętli czy gdzieś sprawdzanie tego wejścia i jak np. przyjmie stan "0" to program usypia procesor i włącza przerwanie. Jak pojawi się "1" to procesor się obudzi. W ten sposób masz tą zaletę, że możesz dokładnie określić w którym momencie procesor ma się usypiać (zaraz po...
Panowie spokojnie chodzi o ze najprawdopodobniej przetwornik sie usypia ... Gdzie w dokumentacji są informacje, że ADC może zostać uśpione? ... ale nie wiadomo dlaczego ... Wiadomo ... odpowiedzi są w programie i/lub schemacie ... więc http://mikrokontrolery.blogspot.com/2011...
Zasadniczy błąd to usypianie w przerwaniu. Wyłączone są przerwania, a ty usypiasz i procesor się nie wybudzi. Ja nigdy nie usypiam w przerwaniu. Ustaw sobie pomocniczą flagę, którą w pętli głównej odczytaj i wtedy uśpij. Jak chcesz zaoszczędzić na bateriach to dołącz cli() i sei() w przerwaniu jak ty masz jest nie potrzebne, bo to jest już robione z...
Witajcie, W oparciu o Atmegę8 zrobiłem sobie prosty sterownik. Odczytuję temp. z dwóch czujników ds18b20 i na jej podstawie steruje elektrozaworem. Chciałbym dodatkowo wprowadzić obsługę 3 przycisków. Problem w tym, że sam odczyt temp. z czujek powoduje pewne opóźnienia np. czas konwersji jest dosyć spory bo 750ms w związku z tym reakcja na przyciśnięcie...
Witaj. Porty ustawiasz jako wejścia, bez podciągania - to bardzo źle (upływność jest losowa i zależna np od zbliżanej ręki) i sprzeczne z komentarzem w kodzie :) Porównaj z moim przykładem dla ATmega8A dla zasilania 4,85V uzyskałem 0,8µA : http://mikrokontrolery.blogspot.com/2011...
https://obrazki.elektroda.pl/3845985100_... https://obrazki.elektroda.pl/1095475900_... Kiedy zbliżała się tegoroczna jesień i słońce wschodziło coraz później, postanowiłem zbudować budzik świetlny - urządzenie, które o zadanej godzinie włącza stopniowo rozjaśniające się światło. Nawet, jeśli nie obudzi ono użytkownika,...
Nie podważam tych oczywistych spraw, ale ten tekst jest sprzed 14 lat Teraz dysponując nawet babcią Mega8 każdy chyba użyłby rejestru porównania Timera1 lub Timera2 gdzie wartość jest przeladowana automatycznie nie wymagając zaangażowania w to mocy procesora. Osobny kwarc przydaje się do aplikacji gdzie potrzebujemy podtrzymać czas a usypiamy procesor...
Dlatego się pytam jak to zrobić, aby był mniejszy prąd przy tym samym napięciu? Skoro AtMega a ogniwo o3,7V to po co przetwornica na 5V? Jaki jest konkretny powód aby nie zasilić procesora bezpośrednio z ogniwa? Hm.. Nie wiem czemu ale zawszę myślałem, że skoro Arduino ma stabilizator na 5V to ATmega też działa na tym napięciu. Czyli byłem w błędzie,...
tmf mnie się zdaje, że autor jeszcze o czymś innym myślał :) Temat mówi o dokładności, natomiast z opisu wynika że chodzi o precyzję. A precyzję da się poprawić przez odpowiednie podłączenie, filtrowanie, usypianie uC, uśrednianie wyniku itd.
Witam Zrobiłem urządzonko, w którym mikrokontroler ATMEGA (zasilany 5V) załącza urządzenia zewnętrzne zasilane 12V. Do załączania zastosowałem klucze na tranzystorach - obciążenie załącza tranzystor p-kanałowy wysterowywany z procesora poprzez n-kanałowy. Teraz upraszczam układ i wpadłem na pomysł, żeby pozbyć się tranzystora n-kanałowego, a bramkę...
Atmega jak jest dobrze napisany soft i dobrze jest zrobiona konstrukcja to między wysyłaniem paczek co 1 sekundę, będzie schodziła z poborem prądu do 2uA. W przypadku BLE nie trzeba nic usypiać. Okresowe rozgłaszanie jest kluczową funkcjonalnością wynikającą ze standardu. Pobór prądu w tym trybie jest bardzo mały (zwykle kilkadziesiąt uA). Zależy od...
A jak dla mnie float jest OK, i tak ten uC nie ma co robić to sobie będzie to liczył, ale nie ma powodu by to robić w przerwaniu, tu powinien jedynie zliczać impulsy, a wtedy wystarczy by był to int i powinien być deklarowany z volatile, bo jest używany jednocześnie w przerwaniu i poza nim: volatile uint32_t totalDistance = 0; W loop powinieneś użyć...
Czyli możesz ją zasilać z któregoś pinu wybranego portu (nie widzę abyś pisał jaka to ATmega), który ma obciążalność 40mA np ATmega8. Ściąga pobiera do RAM tekst partiami i wyłącza kartę. Przeglądanie leci z RAM. A mikrokontroler usypiasz w każdym możliwym momencie. Spróbuj to jest proste a daje ogromne możliwości miniaturyzacji i dłuższej pracy. Zobacz...
Witam! Miałem 2 sprawne Atmegi8 i sądze że nadal są sprawne, bo jak wgrałem do nich ten sam program w wersji testowej to chodzi ciągle, ale przyszedł czas na zmiany i po próbie wgrania do procka ten się usypia, po resecie (wyl. zasilanie) wstaje i działa program ale nie da się programowac bo jest to co wyżej, czytac sie da. Zewnętrzny kwarc 12MHz (Atmega8-16PU...
... Zapamiętanie najlepiej zrealizować "na baterii".Najlepiej dać zewnętrzną pamięć ram podtrzymaną baterią patykową, albo zasilić atmegę z baterii i usypiać po zaniku napięcia zasilania. Zapis za każdym razem do pamięci eeprom jest głupi, bo szybko ilość cykli jej się wyczerpie. ... Nie tak szybko gdy zapis będzie inicjowany komparatorem na przerwaniu....
A po co chcesz klonować wejścia ADC? W ATmedze (zapewne 8) masz 6 lub 8 wejść (zależy od obudowy). Nie wystarczy ci? A co do multipleksera - koniecznie weź 74HC4051 zamiast zwykłego 4051. Ma mniejszą rezystancję przy niskim napięciu. Żywotność baterii - tu musisz liczyć pobór prądu dla całego układu, a nie tylko dla tego multipleksera. Rozumiem, że...
ok, power down juz dziala, inne tryby uspienia tez. Rzeczywiscie trzeba bylo recznie ustawic zgaszanie tej diody, poprostu za bardzo nie kapowalem na czym polega to usypianie. Ale w przerwaniu tez da sie uspic a potem obudzic, wystarczy tuz przed komenda sleep wlaczyc znow globalnie przerwania sei(); pozdro
bascom usypianie usypianie instalacji usypianie procesora
wysyłać impuls panel fotowoltaiczny kalkulacja schemat elektra
hilti udaru filtr ceramiczny budowa zasada
Odbiór Polsatu Cyfrowego w Norwegii - sprzęt i usługi Canon kserokopiarka nie działa po awarii - co robić?