diff --git a/articles/2017/LF33-aneb-ctete-datasheety.md b/articles/2017/LF33-aneb-ctete-datasheety.md new file mode 100644 index 0000000000000000000000000000000000000000..db02df6b867ff242a0cbc3734be52fb9ac26f4b5 --- /dev/null +++ b/articles/2017/LF33-aneb-ctete-datasheety.md @@ -0,0 +1,43 @@ +``` +title = "LF33 aneb ÄŤtÄ›te datasheety" +tags = ["TechnickĂ© ÄŤlánky"] +image = "LF33_lead.jpg" + +``` + +Pracuji na projektu svĂ˝ch [digitronovĂ˝ch hodin](https://git.ok1kvk.cz/martin.vitek/nixie-clock) kterĂ© budou Ĺ™ĂzenĂ© pĹ™es [NTP](https://cs.wikipedia.org/wiki/Network_Time_Protocol). Jsem ve fázi, kdy programuji funkce pro manipulaci s registry pĹ™es [SPI](https://cs.wikipedia.org/wiki/Serial_Peripheral_Interface) pro ethernetovĂ˝ ÄŤip [ENC28J60](http://www.microchip.com/wwwproducts/en/en022889). + +PĹ™i testovánĂ jsem zjistil, Ĺľe kdyĹľ ÄŤtu nÄ›kterĂ˝ z registrĹŻ, tak pokaĹľdĂ© dostanu jinou hodnotu, i kdyĹľ s dotyÄŤnĂ˝m registrem nijak jinak nemanipuluji. I kdyĹľ jsem ten registr ÄŤetl dvakrát, tĹ™itkrát za sebou, tak jsem pokaĹľdĂ© pĹ™eÄŤetl jinou hodnotu. ZajĂmavĂ© bylo, Ĺľe obÄŤas byla mezi pĹ™eÄŤtÄ›nĂ˝mi hodnotami hodnota správná. TakĂ© zápis do registrĹŻ nedÄ›lal to, co bych od nÄ›j oÄŤekával. + +ZaÄŤal jsem tedy procházet kĂłd, našel jsem nÄ›jakĂ© chyby, opravil jsem je, ale vĂ˝sledek byl pořád stejnĂ˝. Dále jsem v internetovĂ˝ch diskuzĂch našel informace, Ĺľe ranĂ© verze datasheetu obsahujĂ chyby (chybnĂ© adresy registrĹŻ a dalšĂ) a já jsem vycházel z revize C, kterou mi našel vyhledávaÄŤ a nejaktuálnÄ›jšà revize je E. Opravil jsem tedy kĂłd podle aktuálnĂho datasheetu, ale stále se nic nezmÄ›nilo. + +Dále jsem se doÄŤetl, Ĺľe ENC28J60 má spoustu vnitĹ™nĂch chyb, takĹľe jsem nastudoval errata, opravil jsem podle nich nÄ›kolik vÄ›cĂ, ale žádná z popisovanĂ˝ch chyb by nemÄ›la zpĹŻsobovat problĂ©my s pĹ™Ăstupem do registrĹŻ. + +Dalšà den jsem pĹ™ipojil logickĂ˝ analyzátor na SPI sbÄ›rnici a sledoval jsem, jaká data si mezi sebou ÄŤipy vymÄ›ĹujĂ. Nic podezĹ™elĂ©ho jsem ale nevysledoval. Mikroprocesor odesĂlal správná data, ale ENC28J60 odesĂlalo nÄ›jakĂ© náhodnĂ© vÄ›ci. + +NynĂ jsem tedy vÄ›dÄ›l, Ĺľe problĂ©m by nÄ›mel bĂ˝t v kĂłdu, ale nÄ›kde kolem ENC28J60. ENC28J60 potĹ™ebuje k napájenĂ 3.3V, kterĂ© mu zajišťuje integrovanĂ˝ stabilizátor [LF33](http://www.st.com/content/ccc/resource/technical/document/datasheet/c4/0e/7e/2a/be/bc/4c/bd/CD00000546.pdf/files/CD00000546.pdf/jcr:content/translations/en.CD00000546.pdf). Tento stabilizátor celkem hodnÄ› hřál - pĹ™eci jenom vstupnĂ napÄ›tĂ je 12-14V coĹľ pĹ™i proudu cca 100mA vytvářà vĂ˝konovou ztrátu kolem 1W. Napadlo mÄ› tedy, Ĺľe tĹ™eba zasahuje tepelná ochrana a sniĹľuje vĂ˝stupnĂ napÄ›tĂ. Multimetrem jsem na vĂ˝stupu změřil 3.2V, coĹľ mi nepĹ™ipadalo aĹľ tak podezĹ™elĂ©, ale osciloskop ukázal, Ĺľe vĂ˝stup stabilizátoru nepÄ›knÄ› kmitá. MinimálnĂ hodnota napÄ›tĂ byla 2.32V, maximálnĂ 4.24V a rozkmit 1.92V. + + + +ChtÄ›l jsem změřit, jakĂ˝ proud tedy doopravdy pĹ™es stabilizátor teÄŤe. Odpojil jsem vĂ˝stupnĂ pin stabilizátoru a ze zvÄ›davosti jsem se na nÄ›j podĂval osciloskopem a byl jsem hodnÄ› pĹ™ekvapenĂ˝, Ĺľe vĂ˝stupnĂ napÄ›tĂ stále kmitalo, i kdyĹľ ke stabilizátoru nebyla pĹ™ipojena žádná zátěž. + +ZběžnÄ› jsem proÄŤetl [datasheet LF33](http://www.st.com/content/ccc/resource/technical/document/datasheet/c4/0e/7e/2a/be/bc/4c/bd/CD00000546.pdf/files/CD00000546.pdf/jcr:content/translations/en.CD00000546.pdf), ale niÄŤeho zajĂmavĂ©ho jsem si nevšiml. PĹ™i dalšĂm pátránĂ na internetu, jsem narazil na ÄŤlánek ***[Vezmu LF33 a žádnĂ˝ problĂ©m?](http://robodoupe.cz/2012/vezmu-lf33-a-zadny-problem/)***, ve kterĂ©m jsem se doÄŤet, Ĺľe na vĂ˝stupu stabilizátoru musĂ bĂ˝t kondenzátor s ESR 0.1 - 10Ω, jinak se budou dĂt nepÄ›knĂ© vÄ›ci. + +KdyĹľ se podĂváne na to, jak mám zapojenĂ˝ stabilizátor já: + + + +Tak vidĂme, Ĺľe jsem pouĹľil keramickĂ© SMD kondenzátory 100nF, podle běžnĂ© pouÄŤky, Ĺľe ke stabilizátoru patřà kondenzátory 100nF, kterĂ© majĂ zabránit kmitánĂ vĂ˝stupu. + +V datasheetu lze ale nalĂ©zt tyto informace: + + + + + +Tedy Ĺľe na vĂ˝stupu má bĂ˝t elektrolytickĂ˝ kondenzátor o kapacitÄ› minimálnÄ› 2.2μ, typicky 10μF s ESR 0.1 - 10Ω. + +Po vĂ˝mÄ›nÄ› tohoto kondenzátoru za elektrolytickĂ˝ 10μF se vĂ˝stup stabilizátoru uklidnil a ENC28J60 zaÄŤalo správnÄ› komunikovat s mikroprocesorem. MÄ›l jsem takĂ© štÄ›stĂ, protoĹľe ENC28J60 má maximálnĂ povolenĂ© napÄ›tĂ 3.6V a stabilizátor mÄ›l na vĂ˝stupu chvĂlemi pĹ™es 4V. + +Z totoho pĹ™ĂbÄ›hu tedy vyplĂ˝vá ponauÄŤenĂ, Ĺľe se ke kaĹľdĂ© součástce vyplatĂ nastudovat datasheet, protoĹľe kdybych to pĹ™i návrhu schĂ©matu udÄ›lal, tak bych si ušetĹ™il dva dny, kdy jsem hledal, kde je chyba. +