Skocz do zawartości

Tresowanie odkurzacza, czyli "wirtualna ściana" na ATtiny13


ethanak

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂

Link do komentarza
Share on other sites

Można by było, ale... akurat tutaj na 10 msec zapalona jest dioda. Pomijając bezsens usypiania kontrolera jeśli z jakiegoś jego pinu pobierame jest zasilamie dla diody nie mogę chyba bezkarnie zmieniać co chwilę olresu watchdoga.

A teraz wybacz bo siedzę w pociągu, praktycznie nie widzę tego co piszę  jakby co to jestem do dyspozycji jutro.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

A ile tych timerów ma attiny13?

poza tym usypianie attiny na 10 milisekund w czasie których świeci leda, w dodatlu dzieje się to raz na kilka sekund w urządzeniu zasilanym z sieci to chyba sztuka dla sztuki.

Link do komentarza
Share on other sites

7 godzin temu, InspektorGadzet napisał:

a jeszcze

Dnia 8.07.2019 o 11:01, ethanak napisał:

(jeśli będę robił wersję na baterie)

 

No to żeś pojechał po bandzie. Wyjąłeś cytat z kontekstu nie zwracając uwagi na to, że dotyczył on zupełnie innego zagadnienia (pomiaru napięcia zasilania mikrokontrolera, który nie ma wbudowanej takiej możliwości) oraz zupełnie innego urządzenia (kod w którym znalazłeś tego delaya dotyczył akurat urządzenia stricte stacjonarnego zasilanego z sieci, nie wiem czy zauważyłeś że opisałem dwa różne).

Rozumiem, że usypianie procesora da w tym przypadku zmniejszenie globalnej emisji CO2, zużycia węgla, poprawi warunki pracy górników i hutników na całym świecie oraz wpłynie na zmianę rządu na lepszy. Ale w pewnym momencie (pamiętaj: że to usypianie dotyczy - nie chce mi się liczyć, ale gdzieś tak 0.2% czasu, oszczędność energii poniżej rozdzielczości posiadanych przeze mnie mierników) można powiedzieć "stop, piszemy podręcznik programowania AVR-ów dla paranoików i osób cierpiących na nerwicę natręctw czy może program do obsługi mrygającej ledy?" i przesadzanie pozostawić ogrodnikom. Kapuście to dobrze robi... informatyce i elektronice raczej nie.

Pytanie kontrolne: czy pisząc w C zawsze usilnie wystrzegasz się goto (bo to przecież samo zuo) i stosujesz pięć zmiennych pomocniczych żeby np. wyjść z zagnieżdżonej pętli?

Link do komentarza
Share on other sites

(edytowany)

No widzisz. A najprawdopodobniej nie próbowałbyś nawet myśleć o goto wiodącym w górę kodu do wnętrza pętli (chociaż teoretycznie taka sztuczka nie jest zakazana, każdy programista COBOL-a stwierdzi że to przecież naturalne i na tym polega sztuka programowania).

Jeśli powstanie wersja na baterie/akumulatorek (co jest możliwe, kolega mnie już pytał za ile bym coś takiego zrobił) to nie będzie mi zależało na tym aby wycisnąć jeszcze pięć minut pracy ale na poprawieniu błędu z oryginalnej "ściany" - czyli dodaniu informacji o wyczerpującym się źródle zasilania. I dużo ważniejsze będzie to, by urządzenie odpowiednio wcześnie dało znać że chce jeść (czyli co najmniej 48h) niż te minuty.

Bo w sumie dużo więcej niż 10 msec raz na kilka sekund można wycisnąć wywalając _delay_us(7500) - który jest tu użyty dwa razy na 160 msec -  i zastępując go właśnie idle i timerem (w końcu mogę ten cały jeden timer w ATtiny13 wykorzystać naprzemiennie do PWM i generowania przerwania), to już dużo większa oszczędność energii, prawda? Pewnie tak zrobię, bo po pierwsze nigdy nie próbowałem a kiedyś musi być ten pierwszy raz, po drugie muszę dać Ci powód do czepiania się ciekawszych rzeczy niż moje delaye 🙂

Ale wracając do meritum, pozwól że zacytuję sam siebie:

Dnia 8.07.2019 o 11:01, ethanak napisał:

ani kody nie są mistrzostwem świata, ani ta cała elektronika nie jest najwyższego lotu. Dla mnie ważne było przedstawienie działającego i przydatnego urządzenia

Dixi!

Edytowano przez ethanak
Link do komentarza
Share on other sites

45 minut temu, ethanak napisał:

w końcu mogę ten cały jeden timer w ATtiny13 wykorzystać naprzemiennie do PWM i generowania przerwania)

Dlatego z 8-nóżkowców preferuję Tiny25/45/85. To jeden z nielicznych AVR, który ma dead-time w PWM.

Link do komentarza
Share on other sites

No i znów zacytuję samego siebie:

Dnia 8.07.2019 o 11:01, ethanak napisał:

W szufladzie leżały sobie dwie sztuki ATtiny13 (nadmiar ze starszego projektu) - więc postanowiłem je wykorzystać.

Zaznaczam, że ATtiny85 też leżały...

Wiem, wiem, Ty byś to zrobił na STM32 i jeszcze udowodnił że tak jest lepiej 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.