Pomysł sterownika na attiny10
: niedziela 21 kwie 2013, 15:30
Witajcie, w końcu wymyśliłem zadanie dla attiny10 które leżą u mnie już dość długo i czekają na swoją kolej.
Procek byłby fajny jako latarkowy sterownik gdyby nie fakt że Atmel dał strasznie ciała... Procek ma ADC, ale nie ma wewnętrznego napięcia odniesienia, tak jak np 1.1V w attiny13. Można mierzyć tylko względem VCC co jest straszną głupotą, nie wiem o czym oni tam myśleli przy projektowaniu.
Ale ok, pomyślałem że do zmiany trybów itd nadaje się świetnie, a i ogniwa można zabezpieczyć przed zbytnim rozładowaniem ponieważ procek ma mechanizm VLM - voltage level monitor - monitoruje własne napięcie zasilania i może ustawić flagę lub skoczyć do przerwania gdy napięcie spadnie poniżej ustawionego limitu. Istnieją dwa poziomy napięcia do których można ustawić flagę/przerwanie, 3,7V oraz 2,5V, i dwa jeszcze niższe poziomy pod które można ustawić reset procesora - ale to nie jest nam potrzebne. Tak nawiasem mówiąc procek jednak ma jakieś wewnętrzne napięcie odniesienia ale nie można go wykorzystać do ADC
Sterownik byłby włączony szeregowo z diodą, tzn max wypełnienie to 90-95%. Co za tym idzie musi być zasilany szeregowo przez diodę + kondensatorek podtrzymujący go przy życiu gdy tranzystor będzie zwierał zasilanie. Jeśli by dać zwykłą 1N4148 o spadku 0,7V, a VLM nastawić na 2,5V, to flaga zostałaby ustawiona przy napięciu ogniwa równym 3,2V - więc można stosować zwykłe 3x1,2V lub 18650, można dobrać diodę o innym spadku, wystarczy tylko tranzystor który otworzy się przy 2,5V. Po ustawieniu tej flagi program by podejmował odpowiednie kroki aby nie rozładować ogniwa.
Chciałbym się zapytać co o takim "zabezpieczeniu" sądzicie. Naskrobałem już taki wstępny program i testuję te VLM, i działa nawet ładnie. Niestety kontroli prądu brak. Gdyby ten szkrabik miał wewnętrzne napięcie odniesienia to nie byłoby problemu, a tak trzeba kombinować - ale ja lubię kombinować
Od razu odpowiem na pytanie "czemu nie dasz attiny13" - mógłbym, ale chcę zrobić coś ciekawego na attiny10. Po za tym mini latarka którą chcę sklecić będzie miała 14mm średnicy w środku więc miejsca na attiny13 brak. Wejdzie tylko attiny10, tranzystor w sot23, dioda i kondensator.
Można w sumie pokusić się o dostarczenie napięcia referencyjnego na jeden z pinów ADC na podstawie którego można obliczyć VCC no i co za tym idzie zmierzyć prąd diody, jednak nawet dodanie najprostszego układu z napięciem odniesienia (dioda i rezystor) zwiększa gabaryty całości tak że już lepiej wstawić attiny13.
Aha, ten układ może pracować nawet przy 500Hz! Ja puściłem go na 1kHz, ustawiłem fast PWM w trybie 15 z TOP na OCR0A, ustawiając TOP na 10, więc jest regulacja jasności w 10 krokach - a jako że rozdzielczość PWM jest bardzo mała, to procek może pracować przy 1kHz - a co za tym idzie pobór prądu jest bardzo mały.
Procek byłby fajny jako latarkowy sterownik gdyby nie fakt że Atmel dał strasznie ciała... Procek ma ADC, ale nie ma wewnętrznego napięcia odniesienia, tak jak np 1.1V w attiny13. Można mierzyć tylko względem VCC co jest straszną głupotą, nie wiem o czym oni tam myśleli przy projektowaniu.
Ale ok, pomyślałem że do zmiany trybów itd nadaje się świetnie, a i ogniwa można zabezpieczyć przed zbytnim rozładowaniem ponieważ procek ma mechanizm VLM - voltage level monitor - monitoruje własne napięcie zasilania i może ustawić flagę lub skoczyć do przerwania gdy napięcie spadnie poniżej ustawionego limitu. Istnieją dwa poziomy napięcia do których można ustawić flagę/przerwanie, 3,7V oraz 2,5V, i dwa jeszcze niższe poziomy pod które można ustawić reset procesora - ale to nie jest nam potrzebne. Tak nawiasem mówiąc procek jednak ma jakieś wewnętrzne napięcie odniesienia ale nie można go wykorzystać do ADC
Sterownik byłby włączony szeregowo z diodą, tzn max wypełnienie to 90-95%. Co za tym idzie musi być zasilany szeregowo przez diodę + kondensatorek podtrzymujący go przy życiu gdy tranzystor będzie zwierał zasilanie. Jeśli by dać zwykłą 1N4148 o spadku 0,7V, a VLM nastawić na 2,5V, to flaga zostałaby ustawiona przy napięciu ogniwa równym 3,2V - więc można stosować zwykłe 3x1,2V lub 18650, można dobrać diodę o innym spadku, wystarczy tylko tranzystor który otworzy się przy 2,5V. Po ustawieniu tej flagi program by podejmował odpowiednie kroki aby nie rozładować ogniwa.
Chciałbym się zapytać co o takim "zabezpieczeniu" sądzicie. Naskrobałem już taki wstępny program i testuję te VLM, i działa nawet ładnie. Niestety kontroli prądu brak. Gdyby ten szkrabik miał wewnętrzne napięcie odniesienia to nie byłoby problemu, a tak trzeba kombinować - ale ja lubię kombinować
Od razu odpowiem na pytanie "czemu nie dasz attiny13" - mógłbym, ale chcę zrobić coś ciekawego na attiny10. Po za tym mini latarka którą chcę sklecić będzie miała 14mm średnicy w środku więc miejsca na attiny13 brak. Wejdzie tylko attiny10, tranzystor w sot23, dioda i kondensator.
Można w sumie pokusić się o dostarczenie napięcia referencyjnego na jeden z pinów ADC na podstawie którego można obliczyć VCC no i co za tym idzie zmierzyć prąd diody, jednak nawet dodanie najprostszego układu z napięciem odniesienia (dioda i rezystor) zwiększa gabaryty całości tak że już lepiej wstawić attiny13.
Aha, ten układ może pracować nawet przy 500Hz! Ja puściłem go na 1kHz, ustawiłem fast PWM w trybie 15 z TOP na OCR0A, ustawiając TOP na 10, więc jest regulacja jasności w 10 krokach - a jako że rozdzielczość PWM jest bardzo mała, to procek może pracować przy 1kHz - a co za tym idzie pobór prądu jest bardzo mały.