Modyfikacja NANJG 105c - driver programowalny wg ElSora

co i jak zrobiłem...
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Modyfikacja NANJG 105c - driver programowalny wg ElSora

Post autor: ElSor »

Z racji iż coraz więcej znajomych zgłasza się do mnie z prośbą o zakup i modyfikacje latarki postanowiłem zrobić swoją wersję NANJGa. Specjalnie nie różni się ona od znanych już na forum rozwiązań, ba nawet można powiedzieć, że jest lekko wykastrowana ale na moje potrzeby i potrzeby znajomych jest zupełnie wystarczająca.

Co łączy ją z innymi konstrukcjami z forum? Pamięć RAM służy obecnie do wykrywania krótkich klików. Jest użyty tryb FastPWM w niskich trybach tylko, dzięki czemu praktycznie nie widać migania diody, ma zabezpieczenie przed rozładowaniem ogniwa ustawione na ok 3V i jest możliwość programowania mocy trybów z dostępnych 11 (12 dla 8xAMC) poziomów.

Co je różni? Rozdzieliłem układy AMC i w przypadku wersji >2,1A jest podział na 2 układy/reszta, w słabszych wersjach 1układ/reszta. Oczywiście trybami niższymi steruje mniejsza ilość AMCków, dzięki czemu sprawność elektryczna znacząco się poprawia a uzyskanie bardzo niskich i zarazem stabilnych trybów jest ułatwione. Dodatkowo, dzięki temu, 3 najwyższe poziomy nie powinny zakłócać liczników bezprzewodowych ani tym bardziej nie wydają żadnych delikatnych dźwięków wydobywających się z wnętrza (drgania sprężynek).

Są 2 grupy po 4 tryby. 1wsza zwana umownie EDC, 2ga rowerowa. W tej drugiej 1klik odpala natychmiastowo na 2 sekundy 100% światła (rola ostrzegania / zaznaczenia swojej obecności na drodze). Zmiana grupy powoduje włączenie nowej w trybie z której ta zmiana została wywołana (nie odczytuje z pamięci ostatnio używanego trybu ew nie odpala domyślnie z 1wszego). Z migaczy wychodzi się 1 klikiem lub wyłączeniem latarki.

Obsługa grupy EDC:
1 klik - zwiększenie trybu o 1 w górę, z ostatniego przechodzi do 1wszego
2 klik - zmniejszenie trybu o 1 w dół z najniższego NIE przechodzi do ostatniego
3 klik - włączenie 4 trybu (domyślnie najmocniejszego)

Obsługa grupy rowerowej:
1 klik - włączenie na 2 sekundy latarki na 100% mocy, później przejście w tryb, z którego został wywołany (podczas trwania 2 sekundowego świecenia 100% mocy 1 klik zwiększa tryb o 1 a 2 klik zmniejsza tryb o 1)
2 klik - zwiększenie trybu o 1 w górę, z ostatniego przechodzi do 1wszego
3 klik - zmniejszenie trybu o 1 w dół z najniższego NIE przechodzi do ostatniego

Wspólne dla obu grup:
4 klik - włączenie stroboskopu ~10Hz o mocy trybu, z którego został wywołany. Stosunek czasu świecenia do czasu przerwy wynosi 2:3 (40ms : 60ms)
5 klik - włączenie stroboskopu "police" (2 krótkie błyski, dłuższa przerwa) o mocy trybu, z którego został wywołany (od marca 2015r jest tutaj stroboaskop 3Hz)
6 klik - włączenie trybu "beacon" - krótki błysk o mocy 100% raz na 4 sekundy
7 klik - przełączenie grupy na EDC
8 klik - przełączenie grupy na rowerową
10 klik - wejście w tryb programowania mocy trybu (pamięci grupy) z którego(ej) został wywołany

Programowanie:
W tym trybie latarka co 2 sekundy przygasa, 2 razy na chwilę, informując tym samym o wejściu w ten tryb.
1 klik - zwiększenie mocy o 1 poziom z 11 dostępnych (nie przechodzi w pętli z max do min)
2 klik - zmniejszenie mocy o 1 poziom z 11 dostępnych (nie przechodzi w pętli z min do max)
3 klik - ustawienie mocy minimalnej (1wszego poziomu)
10 klik - wyjście z trybu programowania z zapisaniem aktualnie edytowanego trybu i przejście do niego
12 klik - zmiana stanu pamięci trybu dla danej grupy (jeśli była pamięć trybu to ją wyłącza a jeśli nie było pamięci trybu to ją włącza). Domyślnie EDC zawsze startuje od 1wszego trybu a w trybie rowerowym zawsze włącza się w ostatnio używanym trybie. Po 12 kliku następuje wyjście z trybu programowania (bez ew zmiany mocy trybu - przeprogramowany jest tylko stan pamięci grupy).

Wyłączenie latarki w trybie programowania na min 2 sekundy i włączenie na 1 sekundę powoduje porzucenie zmian i wyjście z trybu programowania.


Zabezpieczenie przed rozładowaniem działa w ten sposób, że po opadnięciu napięcia zasilającego do 3V zmniejszana jest moc o połowę i tak, aż do osiągnięcia poziomu ok 0,5% mocy max. Później latarka mruga co 1 sekundę aż do wyłączenia lub wyczerpania baterii do napięcia ok 2,6V.

Obrazek

Fabrycznie zaprogramowane poziomy:
EDC: 2,5,8,11 start zawsze od pierwszego
Rower: 7,8,9,10 start zawsze od ostatnio używanego

Rozdzielenie układów AMC w sterowniku 6*AMC daje przy prądzie do 700mA zysk ilości lm względem sterownika standardowego o 19%, przy 0,7- 1,4A zysk 9%.
W przypadku 8*AMC daje to już 28% lumenów więcej względem fabrycznego przy prądzie do 700mA i 7,5% przy prądach 0,7-2,1A.
Np 700mA w moim generuje 319lm, sterownik 2,1A bez podziału AMCków 268lm a w wersji 2,8A bez podziału AMCków jest to już tylko 249lm.
Ostatnio zmieniony poniedziałek 02 lis 2015, 11:25 przez ElSor, łącznie zmieniany 17 razy.
Awatar użytkownika
Pyra
Site Admin
Posty: 8522
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Re: Modyfikacja NANJG 105c - driver programowalny wg ElSora

Post autor: Pyra »

Witam
ElSor pisze:Programowanie:
W tym trybie latarka co 1,5 sekundy przygasa 2 razy na chwilę informując tym samym o wejściu w ten tryb.
1 klik - zwiększenie mocy o 1 poziom z 10 dostępnych (nie przechodzi w pętli z max do min)
2 klik - zmniejszenie mocy o 1 poziom z 10 dostępnych (nie przechodzi w pętli z min do max)
3 klik - ustawienie mocy minimalnej (1wszego poziomu)
O, to mi się bardzo podoba...

Pozdrawiam
Sławek
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Zbychur
Posty: 3677
Rejestracja: poniedziałek 19 gru 2011, 21:14
Lokalizacja: Drogomyśl

Post autor: Zbychur »

To ja się piszę do zakupu na testy :)
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Pyra pisze:O, to mi się bardzo podoba...
Mnie również, bo nie trzeba się martwić, że interesujący poziom przeleci i będzie trzeba znów czekać na przejście całej serii.
Zbychur pisze:To ja się piszę do zakupu na testy :)
Będę musiał pomyśleć o tym, bo nie planuję (nie planowałem) jakiejś większej sprzedaży samych sterowników "po ludziach" :razz: Żeby było ciekawiej to mam "aż" 2 wolne drivery na ew sprzedaż, nawet jeszcze nie rozpakowane. A powiem, że dopóki nie zarabiam na latarkach i zajmuję się tym tylko amatorsko, to mam z tego frajdę i chyba lepiej, gdy tak pozostanie. ;)
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Update (w 1wszym poście).
Dodałem możliwość ustawienia pamięci trybu dla każdej z grup, dodałem też 1 poziom więcej w trybie programowania dla driverów do 7xAMC i 2 poziomy dla drivera 8xAMC. Znalazłem też podczas optymalizacji kodu drobne błędy, które poprawiłem. Niestety Tiny13A nie zmieści już nawet prostego zabezpieczenia termicznego, chyba, że zostanie pozbawiony np migaczy :cry:
Awatar użytkownika
Joachim
Posty: 281
Rejestracja: środa 30 mar 2011, 09:18
Lokalizacja: Opoczno

Post autor: Joachim »

Witam.
Wprawdzie Convoya S2 ze sterownikiem ElSor-a posiadam już pewien czas, to niestety z racji późno zapadającego zmroku udało mi się raptem przejechać z nim na rowerze ze dwa razy, z czego w drugim przypadku po przejechaniu 150 metrów wróciłem do domu ze sporą muchą w oku :)
Co mi się podoba:
-zmiana natężenia światła po zmianie trybu - nie ma "swiatło słabsze/ciemność/światło mocniejsze", tylko po kliknięciu pojawia się na chwilkę tryb pierwotny, z którego zmieniam i po chwili latarka się rozjaśnia o jeden tryb wyżej. Nie wiem jak to wygląda w sterowniku Grega, ale kojarzy mi się to z jego soft change
-szybkość, z jaką nauczyłem się stosować wszystkie kliki od 1 do 10 :) To naprawdę łatwe, zwłaszcza jeśli na początek wydrukuje się listę klików i ma ją przy sobie :)
- tak na zapas, cytat: "Jest użyty tryb FastPWM, dzięki czemu praktycznie nie widać migania diody". Jestem na etapie wyboru licznika do roweru, teraz nie muszę odrzucać bezprzewodowych :)
No i te 800 lm daje radę na drodze :) Po asfalcie spokojnie mogę jechać na poz 8 - 160 lm.
Co mi się nie podoba?
Być może chciałbym mieć więcej trybów w danej grupie, jednak nie wiem czy nie powodowało by to przeładowania ilości trybów do przeklikania. Myślę że to kwestia gustu dla każdego indywidualna.
Tak ze sterownika osobno jak i z latarki jako całości jestem bardzo zadowolony.
Dziękuję bardzo :)
Pozdrawiam serdecznie.

Convoy S2 i C8 ster. ElSor
Convoy S2+ XP-E2 RED mod smokuxx1987
XinTD X3 mod Maciex93, ster. ElSor v.2 3,55A
UltraFire C8,mod Dariusz70
TrustFire X6, 9A
Trajka Dekers 1kW, 2x20Ah

Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Dzięki za podzielenie się uwagami ;)
Joachim de Vett pisze:zmiana natężenia światła po zmianie trybu - nie ma "swiatło słabsze/ciemność/światło mocniejsze", tylko po kliknięciu pojawia się na chwilkę tryb pierwotny, z którego zmieniam i po chwili latarka się rozjaśnia o jeden tryb wyżej. Nie wiem jak to wygląda w sterowniku Grega, ale kojarzy mi się to z jego soft change
Z tego, co kojarzę, to u grega nie ma przeskoku z jednego na drugi tylko płynne rozjaśnianie (jeszcze ładniej wyglądające).
FastPWM raczej jest głównym winowajcą tego, że liczniki bezprzewodowe nie działają. U mnie natomiast nie ma PWMa na trybach 9,10 i 11 i wtedy jest duża szansa na brak zakłócania licznika. Pozostałe jak najbardziej mogą zakłócać ich pracę i z tego co czytam, zakłócają (dotyczy to ogólnie tych sterowników)
Joachim de Vett pisze:Być może chciałbym mieć więcej trybów w danej grupie, jednak nie wiem czy nie powodowało by to przeładowania ilości trybów do przeklikania. Myślę że to kwestia gustu dla każdego indywidualna.
Trybów może być i 10 ale po kilku miesiącach posiadania 5ciu doszedłem do wniosku, że to jednak za dużo, szczególnie teraz, gdy mogę sobie zaprogramować ich moc i mam 2 grupy. Można pomyśleć o samodzielnym programowaniu ilości trybów ale to się już nie zmieści w pamięci procesora. Procesor można oczywiście wymienić i zyskać dużo nowych funkcjonalności ale rosną i koszty i użytkowanie się komplikuje.
Jak prezentuję latarki to dużo nowicjuszy kręci głową jak pokazuję 3-klik ... a gdzie tam programowanie ;)
Awatar użytkownika
alienth
Posty: 270
Rejestracja: poniedziałek 08 paź 2012, 19:10
Lokalizacja: Rzeszów

Post autor: alienth »

ElSor, mam pytanko, usypiasz procesor podczas świecenia, czy nie zawracasz sobie tym głowy? Zastanawiam się czy gra jest warta świeczki dla kilku mA..
Moje sterowniki:
AHE+ v1
KHE
v201 / v211
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

W trybach z PWM usypiać się nie da procka, bo timer musi chodzić. Wyłączać na chwilę ADC też nie ma sensu, bo dzielnik zjada tak dużo, że nie warto. Usypiam go tylko, gdy napięcie spadnie <2,65V. Znając życie mało kto doczeka tego momentu ale jest to dodatkowe zabezpieczenie, gdyby latarka np włączyła się w plecaku i leżała tam kilka(naście - dzięsiąt) dni.
Jest sposób na oszczędzenie troszkę prądu i możliwe, że wykorzystam go w kolejnej modyfikacji, dodając również więcej trybów bez PWMa i zabezpieczenie termiczne.
Awatar użytkownika
alienth
Posty: 270
Rejestracja: poniedziałek 08 paź 2012, 19:10
Lokalizacja: Rzeszów

Post autor: alienth »

Reasumując - w Atiny13 nie warto, tam i tak jest bardzo mało pamięci na kod :roll:

edit: choć ja akurat wprowadzam procka w tryb 'idle'. Fakt, że zysk jest na granicy błędu pomiarowego, ale w przypadku trybu moon różnica jest znaczna.
Ostatnio zmieniony piątek 27 cze 2014, 11:43 przez alienth, łącznie zmieniany 1 raz.
Moje sterowniki:
AHE+ v1
KHE
v201 / v211
Awatar użytkownika
alienth
Posty: 270
Rejestracja: poniedziałek 08 paź 2012, 19:10
Lokalizacja: Rzeszów

Post autor: alienth »

ElSor pisze:Oj warto wg mnie, głównie na fakt ciągłego rozwijania swoich umiejętności i zastępowania pewnych funkcjonalności nowymi - lepszymi.
To prawda. Pamiętam np ile rzeczy stało się prostszych po wprowadzeniu do kodu źródłowego watchdoga i wykorzystywaniu w zależności od potrzeb przerywań przez niego generowanych.

Najtrudniejszym i tak pozostanie optymalizacja kodu by jak najwięcej zmieścić w małym A13 :)


A kamień milowy w softach wg mnie to i tak położył Mistrz Pyra po opublikowaniu pomysłu z kondensatorem :)
Moje sterowniki:
AHE+ v1
KHE
v201 / v211
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Wczoraj miałem okazję przetestować 3 latarki, z moim sterownikiem, łącznie z licznikiem bezprzewodowym z Lidla sygnowanego przez firmę Crivit. Mimo, że licznik jest tani (30zł), to problemu z zakłócaniem sygnału nie zauważyłem. Ten sam licznik w odległości do 10cm od laptopa potrafi wskazać jakieś losowe informacje na wyświetlaczu, jednak nawet przyłożenie latarki bezpośrednio do niego (w trybie PWM rzecz jasna), nie wywołuje żadnych zakłóceń. Ciekaw jestem zatem, czy Sigmy są tak kiepskie, czy po prostu inne drivery tak sieją. Sigmy jednak kupował nie będę, bo Sigma z podobnymi funkcjami kosztuje 5x tyle :roll:
Awatar użytkownika
greg
Posty: 3535
Rejestracja: środa 08 paź 2008, 00:16
Lokalizacja: Wrocław
Kontakt:

Post autor: greg »

Nie tylko PWM zakłóca. Zrobiłem testowy driver załączający 1-8 AMC bez PWM i cóż? Licznik Sigmy padł przy odległości 15 cm od latarki. Sam pracujący procesor generuje co nieco i widać dla niektórych urządzeń to już jest za dużo. Dodam, że na zasilaniu procka 100nF + 10&#181;F ceramiczne.
Sterownik extended v3.5 HE <klik>
Instrukcje sterowników w PDF <klik>

kontakt: info(at)krypton(dot)pl
(podstawić @ i . w stosowne miejsca)
fotorondo
Posty: 1338
Rejestracja: niedziela 01 gru 2013, 18:44
Lokalizacja: warszawa

Post autor: fotorondo »

ElSor, jak w wersji twojego sterownika na 6 amc dolutuje jeszcze 2 szt to będę miał wersje 2,8A czy coś się posypie. Może trzeba je dolutować w odpowiednim miejscu.
Czy soft w oryginale w wersjach na 6 i 8 amc jest taki sam czy się jednak różni?
Awatar użytkownika
ElSor
Site Admin
Posty: 5038
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Będzie 2,8A na ostatnim poziomie, tyle, że poziom 10ty - 1,4A będzie miał 2,1A.
Soft w obu wersjach fabrycznych różni się ilością i sposobem uzyskiwania 10,11 i 12 poziomu. Podział AMCków jest 2+4 / 2+6, czyli najniższe tryby (do 700mA włącznie) zostają bez zmian.
ODPOWIEDZ