Driver z trybami - nowe spojrzenie
- Calineczka
- Posty: 7578
- Rejestracja: niedziela 11 lis 2007, 20:19
- Lokalizacja: Wejherowo
- Kontakt:
- Calineczka
- Posty: 7578
- Rejestracja: niedziela 11 lis 2007, 20:19
- Lokalizacja: Wejherowo
- Kontakt:
Jesli chcial bys miec nadal np. 10 lumenow to tak, jesli zmiana ilosci swiatla , wiecej o 1/3 dotychczasowej wartosci(a nawet mniej, sprawnosc leda jest mniejsza dla duzych pradow) by nie przeszkadzala, wystarczy dolozyc na kanapke kolejnego AMC-kapawelsz pisze:sam bym tak chciał ale trza to pewnie w sofcie uwzględnić
Zastanawiałem się ostatnio nad rozwiązaniem problemu trybu Lo.
Mój pomysł polega na sterowaniu AMC 1 na 2 lub 1 na 3.
ATTiny 13 ma dwa współbieżne kanały PWM, otóż gdyby sterować 1 szt z kanału A a pozostałe z kanału B, moglibyśmy rozłożyć tryby.
1 AMC sterowany PWM dał by zdecydowanie większą sprawność oraz niższą jasność ogólną niż sterowanie trzema sztukami. Pośrednie tryby można by zrealizować sterując Tylko 1 sztuką, w sumie to 350mA czyli ponad 100lm, gdyby to było za mało, można wyłączyć kanał A i zacząć sterować kanałem B, uzyskując 700mA, lub 1050mA. Tryb Hi można by uzyskać sterując wszystkie AMC, czyli kanał A i B jednocześnie, lub po prostu je załączyć na stałe, bez PWM.
Wydaje mi się, że takie rozwiązanie podniosło by ogólną sprawność driverka, wykorzystując rejon większej sprawności LEDa.
Pozdrawiam
PS: Mam zamiar tak przerobić sterowniczek z DX, ale na razie brak czasu teraz SnowFall na tapecie
Mój pomysł polega na sterowaniu AMC 1 na 2 lub 1 na 3.
ATTiny 13 ma dwa współbieżne kanały PWM, otóż gdyby sterować 1 szt z kanału A a pozostałe z kanału B, moglibyśmy rozłożyć tryby.
1 AMC sterowany PWM dał by zdecydowanie większą sprawność oraz niższą jasność ogólną niż sterowanie trzema sztukami. Pośrednie tryby można by zrealizować sterując Tylko 1 sztuką, w sumie to 350mA czyli ponad 100lm, gdyby to było za mało, można wyłączyć kanał A i zacząć sterować kanałem B, uzyskując 700mA, lub 1050mA. Tryb Hi można by uzyskać sterując wszystkie AMC, czyli kanał A i B jednocześnie, lub po prostu je załączyć na stałe, bez PWM.
Wydaje mi się, że takie rozwiązanie podniosło by ogólną sprawność driverka, wykorzystując rejon większej sprawności LEDa.
Pozdrawiam
PS: Mam zamiar tak przerobić sterowniczek z DX, ale na razie brak czasu teraz SnowFall na tapecie
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Piszmy po polsku, wszak jesteśmy Polakami.
A może by tak tylko jednego AMCka podłączyć pod PWM, a resztą sterować tylko on/off z osobnych pinów. Byłaby regulacja od 0 do 350mA na jednym AMCku, później włączamy na stałe drugiego, a pierwszego znowu od 0 do 350mA i już mamy regulację od 350mA do 700mA, dalej analogicznie, aż zabraknie pinów w procku do podłączenia kolejnych AMCków.
Tylko czy to ma jakiś sens energetyczny; jakieś zalety w porównaniu do sterowania naraz np. czterema AMCkami przez PWM
Tylko czy to ma jakiś sens energetyczny; jakieś zalety w porównaniu do sterowania naraz np. czterema AMCkami przez PWM
W pełni zgadzam się z greg`iem.
Ok. roku temu rozważałem rozwiązanie identyczne z tym jakie podał Saul - czyli 1-en AMC ma sterowanie PWM, a pozostałe 0/1.
Zaletą tego rozwiązania są:
- bardzo duża rozdzielczość - bo dla 3 AMC i 8 bitowego PWM byłoby to 4*256 = 1024 poziomy
- minimalizowanie kluczowania poprzez dołączanie stałego prądu na binarnie sterowanych AMC
Wadami natomiast:
- niepotrzebna komplikacja PCB, która wymagałaby prowadzenia dedykowanych linii sterujących do każdego z AMC (co dla gotowych PCB oznacza sporo dziergania: cięcia i drutowania ścieżek)
- większa złożoność logiki sterującej
Biorąc pod uwagę, że przy częstotliwościach PWM rzędu 16kHz (ja takie stosuję w swoich konstrukcjach) oraz hybrydowej implementacji PWM`a o zakresie od 100% do co najmniej 1:8000 (mega-low z drobnymi ułamkami mA) zalety wynikające z tego rozwiązania przestają mieć znaczenie. Natomiast dzięki temu zachowuje spójność i jednolitość algorytmu oraz mały rozmiar kodu.
Przy takich częstotliwościach już mały kondensatorek równolegle do LED wystarcza, by przebieg nawet na oscyloskopie ładnie się scałkował.
Należy mieć też na uwadze, że wielkość prądu, a więc pośrednio i współczynnik wypełnienia PWM nie idą w parze z jasnością. Ja w swoich rozwiązaniach od samego początku stosuje skalę logarytmiczną, dzięki czemu dla oka zmiany poziomów jasności w poszczególnych krokach są bardzo zbliżone. A to z kolei przy zastosowaniu podejścia 1:2^n oznaczałoby, że w pewnym, dość znacznym zakresie (np. 2 AMC włączone na 100%) nie ma już sensu na 3-cim robić PWM, bo i tak jego wpływ na sumaryczną ilość światła będzie znikomy.
Ok. roku temu rozważałem rozwiązanie identyczne z tym jakie podał Saul - czyli 1-en AMC ma sterowanie PWM, a pozostałe 0/1.
Zaletą tego rozwiązania są:
- bardzo duża rozdzielczość - bo dla 3 AMC i 8 bitowego PWM byłoby to 4*256 = 1024 poziomy
- minimalizowanie kluczowania poprzez dołączanie stałego prądu na binarnie sterowanych AMC
Wadami natomiast:
- niepotrzebna komplikacja PCB, która wymagałaby prowadzenia dedykowanych linii sterujących do każdego z AMC (co dla gotowych PCB oznacza sporo dziergania: cięcia i drutowania ścieżek)
- większa złożoność logiki sterującej
Biorąc pod uwagę, że przy częstotliwościach PWM rzędu 16kHz (ja takie stosuję w swoich konstrukcjach) oraz hybrydowej implementacji PWM`a o zakresie od 100% do co najmniej 1:8000 (mega-low z drobnymi ułamkami mA) zalety wynikające z tego rozwiązania przestają mieć znaczenie. Natomiast dzięki temu zachowuje spójność i jednolitość algorytmu oraz mały rozmiar kodu.
Przy takich częstotliwościach już mały kondensatorek równolegle do LED wystarcza, by przebieg nawet na oscyloskopie ładnie się scałkował.
Należy mieć też na uwadze, że wielkość prądu, a więc pośrednio i współczynnik wypełnienia PWM nie idą w parze z jasnością. Ja w swoich rozwiązaniach od samego początku stosuje skalę logarytmiczną, dzięki czemu dla oka zmiany poziomów jasności w poszczególnych krokach są bardzo zbliżone. A to z kolei przy zastosowaniu podejścia 1:2^n oznaczałoby, że w pewnym, dość znacznym zakresie (np. 2 AMC włączone na 100%) nie ma już sensu na 3-cim robić PWM, bo i tak jego wpływ na sumaryczną ilość światła będzie znikomy.
Flagiusz
Mój pomysł polega na podzieleniu AMCków 1 i 2 pod wyjścia PWM A i B.
Komplikacja programu nie była by zbyt duża, wpisywanie wartości PWM pod A, B lub oba.
Przeróbka płytki to przecięcie jednej ścieżki i podłączenie do pinu procka....
Mamy wtedy 255 poziomów jasności dla 350mA, dalej 256 dla sterowania 700mA PWM + 350mA
Ale sprawa "wyjdzie w praniu"
Komplikacja programu nie była by zbyt duża, wpisywanie wartości PWM pod A, B lub oba.
Przeróbka płytki to przecięcie jednej ścieżki i podłączenie do pinu procka....
Mamy wtedy 255 poziomów jasności dla 350mA, dalej 256 dla sterowania 700mA PWM + 350mA
Ale sprawa "wyjdzie w praniu"
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Piszmy po polsku, wszak jesteśmy Polakami.
Tak, tylko w ten sposób podwójnie pokrywasz przestrzeń jasności (nie ważne który będzie miał jaki PWM - zawsze dadzą one sumę prądów i wypełnienia - nie będzie to zatem rozdzielczość 16 bitów, ale znacznie, znacznie mniej i w dodatku bardzo nierównomierna, bo rozłożona wagowo). Co więcej oba kanały pracują synchronicznie (są w fazie i zgodne co do częstotliwości, którą wyznacza cykl timera).Pyra pisze:Mój pomysł polega na podzieleniu AMCków 1 i 2 pod wyjścia PWM A i B.
Komplikacja programu nie była by zbyt duża, wpisywanie wartości PWM pod A, B lub oba.
Przeróbka płytki to przecięcie jednej ścieżki i podłączenie do pinu procka....
Mamy wtedy 255 poziomów jasności dla 350mA, dalej 256 dla sterowania 700mA PWM + 350mA
Np. (podaje orientacyjnie):
AMC-1 na 50% i AMC-2 na 50% - dadzą ci w sumie 50%
AMC-1 na 20% i AMC-2 na 80% - dadzą ci w sumie także 50%
AMC-1 na 100% i AMC-2 na 0% - dadzą ci w sumie również 50%
itd.
Równie dobrze możesz sterować na PWM tylko jednym z nich, a drugiego włączać w połowie jasności.
np.
AMC-1 od 0...100%, AMC-2 off (sumaryczna jasność 0-50%)
AMC-1 od 0...100%, AMC-2 on (sumaryczna jasność 50-100%)
Twoje podejście zwiększa jedynie nieznacznie rozdzielczość w wyższych wypełnieniach, ale czy oby na pewno potrzebujesz tak małego skoku jasności?
Działać to będzie, tylko bardziej próbuje się doszukać jaki jest cel takiego akurat sterowania i co ono wnosi, w czym jest lepsze od innych dużo prostszych rozwiązań?
Zwróć uwagę, że podejście takie nie zmieni Ci wartości minimalnej - dalej będzie to 1/256 * 1/2 - czyli 1:512, co jesteś w stanie dużo proście zrealizować w podejściu (AMC-1 PWM, AMC-2 on/off) dającym ten sam 1:512 poziom low.
Dodam, że na jednym kanale (porcie) da się spokojnie zejść z wypełnieniem do 1:8000 i dalej, z bardzo prostą i logiczną logiką sterującą. Rozwiązanie takie użyte było w naszym driverku df&cali - tam było 13 poziomów rozłożonych logarytmicznie (od 100% do 1:4000) i wszystko sterowane było na jednym szybkim kanale jednym mosfetem.
Jasność w najniższym trybie była tak mała, że na pracę LED`a wpływało zjawisko fotoelektryczne światła padającego z zewnątrz na strukturę, która pod jego wpływem zapalała się i gasła. I to była granica jakiegokolwiek i tak już dalekiego od racjonalności mega-low`u.
Pytanie, czy potrzeba czegoś więcej?
Flagiusz
A tośmy się niezupełnie zrozumieli. AMC 1 to 1 sztuka, AMC 2 to 2 (lub 3) sztuki, tak więc mamy PWM 350mA i PWM 700mA, oraz oba łącznie.....df pisze:
Np. (podaje orientacyjnie):
AMC-1 na 50% i AMC-2 na 50% - dadzą ci w sumie 50%
AMC-1 na 20% i AMC-2 na 80% - dadzą ci w sumie także 50%
AMC-1 na 100% i AMC-2 na 0% - dadzą ci w sumie również 50%
itd.
Równie dobrze możesz sterować na PWM tylko jednym z nich, a drugiego włączać w połowie jasności.
np.
AMC-1 od 0...100%, AMC-2 off (sumaryczna jasność 0-50%)
AMC-1 od 0...100%, AMC-2 on (sumaryczna jasność 50-100%)
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Piszmy po polsku, wszak jesteśmy Polakami.
Ok, ale to także wiele nie zmienia, bo (znowu orientacyjnie) bardzo silnie powielasz tę samą przestrzeń:Pyra pisze:A tośmy się niezupełnie zrozumieli. AMC 1 to 1 sztuka, AMC 2 to 2 (lub 3) sztuki, tak więc mamy PWM 350mA i PWM 700mA, oraz oba łącznie.....
- 1xAMC na 50% + 3xAMC na 50% - daje 50%
- 1xAMC na 75% + 3xAMC na 25% - daje 50%
- 1xAMC na 0% + 3xAMC na 63% - daje 50%
- itd.
Jest bardzo wiele takich "par" ustawień AMC-kanał.A i AMC-kanał.B, które dadzą sumarycznie tę samą wartość lub w tak nieznacznej okolicy, że nie da się tego zauważyć.
A i tak minimalną do osiągnięcia wartością będzie minimum z najsłabszego, czyli 1/256 z 350mA - czyli 1,37mA
Przy sterowaniu wszystkich na raz PWM`em o rozdzielczości 8 bit masz minimum na 1/256 z 1A - czyli 3,9mA
Natomiast przy zastosowaniu mojej hybrydy na 13 bitach spokojnie schodzisz to poniżej 1/8096 - czyli z 1A zostaje Ci - 0,12mA i masz sterowanie liniowe bez trudnych do ominięcia duplikatów.
Flagiusz