Strona 1 z 1

Problem z kodem (nanjg105 momentary)

: sobota 28 gru 2019, 19:51
autor: adriangwis
Witam,
Planuję zrobić małą latarkę do kluczy na diodzie sst40 całość projektu PCB i obudowy są już w głowie i na szczęście zacząłem od doboru firmware do latarki.
Opis problemu:
Wybór padł na Attiny13a i zaufane 7135 (prosta mała konstrukcja).

Firmware: https://bazaar.launchpad.net/~toykeeper ... :/dthoang/ (miał mi to pisać kolega ale znalazłem to więc po co pisać)
Przy podłączeniu zasilania mignie tylko dioda i to tyle z działania potencjometrem ustawiłem sobie napięcie z dzielnika 19.1kR i 4.7kR nie wiem dlaczego mi to nie działa jeśli kod źródłowy (ten który mi nie działa to modyfikacja tego: https://bazaar.launchpad.net/~toykeeper ... momentary/) i ten w pełni działa :(
Zdjęcia: https://photos.app.goo.gl/QVJVYShR5FhYSCb59
Dziękuję bardzo za odzew :razz:

: sobota 28 gru 2019, 23:05
autor: adriangwis
A jeśli nie taki kod to może posiada ktoś kod na tact switch z fajnymi trybami :)

: sobota 28 gru 2019, 23:22
autor: ElSor
Pierwsze co, to zadbaj o prawidłowe połączenia (podciągnięcie resetu, dodanie choćby ceramika na zasilanie przy procku i rezystora w szereg z diodą) i później można będzie rozmawiać o czymkolwiek, bo na stykówce to różne dziwne rzeczy mogą się dziać.

: sobota 28 gru 2019, 23:31
autor: adriangwis
Dobrze, jutro zlutuje to w pajączku i zobaczę może to pomoże :( ale myślę że aż w rezystor do diody to się nie będę bawił haha
Tylko czy na driverze njang105. Reset jest do czegoś podłączony? Bo ja tu na płytkach nie widzę żadnego połączenia czasem nie polutowany.

: niedziela 29 gru 2019, 00:17
autor: ElSor
Reset nie jest podpięty na driverze a u Ciebie jest wpięty do anteny. Rezystor do diody to również ważna rzecz (zobacz datasheet procka > tabelkę max obciążalności i schemat portu) i pomyśl sobie co się stanie, gdy przeciążamy wyjście procesora.
Od siebie też dodam, że dzielnik do mierzenia napięcia przy driverze z przyciskiem chwilowym to średnio dobry pomysł, bo zjada prąd nawet, gdy latarka nie działa.

: niedziela 29 gru 2019, 11:35
autor: adriangwis
Witam,
Zdaje sobie sprawę z tego dzielnika napięcia będzie pobierał 0.2mA dlatego chciałem go usunąć bo ogniwo będzie miało też swoje zabezpieczenie no i co za tym idzie nie będzie potrzebny dzielniczek. Tylko co tu zmianiac jak oryginał mi nie działa :(
Wracając do sprawy nadal nie działa rezystor od resetu jest kondensator jest rezystor diody jest: https://photos.app.goo.gl/QVp8w9oEzmDUZ9uT8
Nadal to samo dioda mignie przy podaniu zasilania i gasnie. Nadal kod źródłowy działa, a ten nie, więc to nie wina attiny.
Dziękuję bardzo za pomoc 😊 i mam nadzieję jakoś załatwić ten problem ponieważ firmware tutaj jest cudownie rozwiązany i wygodny. Jak na latarkę 6/2.5cm.

: niedziela 29 gru 2019, 12:09
autor: ElSor
Na początek wyłącz kontrolę napięcia #define VOLTAGE_MON zmień na 0 i odepnij potencjometr i jego przewody. W szereg z zasilaniem wepnij amperomierz i zmierz pobierany prąd podczas "pracy" i podczas naciskania (trzymania) przycisku w pierwszej fazie (jeszcze lepiej by było mierzyć to oscyloskopem) żeby zobaczyć czy procesor się budzi ze snu.
I dla pewności dopytam czy fusebity zostały zmienione na L: 0x75, H: 0xFF?
A napięcie zasilania nadal można mierzyć bez dzielnika (samo zabezpieczenie ogniwa to już ostateczność i warto wyłączać latarkę nieco wcześniej).

: niedziela 29 gru 2019, 12:47
autor: adriangwis
Voltage moon 0 (zmienilem I wgrałem)
Nie wiem co to fuse bity nic nie zmieniałem po prostu wgrałem przez arduino isp i tyle tamten firmware też ma wyszczególnione takie same fuse bity i działa więc nie wiem.
Wskazania multimetru: https://photos.app.goo.gl/xfNq7g2wZ5212N2M8
Wskazania multimetru (działający kod na którego podstawie napisany niedziałający) https://photos.app.goo.gl/8SKnDc9EPdQWyHi56

: niedziela 29 gru 2019, 16:24
autor: ElSor
Tutaj różne parametry siedzą w EEPROMie i złe fusebity mogą wpływać na złe działanie funkcji zapisujących dane. Nie wiem jak tam zmieniać fusy ale warto przeszukać googla pod tym kątem. Jeśli to nie pomoże to pozostaje prześledzić kod i "debugować" go poprzez np włączanie diody w różnych miejscach kodu i dojście do tego, co jest problemem. Wiemy na 100%, że przycisk go wybudza i usypia a nawet zmienia tryby, bo zmienia się prąd ale bubla trzeba szukać dalej.

: niedziela 29 gru 2019, 16:40
autor: adriangwis
Czyli co ja mam zrobić? Nie znam się na tym za bardzo, a jeśli mam być szczery to nie nawidze mikrokontrolerów przez Arduino ide nie mam możliwości dotarcia do fuse bitow w zasadzie do niczego mogę zmienić tylko zegar i napięcie: https://photos.app.goo.gl/DxWx9hPt8AifwEfi8
Może zna Pan inny kod albo jakieś inne rozwiązanie? :( Zależy mi na tym żeby było to na tact switchu przez wzglad na rozmiary konstrukcji i fajne tryby bo w tym podstawowym to przeba się przeklikiwac przez tryby i nie ma sos ani strobe

: niedziela 29 gru 2019, 17:03
autor: ElSor
Nie wiem czy to do mnie (Pan) ale też nie lubię Arduino choć często pomaga coś "złożyć" na szybko z gotowców. Inne rozwiązanie to zakup programatora dedykowanego (np AVR Dragon czy Atmel ICE mam te 2 i polecam, pomimo, że nie wykorzystuję ich nawet w 10%) zapoznanie się z Atmel Studio i programowaniem (+ debugowanie) i wtedy będzie stosunkowo szybko i łatwo zrobić swój mod czy też od nowa napisać program. Gotowców raczej nie ma innych poza znaną Ci już paczką u toykeepera. Niestety ale często szukanie błędu w cudzym kodzie może być bardzo czasochłonne i to mnie niejako zachęciło po części do napisania swojego 1wszego, później kolejnego, odpowiednich zakupów i pisania kolejnych (a raczej ulepszania poprzednich).
Ten programator z Arduino powinien zadziałać z nakładką graficzną do AVRDUDE (np http://yuki-lab.jp/hw/avrdude-GUI/ którego kiedyś używałem z jakimś klonem programatora AVRISP).

: niedziela 29 gru 2019, 17:12
autor: adriangwis
Eh kupowanie specjalnie programatora do złożenia kilku latarek gdzie możliwe że mi to się znudzi jest ponad mój budżet (Pan to do Ciebie niegdy nie wiadomo z kim się pisze) czy jest możliwość że wrzucilbys ten program u siebie i sprawdził? Dzięki bardzo za pomoc jesteś ostatnia deska ratunku a jeśli nie to będę musiał poprosić ziomka o napisanie kodu :(

Zainstalowałem ten program avrdude i muszę mieć usbasp żeby coś wskórać bo przez Arduino nie może się połączyć :(