Nowe sterowanie do Skay Ray King
: czwartek 21 mar 2013, 18:39
Witam
Dawno nic nie namodziłem, więc w końcu przyszedł czas aby się czymś pochwalić.
Jakiś miesiąc temu dostałem od kolegi rc.poznan wspomnianą latarkę celem zwiększenia jej uniwersalności. Pacjent już miał wymienione rezystory na 10k celem zwiększenia prądu do 3A/LEDa. Dużo pracy też mnie ominęło w związku z tym, że driver już był wyjęty.
Projekt początkowo zakładał zwiększenie liczby trybów, gdyż dwa oryginalne tak trochę biedne...
Kolejne pomysły dotyczyły trybu moon, ale jak uzyskać moon na 3-ch XMLach?
Rozpracowanie driverka dało nadzieję, gdyż każda przetwornica sterowana jest z osobnego wyjścia PICa. Postanowiłem więc, że tryb moon, będzie realizowany przez jedną diodę. W związku z tym wyszło zapotrzebowanie na procesor, który daje do dyspozycji 2 x PWM, oraz osobne wejście przerwania INT0, celem wybudzenia procka z uśpienia. Takie założenia spełnia seria ATtiny25/45/85. W związku z tym, że driverek raczej nie będzie zawierał wodotrysków, uznałem ze wystarczy wersja ATtiny25. Poszukiwania w kraju spełzły na niczym, w trudnej sytuacji poratował greg.
Zaczęło się pisanie programu, na razie na płytce uruchomieniowej.
Pierwotna wersja zakładała, włączenie i wyłączenie latarki przez przytrzymanie przycisku przez 3s.
Widać tu tez mojej produkcji programator zgodny z STK200
W trakcie prac, właściciel wpadł na, moim zdaniem, bardzo dobry pomysł, aby moon wywoływać dwuklikiem z trybu uśpienia, no więc mała przeróbka programu.
Następne stwierdziłem, że niezbędne są: ochrona ogniwa, zabezpieczenie termiczne, oraz wskaźnik napięcia zasilania...
W związku z tym, ze procesor w trybie uśpienia pobierał mi około 0,12µA a dzielnik napięcia spełniający wymagania układu ADC musiał by pobierać około 100µA a dodatkowy układ pomiaru temperatury, też by swoje dołożył, postanowiłem trochę pogłówkować i rozwiązałem to za pomocą narzędzi wbudowanych w procesor, o czym wspomniałem w odpowiednim wątku w ATtiny sztuki i sztuczki. Skomplikowane przeliczanie zostało zastąpione wpisaniem przeliczonych wartości do porównań i tyle.
W końcu przyszedł czas na przeróbkę.
W zasadzie przeróbka oryginalnego driverka ograniczyła się do wylutowania procesora i odlutowania przewodów przycisku sterującego. Następnie do padów po procesorze przylutowałem odcinki przewodów.
Te znów, połączyłem z przygotowaną płytką nowego procesora.
Płytkę zaprojektowałem tak, aby miała sporą powierzchnię miedzi, która będzie przekazywać ciepło z głowicy na procesor. Całość postanowiłem przymocować śrubką mocującą reflektor do głowicy. Aby polepszyć przewodność cieplną, użyłem PCB grubości 0,4mm, cienka, jednocześnie wystarczająco sztywne.
Układ taki pozwala na łatwą zmianę oprogramowania oraz przekazywanie ciepła z głowicy do obudowy procesora.
Po zmontowaniu i wstępnych próbach, latarkę przekazałem wykwalifikowanemu betatesterowi
Nad schematem nie ma co się rozwodzić, bo prosty jak świński ogon
PB.0 - 1 LED (moon)
PB.1 - 2 x LED (pozostałe tryby)
PB.2 - INT0 - przycisk
Zasilanie standardowo 4 i 8 zablokowane kondensatorem 100nF
Funkcjonalność:
dwuklik - moon
krótki klik - wyłączenie lub przytrzymanie 3s - przejście do trybów zwykłych.
Przytrzymanie 3s - tryby podstawowe, start od domyślnego low.
pojedynczy klik - tryb wyżej (w pętli)
dwuklik - tryb niżej (w pętli)
trójklik - wskaźnik napięcia (5 - 1 błyski jednym LEDem: 3,8; 3,6; 3,4; 3,3V i poniżej)
Zapętlenie powoduje, że po 5 jest 1 a przed 1 jest 5, w sumie 5 trybów.
Zmierzone luxy kształtują się następująco:
1 - 99 lux
2 - 600 lux
3 - 1920 lux
4 - 8800 lux
5 - 21200 lux
oraz
moon - 1,9 lux
Zabezpieczenie termiczne powoduje płynne zmiany jasności po przekroczeniu temperatury około 45°C, według mnie wystarczająca, ledwo można latarkę utrzymać w dłoni, a nieopatrzne włączenie, nie spowoduje strat.
Pobór prądu w trybie uśpienia około 1µA (przetwornice i procek)
Jak to świeci? Szkoda gadać...
Pozdrawiam
Dawno nic nie namodziłem, więc w końcu przyszedł czas aby się czymś pochwalić.
Jakiś miesiąc temu dostałem od kolegi rc.poznan wspomnianą latarkę celem zwiększenia jej uniwersalności. Pacjent już miał wymienione rezystory na 10k celem zwiększenia prądu do 3A/LEDa. Dużo pracy też mnie ominęło w związku z tym, że driver już był wyjęty.
Projekt początkowo zakładał zwiększenie liczby trybów, gdyż dwa oryginalne tak trochę biedne...
Kolejne pomysły dotyczyły trybu moon, ale jak uzyskać moon na 3-ch XMLach?
Rozpracowanie driverka dało nadzieję, gdyż każda przetwornica sterowana jest z osobnego wyjścia PICa. Postanowiłem więc, że tryb moon, będzie realizowany przez jedną diodę. W związku z tym wyszło zapotrzebowanie na procesor, który daje do dyspozycji 2 x PWM, oraz osobne wejście przerwania INT0, celem wybudzenia procka z uśpienia. Takie założenia spełnia seria ATtiny25/45/85. W związku z tym, że driverek raczej nie będzie zawierał wodotrysków, uznałem ze wystarczy wersja ATtiny25. Poszukiwania w kraju spełzły na niczym, w trudnej sytuacji poratował greg.
Zaczęło się pisanie programu, na razie na płytce uruchomieniowej.
Pierwotna wersja zakładała, włączenie i wyłączenie latarki przez przytrzymanie przycisku przez 3s.
Widać tu tez mojej produkcji programator zgodny z STK200
W trakcie prac, właściciel wpadł na, moim zdaniem, bardzo dobry pomysł, aby moon wywoływać dwuklikiem z trybu uśpienia, no więc mała przeróbka programu.
Następne stwierdziłem, że niezbędne są: ochrona ogniwa, zabezpieczenie termiczne, oraz wskaźnik napięcia zasilania...
W związku z tym, ze procesor w trybie uśpienia pobierał mi około 0,12µA a dzielnik napięcia spełniający wymagania układu ADC musiał by pobierać około 100µA a dodatkowy układ pomiaru temperatury, też by swoje dołożył, postanowiłem trochę pogłówkować i rozwiązałem to za pomocą narzędzi wbudowanych w procesor, o czym wspomniałem w odpowiednim wątku w ATtiny sztuki i sztuczki. Skomplikowane przeliczanie zostało zastąpione wpisaniem przeliczonych wartości do porównań i tyle.
W końcu przyszedł czas na przeróbkę.
W zasadzie przeróbka oryginalnego driverka ograniczyła się do wylutowania procesora i odlutowania przewodów przycisku sterującego. Następnie do padów po procesorze przylutowałem odcinki przewodów.
Te znów, połączyłem z przygotowaną płytką nowego procesora.
Płytkę zaprojektowałem tak, aby miała sporą powierzchnię miedzi, która będzie przekazywać ciepło z głowicy na procesor. Całość postanowiłem przymocować śrubką mocującą reflektor do głowicy. Aby polepszyć przewodność cieplną, użyłem PCB grubości 0,4mm, cienka, jednocześnie wystarczająco sztywne.
Układ taki pozwala na łatwą zmianę oprogramowania oraz przekazywanie ciepła z głowicy do obudowy procesora.
Po zmontowaniu i wstępnych próbach, latarkę przekazałem wykwalifikowanemu betatesterowi
Nad schematem nie ma co się rozwodzić, bo prosty jak świński ogon
PB.0 - 1 LED (moon)
PB.1 - 2 x LED (pozostałe tryby)
PB.2 - INT0 - przycisk
Zasilanie standardowo 4 i 8 zablokowane kondensatorem 100nF
Funkcjonalność:
dwuklik - moon
krótki klik - wyłączenie lub przytrzymanie 3s - przejście do trybów zwykłych.
Przytrzymanie 3s - tryby podstawowe, start od domyślnego low.
pojedynczy klik - tryb wyżej (w pętli)
dwuklik - tryb niżej (w pętli)
trójklik - wskaźnik napięcia (5 - 1 błyski jednym LEDem: 3,8; 3,6; 3,4; 3,3V i poniżej)
Zapętlenie powoduje, że po 5 jest 1 a przed 1 jest 5, w sumie 5 trybów.
Zmierzone luxy kształtują się następująco:
1 - 99 lux
2 - 600 lux
3 - 1920 lux
4 - 8800 lux
5 - 21200 lux
oraz
moon - 1,9 lux
Zabezpieczenie termiczne powoduje płynne zmiany jasności po przekroczeniu temperatury około 45°C, według mnie wystarczająca, ledwo można latarkę utrzymać w dłoni, a nieopatrzne włączenie, nie spowoduje strat.
Pobór prądu w trybie uśpienia około 1µA (przetwornice i procek)
Jak to świeci? Szkoda gadać...
Pozdrawiam