Kondensator jako pamięć

co i jak zrobiłem...
Awatar użytkownika
vin324pl
Posty: 1000
Rejestracja: czwartek 14 lis 2013, 10:27
Lokalizacja: Myślenice

Post autor: vin324pl »

Bardzo ciekawy temat :)
Możecie mi wytłumaczć jak przeliczacie te wartości ADC żeby zaadoptować się do swojego drivera ?
Zestaw rowerowy:
Światła mijania/drogi publiczne - L2P 2,8A noctigon + daszek/ s2+ 3*xpl optyka owalna
Światła drogowe/teren - C8 3*xp-l 4,2A ledil 35mm
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
Mamy Vref o wartości 1,1V i ADC o rozdzielczości 10 bitów = 1024, obliczamy więc wartość napięcia dla jednego bitu.
1,1V / 1024 = 0,001074V
Teraz trzeba wyliczyć podział dla dzielnika napięcia:
R1 / (R1 + R2)
4700 / (4700 +19100) = 0,197

Biorąc pod uwagę, że dzielnik pomiarowy mierzy napięcie za diodą zabezpieczającą procesor, musimy od napięcia zasilania odjąć spadek napięcia na niej, dioda Schotky, przy bardzo małym prądzie ma około 0,2 - 0,25V
załóżmy:
3,0V - 0,2V = 2,8V
Wyliczamy teraz napięcie na wejściu przetwornika ADC:
2,8V x 0,197 = 0,552V (w zaokrągleniu)

teraz 0,552V / 0,001074V = 514.
Biorąc jednak pod uwagę, że występuje rozrzut parametrów elementów, trzeba jeszcze doświadczalnie skorygować tę wartość.
Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
vin324pl
Posty: 1000
Rejestracja: czwartek 14 lis 2013, 10:27
Lokalizacja: Myślenice

Post autor: vin324pl »

Dziękuje za "wędkę" :mrgreen:
Zestaw rowerowy:
Światła mijania/drogi publiczne - L2P 2,8A noctigon + daszek/ s2+ 3*xpl optyka owalna
Światła drogowe/teren - C8 3*xp-l 4,2A ledil 35mm
Awatar użytkownika
Doctore
Posty: 627
Rejestracja: sobota 18 sty 2014, 17:17
Lokalizacja: Malbork

Post autor: Doctore »

Witam, od jakiegoś czasu zmagałem się z softem pyry, nie wiadomo co było nie tak, nie działały dwu i trzy kliki, a najniższy tryb moon to było tylko błyśnięcie na ok. 50% mocy.
Ze 20 razy lutowałem i rozlutowywałem kable by przeprogramować attiny, aż urwał się malutki pad od plusa(swoją drogą to wszyscy dają grube kable, mostkują sprężyny a w driverze są malutkie ścieżki po których powinno iść do 500mA....) i musiał kupić drugi.
Okazało się że fusebity były nie takie jakie trzeba, bowiem ckdiv8 było odznaczone, a powinno być zaznaczone, i tak jest w driverze z pierwszego postu, ak-47, ja natomiast miałem 105c, i w nim chinole mają wyłączony wspomniany fusebit.
Czyli w 105c musimy ustawić:
Divide by 8 - ON
Lub w hexie:
High: FF
Low: 6A

Druga sprawa, u mnie trzeba było zmienić wartość:
if (T1 > 50) Lklik++; //jeśli było napięcie, zwiększ licznik klików
na:
if (T1 > 120) Lklik++; //jeśli było napięcie, zwiększ licznik klików
Bo bez tego to zawsze po włączeniu latarki zmieniało mi tryb do przodu, nie wiem czemu, także zastosowałem kondensator 1uF...
Awatar użytkownika
alienth
Posty: 270
Rejestracja: poniedziałek 08 paź 2012, 19:10
Lokalizacja: Rzeszów

Post autor: alienth »

Doctore, widzę że w końcu wziąłeś się za temat programowania A13 - chwali się chwali się :) Kilka dni pracy, myślenia, lektury i napiszesz sam swój pierwszy soft :)
Moje sterowniki:
AHE+ v1
KHE
v201 / v211
galusz
Posty: 4
Rejestracja: środa 10 wrz 2014, 18:00
Lokalizacja: Warszawa

Post autor: galusz »

Patrząc na schemat wpadły mi do głowy pewne pomysły.

Przy małych latarkach można by zminimalizować pobór prądu, przez pozbycie się dzielnika napięcia, na którym cały czas mamy pobór prądu. W takim wypadku można wykorzystać jedno wyjście procesora wraz z rezystorem podciągającym i jakiś jeden rezystor podłączony na stałe do masy.

Dodatkowo można wykorzystać wyjście procesora i sterować diodę bezpośrednio (oczywiście przez rezystor) lub w ogóle podłączyć równolegle jakąś oporność i użyć watchdog'a ustawionego na kilka sekund do pomiaru napięcia raz na jakiś czas.

Oczywiście tak wszytko trzeba będzie kalibrować, ale to już mniejszy problem.
Awatar użytkownika
greg
Posty: 3535
Rejestracja: środa 08 paź 2008, 00:16
Lokalizacja: Wrocław
Kontakt:

Post autor: greg »

Jeśli procesor jest z rodziny ATtiny25/45/85 dzielnik napięcia nie jest potrzebny. Sprawę załatwia ustawienie stosownego napięcia odniesienia programowo. Uściślając, napięciem odniesienia jest Vcc, a mierzymy zamiast zasilania wewnętrzne napięcie odniesienia. Do tego stosowny algorytm.
Sterownik extended v3.5 HE <klik>
Instrukcje sterowników w PDF <klik>

kontakt: info(at)krypton(dot)pl
(podstawić @ i . w stosowne miejsca)
Awatar użytkownika
ElSor
Site Admin
Posty: 5041
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

galusz pisze:W takim wypadku można wykorzystać jedno wyjście procesora wraz z rezystorem podciągającym i jakiś jeden rezystor podłączony na stałe do masy
Można ale każdą sztukę trzeba by indywidualnie korygować, czasem dosyć sporo lub dać kod umożliwiający taką korektę po zaprogramowaniu pamięci flash a to znów zabierze znaczną część z 1kB. Jak się steruje diodą przez PWM, to i tak nie można uśpić całkowicie procka ... kiedyś też myślałem jak to zrobić, żeby procek zjadał jak najmniej ale sensu chyba większego nie ma. Udało mi się wycisnąć ponad 120 dni ciągłego światła w najniższym trybie ... wątpię, że komuś zrobi różnicę jakby to było nawet 2x tyle ;)
galusz
Posty: 4
Rejestracja: środa 10 wrz 2014, 18:00
Lokalizacja: Warszawa

Post autor: galusz »

Zgadzam się z przedmówcami.
Ja dopiero zaczynam zabawę z "latarkami". Obecnie czekam na dostawę kilku SingFire SF-348 które zamierzam zmodować dla potrzeb EDC. Stąd już teraz myślę nad prototypem driverka.

W moim przypadku gdzie mamy do czynienia z driverem o średnicy mniejszej niż 10mm nawet pozbycie się jednego rezystora będzie miało znaczenie.
Właśnie dlatego zamierzam skorzystać z kondensatora jako pamięci, bo będzie to zajmowało mniej miejsca (w zasadzie będą dolutowane 2 kondensatory bezpośrednio do wyprowadzeń attiny).
Awatar użytkownika
ElSor
Site Admin
Posty: 5041
Rejestracja: niedziela 13 wrz 2009, 12:52
Lokalizacja: Ozimek

Post autor: ElSor »

Jak sterownik ma 10mm to Tiny10 chyba będzie lepszym wyborem, tylko, że problem będzie z pamięcią trybów - brak EEPROMu. Pamięć klików będzie można zrobić na dodatkowym kondensatorze.
Awatar użytkownika
Misiek_86
Posty: 485
Rejestracja: niedziela 12 lip 2009, 15:44
Lokalizacja: Zamość

Post autor: Misiek_86 »

Kod: Zaznacz cały

void Zakrestrybow&#40;&#41; //sprawdzanie dopuszczalnego zakresu numeru trybu
&#123;
if &#40;Ntryb > 4&#41; Ntryb = 1;
if &#40;Ntryb < 1&#41; Ntryb = 4;
eeprom_update_byte&#40;&Numertrybu,Ntryb&#41;; //zapisz numer trybu jeśli się zmienił
&#125;

void Jasnosci&#40;&#41; //ustalanie poziomu jasności według trybu
&#123;
switch&#40;Ntryb&#41;
&#123;
case 1&#58; OCR0B = 2; break; //0,8%
case 2&#58; OCR0B = 64; break; //25%
case 3&#58; OCR0B = 127; break; //50%
case 4&#58; OCR0B = 255; break; //100%
&#125;
&#125; 
Tak analizuje sobie ten kod, sprawdzam co i jak oznacza. Czyli jak bym chciał mieć np. 3 lub 5trybów to zamiast 4 wpisać 3 lub 5, oraz dopisać jak coś albo wiadomo skasować jeden wpis odnośnie case?
Coś jeszcze czy tylko tyle

Oraz czy podejdzie pod ten driver
https://m.fasttech.com/products/1612/10 ... t-driver-n
Czy musi być tylko4amc
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
michal13031986 pisze:...Czyli jak bym chciał mieć np. 3 lub 5trybów to zamiast 4 wpisać 3 lub 5, oraz dopisać jak coś albo wiadomo skasować jeden wpis odnośnie case?
To wystarczy. Pierwszy określa co ma zrobić program po dojściu do skrajnego trybu, drugi określa wartość jasności dla określonego trybu.

Z tego co pamiętam, ma chyba wysoką częstotliwość PWM, i niskie tryby nie działają poprawnie na 8xAMC

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Misiek_86
Posty: 485
Rejestracja: niedziela 12 lip 2009, 15:44
Lokalizacja: Zamość

Post autor: Misiek_86 »

Witam, właśnie chyba teraz czuję, że temat latarek jeszcze bardziej mnie wciągnął, przeglądam programatory, płytki stykowe itd oraz zacznie się nauka programowania, do tego tutaj jest podany kod który będę dokładnie analizował, doskonalił na swoje potrzeby przerabiał ;) wiem tylko jedno, z czasem pewnie będziecie mnie tu mieli dość z pytaniami :D (co niektórzy pewnie już mają hihi). Kodem później po skończonej pracy podzielę się z wami :)
Hosesor
Posty: 7
Rejestracja: sobota 05 sie 2017, 15:24
Lokalizacja: Żelechów

Post autor: Hosesor »

Witam serdecznie.
Przepraszam za może głupie pytanie ale nie rozumiem tych kliknięć. Gdzie na schemacie pierwszej strony jest łącznik ktorym ma się "klikać."
Awatar użytkownika
Pyra
Site Admin
Posty: 8527
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Post autor: Pyra »

Witam
Kliki, oznaczają przerwę (odłączenie) w zasilaniu, dlatego żaden wyłącznik nie jest narysowany.

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