Ochranný obvod pre WS2812b komunikáciu

Ahojte, prosím o radu. Včera sa mi vôbec nedarilo a pri nahrávaní programu do ATMEGA88PA-PU sa mi podarilo poškodiť CPU a vianočnú reťaz s RGB LED s komunikáciou WS2812b. Pri druhom preprogramovaní CPU som si žiaľ neuvedomil, že som odpojil len +5V zo zdroja a vianočnej reťaze. Po pripojení batérii a programovaní vianočná reťaz blikla a už sa nereaguje na vstup a po jej pripojení na zdroj už reaguje prúdová poistka. Ak som to dobre pochopil, tak cez vstupný PIN komunikácie sa dostalo napätie +5V z CPU a cez GND sa uzatvoril obvod a tým pádom sa preťažil PIN na CPU a vstupný PIN na prvej LED. Dúfam už len, že sa poškodila len prvá LED a nie všetkých 20.

No, ale kvôli čomu píšem je, že som hľadal nejaké zapojenie na ochranu WS2812b komunikácie, aby sa mi niečo podobné už nestalo. Našiel som zapojenie (prikladám do prílohy). Input by v mojom prípade bol CPU a output by bola vianočná reťaz. Len problém mám so súčiastkou D1 P6KE. Neviem akú presne súčiastku objednať, nakoľko keď na aliexpress dám vyhľadať P6KE, tak mi tam nájde kopec rôznych typov.

Bol by tu, prosím, niekto ochotný a pomohol mi? A tiež, či by vlastne tento obvod dostatočne ochránil vianočnú reťaz.

Ochranu by som dal na nejaký malý plošáčik a spravil malú krabičku a zaradil ho priamo do kábla, ak by som použil konektor na pripojenie k zdroju 5V a CPU.

Ďakujem za pomoc.

Edit: Keď stále prechádzam katalógový list pre P6KE, tak mi to príde, že presný typ, ktorý potrebujem, by mal byť P6KE6.8A. Ale, či som vybral správne, neviem. Potrebujem “Uni-directional” a napájanie mám 5V.


Ahoj,

myslím že si vybral správne P6KE6.8A. Až na to, že táto ochrana by Ťa pred zabitím LED tak ako ju popisuješ nezachránila. Aj ked sa mi to medzi nami moc nevidí. Ale schválne, či som to správne pochopil.

Odpojil si napájanie 5V od LED. Procesor si začal programovať a obávaš sa, či pripojením napätia cez pin procesora do DATAIN LED si tú LED nezabil.

Bolo by to síce divné, ale vylúčiť sa to nedá. No voči tomuto Ťa transil neuchráni, lebo sa nejedná o “poruchu” prepätím, ale o poruchu nevhodného zapojenia.

Podľa môjho názoru tu pomôže sériový odpor medzi pinom MCU a DATAIN z prvej LED. Tým sa obmedzí “zabíjací” prúd na vhodnú úroveň. Dal by som tam niečo medzi 220R až 1k. Čím väčší R, tým bude ochrana väčšia ale zároveň bude musieť byť menšia prenosová frekvencia do DATAIN. Ale keďže sa jedná o viac menej statický zápis a nie MUX zobrazenie, rozhodne by som sa toho nebál. Zas nejedná sa o nejaké dramatické obmedzenie. Je to v závislosti od parazitnej kapacity toho vstupu DATAIN, ale podľa mňa ak nemáš extrémne dlhé káble k prvej LED prejde signál s frekvenciou 100kHz a viac.

Transil by som dal až do bodu medzi odporom a DATAIN a medzi GND. Transil však chráni napríklad proti antistatickému prepätiu, alebo proti prepätiu z napájania.

Martin, ďakujem za tvoju reakciu a odsúhlasenie typu súčiastky transilu. Ja som práveže rozmýšľal, že ten transil by som dal hneď za napájací konektor a pred ním dal klasickú poistku, keďže slúži na ochranu proti prepätiu. Tak bude proti prepätiu ochránené celé zapojenie vrátane CPU. Tým pádom by sa prepätie nemalo nijak dostať na vianočnú reťaz a samotnú reťaz by už len chránil odpor a tie diódy. Snáď by to tak mohlo byť vhodné.

No ale kde si tam mal to prepätie?
Ja som to pochopil tak, že si na DATAIN LED priviedol cez pin MCU regulérnych 5V bez toho, aby si mal LED napájanie pripojené. Či bolo to celé inak?
Lebo ak to bolo takto, tak potom Ti ten transil pomôže v mnohých prípradoch ale v tomto príprade nie.

Prepätie som tam samozrejme nemal. Našiel som takto zapojenie na internete a keďže ten transil v tom zapojení je pre prepätie a teraz viem, že načo slúži, tak si myslím že je dobré, keď ho použijem a ochráni mi celý obvod pri prepätí, nie? Inak by som ho nemusel vôbec použiť, keďže neslúži pre ochranu komunikácie. Keď som písal ten príspevok, nemal som ani poňatie, čo je to za súčiastka.

Pre lepšiu predstavu, pri poškodení vianočnej reťaze som to mal zapojené približne takto (viď príloha obrázok).

No ako som si myslel :slight_smile:

V prvom rade, daj co najblizsie na napäjanie procesora (pin sedem a osem) a zapoj paralelne:kondenzátor 100nF, kondenzátor 10uF, ten transil čo si si vybral a zenerovu diódu 5,1V. Transil chráni proti krátkodobému statickému prepätiu a prepätiu z impulzov šíracch sa po sieti avšak pre časy cca 100us. Na takú krátku dobu procesor napäťové preťaženie 7V vydrží. Samotná zenerka nie je tak rýchla ako transil, ale má lepšiu stabilizačnú charakteristiku. Potrebuje však ešte sériový odpor, na ktorom sa vytvorí prebytočný úbytok napätia. Alebo ešte lepšie, miesto tej zenerky tam daj LDO stabilizátor na 5V.

Procesor sa Ti odmení spoľahlivou prácou.

Na napájanie MCU nepouži napájanie väčšie, ako 5.5V. Un 6V je podľa katalógu maximálne maximum. Aj v katalógovom liste pre ATmega328 sú mnohé parametre definované len do 5,5V. Napríklad frekvencie a podobne.
Web stránku, na základe ktorej si napojil na MCU 6V by mali zavrieť na základe paragrafu všeobecného ohrozenia. A si si istý, že Ti neodišlo niečo aj v programátore?

Takže ak to potrebuješ napájať z bateriek, použi akumulátory s max. napätím 1,2V. Potom budes MCU napájať napätím 4,8V, čo je úplne v poriadku.

Dať odpor (napr. 470R) medzi pin MCU 14 a DIN tej hviezdy považujem za základnú slušnosť a to hlavne voči tomu MCU. Ak budeš mať LED na dlhšom páse, pin procesora vôbec nie je chránený napríklad proti statickému výboju dotykom. Inak možno, že odišiel ten pin procesora a nie LED. I tak by to mohlo byť.
V každom prípade, užitočnosť sériového odporu nepodceňuj.

A najlepšie je napájať všetko z jedného zdroja 5V a nie že MCU 6V a zvyšok 5V. To bez prispôsobovacích členov nie je zdravé.

Na tretej strane katalógového listu WS2812

cdn-shop.adafruit.com/datasheets/WS2812.pdf

sa píše, že vstupné napätie na DIN nesmie byť vyššie ako Vdd +0,5V. Keďže LED napájaš 5V, tak už tých 6V je zverstvo.
A tobôž, keď je U pre LED 0V a Ty si tam priviedol 6V. Ak by tam bol ten sériový odpor 470R, ten by obmedzil “zabíjací” prúd na maximálne c 12mA ato by ten čip v LED už mhol prežiť.
Napríklad . Inak proti takýmto chybám by Ťa ochránila aj shotkyho dióda medzi DIN LED a Un LED. Ak by si totižto zabudol zapojiť napájanie na LED, LED by bola napájaná priamo z DIN. Samozrejme, že by to prúdovo nesedelo a zapojila by sa (možno) nadprúdová ochrana pinu MCU a výstupné napätie na pine by pokleslo, ale zabránil by si tomu, aby Unap pre LED bolo o viac ako 0,5V menšie, ako napätie na DIN LED.

Daj vedieť, ako si dopadol

Martin, to čo som poslal je len ukážka zapojenia ohľadom toho chybného napájania pre predstavu!

Samozrejme, že hneď pri napájaní CPU mám 100nF kondenzátor a tiež mám použitý externý kryštál 14,7456MHz s 22pF kondenzátormi. To už beriem ako samozrejmosť.

Ohľadne napájania z batérii. Sú to nabíjacie batérie a čo viem, tak po nabití im vždy padne napätie, takže tých 6V z nich nikdy nedostanem. Teraz som ich meral a majú 5.22V (merané bez záťaže). Ale čo som si teraz uvedomil, tak som chybne napísal napätie batérii do schémy, lebo majú 1,2V (sú to GP ReCyko+).

O tom, že je vhodné dať ochranný odpor medzi MCU a DIN LEDky to som nevedel. Už teraz či ho dať 1k podľa tej schémy, alebo 470R ako radíš ty. Každopádne ma mrzí, že ste ma na toto neupozornili už pri tom LED páse, čo robím do kuchyni, lebo ten funguje na rovnakej komunikácii, ako tieto LEDky. Takže bude asi vhodné to doplniť aj tam. Ďakujem.
A potom je vhodné dávať tento odpor aj pri iných zapojeniach? Napríklad:

  • Medzi MCU a PWM pin ventilátora (ventilátor4-pin s PWM reguláciou)
  • Medzi MCU a dátový PIN snímačov DS18B20? Ale tie majú odpor medzi PIN MCU a VCC.

Napájanie z dvoch zdrojov mi je jasná, že to nejde len tak. Mám to použité pri tom LED páse v kuchyni a riešené cez diódy 1N4007. Len proste pri programovaní už radšej používam baterky, len som posledne urobil chybu a zle to poodpájal.

Prakticky na všetkých mojich plošákoch používam v sérii so všetkými pinmi procesora sériový odpor.

Buď napríklad:

tme.eu/sk/details/dr1206-22 … 3wgj0221t/

Pre rozteč pinov MCU 0,8mm sa dá plošák pekne napasovať

alebo pre rozteč pinov MCU 0,5mm

ti.com/lit/ds/symlink/tpd6f002.pdf

Ak viem, že nejaký signál má ísť od procesora ďalej ako 10cm, tak buď za pin MCU dávam samostantý budič, napríklad 74LV2G17 alebo podobný podľa potreby.

Minimálne tam dám klasický odpor 0,6W s maximálne použiteľnou hodnotou (>220R) podľa požadovanej frekvencie a požadovaného prúdového a napäťového zaťaženia.

A to isté aj pre vstup. Ak používam samostatné výstupné budiče, svorky sú ošetrené RC filtrom podľa predpokladanej prenášanej frekvencie a transilom s napäťovou hodnotu podľa použitých napäťových hladín.

To platí pre absolútne všetky piny procesora a pre všetky svorky. Áno, väčšina tých opatrení a ochrán sa nikdy nebudú musieť prejaviť. Ale náklady na ne sú zanedbateľné, ak mám niečo chodiť riešiť ku klientovi a cestovať pre to cez pol republiky. Nehovoriac o tom, že navrhované zariadenia musia prejsť aj cez skôšobňu EMC.

Čo sa týka upozornenia na sériové odpory, tými sa hemží väčšina mojich príspevkov k hw mcu, ktoré sem píšem. A keď to platí pre nejaké zapojenie, tak to platí aj pre iné :slight_smile:

Ďakujem teda za radu a ešte taká otázka. Ako určiť správnu hodnotu odporu k PINu MCU? Je k tomu nejaký vzorec, či je to len nejaký odhad?

No samozrejme sú na to vzorce.
V prvom rade Maxwellove rovnice.

sk.wikipedia.org/wiki/Maxwellove_rovnice

Tými spočítaš úplne všetko :slight_smile:

Ale ak by sa Ti nechceli rátať integrály, derivácie a divergencie, dajú sa použiť aj jednoduchšie vzorce.

V prvom rade je potrebná statická analýza:

Ak máš priamo na pine súčiastky pull up o 5V odpor 10k a súčiastka potrebuje mať na vstupe pre log.L maximálne 0,8V a Tvoj procesor má pre log L na výstupe maximálne 0,3V, potom sériový odpor musí byť menší ako:

(0,8-0,3)/ (( 5 - 0,8)/10k) = 1190ohm

(jedná sa o vymyslený príklad)

Ak by ten odpor nebol 10k, ale 100k, tak Ti vyjde maximálna hodnota sériového odporu v statickej analýze 11,9kohm.

Tu však treba zohľadniť aj vstupný prúd do pinu nasledujúceho obvodu.
Ak je vstuný prúd 1nA, tak ten zodpovedá vstupnému prúdu cca 5Gohm.
Ten paralelne so 100kohm výslednú hodnotu odporu moc neovplyvní. Ale ak by mal byť vstupný prúd 100uA, potom je už vstupný odpor cca 50kohm a vo výsledku so 100kohm je vstupný odpor 33kohm. a s tým by sa pre daný účel 11,9kohm moc nemuselo mať rado.

Takže ak je vstupný prúd do integráča menší ako 100nA pri Ucc 5V, pri použití pull up rezistoru menšom ako 50Mohm môžeš v statickej analýze vstupný odpor zanedbať. Pri výpočte sériového odporu nebude chyba väčšia ako cca 1%.

Napríklad MCU Atmega328 má vstupný prúd 1uA. To pri napájaní 5V zodpovedá vnútornému odporu 5Mohm. Pull up alebo pull down rovný ako 100kohm môže vstupným prúdom do pinu spôsobiť napäťový úbytok cca 2% z Un, takže od 0,1V (pull down) po 4,9V (pull up).
Tieto hodnoty sú prvoplánový kvalifikovaný odhad, takže ma prosím nekameňujte za akceptovateľné nepresnosti a obhrublosti.

Všetko to má slúžiť k tomu, aby si respondent uvedomil súvislosti, či je odpor 100k ako pull up dostatočný alebo nie.

Samozrejme, z výpočtu sériového odporu volíme hodnotu o jeden krok v rozložení hodnôt E12 nižší. Takže ak bude výsledok 329,1R, potom zvolíme dostupnú hodnotu z radu E12 nie 330R ale 270R, alebo nižšiu.

V druhom rade dynamická analýza:

MCu kmitá nožičkou v nejakom rytme. Dôležité je, aby najrýchlejšia zmena na vstupe pinu LED zodpovedala jej katalógovým údajom.
Priebeh napätia na RC člene, kde R je hodnota sériového odporu a C je parazitná kapacita závislá od dĺžky kábla a ostatných parazitných zemí v okolí signálu je daná vzťahom napríklad v zmysle článku na wiki

cs.wikipedia.org/wiki/Doln%C3%AD_propust

samozrejme, že parazitnú kapacitu nepoznáš. Takže najlepšie je pustiť do systému signál s maximálnou frekvenciou aká je rozumná. Napríklad nemá zmysel meniť jas statickej ledky častejšie ako 1x za 10ms-1000ms v závislosti od použitia a zas zmenu svitu LED rýchlejšiu ako 1x za 10 - 20ms ľudksé oko prakticky nezachytí.
Ak posielaš do LED 3x8bitovú informáciu, pri čase zmeny 10ms stačí použiť maximálnu frekvenciu pre jednu led 10ms/24 =416us. Pozor, zmena signálu môže byť najrýchlejšia 208us, lebo je to čas pre polperiodu.

Ak je tých LED 10ks a je nevyhnutné meniť jas 1x za 10ms, potom bude maximálna požadovaná frekvencia cc 20us. To zodpovedá prenosovej frekvencii 50kHz. Aby boli hrany ako tak kolmé, prenosová frekvencia RC clena by nemala byť menšia ako 500kHz. Samozrejme za určitých okolností to môže celé fungovať aj pre nižšiu medznú frekvenciu. Ale ak chceš ísť s návrhom na istotu, moc by som s tým nehýbal. Upozorňujem, že pre správne fungovanie musia byť splnené podmienky statickej analýzy. A to v celom teplotnom pracovnom rozsahu.

No a pre hraničnú frekvenciu 500kHz závisí hodnota R od hodnoty parazitnej kapacity. Tú ale nepoznáš.

Takže tu konečne prichádza priestor pre empirickú skúsenosť toho ktorého zapojenia a tej ktorej hw konštelácie. Najjednoduchšie je poslať na výstup pinu MCU obdĺžnikový signál 1:1, zobrať osciloskop a pozrieť sa na tvar signálu na vstupe DIN LED. Ak je vstupný signál v úrovni log. L dostatočne dlho a to isté platí aj pre signál v úrovni log, H, máš vyhraté. A buď môžeš ďalej zvyšovať hodnotu sériového odporu, alebo sa môžeš s už nastavenou hodnotou uspokojiť.

Zas na druhej strane nemá zmysel zvyšovať hodnotu sériového odporu do aleluja.
Podľa datasheetu k ATmega328 je maximálny prúd per pin 40mA. Ak by si aj škrtol po druhom konci odporu tvrdým zdrojom napätia 24V, na obmedzenie prúdu do procesora ktorý by mal vypnuté napájanie na bezpečnú úroveň, stačí hodnota odporu 600R.

Preto si myslím, že hodnota 1,5kohm pre sériový odpor je prakticky maximálna. Nemá význam ju zvyšovať, pokiaľ nehrozí krátkodobý náhodný dotyk s napätím väčším ako 50V.

Zas na druhej strane, ak Ti signál v mieste pinu DIN LED prichádza tvarovo v poriadku, aj pri 1kohm, nemá zmysel hodnotu sériového odporu znižovať. Nič by to neprinieslo a k ničomu by to neprispelo.

Ako som uviedol, základom je osciloskop.

Ak nemáš, tak by som uviedol typ.
Veľmi sa mi na prácu s MCU osvedčil:

tme.eu/sk/details/410-321-k … scovery-2/

okrem toho, že je dvojkanálový, vie fungovať aj ako generátor a logický analyzátor. Šírka pásma je 30MHz pri 100MSPS, ale pre bežnú prácu bohate postačí.

Ďakujem pekne za detailné vysvetlenie.

Trošku ale nechápem tie časy pre moje LED s WS2812 komunikáciou. Pri tejto komunikácii je úplne jedno (z hľadiska posielania dát) ako často chcem obnoviť jas, resp. farbu LED, nie? Ja tu mám presne dané časy pre Log. 1, Log. 0 a Reset.

Log. 0: T0H (0.35us) a T0L (1.36us)
Log. 1: T1H (1.36us) a T1L (0.35us)
Reset: >50us

Pri Log.0 a Log.1 je prípustná chyba 150ns.

Čiže ak mám 1ks LED, tak čas potrebný na poslanie dát je 1.71us x 3x8 = 41.04us + reset.
Keď mám aktuálne 20ks LED, tak čas pre poslanie dát je 41.04 x 20 = 820.8us + reset. t.j. cca 900us (pre istotu)

Takže ak by som chcel 20 LED obnoviť maximálne, ako je to možné za 1s, tak by to malo byť 1 000 000us / 900us = 1111 krát za sekundu, čo je jasné že zbytočné. Ja ich obnovujem raz za 10ms, t.j. 100 krát za sekundu a aj to je asi viac než dosť.

Iné to bude, keď budem mať 300ks LED. To už bude treba na posielanie dát: 300 x 41.04 = 12312us + reset, t.j. cca 12.4ms.

Takže 300 LED maximálne za 1 sekundu môžem obnoviť 1 000ms / 12.4ms = 80 krát.

Tieto výpočty som si už rovno rozpísal aj pre seba do budúcnosti.

Ale teda chápem to správne? Že pri tejto komunikácii nie je podstatné, ako často chcem obnoviť farbu/jas LED (v ohľade kódu 0/1), lebo je to pevne určené. Jedine čo je na mne, je to, ako často chcem obnoviť LED a teda či budem posielať do LEDiek balík kódov jeden za druhým, alebo im dám nejakú pauzu. Pri 20ks pauzu majú, ale keď budem mať 300 LED, tak tam to pôjde asi bez pauzy.

A máš pravdu, osciloskop veruže nemám, aj keď ako už dlhšie zisťujem, zišiel by sa mi :confused: Vďaka za tip, ale je ti tiež pekná suma. Jedine čo mám, je log. analizátor, ale s tým by som zistil len to, či to pri LED vyhodnotí spávne posielaný kód. Ale to už uvidím aj na samotných LEDkách.

A ešte k tomu sériovému odporu. Teda ak by som mal osciloskop, tak sa nemusím nejak trápiť s výpočtami, ale začať posielat 0/1 v pomere 1:1 a ak nebude dosiahnutý správny čas Log. 0 a 1, tak treba zmenšovať odpor, áno?

Presne tak :slight_smile:

podľa tých časov k LED čo si popísal, mal by si dosiahnuť aspoň šírku pásma 28MHz. Ale toto číslo je samo o sebe bezpredmetné.
Kúp si dobrý osciloskop a možno lepší ako som Ti poslal, lebo potrebuješ sledovať frekvencie do cca 30MHz a to je akurát na hranici toho mnou odporúčaného.

Ale zas na druhej strane, ak Ti ten osciloskop vydrží aspoň 5 rokov (ja ho už mám k plnej spokojnosti 7), tak Ťa bude stáť cca 3,9EUR mesačne. A nechce sa mi veriť, že by si na to nemal ak to myslíš s elektronikou vážne. A ak nemyslíš, tak si ho nekúp a len tak si letuj ako príde. Niekedy úspešne a niekedy neúspešne :slight_smile:

No asi si fakt už časom budem musieť nejaký kúpiť. Ja som už dávnejšie aj pozeral. Len rozhodnúť sa že aký, a tiež, keď ja sa týmto neživým. No na škodu mi to určite nebude, ako to čím ďalej tým viac vidím.

Pozeral som v sos.sk a našiel som tieto typy:

DSO-1062D Digitálny osciloskop 2x60MHz 1GS/s Realtime, USB - sos.sk/products/voltcraft/dso-1062d-152195

DSO-1102D Digitálny osciloskop 2x100MHz 1GS/s, USB - sos.sk/products/voltcraft/dso-1102d-174949

Líšia sa asi iba frekvenciou 60/100MHz. Len či je to spoľahlivá značka.

Ešte ak môžem, rád by som sa vrátil k tej ochrane PINov MCU a odporom. Skúsme prejsť moje rôzne situácie, ktoré sú použité napríklad aj na LED páse v kuchyni.

  1. Výstupný PIN, ktorý ovláda LED. Tam je v sérii odpor podľa potrebného napätia a prúdu na LED. Čiže toto je v poriadku.
  2. Výstupný PIN, ktorý ovláda tranzistor. Tam je medzi MCU a bázou tranzistora odpor. Čiže toto je v poriadku.
  3. Výstupný PIN, ktorý ovláda polovodičové relé. Tu nemám nič, ovládam priamo LED diódu v polovodičovom relé, teda priamo polovodičové relé, ktoré má vstupné menovité napätie 5V a ovládací prúd 7mA (alebo 12mA pri výstupe pre 230VAC). Teraz, doplniť aj tu odpor? Pracovný rozsah má od 3.5V, takže nejaký 100R odpor by to zvládnuť mohlo a vstupné napätie by bolo 4.3V (pri variante 5V,7mA). Alebo pre variantu 5V,12mA, vystup 230V ak použijem odpor 100R, tak vstupné napätie by bolo 3.8V, čo už sa blížim k hranici. Keď by som použil odpor 47R, tak by bolo vstupné napätie 4.44V pri 12mA. | EDIT: Naviac ale, teraz som si uvedomil, že MCU, keďže nenapájam 5V, tak na výstupe nebude mať 5V, ale nižšie napätie a moje výpočty sú zlé.
  4. Výstupný PIN, ktorý ovláda WS2812 komunikáciu. Tu skúsim dať 1k odpor a uvidím, ako to pôjde.
  5. Výstupný PIN, ktorý ovláda 1-vodičovú komunikáciu. Neviem, či tu tiež začať s 1k odporom.
  6. Výstupný PIN, ktorý ovláda PWM. Neviem, či tu tiež začať s 1k odporom.
  7. Vstupný PIN, ktorý signalizuje tlačidlo. To bude použitý 100R odpor a kondenzátorom 100nF, pri vzdialenom tlačidle použitý externý pull-up 10k.
  8. Vstupný PIN, ktorý prijíma signál od pohybového čidla, ktorý vysiela Log. 1 na úrovni 3.3V. Tu idem priamo na PIN MCU. A teraz, ak dám odpor, už asi nedosiahnem Log. 1 na MCU. Ťažko sa mi určuje spodná hranica, keď Log. 1 je 0.7xVcc a Vcc mám od 3.3 až 4.2V. Riešiť toto potom cez tranzistor?
  9. Vstupný PIN, pre ktorý kradnem signál napr. z LED signalizácie. Tu používam tranzistor, kde signál do MCU beriem medzi odporom a tranzistorom (nájdeš na schéme LED pásu). Ale už k MCU odpor nie je. Treba ho aj tam?
  10. Vstupný PIN (AD prevodník) napríklad, keď meriam napätie batérii, alebo jas v miestnosti. Tu v sérii nemam odpor, len je použitá odporový delič, poprípade podobné zapojenie ako tranzistor, len je použitý foto tranzistor pre jas.

Hadám som na žiadne nezabudol, čo aktuálne používam.

Jen tak na okraj - nejkratší odstup mezi hramami je 0,35us => 2,8MHz a ne 28MHz. To je taky nejdůležitější údaj, který potřebuješ. Co se osciloskopu týká, tak mám doma osciloskop cca 10 let (starý analog, 20Mhz) a i když je to dobrá věc, tak za celou dobu jsem ho použil pouze dvakrát. Ne, že by Martin neměl pravdu (kontrola tvaru signálu, zjišťování rušení v napájení apod.), ale řekl bych, že na domácí bastlení na to jdete až moc vědecky. Dej na výstupní pin odpor 300-1000 ohmů a bude to bez problémů.

A ještě k těm bodům :

ad 3) Předpokládán, že výrobce polovodičového relé nebude spoléhat na to, že uživatel předřadí před LED diodu odpor a vřadí ji tam sám. Při jmenovitém napětí 5V by mělo mít odběr 7mA. Aspoň takhle bych to pochopil já.

ad 5) Pokud máš na mysli 1-wire sběrnici pro DS18B20, tak tam by měl PIN fungovat jako open collector s externím pull-upem 4k7 (viz datasheet od čidla). Tam bych se sériovým odporem byl velmi opatrný. Pokud, tak max. 100 ohmů.

ad 6) PWM signál nikde ve schématu nevidím - tipuju na PA1. Popis signálů - PA0, PA1 atd je sice fajn a řekne mi, kam je na MCU připojený, ale z toho nepoznám, co ten který signál dělá. Pokud pojmenováváš signály, tak nějak smysluplně. Pokud je PWM signál pro jas na pinu PA1 na pin JAS na konektoru tlačítek 2-5, tak tam by se nějaký sériový odpor slušel, protože 470n není zase tak málo na to, abys do něj bušil pinem bez proudového omezení (ano - ptal ses mne na to v SZ, ale nějak jsem to přehlédl).

ad 8) Na vstupním pinu od čidla klidně těch 100 ohmů dej. Proud do pinu není tak velký, abys ze 3,3V klesl pod rozhodovací úroveň. V nejhorším převodník napěťových úrovní (2x10k, 1xBSS138).

ad 9) Jestli máš na mysli piny PA6 a PA7, tak tam bych 1k s klidem použil. Tam se z VCC může teoreticky objevit téměř cokoliv.

ad 10) Vstupní odpor AD vstupu je dost veliký na to, abys mu nějakými 100 ohmy neublížil.

1 Like

Rozdiel v cene cca 20EUR za skoro dvojnásobnú šírku pásma sa rozhodne oplatí.
Takže ak by som silou mocou potreboval stolový osciloskop s vlastnou obrazovkou a stačilo by mi iba 8b rozlíšenie, asi by som šiel do toho lepšieho. No v takom prípade by som si skôr vybral niečo s lepšou rozlišovačkou a nie iba 8b.

Pravda je, že ja som si tiž na začiatku kúpil “niečo” väčšie no časom som zistil že je veľmi nepraktocké “to” furt vyťahovať a schovávať, lebo na stole mi to zaberá príliš veľa miesta.

Používam 4 kanálový DSO QUAD na cesty, ak potrebujem napríklad pozrieť u klienta ako vyzerá signál na RS485. Funguje aj ako generátor a do PC sa dajú preniesť printscreeny nejakého obrázku.

pozri napríklad:
seeedstudio.com/MiniDSO-DS2 … -2891.html

je za polovičnú cenu ako DSO- 1102D avšak má horšie snímacie parametre. Zas je menší a tak podobne :slight_smile:

V práci používam na 99% ten

store.digilentinc.com/analog-di … er-supply/

tme.eu/sk/details/410-321-k … scovery-2/

Je to maličké, ľahko spratateľné. Zas to má horšiu šírku pásma ako ten DS1102D. Ale zas te DS1102D má len 8bit AD a Diligent 14 bitový AD, to znamená vie robiť so 64x lepším rozlíšením ako ten DS1102D.

Okrem toho, že je dvojkanálový osciloskop, obsahuje aj dvojkanálový 14bitový generátor. Oba generované kanály sa dajú navzájom zosynchronizovať s definovaným fázovým posunom.

Nevyvíjam veci pre dynamický analóg, ale aj na statickú kalibráciu analógových vstupov je vynikajúci. Samozrejme, na pinoch mám relatívne presný merák, ktorým kontrolujem výstupné napätie a to je z tých 14bit DA dostatočne stabilné. Generátormi vieš vnútiť zaraideniu nejaký definovaný priebeh signálov.

V zariadení máš aj logický analyzátor s analýzou protokolov UART, I2C, SPI. To používam veľmi často, keď sa chcem presvedčiť, či mi lezie z pinov procesora to čo má.

Obsahuje tiež frekvenčný analyzér a mnohé mnohé ďalšie výborné vlastnosti.
Okrem toho, že sw funguje spoľahlivo a úplne, naviac sa dajú naprogramovať ďalšie i zložité meracie sekvencie vlastným príkazovým jazykom.

Obsahuje dva zdroje do 5V.

Tento maličký prístroj je pre bežnú prácu na stole pri PC veľmi užitočný pomocník a ešte som sa nestretol s tým, že by mi na merania statického AC (povedzme od 0Hz až 1MHz) a dynamického merania logických priebehov
vrátane protokolových analýz nestačil.

Keďže sa môže v budúcnosti stať, že okrem osciloskopu budeš mať na USB zavesené aj samotné zariadenie, je dobré mať oddelené obe zeme. Preto s veľkým úspechom (úplne odpadli niektoré problémy s meraním) pre zapojenie tohto osciloskopu do PC používam tento galvanický USB oddeľovač.

tme.eu/sk/details/sep-03-us … ep-03-usb/

tých cca 40EUR sa veľmi oplatí. To zistíš hneď, keď Ti na prakticky ľubovolnom osciloskope pripojenom do PC začne iskriť merací hrot :slight_smile:

Osobne by som si nevybral ani DSO-1602D a ani DSO-1102D. Ale pre dobrý pomer výkon cena schopnosti a rozlíšenie by som si opúť vybral ten Diligent analog discovery.

K Tvojim otázkam.

Sériový odpor by som dal na všetky piny. Začal by som 470R. Úplne v pohode.
Aj na to SSR relé. Tak či tak tam musíš mať nejaký zrážací odpor na obmedzenie prúdu do toho relé. Či? Len zapoj jeden pól relé napíklad o plus a druhý pól ovládania relé spoj cez primeraný odpor (asi tiež 470 alebo 220R) s pinom procesora. Alebo relé spínaj cez tranzistor.

Bod 9) Vstup by som riešil buď cez optočlen, alebo cez tranzistor aby si dosahoval dostatočnú vstupnú napäťovú úroveň. Sériový odpor 1k Ti vstupné napätie moc nezníži. Keďže je vstupný prúd pinu iba 1uA, tak potom na odpore s hodnotou 1k sa vytvorí úbytok 1mV.

Výstup PWM bude závsilý na hodnote sériového odporu, parazitnej kapacity a základnej periódy PWM. Odporúčam zmerať novým osciloskopom :slight_smile:

Tvoju schému LED pásu v kuchyni fakt nemám priestor nejako študovať.

Držím palce, daj vedieť a pochváľ sa printscreenami z osciloskopu :slight_smile:

Tiež si to myslím, že už relé v sebe bude mať niečo, takže tu by som išiel priamo bez odporu, tak ako to mám teraz a funguje to. Pred prvým pripojením som si to zapojil mimo MCU a zmeral prúd a tuším to sedelo. To som meral pre istotu, aby som neprekročil max. prúd PINu MCU.

Áno, presne to som mal na mysli. Aj používam externý pull-up 4k7. Seriový odpor tam zatiaľ nemám.

Prepáč, ten PWM mám pri chladení zdroja, kde mám použité aj DS18B20 a aj ten 4-pin PWM ventilátor. Schému prikladám. Tie PA0 a PA1 sú pre AD prevodník, meranie napätia batérii a jasu v miestnosti.
Pri tej PWM asi by bolo fajn dať nejaký odpor, lebo som urobil chybu. Potreboval som odskúšať podobný PWM ventilátor a po odtestovaní som nevypol napájanie, ale odpojil ventilátor z konektora SV2 a odniesol si to MCU a jeden snímač teploty.

Vyskúšam doplniť ten odpor, resp. tranzistor.

Áno, myslel som presne tie, poprípade PA4, ale to je o tom istom. Doplním teda 1k odpory.

A doplním teda aj tu tie 100R odpory.

Ďakujem veľmi pekne.

Nesledoval som presne, aké Solid state relé je použité, ale napríklad toto

tme.eu/sk/details/g3vm-351a … ssr/omron/

ktoré hojne a úspešne používam, rozhodne žiadne vnútorné obmedzenie prúdu nemá. Tak preto som na to upozornil.

Držím palce :slight_smile:

Tak ja som použil SSR relé od Finderu. Vstupný obvod majú 5V. Zisťoval som a technik z Finderu mi potvrdil, že je určite na vstupe obmedzovaci odpor, aby bol prúd vstupného obvodu obmedzený na 7mA, poprípade 12mA pri 230V výstupnom obvode. Bez neho by si tá dióda zobrala viac.
Takže predpokladám, keď je SSR relé na tej istej DPS ako MCU, nemusím dávať ochranný odpor.

Ak by to niekomu pomohlo, tak presné typy použité mnou sú:
34.81.7.005.9024 - vstupný obvod 5V, 7mA a výstupný obvod menovitý 24VDC, 6A, spínané napätie 1,5÷33VDC
34.81.7.005.8240 - vstupný obvod 5V, 12mA a výstupný obvod menovitý 240VAC, 2A, spínané napätie 12÷275VAC, spínané pri prechode napätia nulou.

Je k tomu aj pätica do DPS, typ 93.11

V prílohe výstrižky a celý katalógový list.


S34-SSR-vstupný obvod.jpg
S34-SSR-pätica do DPS.jpg
S34CS.pdf (2.19 MB)

Podle datasheetu ani ty Findery žádné proudové omezení na ovládacím vstupu nemají. Tady bych vřele doporučil buď odpor spočítaný na maximální napětí, které se v systému může vyskytnout. A protože napětí baterek může být dost odlišné od napájení zdrojem, pak bych doporiučil proudový zdroj (například s LM317) nastavený na cca 7mA - tedy LM317 a odpor cca 178 Ohmů. Myslím si, že když dáš 200R nebo 220R, dostaneš se na 6,25 resp. na 5,28 mA a bude to fungovat taky.

Nechcem Ti v žiadnom prípade protirečiť, ja len píšem vyjadrenie z technickej podpory. Ten obrázok je len ilustračný, aby bolo vidieť, na ktorých svorkách je dióda a na ktorých foto-tranzistor. Vnútorné zapojenia výrobkov Finder nezverejňuje, aspoň som si ho nikdy nikde nevšimol.

Každopádne, ak sa dá zmerať, či tam je alebo nie je obmedzovací odpor, tak mi nerobí problém také meranie urobiť. Podľa technickej podpory by tam mal byť (ak si dobre pamätám) cca 130R obmedzovací odpor? V práci som si to niekde na papier načmáral, neviem či si dobre pamätám (možno 300R).