forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Vyber tlmivky 10uH pre odrusenie AD prevodnika

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory
 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 09 červen 2018, 17:20    Předmět: Vyber tlmivky 10uH pre odrusenie AD prevodnika Citovat

Dobry den,

chcem sa poradit ohladne spravbneho vyberu tlmivky (Power Inductor) pre napajanie pinu AVCC pre npr. ATMEGA328. Pozeral som ich na aliexpress, ale su rozne velkosti a neviem ktora velkost je lepsia:

Power Inductor 8x10mm: http://s.click.aliexpress.com/e/c0f6Dkv6
Power Inductor 9x12mm: http://s.click.aliexpress.com/e/ltfNbkc


Cielom mojho vyuzitia je sledovanie napatia baretii Li-ion. Aktualne mam pin AVCC napojeny priamo na 5V napajanie (kedze nemam tlmivku) a dost "skace" zmerane napatie cez AD prevodnik. Este som sa docital o sleep mode - ADC Noise Reduction, tak vyskusam aj to, len urcite potrebujem aj tlmivku - jasne zapojenie z datasheetu.

Budem Vam velmi vdacny za radu. Dakujem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 09 červen 2018, 17:59    Předmět: Citovat

AD převodník u procesorů AVR má odběr minimální, takže není nutné dávat nějaké tlumivky na relativně velký proud. Je tedy možné použít i tlumivky v pouzdru SMD 1206 (odzkoušeno). Jinak používám i tlumivky o velikosti klasického odporu. Pokud měříš napětí na Li-Ion baterii a procesor napájíš 5V, pak tipuju, že v zapojení máš step-up měnič. Řekl bych, že tady bude asi největší problém. Záleží samozřejmě na tom, jestli těch nutně 5V potřebuješ nebo ne. Procesoru umí běžet už od 1,8V (když se omezíš s kmitočtem do 4 MHz). Pokud potřebuješ víc, pak Ti do 10 MHz stačí napětí 2,7V. Na Aref si můžeš přivést externí referenční napětí nebo přepneš referenci na interní 1,1V. Pak Ti na Aref stačí 100n kondenzátor. Měřené napětí na vstup pak přivedeš přes dělič třeba 3:1 (použil bych 4 shodné odpory mezi + baterky a GND). Měření je pak nezávislé na napájecím napětí a máš k dispozici plný rozsah převodníku :

1023 = 1,1V => 4,4V na baterce.

Rozlišení je 1,1/1024*4 = 0,004296875V / bit => 4,296875mV / bit.

To je samozřejmě teorie. V reálu si po zapojení nastavíš na vstupu napětí tak, abys dostal na AD převodníku třeba 1000, a pak máš do přepočtu hodnoty následující :

PřivedenéNapětí/1000 = NapětíPro1Bit

Napětí pak získáš tak, že

HodnotaAD * NapětíPro1Bit = NapětíBaterie.

Řešil jsem zrovna nedávno podobný problém - deska napájena 12V, na procesor použitý DC-DC převodník na 5V. Při zkoušení programu v kontaktním poli skákala měřená hodnota z AD převodníku v rámci 1 bitu - napájené to bylo laboratorním zdrojem +5V (bez DC-DC). Vyrobili jsme DPS, osadili a pustili se do zkoušení. Deska byla napájena z téhož zdroje, ale 12V, protože na desce jsou i relátka na 12V. Jenže ouha, hodnota AD převodníku lítala o 6 bitů. Na vině byl právě onen DC-DC převodník. Použili jsme místo něj 7805-ku a rozptyl se vrátil do úrovně 1 bitu.

Pokud tedy jsi schopný celé zařízení napájet z té baterky, kterou by externí zdroj udržoval nabitou pomocí nějakého lineárního stabilizátoru, měl bys být schopný dostat z AD převodníku dostatečně stabilní hodnoty, aby bylo možné přesné měření.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 09 červen 2018, 23:02    Předmět: Citovat

Dakujem velmi pekne za tak rozsiahlu odpoved. Kupim teda tie 8x10mm, aj ked teraz rozmyslam, ze do kontaktneho pola mi budu asi lepsie tie v tvare odporu (http://s.click.aliexpress.com/e/bXtRbmTI), kedze piny, ktore treba prepojit, nie su z rovnakej strany CPU.

Skusim teda rozpisat, co mam v plane robit:

Mam uz hotove ovládanie LED pasu s LED RGBW ovladane cez komunikaciu (WS2812b) zatial 1m so 60 LED. Urceny je na osvetlenie kuchynskej linky. Funguje asi takto:

1. tlacidlo - zapina LED pas a rozsieti 60 LED v teplej bielej farbe. Po dalsom stlaceni rozsvieti 60 so vsetkymi RGBW farbami (najsilnejsi jas - sieti do biela). Po dalsom stlaceni sa LED pas vypne.
2. tlacidlo - znizuje jas LED (20%, 40%, 60%, 80%, 100%)
3. tlacidlo - zmensuje pocet LED (/2, /4, /8, /1)
4. tlacidlo - vynuluje nastavenia tlacidiel 2. a 3.
5. tlacidlo - aktikuje nocny rezim, t.j. zapina len 3 LED (8., 30., 51.) vo farbe zltej (G + R) s reakciou na pohybovy senzor. T.j. pri aktivacii pohybového senzora zapne 3 LED, po jeho deaktivacii a odpocitani 7 sekund vypne 8. a 51. LED a po dalsich 7s vypne aj 30. LED.

Tlacidla: http://s.click.aliexpress.com/e/bHufnGKk
Pohybovy senzor: http://s.click.aliexpress.com/e/bFhghWcu

Pri rozsieteni vsetkych LED je este nastaveny usporny rezim, ktory reaguje na pohybovy senzor. T.j. pri neaktivnom senzore po 3 mnutach zacne postupne (kazde 3 minuty) vypinat LED a znizovat jas LED, az zhasnu vsetky LED (po 18 minutach).

1 metrovy LED pas mam aktualne napajany 5V, 3A zdrojom (adapter). LED pas je na 5V, takze preto som volil aj napajanie ATMEGA na 5V. Teraz vypiname adapter zo zasuvky, ked LED pas nepotrebujeme. Preto som zacal vymyslat s napajanim cez baterie 18650 Li-ion 3,7V. Nocny rezim a cely cas pri vypnutom LED pase by bol napajany cez baterie a pri zapnuti LED pasu sa najprv zapne zdroj a potom CPU rozsieti LED pas.

LED pas: http://s.click.aliexpress.com/e/cPlKTeIk
Zdroj 5V, 3A (adapter): http://s.click.aliexpress.com/e/blzhINMU

Riesenie mam zatial take neuplne. Pouzijem 4ks 18650 baterie (kupene menej kvalitne z aliexpressu, preto treba pouzit 4ks, dnes som ich testoval).

18650 bateie: http://s.click.aliexpress.com/e/b4NnZImM
Drziak na baterie: http://s.click.aliexpress.com/e/cP42n3le

Na nabijanie baterii chcem pouzit 5V 1A 18650 Lithium Battery Charging Board: http://s.click.aliexpress.com/e/rCA332g
Na zmenu napatia DC-DC USB Output charger step up Power Boost Module 0.9V ~ 5V to 5V 600mA: http://s.click.aliexpress.com/e/bxfpbS9K
Konektor pre menic napatia: http://s.click.aliexpress.com/e/sQhVkEM
Chcel som pouzit iny menic napatia - bez konektoru, ale ten mi nefungoval, tak som otvaral spor.

Moja predstava je asi takato:
Napajanie zdroja 230VAC bude CPU spinat cez rele KA1 s 5V cievkou. Vystup zdroja bude priamo napojeny na battery charging a cez spinaci kontakt rele KA2 na LED pas. Rozpinaci kontakt rele KA2 bude napojeny na vystup step up modulu, pre napajanie LED pasu, ked bude LED pas vypnuty, alebo zapnuty nocny rezim. Kvoli kratkemu vypadku napajania LED pasu (pri prepinani rele KA2) chcem pouzit kondenzator C1 2200uF (snad bude stacit). CPU bude prepinat rele pri vypnutych vsetkych LED - vtedy LED maju maly odber (uz nepamatam presne kolko). Nechcem, aby boli uplne bez napajania, lebo po privedeni napajania slabunko bliknu a ktovie, co by to s nimi robilo, ak by to bolo casto. Z + polu baterii bude do CPU na AD0 vstup privedene napatie baterii, ktore chcem, aby CPU sledoval. Pri poklese pod 3.2V na baterii by CPU bez ohladu na to, ci treba rozsietit LED pas, zapol zdroj na napajanie a zacal si nabijat baterie. Tu mi vznika dalsi "problem" ako bude vediet CPU, ze baterie su nabite. Po dnesnom testovani som zistit, ze pri nabijani je na baterii stale 4.1V (nabijacie napatie z battery charging) a znizuje sa nabijaci prud. Battery charging ma ochranny obvod, ktory ukonci nabijanie pri plnom nabiti, ale CPU o tom nevie. Preto asi by som mal sledovat v CPU aj nabijaci prud - to este musim nastudovat, ze ako - zatial netusim.
CPU sa po vypnuti LED pasu uspi do Power-down Mode a cez den dokonca vypina aj napajanie pre pohybovy senzor. Po stlaceni 1. tlacidla, popripade pri aktivovanom nocnom rezime, po aktivacii pohyboveho snimaca sa "zobudi". Tento rezim budem musiet zmenit na Power-save Mode, aby fungoval casovac Timer2, ktory bude sluzit na kontrolu napatia v baterii (cca by mohlo stacit kazdych 30 min). Len neviem uplne ako sa sprava Timer2 v uspornom mode. Sice mu nastavim preddelicku na 1024 a TCNT2 vzdy na 16, ale na jednu sekundu aj tak treba 60 preruseni a na 30 minut ich treba 108000. Bude vobec spat? Neviem :/
A tu mi vznikla dalsia myslienka: Uz ked sa CPU zobudi a kontroluje cez AD prevodnim napatie na baterii, mohol by cez fototranzistor kontrolovat aj jas v miestnosti a pri slabom jase aktivovat nocny rezim sam :O Smile a zase rano by ho vedel sam aj deaktivovat Smile
CPU bude mat este jednu novu ulohu, ak sa mi to podari. Mame v kuchyni pouzity aj bezdotykovy davkovac mydla, ktory funguje tak trosku divne - dlho davkuje mydlo. Preto by som ho chcel skusit prerobit cez tento isty CPU. Odpadne tak aj nabijanie baterii v mydle. Kedze ale IN0 a IN1 na zobudenie CPU su uz obsadene, budem musiet asi cez diody zlucit vstup od mydla a pohyboveho snimaca na IN1 a pouzit dalsi vstup, aby CPU vedel, co aktivovalo IN1 vstup.

Pre toto vsetko som riesil napajanie na 5V a aj riesenie cez step up modul.

Tak to je zatial asi vsetka moja predstava, snad som to napisal zrozumitelne. Prikladam aj v rychlosti rukou nacrtnutu schemu napajania. Budem Vam teda vdacny za Vase napady, popripade za nejake to usmernenie lepsim smerom, nakolko sa stale len a len ucim. Dakujem Smile



WP_20180609_22_53_51_Pro.jpg
 Komentář:

Stáhnout
 Soubor:  WP_20180609_22_53_51_Pro.jpg
 Velikost:  157.05 kB
 Staženo:  15 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 10 červen 2018, 8:15    Předmět: Citovat

Vcera som uz nestihal zareagovat ohladne toho AD prevodnika. Mne sa aktualne pohybuju hodnoty napatia baterie v rozmedzi ADC = 717 az 801, co je cca 3,5V az 3,911V. Spravna hodnota podla voltmetra by mala byt 3,606V. ALE, momentalne nesplnam ani zapojenie podla datasheetu. Aktualne mam pin VCC, AVCC, AREF pripojene na 5V a kazdy pin je odruseny 100nF kondenzátorom a bez pouzitia "set_sleep_mode(SLEEP_MODE_ADC)". Objednavam tlmivky a uvidim potom co to urobi, ked to bude spravne zapojene.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 10 červen 2018, 12:15    Předmět: Citovat

Zapojení AREF - Pokud chceš měřit napětí s referencí na VCC (AVCC), tak na AREF těch +5V NIKDY nepřipojuj. Koukni se do datasheetu. Na AREF patří referenční napětí POUZE v případě, že používáš externí zdroj referenčního napětí. Ve všech ostatních případech na AREF připojuješ jenom kondenzátor 100n.

Použití VCC jako referenčního napětí není vhodné pro nějaké přesné měření AD převodníkem, pokud nemá stabilitu a přesnost regulérního referenčního zdroje - a to pulzní měnič už z principu mít nemůže. Obecně jakýkoliv zdroj (i lineární), pokud má proměnnou zátěž (ve Tvém případě rozsvícené/zhasnuté LED, relátko) není vhodný jako zdroj referenčního napětí. Na přesné měření použij buď externí zdroj referenčního napětí (například MCP1541 = 4,096V s přesností 1%) nebo použij interní referenci procesoru - v tomhle případě 1,1V. Pokud použiješ pulzní stabilizátor k napájení, musíš mít napětí velmi dobře vyhlazené, stabilizované a především odrušené, abys dostal z AD převodníku použitelné výsledky. Možná by pomohlo, kdybys měl napájení řešené tak, že na výstupu měniče budeš mít nastavených třeba 6V a za tím budeš mít pro mcu 7805-ku.

Výhody/nevýhody jednotlivých referencí :
1) Externí reference :
+ plus baterky připojíš přímo na pin AD převodníku, nepotřebuješ odporový dělič
+ jednodušší přepočet - hodnota 1000 z AD převodníku = 4,000V
- malinko dražší řešení (17 Kč referenční zdroj)
- napájecí napětí nesmí poklesnout pod 4,3V

2) Interní reference 1,1V :
+ je již v cené procesoru
+ napájecí napětí může klesnout až k úrovni, kdy přestává pracovat procesor
+ o něco levnější řešení (2 odpory stojí méně, než 1 reference)
- plus baterky musíš připojit přes odporový dělič
- konstantu pro přepočet si musíš nejdřív zjistit

Co se SLEEP_MODE_ADC týká, tak ten jsem ještě nikdy nepoužil. Používám prakticky jen IDLE. Je to z toho důvodu, že pomocí přerušení generuju refreshe displejů, jas LED displejů, snímám okolní osvětlení (kvůli řízení jasu) - zkrátka procesor nespí dlouhodobě, ale vlastně jenom mezi jednotlivými cykly programu. Jen u elektronické kostky jsem použit i POWER_DOWN, ale to bylo opravdu jenom na vypnutí a čekání na zapnutí tlačítkem.

Buzení procesoru pomocí IN0 a IN1 (předpokládám, že máš na mysli INT0 a INT1) - pokud potřebuješ víc externích "budíků", tak máš ve všech sleep modech k dispozici i Pin Change interrupt = 23 možností externího přerušení/probuzení procesoru.

Buzení pomocí timerů - pokud jsem správně pochopil datasheet, tak v POWER_SAVE modu jsou aktivní všechny timery. Pokud bys tedy použil 16-btový Timer1, tak máš k dispozici periodu až 67,1 sekundy při 1 MHz (8,38 sek. při 8 MHz). V případě, že bys tedy použit Timer1 místo Timer2, máš interní buzení vyřešené.

Ještě jedna poznánka k tomuto :
citace:
... nastavim preddelicku na 1024 a TCNT2 vzdy na 16 ...


Pokud potřebuješ nějaké přesné časování (třeba přesně 1 vteřinu), pak je mnohem výhodnější nastavit timer do režimu CTC. Nemusíš za běhu nic přenastavovat. Timer pak počítá do OCRx a znova od nuly. Jen přerušení v tomhle případě musíš používat TIMERx_COMPy a ne TIMERx_OVF.


Ještě se zaměřím na celkové řešení napájení :

Připadá mi, že to řešíš zbytečně komplikovaně a draze.
1) Zjistil bych si, jaká je vlastní spotřeba toho napaječe bez odběru. Pulzní zdroje na tom bývají dost dobře a pokud by byl odběr do 0,5W, asi bych vůbec neřešil vypínání zdroje ze zásuvky a nechal bych to připojené do sítě stále. TV taky nevypínáš nebo nevytahuješ ze zásuvky, ale jenom jí vypneš pomocí DO. PC taky jenom vypneš a nevytahuješ ho ze zásuvky. PIR čidla světel atd.

2) Pokud by byl odběr vyšší, pak bych zachoval zapínání pomocí relátka (nebo optotriak, případně optotriak+triak) v případě potřeby rozsvítit LEDky, ale MCU bych připojil pomocí kondenzátorového zdroje k síti. Ani v tomhle případě bych asi baterku vůbec neřešil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 11 červen 2018, 22:49    Předmět: Citovat

Opat dakujem velmi pekne za rozsiahlu odpoved.

Dakujem za upozornenie ohladne napajania. Takto som napajal zatial vsetky CPU, nakolko ma tak naucil jeden chalan, ktory ma ucil s týmito CPU pracovat. Nikdy mi nenapadlo kontrolovat zapojenie napajania. Teraz uz viem, ako je to spravne Smile

Vyskusam teda variantu 2) interne referencne napajanie 1,1V, aj ked asi bude pracnejsie, ale dostupne hned, nakolko nejake tie odpory mam doma. Skusil by som 4 x 10MOhm odpory, ak nie su prislis velke? Len dnes to uz asi nestihnem vyskusat. Takze AD prevodnik nastavim:

kód:
ADMUX |= (1 << REFS0) | (1 << REFS1); //referencia 1V
// zapnutie AD prevodnika, 1 prevod
// preddelicka 128 pri frek. hodin 14,7456MHz
// ADEN - Povolenie ADC prevodníka; ADSC - Štart prevodu; ADATE - Opakovací režim; ADIE - Povolenie prerušenia od ADC prevodníka; ADPS2 ÷ ADPS0 - Nastavenie preddeličky
   ADCSRA |= (1 << ADEN) | (1 << ADSC) | (1 << ADIE) | (1 <<ADPS2) | (1 <<ADPS1) | (1 <<ADPS0);

Este taka otazka pre zaujimavost: Ako sa bude spravat AD prevodnik, ak by mu prisla vacsia hodnota akio 1,1V? Je to tak, ze pri hodnote >=1,1V bude vzdy hodnota ADC = 1024?

Ja som doteraz pri LED pase pouzival POWER_DOWN, a fungoval, s tym, ze tiez cakal na reakciu bud 1. tlacidla (INT0), alebo na aktivaciu pohybového senzora (INT1).

Ospravedlnujem sa za chybne uvedenie IN0 a IN1, spravne su ako ste napisal INT0 a INT1. Pin Change interrupt to som si nikdy neuvedomil, vsimol som si teraz, ze su aj prerusenia pre PCINT1 az PCINT23. Ak to dobre chapem, konkretne Pin Change Interrupt Request 0 pre PCINT0 az PCINT7 a nastavuje sa to v registry PCMSK0? Cize, ktore PCINTx dam do logickej urovne, tak tie mi aktivuju prerusenie Pin Change Interrupt Request 0, ktore nastavim PCICR? Ale musia byt nastavene ako vstupy.

Tu Vam asi skusim trosku protirecit, ak su moje merania spravne. Robil som dnes merania oderov prudu na LED pase, ktory mam v prevadzke este po starom, t.j. aktivovany POWER_DOWN, aktivovany Timer1, deaktivovany AD prrevodnik a komparator. Po vypnuti LED pasu a uspati do POWER_DOWN ma CPU spotrebu 55,4uA, pri zobudeni ma spotrebu 13,222mA. CPU je ATMEGA88PA-PU.
Na testovacom CPU ATMEGA328P-PU je uz aktivovany POWER_SAVE, aktivovany Timer1, uz aj Timer2, AD prevodnik a CPU sa mi neuspal - odber ma stale 13,03mA. Tak mi to pride tak, ze len Timer2 ho dokaze zobudit? A neviem, ci sa da nejakym spôsobom docielit, aby CPU dokazal spat a len raz za pol hodinu sa zobudil, vyhodnotil stav baterii a stav jasu v miestnosti a zase sa uspal.

Za toto Vam velmi dakujem, porovnavanie OCRx som uz par krat pouzil, ale pri tomto mi to vobec nenapadlo. A dost mi to pomoze, lebo OCR1A mozem nastavit, aby mi prerusenie pre 1 sekundu naslato len 4 krat a OCR1B castejsie. Dovod je ten, ze LED pas rozsvedcujem a zhasam postupne, nie skokovito. Efekt trva 2 sekundy a CPU ma na to 450 preruseni, a tak je efekt pekne plynuly. No niektore premenne (ako casovanie vypinanie LED, alebo nocny rezim) staci menit menej casto a tam vyuzijem OCR1A. Tesim sa a dakujem Smile

Este som nespomenul a nereagoval na Vas prvy príspevok, aku frekvenciu pouzivam. Aktualne je to 14,7456MHz, nakolko tieto krystaly mam nakupene doma a aj preto, ze je tam dost vypoctov na ten prechodovy efekt 4 x 60 LED a to 450x za dve sekundy.

Co sa tyka celkového napajania, dnes som si uvedomil, ze som to v sobotu chybne popisal, resp napisal zle riesenie z hlavy. Lebo rieseni som mal viac. Ono zabudol som, ze ja chcem a musim vypinal LED pas od napajania, lebo 1m LED pasu odobera trvalo prud 54,98mA aj ked nie su rozsvietene LED diody. T.j. 0,275W a za rok je to cca 2,4kW, co je celkom dost. A treba ratat s tym, ze casom to bude viac ako 1m. Ak by to bolo napríklad 4m uz je to 9,6kW rocne a to je len LED pas vypnuty.
Pri zapnuti vsetkych LED vo vsetkych farbach odobera 1m LED pasu 2,51A. Pri 4m je to 10A. Tu by som musel rele KA2 pouzit vykonejsie 16A, alebo pouzit 2 rele 6A (aj tak bude musiet ist viac kablov zo zdroja k LED pasu). Preto mi napadla myslienka, vypinat samotny zdroj od 230V, kde by stacilo aj jedno 6A rele. A tu vznikla myslienka, napajat CPU cez baterky. Len neviem, ci by som mohol upravit schemu zapojenia takto (foto v prilohe): Rele KA1 by ostalo, ale zmenilo by sa zapojenie rele KA2 a napojenie LED pasu zo zdroja a baterii. Doplnil by som diodu (cervena 1N4007) za rele KA2, aby sa nedostalo zo zdroja 5V k CPU, ale islo len cez step-up. Lenze, mal by som doplnit aj tu modru diodu, aby sa nedostavalo 5V zo step-up do zdroja :/ A tu je ten problem, musi byt dost vykonna, pri 4m LED pase musi zniest 10A. Neviem, co by sa stalo, kebyze ju vynecham... Skor by asi bolo mozne vynechat cervenu diodu, kedze je tam rele.
Alebo doplnit este jedno rele KA3 namiesto modrej diody. Co by asi bol celkom dobry napad. A to by sa mohlo spinat priamo z napajania zdroja (adaptera). Lebo, ked bude zopnute rele KA1 a tym KA3, bude na LED pas privedených 5V zo zdroja (rele KA2 rozpojene). Ked budem chciet prepnut LED pas na baterky bez krátkodobého vypnutia LED pasu, zopnem najprv rele KA2, na LED pas pride aj napajanie 3,9V (5V - ubytok napatia na diode 1N4007), ale prud by mal ist zo zdroja, nakolko zdroj ma 5V. Potom by uz len stacilo vypnut rele KA1, tym padom sa vypne KA2 a napajanie pojde z baterii. Moze byt? LED pas by mal udajne fungovat od 3,5V, ale musim vyskusat. Viete poradit diodu, ktora ma mensi ubytok napatia?
No a funkcnost by bola asi zrejma. LED pas pri zapnutom stave by bol napajany zo zdroja, pri jeho vypnuti, alebo nocnom rezime by CPU vypoj KA1 a zapinal by rele KA2 len vtedy, ked by potreboval rozsvietit nocny rezim (3 LED farby G a R). Poprípade by som nastavil, aby rele bolo zapnute cca 20-30 minut od posledného pouzitia nocneho rezimu, aby sa zase casto nevypinali od napajania LED - neviem ci im to skodi alebo nie.

K tomu vypinaniu TV, PC a pod. Asi sa chytite za hlavu, ale akosi som od malicka bol aj k tomu vedeny... TV vzdy po vypnuti vypiname vypinacom na predlzovacke, cize v obyvacke je vsetko vypnute. PC mam detto, vratane monitora, reproduktorov. Dokonca aj router a opticky konvektor vypiname, ked nie sme na nete. Nabijacky mobilu tiez. Cize jedine trvalo zapnute je chladnicka s mraznickou, mikrovlnka a sporak Smile No a este jedno radio v kuchyni, aby som bol presny Smile A druha vec, chcel som spravit co najuspornejsii LED pas, aj ked beriem, ze coto asi zozeru baterky...

No a este dnesne merania:

Samotny LED pas - 1m 60 LED RGBW:
- vypnuty: 54,98 mA
- zapnuty - 60 LED len biela farba: 1,11 A
- zapnuty - 60 LED vsetky farby RGBW: 2,51 A
- zapnuty - 3 LED zlta farba R + G: 87,1 mA
- zapnuty - 1 LED zlta farba R + G: 65,85 mA

CPU bez LED pasu:
- usporny rezim POWER_DOWN: 55,4 uA
- normalny rezim: 13,222 mA
- normalny rezim + napajany pohybovy senzor: 13,79 mA
- normalny rezim + napajany pohybovy senzor + rozsietene 3 zlte LED: 996,63 mA

Adapter primar 230VAC:
- bez zataze: 12,259 mA
- usporny rezim POWER_DOWN a LED pas pod napatim: 15,2 mA
- zapnuty - 60 LED len biela farba: 64 mA
- zapnuty - 60 LED vsetky farby RGBW: 122 mA
- zapnuty - 3 LED zlta farba R + G: 18 mA

Este raz dakujem za Vas cas.



WP_20180611_22_39_19_Pro.jpg
 Komentář:
Schema zapojenia 2

Stáhnout
 Soubor:  WP_20180611_22_39_19_Pro.jpg
 Velikost:  189.59 kB
 Staženo:  20 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 12 červen 2018, 21:02    Předmět: Citovat

Vezmeme to postupně :
evTOM napsal:
... Takto som napajal zatial vsetky CPU, nakolko ma tak naucil jeden chalan, ktory ma ucil s týmito CPU pracovat. ...

Je skvělé mít po ruce někoho, kdo poradí a pomůže přímo na místě. To ale neznamená, že by sis neměl projít datasheet. Věci společné pro celou rodinu procesorů stačí projít jednou, dvakrát na začátku a mělo by se Ti to zažít, že už to pak budeš dělat automaticky i u dalších procesorů.

4x10mOhmů pro napěťový dělič by měl být v pohodě, obzvlášť pokud k pinu přidáš ještě kondík 10-100n. Měření napětí se Ti ještě trošku vyhadí přímo na vstupu do AD a mělo by být stabilnější. Je třeba ověřit časovou konstantu vzniklého RC článku, abys po odpojení aku neměl na vstupu ještě dalších 10 minut stejné napětí. Vstupní impedanci sis určite v datasheetu k procesoru našel, že ?

Jak se bude chovat převodník v případě, že na vstup přivedeš napětí >=1,1V (obecně >=Uref) je celkem jasné - vrátí Ti maximální možnou hodnotu (v tomto případě 1023).

Když se podíváš na POWER_DOWN a POWER_SAVE, tak zjistíš, že jsou téměř shodné. Jediný rozdíl je v tom, že v POWER_DOWN neběží čítače, tím pádem od čítačů nemůžeš MCU probouzet. Ani v jednom případě by ale neměly být v chodu ani hodiny AD převodníku, tím pádem by neměl běžet ani převod a nejsem si jistý, jestli při jiném sleep modu, než IDLE nebo ADC Noise Reduction bude AD převodník fungovat správně. A navíc
Datasheet napsal:
To save power, the ADC should be disabled before entering any sleep mode.
Pokud tedy chceš minimalizovat spotřebu, měl bys AD převodník před přechodem do sleep modu vypnout a po probuzení ho zase zapnout. Po celou dobu převodu bys pak měl použít jenom IDLE nebo ADC Noise Reduction.


PCINTx se používá trošičku jinak, než INTx. INTx lze nastavit na jednu hranu, obě hrany nebo low level. Pin Change (jak už sám název napovídá) reaguje pouze na změnu hodnoty na pinu. Reaguje na obě hrany a vyvolá PCINTx přerušení podle skupiny, do které patří. Pokud tedy potřebuješ sestupnou hranu určitého pinu, musíš po vyvolání přerušení zjistit, který pin přerušení vyvolal a jakou úrověň aktuálně má. Vynechat můžeš jenom zjištění, který pin přerušení vyvolal - a to v případě, že PCINT má v dané skupině aktivní jenom jeden. Kontrolu aktuální úrovně pinu zase můžeš vynechat, pokud reaguješ shodně na obě hrany. Další výhodou PCINT přerušení je i to, že není důležité, jestli je pin jako vstupní nebo jako výstupní, dokonce může být použitý v alternativní funkci. Já třeba PCINT používám při UART komunikaci - a to tak, že aktivuju PCINT na pinu, kde je RXD. Jakmile přijde sestupná hrana, tak se vyvolá PCINT (od RXD pinu), rozsvítím LEDku a PCINT zakážu. Po ukončení příjmu znaku se vyvolá USART Rx Complete, kde zhasnu LEDku a povolím daný PCINT. Také jsem PCINT použit pro inverzi TX signálu UARTu. Abych nemusel generovat UART softwarově nebo pin externě negovat, udělal jsem PCINT od TXD pinu a při změně na TXD pinu se vyvolalo přerušení a tam jsem přečetl TXD pin, invertoval hodnotu a poslal na jiný pin, který tím pádem fungoval jako invertovaný TXD.

evTOM napsal:
... Na testovacom CPU ATMEGA328P-PU je uz aktivovany POWER_SAVE, aktivovany Timer1, uz aj Timer2, AD prevodnik a CPU sa mi neuspal - odber ma stale 13,03mA. Tak mi to pride tak, ze len Timer2 ho dokaze zobudit? A neviem, ci sa da nejakym spôsobom docielit, aby CPU dokazal spat a len raz za pol hodinu sa zobudil, vyhodnotil stav baterii a stav jasu v miestnosti a zase sa uspal. ...


Tady si nejsem příliš jistý, co by mohlo způsobit to, že procesor se prakticky neuspává. Musel bych vidět program, ale osobně bych hádal, že v tom může mít prsty free-running mód AD převodníku - i když podle datasheetu by se s přechodem do POWER_SAVE nebo POWER_DOWN měly zastavit i hodiny AD převodníku - neplést si to s jeho deaktivací - převodník je sice bez hodin, ale zapnutý. Ale tady opravdu jenom hádám.

Co se odběru LED pásu týká, tak tam je jeho odběr ve zhasnutým stavu celkem logický. Když se podíváš do datasheetu SK6812, tak zjistíš, že jeho klidový odběr je 1 mA. Na pásu máš 60 LED, tak se nemůžeš divit, že zhasnutý pás má odběr 55 mA. Musel bys použít pás s LEDkama bez kontroléru, rozdělit si ho na skupiny a jejich jas řídit procesorem sám. To by ovšem znamenalo, že pokud bys svítil, musel bys generovat tolik PWM signálů pro LEDky, kolik bys měl skupin.



Na závěr ještě odbočím k tomu vypínání TV, PC atd. ze zásuvky. Samozřejmě je to každého věc a nikomu nic nenutím. V TV nebo v různých článcích na Internetu dokonce fundovaně spočítali, kolik ročně ušetříš, když budeš všechno vypínat/vytahovat ze zásuvek. Dělám to také - avšak pouze, když odjíždíme na dovolenou apod. Prostě když jsme minimálně na týden mimo domov. Pulzní zdroje totiž všeobecně nemají rády časté zapojování do sítě. Při zapojení do sítě dochází k velkému proudovému nárazu (obzvláště u výkonnějších zdrojů), které se nelíbí hlavně vstupním kondenzátorům. Některé lepší zdroje mají proto na vstupu NTC termistor, který omezí proudový náraz při připojení do sítě. Jenže to je opět minimálně jedna součástka navíc (rozuměj prodražuje se výroba). A to nemluvím o tom, že opravdu slušné zdroje mají u termistoru ještě překlenovací relátko, které po rozběhu NTC termistor zkratuje, aby zbytečně nesnižoval napájecí napětí a zbytečně se nehřál. Měl jsem tady 500W zdroj do PC (při maximálním zatížení by tedy měl brát maximálně cca 2,3A), který při připojení do sítě vyhazoval 16A jistič. Nemusím připomínat, že pokud jsou schopni výrobci vynechat ochranné odpory (proti proudovému nárazu při zapnutí) v LED žárovce (jak jinak, než kvůli ceně - na DPS místo na jejich osazení je), kdy za oba jako koncový zákazník zaplatíš maximálně pár desítek haléřů a který jako velkoodběratelé musí mít v ceně necelých haléřů, tak určitě nebudou osazovat NTC termistor, který je cenově mnohem dražší. Opakovaným zapínáním pulzního zdroje do sítě tedy velice zkracuješ životnost daných kondenzátorů, potažmo celého pulzního zdroje. A to platí nejenom u Tvého zdroje napájení LEDek, ale i TV, PC a ostatních moderních spotřebičů, které jsou napájené právě kvůli úspoře a ceně pulzními zdroji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 13 červen 2018, 18:23    Předmět: Citovat

evTOM napsal:
... Za toto Vam velmi dakujem, porovnavanie OCRx som uz par krat pouzil, ale pri tomto mi to vobec nenapadlo. A dost mi to pomoze, lebo OCR1A mozem nastavit, aby mi prerusenie pre 1 sekundu naslato len 4 krat a OCR1B castejsie. Dovod je ten, ze LED pas rozsvedcujem a zhasam postupne, nie skokovito. Efekt trva 2 sekundy a CPU ma na to 450 preruseni, a tak je efekt pekne plynuly. No niektore premenne (ako casovanie vypinanie LED, alebo nocny rezim) staci menit menej casto a tam vyuzijem OCR1A. Tesim sa a dakujem ...


Tady jsi myslím trošku nepochopil, jak funguje OCRxy. Nemůžeš použít OCR1A a OCR1B k tomu, abys měl u obou jinou periodu. Oba OCR registry se vztahují jenom k jednomu TCNT. Máš několik možností, jak je využít k přerušení.

1) Normální režim timeru :

Čítač čítá 0x00 až 0xFF (0x0000 až 0xFFFF)
Přerušení může nastat při přetečení 0xFF->0x00 (0xFFFF->0x0000) a pak při TCNTx = OCRxA a TCNTx=OCRxB.

2) CTC režim timeru :

V CTC režimu nemůže nastat přetečení TOV.

Pokud použiješ CTC režim s TOP pomocí OCR1A, pak může nastat pouze přerušení od OCR1A při resetu TCNT1 a pak při TCNT1 = OCR1B, ale pouze v případě, že OCR1B < OCR1A. Čítač čítá 0x0000 až OCR1A-1.

Pokud použiješ CTC režim s TOP pomocí ICR1, pak může nastat přerušení od ICR1 při resetu TCNT1 a pak při TCNT1 = OCR1A (pokud OCR1A < ICR1) a TCNT1 = OCR1B (pokud OCR1B < ICR1). Čítač čítá 0x0000 až ICR1-1.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 13 červen 2018, 22:58    Předmět: Citovat

Dakujem opat za Vase odpovede.

Áno, vstupny odpor analógového vstupu AD prevodnika je 100MOhm. Len ak by ste mi to vedeli trosku viac vysvetlit, co ste mysleli, budem vdacny. Ale predpokladam, ze cim vacsi je odpor, tym sa pomenej bude vybijat kondenzator. A kondenzator pripojit medzi PIN a GND.

Pri tom uspornom rezime POWER_DOWN a POWER_SAVE som to doplietol ohladne uspavania a citacov. V POWER_DOWN citace nejdu urcite ziadne. Niekedy skusim nahrat povodny kod na skusobny CPU, len zmenim POWER_DOWN na POWER_SAVE. Tam memam este aktivovany ani AD prevodnik, ani Timer2 a dal by som potom vediet, ci sa CPU uspi pri aktivovanom Timer1 alebo nie.

Pri prevode AD prevodnika planujem pouzit usporny rezim ADC Noise Reduction. A po prevode AD prevodnik chcem vypinat, ako aj komparator, a po 30 minutach pred dalsim prevodom zase pozapinat.

Dakujem za tipy pre vyuzitie Pin Change. To rozsvecovanie LED pri komunikacii UART sa mi paci, super napad. Este ak mozem zo zvedavosti, k comu ste vyuzili invetrovanie TX signalu UARTu?

Ano, viem,ze je logicke, ze LED pas musi mat nejaku spotrebu aj pri vypnutych LED, ved je tam cip, ktory caka, ci mu pride signal od CPU. Len pri pouziti dlheho LED pasu uz je tato spotreba v celku dost velka...

Takto som sa na spinacie zdroje nepozeral. U vykonejsieho PC zdroja vyhadzovanie istica poznam, vyriesil som si to s rele spinanym v nule. To by bolo mozno riesenie aj pre spinanie mojho zdroja, ak by som teda ostal pri mojom rieseni, ze ho vypinat. Nasiel som obvod MOC3041 resp. MOC3061, ktory by mal vystup spinat v nule. Ak by sa Vam chcelo, pozreli by ste sa na to, ci by to slo? Vystup by mal mat 1A, ak by som potreboval vacsi vykon, tak by som pouzil SSR (polovodicove) rele. Rele s cievkou by asi nebolo dost rychle a nemuselo by zopnut kontakty v nule. Viem, ze je to mozno zbytocne komplikovane pre "blby" LED pas, ale ja to beriem aj z tej stranky, ze pri takomto rieseni sa naucim viac veci, ktore potom budem moct pouzit aj inde.


Ohladne tych citacov, ano, mate pravdu, uplne som to doplietol a zle pochopil. Tym mojim riesenim by som mohol dosiahnut len to, ze by som mal v jednom Timer pocitane dva casy s tym, ze jeden plny a druhy polovicny. Napr.: 1. 4 prerusenia za 1 sekundu a druhy 8 preruseni za 1 sekundu. V tom druhom by sa hodnota pocitala pri preruseni oboch OCR1A a OCR1B a pri tom prvom len pri OCR1A. Ale kedze mam Timer0 volny, tak ten popuzijem na realizaciu efektu prechodu a Timer1 na realizaciu odpocitavania casu.
Timer0 by bolo mozne po prechode vypnut a pred zacatim prechodu zapnut, aby zbytocne nevznikali prerusenia, ked netreba. Asi by to bolo aj vhodne.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 17 červen 2018, 13:23    Předmět: Citovat

Teraz som testoval rezim POWER_DOWN a POWER_SAVE a vypada to tak, ze v POWER_SAVE zobudi CPU z TimerX len Timer2. Ked bol v rezime POWER_SAVE aktivovany len Timer0 a Timer1, tak CPU som dokazal zobudit len cez INT0, INT1. Ked som aktivoval Timer2, tak sa uz CPU standartne neuspal. Musel som doplnit do nekonecnej slucky programu podmienku, aby sa vzdy uspal, kym neodpocita postupne cas na nulu, urobi prepocet ADC, nastavi zase cas na odpocitavanie pre Timer2 a uspi sa.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 07 červenec 2018, 22:50    Předmět: Citovat

Konečne mi dorazili tlmivky a podarilo sa mi poskúšať AD prevodník. Tak ako ste písal, pri zapojení CPU cez step up DC-DC neviem dosiahnuť presné napätie. Lieta mi to daleko viac ako len pár bitov. Keď som dal napájanie pre CPU zvlášť zo stabilizovaného zdroja, dostal som sa na reálnejšie napätie a kolísalo to cca 1-2 bit - musím ešte presne určiť úroveň jedného bitu (xxxV / 1000 ADC). Takže musím zvlášť napájať CPU a zvlášť LED pás. A tu by som sa chcel s Vami poradiť, ak budete mať ešte čas.

LED pás bude napájaný z batérií cez step up DC-DC poprípade zo zdroja 5V.

Napájanie CPU:
Varianta 1. - Napájať ho priamo z batérií, čo neviem, či je úplne dobrý nápad, nakoľko napätie nebude stabilné cca v rozpätí 3,3 ÷ 4V. Pri 3,3V by som chcel začať batérie dobíjať. Ďalší problém by bola frekvencia, nakoľko mám kryštál 14,7456MHz a ak som to dobre prepočítal, minimálne napätie pre túto frekvenciu by malo byť 3,5V. Ďalší problém je, že LED pás podľa datasheet očakáva minimálne napätie log 1 na úrovni 0,7 násobku napájacieho napätie, t.j. 3,5V, čo asi nedosiahnem, keď bude napätie batérii pod 3,5V.

Varianta 2. - Pridať jeden malý CPU, ktorý bude mať na starosti len AD prevody napätia batérii a jasu v miestnosti. Napájaný by mohol byť na 1,8V cez napäťový regulátor priamo z batérii (vedeli by ste mi prosím poradiť nejaký vhodný aj do kontaktného poľa?). Tento CPU by riešil:
- každú pol hodinu sa zobudí
- vykoná prevod oboch vstupov
- vyhodnotí, či treba nabíjať batérie. Ak áno, dá do log 1 výstup č. 1 ak nie, dá ho do log 0
- vyhodnotí, či treba zapnúť nočný režim. Ak áno, dá do log 1 výstup č. 2 ak nie, dá ho do log 0
- ak sa zmenila hodnota výstupu č. 1 alebo výstupu č. 2, nastaví výstup č. 3 na log 1 po dobu cca 1 sekundu?
- nastaví výstup č. 3 na log 0
- uspí sa

Výstupy č. 1 až 3 by boli pripojené na vstupy č. 1 až 3 hlavného CPU. Výstupom č. 3 by sa hlavný CPU zobudil, skontroloval by vstup č. 1 a 2 a na základe ich hodnôt by zapol/vypol adaptér, alebo zapol/vypol nočný režim.

Len teraz som si uvedomil, že zase bude problém s napájaním 1,8V malého CPU, kvôli vyhodnoteniu úrovni log 1 na hlavnom CPU. Ak by som malý CPU mohol napájať priamo z batérii, tak by bolo napätie minimálne 3,3V a to by hlavný CPU mal správne vyhodnotiť log 1.

Čo som pozeral CPU, tak stačil by mi ATtiny13A. Dúfam, že z programovacieho hľadiska je rovnaký ako ATtiny13, ktorý by mi mal podporovať programátor, aby som do neho nahral program.

Ďakujem za Vaše rady.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 753

PříspěvekZaslal: 09 červenec 2018, 18:58    Předmět: Citovat

Ahoj.

1) Frekvence - pokud nutně potřebuješ těch 14,7456MHz, tak bys měl mít napájení 4,5-5,5V. Na 3,3-4V to chodit může, ale nemusí. Jsi mimo napětí, uvedené v datasheetu a musel bys to vyzkoušet, jestli to pojede i na těch 3,3V. Některé hodnoty v datasheetu je možné za určitých okolností a pouze pro domácí použití za orientační, protože výrobce tam bude mít určitou rezervu. Uvaž jen, jestli opravdu potřebuješ ta vysoký kmitočet. Třeba by stačil 8,192MHz.

2) Na co cpát do takhle jednoduchý úlohy další procesor ? Použij převodník logických úrovní. S úspěchem ho už celkem dlouho používám při komunikaci mezi AVR a RaspberryPi nebo AVR a 3V periferiema.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
evTOM
Přispěvatel
Přispěvatel


Založen: 2.7.2013
Příspěvky: 20

PříspěvekZaslal: 09 červenec 2018, 19:53    Předmět: Citovat

Dakujem velmi pekne za reakciu.

1) Ohladne urcenia frekvencii. Pravdupovediac neviem, ako urcit, aka najmensia frekvencia by mi mohla stacit. Ak by ste mi vedeli poradit, tak hlavne vypocty su tieto:

kód:
if (LEDpas_zmena) {
         LEDpas_zmena = 0;
         // Zmena efektu
         switch (LEDpas_efekt) {
            case 12 : {
               for (i=0; i < pocet_LED; i++) {
                  LED_new[0][i] = 255 * Jas(LEDpas_jas) * SelectLED(LEDpas_select_LED, i);
                  LED_new[1][i] = 255 * Jas(LEDpas_jas) * SelectLED(LEDpas_select_LED, i);
                  LED_new[2][i] = 255 * Jas(LEDpas_jas) * SelectLED(LEDpas_select_LED, i);
                  LED_new[3][i] = 255 * Jas(LEDpas_jas) * SelectLED(LEDpas_select_LED, i);
               }
               break;
            }
         }
         //Uloženie pôvodných hodnôt
         for (i=0; i < pocet_LED; i++) {
            LED_old[0][i] = LED[0][i];
            LED_old[1][i] = LED[1][i];
            LED_old[2][i] = LED[2][i];
            LED_old[3][i] = LED[3][i];
         }
         time = 1;
         while (time < dlzka_prechodu) {
            if (time != time_old) {
               for (i=0; i < pocet_LED; i++) {
                  LED[0][i] = LED_old[0][i] + ( (( LED_new[0][i] - LED_old[0][i] ) / dlzka_prechodu) * time);
                  LED[1][i] = LED_old[1][i] + ( (( LED_new[1][i] - LED_old[1][i] ) / dlzka_prechodu) * time);
                  LED[2][i] = LED_old[2][i] + ( (( LED_new[2][i] - LED_old[2][i] ) / dlzka_prechodu) * time);
                  LED[3][i] = LED_old[3][i] + ( (( LED_new[3][i] - LED_old[3][i] ) / dlzka_prechodu) * time);
               } // 0,x - GREEN; 1,x - RED; 2,x - BLUE; 3,x - WHITE
               cli();
               for (i=0; i < pocet_LED; i++) {
                  WS2812BWriteByte(LED[0][i]); //green
                  WS2812BWriteByte(LED[1][i]); //red
                  WS2812BWriteByte(LED[2][i]); //blue
                  WS2812BWriteByte(LED[3][i]); //white
               }
               WS2812BWriteBit(2); //reset
               sei();
               time_old = time;
            }
            if ((LEDpas_zmena) && (pohybovy_senzor_noc_enable)) break;
            if ((LEDpas_zmena) && (pohybovy_senzor_max_enable)) break;
         }
         if (LEDpas_zmena == 0) {
            cli();
            for (i=0; i < pocet_LED; i++) {
               WS2812BWriteByte(LED_new[0][i]); //green
               WS2812BWriteByte(LED_new[1][i]); //red
               WS2812BWriteByte(LED_new[2][i]); //blue
               WS2812BWriteByte(LED_new[3][i]); //white
            }
            WS2812BWriteBit(2); //reset
            sei();
         }
      }


2) Suhlasim, rusim tuto variantu.

3) Este mi napadla tretia varianta a ta ma suvis s tym, co ste mi tiez radil. A to je, pouzit nastavitelny step up DC-DC prevodnik a 7805-ku. Na DC-DC by som dal asi 7V (minimalne napatie podla datasheet), popripade skusil by som 6V ako ste mi radili Vy a stabilizoval to 7805. Ak by to slo a stacilo by to na odrusenie AD prevodnika, tak by som bol mozno za tuto variantu, ak teda by som nemohol ist nizsie frekvenciou. LED pas a vsetko ostatne by som napajal az po 7805 z napatia 5V. Dva step up DC-DC prevodniky (jeden 5V pre LED pas a druhy 6-7V pre CPU) by bolo asi zbytocne pouzit.

//EDIT
Este taka uvaha. Ak by som isiel dolu s napajanim CPU a frekvenciou, tak by som docielil mensiu spotrebu. Len potom neviem, ci CPU napajat priamo z baterii, kde bude napatie medzi 3,3 az 4V alebo ho napojit za step up prevodnikom a zrazit napr. s LF33CV na 3,3V? Vadi CPU kolisanie napatia? A tiez, ci je nutne pouzit externy krystal, alebo pouzit internych 8MHz, ale interny asi nie je presny.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Elektronika s mikrokontroléry, procesory Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2018 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)