Sterownik programowalny na Attiny13A

co i jak zrobiłem...
Awatar użytkownika
Bocian
Site Admin
Posty: 3157
Rejestracja: niedziela 11 lis 2007, 21:21
Lokalizacja: Wiskitki

Sterownik programowalny na Attiny13A

Post autor: Bocian »

Sercem sterownika jest mikrokontroler z rodziny AVR Atmela - Attiny13A (fabryczny procek 105C). Szybki PWM (brak efektu migotania najniższych trybów). Sterownik do obsługi klików (wielo-klików) posiłkuje się kondensatorem ceramicznym.

Ten model występuje w dwóch wariantach.

1). Wersja rowerowa: 3 programowalne tryby (z palety 11stu jasności), przełączanie w jednym kierunku pętli szybkim, miękkim dwuklikiem. 1-klik nie robi nic, więc nie musimy się obawiać, przykładowo na rowerze o samoistne przełączenie trybu.

2). Wersja EDC: 4 programowalne tryby (z palety 11stu jasności). Nawigacja pomiędzy trybami pracy jest dwukierunkowa. Jedno-klik powoduje przejście do kolejnego trybu w pętli, dwuklik powrót do poprzedniego. Pozwala nam to np. zmniejszyć jasność bez "przeklikiwania" mocniejszych trybów w pętli. Po dojściu do skraju pętli, pójście dalej w tym kierunku spowoduje przeskok do kolejnego skraju pętli.

Poniżej wspólne funkcjonalności dla obydwu wersji:


Kondensator służy za jedno bitową pamięć z ograniczonym czasem podtrzymania informacji. Jest on użyty do odróżnienia krótkiego zaniku napięcia zasilania (klika) od wyłączenia. Standardowy kondensator 470nF zapewnia czas, po którym zanik zasilania jest traktowany jako wyłączenie około 0,5s. Zmiana kondensatora na 1µF umożliwia wydłużenie tego czasu (długości klika) do 1s. Tak więc każdy zanik napięcia na czas mniejszy niż 0,5s jest traktowany jako klik, każdy kolejny wykonany po czasie świecenia mniejszym niż 0,5s, jest traktowany jako kolejny klik wielo-kliku.


Procedurę programowania danego trybu wywołujemy szybkim 6-cio klikiem będąc aktualnie w trybie który chcemy zmienić. Wyświetlanie sekwencji następuje od trybu najniższego (sygnalizowanego "mrugnięciem") w górę. Każdy tryb wyświetla się przez ok. 1,5 sek. Po dojściu do 100% następuje również sygnalizacja "mrugniecie" po czym malejąco wyświetla tryby w dół. Tryb programujemy w trakcie wyświetlania go klikiem (bądź mechanicznym wyłączeniem włącznika). Jeśli nie wykonamy nic podczas procedury prezentacji trybów w górę i w dół lampka zostanie przy dotychczasowo ustawionej jasności.

PALETA POZIOMÓW JASNOŚCI DOSTĘPNYCH W PROCESIE PROGRAMOWANIA:
0,02%
0,15%
1%
4%
10%
18%
25%
32%
50%
70%
100%

Włączenie trybu strobo wywołujemy szybkim 3-klikiem Mechanizm ten działa w ten sposób, że błyski mają intensywność trybu, z którego wywołaliśmy trójklik i mają optymalną według mnie częstotliwość 2Hz.

Uproszczony pomiar napięcia ogniwa pod obciążeniem 100%. Wywoływany 4-klikiem. Lampka zapala się na chwilę w trybie 100%, następuje pomiar i ilością błysków o intensywności 20% informuje nas o wykrytym przedziale napięcia:

- 5 błysków (3,8-4,0V)
- 4 błyski (3,6-3,8V)
- 3 błyski (3,4-3,6V)
- 2 błyski (3,2-3,4V)
- 1 błysk (3,0-3,2V)
brak błysku (okolice 3,0V za chwilę zacznie działać zabezpieczenie przed zbyt głębokim rozładowaniem ogniwa Li-Ion).


RESET do ustawień fabrycznych trybów pracy wywoływany 8-klikiem.


Ostrzeganie o niskim napięciu ogniwa Zaczyna działać gdy ogniwo w danym trybie pracy osiąga okolice 2,9-3,0V. Następuje "mrugnięcie" i redukcja o kolejny, niższy poziom z palety programowalnych trybów (osiągamy ~2,9V w nim, mrugnięcie i redukcja do niższego). Tak dzieje się do poziomu numer 3 (1%). W tym momencie lampka utrzymuje ten poziom, mrugając cyklicznie co 10 sek. Po osiągnięciu 2,8V następuje ostatnia redukcja do poziomu 2 (0,15%). Po osiągnięciu krytycznie niskiego napięcia 2,6V sterownik 4 razy mruga i przechodzi w tryb uśpienia.

Autorem softu, według moich wytycznych jest kolega Pyra :)

Sterownik jest dostępny w dwóch wariantach, 3,04A na bazie 8szt. AMC7135 binu 380mA oraz standardowym 2,8A na AMCkach 350mA. Sterowniki, które trafią do oferty, będą miały zalutowane porządne przewody 0,35mm2 w silikonowej izolacji (typ modelarski, prąd pracy ciągłej 10A). Na życzenie (bez dopłaty) mogą mieć również dolutowaną w miejscu styku sprężyny z plusowym terminalem ogniwa blaszkę stykową włącznika Omten PBS101C (zwiększa to powierzchnię styku sterownika z ogniwem zmniejszając spadek napięcia w tym miejscu, jest to lepszy materiał niż zwykły, goły mosiężny krążek).

Poniżej kilka fotek (fotki dla modelu rozszerzonego na Attiny25V, sterownik programowalny 13A wygląda identycznie, poza prockiem):

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek
Ostatnio zmieniony sobota 08 lut 2014, 16:59 przez Bocian, łącznie zmieniany 3 razy.
Sometimes darkness can show you the light
dsk
Posty: 331
Rejestracja: niedziela 03 lis 2013, 15:42
Lokalizacja: Kraków

Post autor: dsk »

Zapowiada się ciekawie. :smile: Interesujące wykorzystanie gwiazdki - czy to ten opisywany kondensator od klików?

Jak będzie z pamięcią trybu po wyłączeniu latarki?
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
Pamięć jest natychmiastowa, czyli na jakim trybie wyłączysz, na takim się włączy.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
marmez
Posty: 2879
Rejestracja: sobota 08 sty 2011, 19:19
Lokalizacja: Szczecin
Kontakt:

Post autor: marmez »

Ciekawe :) Czy sterowniki są/będą sprzedawane osobno?
Bocian pisze:1-klik nie robi nic, więc nie musimy się obawiać, przykładowo na rowerze o samoistne przełączenie trybu.
Hmm. W standardowym sterowniku od Convoya S2 1-klik też nic nie robił, a jak jadąc wpadłem na nierówności, to gdyby nie druga latarka miałbym ciemność (tryb 5% po przejściu z 100% w lesie przy 20km/h wydaje się ciemnością). Tak, że mimo wszystko na rower polecam założyć trochę dłuższą sprężynkę od strony sterownika. Niekoniecznie aż tak długą, jak ja (tutaj: http://www.swiatelka.pl/viewtopic.php?t=12565), bo ja musiałem jeszcze zniwelować odsunięcie sterownika o 6mm.

Chyba, że ta to dodanie kondensatora i trochę inne przez to działanie jest w stanie zniwelować nawet takie latające "jak głupie" ogniwo przy niespodziewanym wpadnięciu w dziury... Nie potrafię sobie dokładnie działania tego sterownika wyobrazić :(

Pozdrawiam
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
marmez pisze:Chyba, że ta to dodanie kondensatora i trochę inne przez to działanie jest w stanie zniwelować nawet takie latające "jak głupie" ogniwo przy niespodziewanym wpadnięciu w dziury... Nie potrafię sobie dokładnie działania tego sterownika wyobrazić :(
Właśnie chodzi o odmienną zasadę wykrywania klików. Standardowo używany jest pomiar czasu pracy po włączeniu, jeśli jest krótszy od ustalonej wartości (różnie bywa 1 - 5s) to wyłączenie w tym czasie jest traktowane jak klik. Nowy driver, wykrywa przerwy w zasilaniu, trwające nie dłużej jak 0,5s i nie krócej jak 10ms. W tym wypadku jednak, sygnałem do przełączenia trybu, są dwa takie kliki, następujące po sobie w czasie nie dłuższym niż 0,5s i nie krótszym jak 10ms, tak więc musi wystąpić szybki dwuklik, aby zmienić tryb. Wszystkie inne zdarzenia nie mieszczące się w tych przedziałach czasowych, są ignorowane.
Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ag
Posty: 22
Rejestracja: wtorek 10 kwie 2012, 17:40
Lokalizacja: kns

Post autor: ag »

Witam.
Pomysł zmiany trybów w dwóch kierunkach jest genialny,nie mogę tylko zrozumiec po co pamięc trybów,zwłaszcza w EDC.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
ag pisze:nie mogę tylko zrozumieć po co pamięć trybów,zwłaszcza w EDC.
A dlaczego "zwłaszcza"... Większość użytkowników, ustawia optymalny tryb, i tak świeci, czyli włącza i wyłącza, klikanie traktując jak ostateczność. Niestety większość z nas tutaj, żyje w odizolowaniu od "przeciętnego użytkownika" i stąd często inny osąd.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ag
Posty: 22
Rejestracja: wtorek 10 kwie 2012, 17:40
Lokalizacja: kns

Post autor: ag »

Witam.
Nie chcę nic optymalnego tylko praktycznego.Teraz denerwuje mnie że nigdy nie wiem który tryb się włączy,dlatego ciekawi mnie czy w tym sterowniku jest opcja wyłączenia pamięci.
Pozdrawiam.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
W tym, nie ma.
Jeśli jednak zwrócisz się do Bociana, to mogę pamięć wyłączyć.

Pozdrawiam
Ostatnio zmieniony wtorek 14 sty 2014, 06:54 przez Pyra, łącznie zmieniany 1 raz.
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Bocian
Site Admin
Posty: 3157
Rejestracja: niedziela 11 lis 2007, 21:21
Lokalizacja: Wiskitki

Post autor: Bocian »

ag pisze:Witam.
Nie chcę nic optymalnego tylko praktycznego.Teraz denerwuje mnie że nigdy nie wiem który tryb się włączy,dlatego ciekawi mnie czy w tym sterowniku jest opcja wyłączenia pamięci.
Pozdrawiam.
Ale ja tu czegoś nie rozumiem. No bo OK, mamy chiński sterownik, w którym pamięć trybu działa po zadanym czasie użytkowania danego trybu (też mnie to drażni) czy to 1,2 czy 3 sekundy, trzeba świecić, żeby być pewnym w czym odpalimy następnym razem. Ale tu nie ma takiego problemu. Tu liczy się czas OFF (rozłączonego obwodu zasilania) Dla softów EDC wystarczy 0,5sek. (lub dowolnie dłużej) dla rowerowego, żeby cokolwiek zmienić, potrzebny jest min. szybki dwuklik. Czy ja tu czegoś nie łapie o co chodzi z tym brakiem pamięci i czemu komukolwiek byłoby to potrzebne? :-|
Sometimes darkness can show you the light
ag
Posty: 22
Rejestracja: wtorek 10 kwie 2012, 17:40
Lokalizacja: kns

Post autor: ag »

Witam.
Chodzi mi o start, np. w nocy chcę dyskretnie poswiecic a tu pełna moc bo poprzednio swieciłem na podwórku.
Czyli wg.mnie, pamięc jest zbędna,a potrzebny tryb domyślny a najlepiej dwa.
Pozdrawiam.
Awatar użytkownika
marmez
Posty: 2879
Rejestracja: sobota 08 sty 2011, 19:19
Lokalizacja: Szczecin
Kontakt:

Post autor: marmez »

Prawdę mówiąc też się dziwię popularności sterowników z pamięcią trybu. Kwestia gustu - wiadomo, przyzwyczajenia - też.

Bardzo dobrze, rozumiem kolegę ag, może dlatego, że przez lata używałem czołówek Petzl i się nauczyłem, że gdy chcę tryb X to X (1-3) razy naciskam. W programowalnej Petzl RXP w 2 pierwszych trybach mam dwie najczęściej przeze mnie używane moce. Ten sposób z RXP bardzo mi się podoba. Od tygodnia bawię się (to właściwe słowo, bo "używam" mało) sterownikiem programowalnym w latarce EDC, w której domyślnie była pamięć, ale mogłem ją wyłączyć i *w tej chwili* wydaje mi się to *dla mnie* wygodniejsze, gdy mam tę pamięć wyłączoną. Najczęstszy tryb 1-klik, kolejne, to kolejne kliki, zawsze wiem, który tryb mi się włącza :)

Używałem w tej EDC prawie rok sterownika z pamięcią trybów i bardzo często, żeby wiedzieć w którym trybie jestem (a nieraz chcę wiedzieć, bo np. nie mam ogniwa na zmianę i nie chcę by się za szybko wyładowało, albo z innych powodów (ciepła)) musiałem przeklikać wszystkie tryby i liczyć od skrajnego (najjaśniejszego/najsłabszego).

Od kilku dni w EDC (bo na rower mam całkiem inne) mam ustawienia takie:
Wyłączona pamięć (zawsze start od 1)
1-klik - tryb 1, ok 5%
2-klik - tryb 2, ok 35%
3-klik - tryb 3, 100%
--- Poniższe trakuję jako *ukryte*, bo klikanie więcej niż 3 razy jest uciążliwe a te tryby baardzo żadko potrzebne ---
4-klik - tryb 4, ok 1%
5-klik - tryb 5, moon (jakiś mały ułamek %)

Wnioski :wink:

Nie chcę tutaj pisać, że pamięć jest zła, bo dla kogoś (w jego zastosowaniach, czy guście może, być dobra), po prostu też się dziwię, że jest tak bardzo gloryfikowana (można odnieść takie wrażenie przy lekturze opinii i polecanych sterowników różnych) i zastanawiam się w jakich to zastosowaniach się przydaje.

Wydaje mi się, że pamięć trybu może być lepsza od braku pamięci, gdy bardzo dużo i często się używa latarki w tych samych warunkach i potrzebuje się wiele razy wyłączać i włączać z tą samą mocą. Czyli używa jej się jako latarki 1-trybowej z ewentualną opcją zmiany mocy. Co też chyba Pyra miał na myśli.

Gdy często chcemy zmieniać tryby, to *ja* wolę brak pamięci.

Przepraszam za tak długi wywód, ale chciałem być dobrze zrozumiany. :mrgreen:

Pozdrawiam, marmez :)

{dodam jeszcze, że kompletnie zielony w latarkach nie jestem ;) i z kilkoma różnymi sposobami sterowania latarkami się już spotkałem, używałem Petzle, "chińszczyzny", Bocialarkę (starą, bo v2 ;) ) zamawiałem różne sterowniki, z różnymi trybami, w tym sterowane mikroswitchem w jednym i w dwóch kierunkach (podobnie jak ten tutaj) w tym ostatnim też mnie irytowało (irytuje dalej), że nie wiem, czy już jestem w najniższym trybie i *zmiejszając* dostaję po oczach najwyższym :o - coś, za coś :wink: ;) .}

Tak, że jeżeli jest jakaś lista życzeń, to też bym prosił o wersję z możliwością wyłączenia pamięci :grin:
Tekst podpisu:
Podpis - dozwolona ilość znaków: 255
Awatar użytkownika
Bocian
Site Admin
Posty: 3157
Rejestracja: niedziela 11 lis 2007, 21:21
Lokalizacja: Wiskitki

Post autor: Bocian »

Możliwe, że dojdzie opcja wyłączenia pamięci i domyślnego startu od pierwszego trybu, poprzez zwarcie którejś gwiazdki do masy, ale jeszcze zobaczymy ;)
Ostatnio zmieniony wtorek 14 sty 2014, 12:03 przez Bocian, łącznie zmieniany 1 raz.
Sometimes darkness can show you the light
Awatar użytkownika
tty5150
Posty: 895
Rejestracja: piątek 15 cze 2012, 02:28
Lokalizacja: Sand City

Post autor: tty5150 »

Z czasem po kilku latarkach z pamięcią też doszedłem do wniosku, że opcja bez pamięci może być bardzo przydatna. Zawsze wiadomo jak się latarka zachowa, a wchodzenie od trybu moon ma duże zalety.
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
ag pisze:...,a potrzebny tryb domyślny a najlepiej dwa.
Ja chyba jakiś ciemny jestem, bo nie rozumiem...

OK Panowie, zostały założone pewne kryteria co do softu, i został stworzony optymalny pod tym względem algorytm m.in. ochrony pamięci eeprom. Wyłączenie pamięci będzie wymagało zastosowania innego algorytmu ochrony, bo eeprom będzie narażony na częste przeklikiwanie związane ze zmianą trybu startowego. Niestety wiąże się to z utratą części aktualnej funkcjonalności, chyba że godzimy się na spore skrócenie żywotności sterownika.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ODPOWIEDZ