Strona 2 z 3

: środa 12 mar 2014, 07:27
autor: vin324pl
Bardzo ciekawy temat :)
Możecie mi wytłumaczć jak przeliczacie te wartości ADC żeby zaadoptować się do swojego drivera ?

: środa 12 mar 2014, 17:00
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

: środa 12 mar 2014, 21:14
autor: vin324pl
Dziękuje za "wędkę" :mrgreen:

: niedziela 31 sie 2014, 15:18
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...

: wtorek 02 wrz 2014, 20:37
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 :)

: wtorek 30 wrz 2014, 18:55
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.

: wtorek 30 wrz 2014, 19:47
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.

: wtorek 30 wrz 2014, 22:46
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 ;)

: środa 01 paź 2014, 09:09
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).

: środa 01 paź 2014, 09:57
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.

: wtorek 08 wrz 2015, 22:05
autor: Misiek_86

Kod: Zaznacz cały

void Zakrestrybow() //sprawdzanie dopuszczalnego zakresu numeru trybu
{
if (Ntryb > 4) 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

: środa 09 wrz 2015, 00:10
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

: środa 09 wrz 2015, 08:33
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 :)

: sobota 05 sie 2017, 15:41
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ć."

: poniedziałek 07 sie 2017, 08:55
autor: Pyra
Witam
Kliki, oznaczają przerwę (odłączenie) w zasilaniu, dlatego żaden wyłącznik nie jest narysowany.

Pozdrawiam