Sterownik rozszerzony na Attiny25V
: środa 08 sty 2014, 19:51
Witam. Chciałem zaprezentować sterownik rozszerzony według mojego pomysłu. Otóż, na wstępie chciałem zaznaczyć, że nie jestem zwolennikiem komplikowania rzeczy, które powinny być z natury proste i intuicyjne. Wychodzę z założenia, że lepiej jest, poniekąd zmusić użytkownika do przyjęcia pewnych reguł (które po niedługim czasie użytkowania sam doceni) zamiast dodawania 25-cio kliku aby jedna osoba na tysiąc miała to co akurat sobie wymyśliła... Ale przejdźmy do rzeczy.
Sercem sterownika jest mikrokontroler z rodziny AVR Atmela - Attiny25V. Szybki PWM (brak efektu migotania najniższych trybów). Sterownik do obsługi klików (wielo-klików) posiłkuje się kondensatorem ceramicznym (aby maksymalnie oszczędzać ciągłe mielenie EEPROMu, który jak wiadomo też ma swoją żywotność-przez kilka osób osiągniętą ). Posiada 4 programowalne tryby (spośród palety 11 jasności dostępnych w procedurze programowania). Fabrycznie ustawione to 2, 5, 8, 11 (0,15%; 10%; 32%; 100%).
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.
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.
Precyzyjny pomiar napięcia ogniwa pod obciążeniem wywołujemy szybkim 4-klikiem. Do tematu podszedłem tu po swojemu zakładając co następuje: Praktyczny zakres użytecznego rozładowania ogniwa Li-Ion pod obciążeniem zawiera się w przedziale od 4.0V do 3.0V. Po wywołaniu 4-kliku lampka na moment zapala się w trybie 100%, następuje pomiar napięcia, a następnie ilością błysków o intensywności 20% sterownik informuje nas o dziesiętnej części V po 3.X. Np. 8 błysków to napięcie 3,8V; 5 błysków to napięcie 3,5V etc. I tak w przedziale od 0-10 gdzie 10 błysków to okolice 4.0V (ogniwo wyjęte prosto z ładowarki) a brak błysku 3.0V oznacza, że za chwilę nastąpi ostrzeganie o niskim poziomie napięcia. Pomiar ten bardzo dobrze sprawdza się również do diagnostyki nowych lampek i związanych z nią spadków napięcia w całej konstrukcji (jakości styków etc.), gdyż dostajemy info jakie napięcie fizycznie występuje na poziomie sterownika.
Monitoring temperatury Procedura ta działa zawsze w tle i nadzoruje aktualną temperaturę sterownika. Bazuje na wewnętrznym czujniku temp. procka 25V. Po osiągnięciu progu bezpieczeństwa (domyślnie 60st) sterownik płynnie redukuje moc, po czym stara się wyrównać do zadanego trybu pracy. Jeśli ciepło wciąż nie jest skutecznie odbierane, znowu redukcja i trzymanie się zadanego progu bezpieczeństwa. Przy wychłodzeniu lampki (np. opływ powietrza na obudowie lampki) powrót do nominalnych parametrów zaprogramowanego trybu. Mechanizm ten działa na tyle skutecznie, że możemy lampkę odpaloną na 100% zawinąć w koc bez obawy o uszkodzenie sprzętu czy... koca
Jako, że rozrzut tolerancji czujników w prockach rodziny Attiny 25/45/85 jest dosyć duży, zaimplementowano procedurę serwisowej regulacji temperatury dla progu bezpieczeństwa (domyślnie ustawionej na 60st). Pozwala to również dla doświadczonych użytkowników na dostrojenie sterownika do konkretnej konstrukcji w której pracuje.
10-klik - temperatura graniczna o 5*C w górę, potwierdzone 3-ma "mrugnięciami"
12-klik - temperatura graniczna o 5*C w dół, potwierdzone 2-ma "mrugnięciami"
Powyższe zmiany mogą być przeprowadzane wielokrotnie np. 10-klik przeprowadzony dwa razy z rzędu, podwyższy temp. o 10 st. C (3x 15st C) analogicznie 12-klik aż dostroimy mechanizm do naszych konkretnych wymagań.
Auto-kalibracja termicznego progu bezpieczeństwa. Wywołujemy ją 9-klikiem. Sterownik startuje w trybie 100%, lampka nabiera temperatury i kiedy uznamy, że aktualna temperatura obudowy lampki osiągnęła próg bezpieczeństwa, jakikolwiek klik zapisuje tę temperaturę jako próg bezpieczeństwa.
8-klik - RESET do ustawień fabrycznych (tryby do: 0,15%; 10%; 32%; 100% oraz próg zabezpieczenia termicznego do 60*C)
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:
Sercem sterownika jest mikrokontroler z rodziny AVR Atmela - Attiny25V. Szybki PWM (brak efektu migotania najniższych trybów). Sterownik do obsługi klików (wielo-klików) posiłkuje się kondensatorem ceramicznym (aby maksymalnie oszczędzać ciągłe mielenie EEPROMu, który jak wiadomo też ma swoją żywotność-przez kilka osób osiągniętą ). Posiada 4 programowalne tryby (spośród palety 11 jasności dostępnych w procedurze programowania). Fabrycznie ustawione to 2, 5, 8, 11 (0,15%; 10%; 32%; 100%).
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.
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.
Precyzyjny pomiar napięcia ogniwa pod obciążeniem wywołujemy szybkim 4-klikiem. Do tematu podszedłem tu po swojemu zakładając co następuje: Praktyczny zakres użytecznego rozładowania ogniwa Li-Ion pod obciążeniem zawiera się w przedziale od 4.0V do 3.0V. Po wywołaniu 4-kliku lampka na moment zapala się w trybie 100%, następuje pomiar napięcia, a następnie ilością błysków o intensywności 20% sterownik informuje nas o dziesiętnej części V po 3.X. Np. 8 błysków to napięcie 3,8V; 5 błysków to napięcie 3,5V etc. I tak w przedziale od 0-10 gdzie 10 błysków to okolice 4.0V (ogniwo wyjęte prosto z ładowarki) a brak błysku 3.0V oznacza, że za chwilę nastąpi ostrzeganie o niskim poziomie napięcia. Pomiar ten bardzo dobrze sprawdza się również do diagnostyki nowych lampek i związanych z nią spadków napięcia w całej konstrukcji (jakości styków etc.), gdyż dostajemy info jakie napięcie fizycznie występuje na poziomie sterownika.
Monitoring temperatury Procedura ta działa zawsze w tle i nadzoruje aktualną temperaturę sterownika. Bazuje na wewnętrznym czujniku temp. procka 25V. Po osiągnięciu progu bezpieczeństwa (domyślnie 60st) sterownik płynnie redukuje moc, po czym stara się wyrównać do zadanego trybu pracy. Jeśli ciepło wciąż nie jest skutecznie odbierane, znowu redukcja i trzymanie się zadanego progu bezpieczeństwa. Przy wychłodzeniu lampki (np. opływ powietrza na obudowie lampki) powrót do nominalnych parametrów zaprogramowanego trybu. Mechanizm ten działa na tyle skutecznie, że możemy lampkę odpaloną na 100% zawinąć w koc bez obawy o uszkodzenie sprzętu czy... koca
Jako, że rozrzut tolerancji czujników w prockach rodziny Attiny 25/45/85 jest dosyć duży, zaimplementowano procedurę serwisowej regulacji temperatury dla progu bezpieczeństwa (domyślnie ustawionej na 60st). Pozwala to również dla doświadczonych użytkowników na dostrojenie sterownika do konkretnej konstrukcji w której pracuje.
10-klik - temperatura graniczna o 5*C w górę, potwierdzone 3-ma "mrugnięciami"
12-klik - temperatura graniczna o 5*C w dół, potwierdzone 2-ma "mrugnięciami"
Powyższe zmiany mogą być przeprowadzane wielokrotnie np. 10-klik przeprowadzony dwa razy z rzędu, podwyższy temp. o 10 st. C (3x 15st C) analogicznie 12-klik aż dostroimy mechanizm do naszych konkretnych wymagań.
Auto-kalibracja termicznego progu bezpieczeństwa. Wywołujemy ją 9-klikiem. Sterownik startuje w trybie 100%, lampka nabiera temperatury i kiedy uznamy, że aktualna temperatura obudowy lampki osiągnęła próg bezpieczeństwa, jakikolwiek klik zapisuje tę temperaturę jako próg bezpieczeństwa.
8-klik - RESET do ustawień fabrycznych (tryby do: 0,15%; 10%; 32%; 100% oraz próg zabezpieczenia termicznego do 60*C)
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: