{"id":829,"date":"2005-10-05T10:46:17","date_gmt":"2005-10-05T08:46:17","guid":{"rendered":"http:\/\/majek.mamy.to\/?p=829"},"modified":"2013-03-13T10:51:45","modified_gmt":"2013-03-13T09:51:45","slug":"watchdoglcd","status":"publish","type":"post","link":"https:\/\/majek.sh\/pl\/watchdoglcd\/","title":{"rendered":"Watchdog LCD"},"content":{"rendered":"<p><\/p>\n<h2>Watchdog z wy\u015bwietlaczem LCD<\/h2>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/03\/stary.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/03\/stary-640x210.jpg\" alt=\"Watchdog LCD\" width=\"640\" height=\"210\" class=\"alignnone size-medium wp-image-837\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/03\/stary-640x210.jpg 640w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/03\/stary-150x49.jpg 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/03\/stary.jpg 800w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Co i dlaczego: wi\u0119kszo\u015b\u0107 komp\u00f3w si\u0119 pr\u0119dzej czy p\u00f3\u017aniej wiesza. Jak masz serwerek, to wiesz dobrze, \u017ce wieszanie nie jest najbardziej po\u017c\u0105dan\u0105 w\u0142a\u015bciwo\u015bi\u0105 systemu. Mo\u017cna temu zaradzi\u0107 robi\u0105c watchdoga.<br \/>\nWiadomo, \u017ce do watchdoga co\u015b trzeba wysy\u0142a\u0107 co jaki\u015b czas, \u017ceby wiedzia\u0142, \u017ce wszystko \u017cyje. Dodatkowo nie mo\u017ce to by\u0107 jaki\u015b totalnie prymitywny uk\u0142ad, bo watchdog musi by\u0107 na tyle inteligentny, \u017ceby si\u0119 w\u0142\u0105czy\u0107 na \u017c\u0105danie i od razu wy\u0142\u0105czy\u0107 po wygenerowaniu reseta. Czyli mikroprocesorek, bo na uk\u0142adach dyskretnych by\u0142oby za du\u017co rze\u017abienia.<br \/>\nMamy procesorek do kt\u00f3rego co\u015b trzeba wysy\u0142a\u0107 &#8211; najbardziej 'ludzkim&#8217; interfejsem s\u0142u\u017c\u0105cym do komunikacji z ka\u017cdym komputerem i nie sprawiaj\u0105cy \u017cadnych problem\u00f3w w oprogramowaniu jest RS232.<br \/>\nOk. Mamy procesor, kt\u00f3ry co\u015b dostaje od komputera i &#8230; ma to wyrzuca\u0107 w kosmos? Marnotrastwo. Na Allegro mo\u017cna dosta\u0107 sporo r\u00f3\u017cnych tanich wy\u015bwietlaczy, kt\u00f3re mo\u017cna podpi\u0105\u0107 pod taki bezczynny procesorek!<\/p>\n<p>No i mamy wst\u0119pn\u0105 list\u0119 cz\u0119\u015bci potrzebnych do budowy:<\/p>\n<ul>\n<li> Atmel AT90S2313-10 &#8211; mikroprocesor, kt\u00f3ry ma w sobie zegary do zrobienia watchdoga, UART i jeszcze sporo n\u00f3\u017cek w sam raz do pod\u0142\u0105czenia wy\u015bwietlacza\n<li> MAX232 &#8211; konwerter sygna\u0142u TTL na RS232\n<li> wy\u015bwietlacz DM157A &#8211; najta\u0144szy na allegro i jednocze\u015bnie najwi\u0119kszy pod wzgl\u0119dem liczby wy\u015bwietlanych znak\u00f3w (3&#215;24 znaki) z mieszcz\u0105cych sie jeszcze w wymiarach pojedynczego slota 5.25&#8243; (mie\u015bci sie w za\u015blepce)\n<li> troche drobnicy:\n<ul>\n<li> kwarc 8MHz i kondensatory do niego 2x 12pF\n<li> kondensatory 4x 1uF do przetwornicy w MAX232\n<li> opornik 33 Ohm &#8211; do zasilania pod\u015bwietlenia wy\u015bwietlacza\n<li> potencjometr 50K &#8211; regulacja kontrastu wy\u015bwietlacza\n<li> podstawka pod mikroprocesor\n<li> wtyczka DB9 \u017ce\u0144ska\n<li> wtyczka dwupinowa jak do p\u0142yty g\u0142\u00f3wnej do reseta\n<li> wtyczka molex lub usb, \u017ceby ukra\u015b\u0107 z wn\u0119trza komputera troche fazy (+5V)\n<li> troche kabelk\u00f3w (w tym przyda si\u0119 kawa\u0142ek starej ta\u015bmy od fdd lub hdd)\n<li> jaka\u015b p\u0142ytka uniwersalna (lub hardcorowcy mog\u0105 sobie od razu wytrawi\u0107 porz\u0105dn\u0105)\n<li> jaki\u015b LED (bardziej dla poprawy samopoczucia i sprawdzenia czy wog\u00f3le co\u015b dzia\u0142a)\n<li> lutownica, cyna, kalafonia\n<\/ul>\n<\/ul>\n<h3>Zaczniemy od schematu:<\/h3>\n<p><img decoding=\"async\" src=\"\/watchdoglcd\/watchdoglcd.png\"><br \/>\nJak wida\u0107 nie ma tu prawie co robi\u0107:-)<\/p>\n<p>UWAGA: Na schemacie nie ma narysowanego pod\u0142\u0105czenia zasilania do MAX232. +5V ma by\u0107 pod\u0142\u0105czony do n\u00f3\u017cki 16, masa do 15.<\/p>\n<h3>Klejenie uk\u0142adu<\/h3>\n<p>Wy\u015bwietlacz ma dosy\u0107 nietypowy rozstaw pin\u00f3w na ta\u015bmie i dostanie do niego odpowiedniej z\u0142\u0105czki jest praktycznie niewykonalne. Zostaje wi\u0119c tylko przylutowanie wy\u015bwietlacza do uk\u0142adu. Oznacza to troche kabelk\u00f3w. Najpraktyczniejszym wyj\u015bciem jest kawa\u0142ek starej ta\u015bmy od FDD lub HDD, bo rozstaw jest praktycznie idealny i nie trzeba sie bawi\u0107 za du\u017co w dopasowywanie, przytrzymywanie i celowanie.<br \/>\nTrzeba sobie przygotowa\u0107 kawa\u0142ek ta\u015bmy 20 \u017cy\u0142owej, odizolowa\u0107 ko\u0144ce na ok. 1-2mm i pocynowa\u0107. Ta\u015bm\u0119 wy\u015bwietlacza najlepiej przyklei\u0107 sobie jako\u015b do biurka, \u017ceby nie ucieka\u0142a (najlepiej te\u017c rozebra\u0107 wy\u015bwietlacz). No i trzeba zacz\u0105\u0107 to lutowa\u0107. Nie nale\u017cy \u017ca\u0142owa\u0107 kalafonii lub innego topnika, bo \u0142atwo mog\u0105 si\u0119 kontakty sklei\u0107, a p\u00f3\u017aniej ju\u017c zaczyna sie problem z odsysaniem itp.<br \/>\nGeneralnie ta cz\u0119\u015b\u0107 roboty jest najbardziej precyzyjna i wymaga uwagi. Po przylutowaniu obowi\u0105zkowo trzeba sprawdzi\u0107 czy nie ma zwar\u0107 (i czy jest przej\u015bcie).<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tasma1.jpg\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tasma2.jpg\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tasma3.jpg\"><\/p>\n<p>Dla odpr\u0119\u017cenia mo\u017cemy sie teraz troche wy\u017cy\u0107 fizycznie przeprowadzaj\u0105c ma\u0142y tuning wy\u015bwietlacza przy pomocy brzeszczota. Trzeba po prostu uci\u0105\u0107 wystaj\u0105ce kawa\u0142ki czarnego plastiku, bo z nimi nie zmie\u015bci si\u0119 w standardowej za\u015blepce do obudowy.<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/brzeszczot1.jpg\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/brzeszczot2.jpg\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/brzeszczot3.jpg\"><br \/>\n <img decoding=\"async\" src=\"\/watchdoglcd\/brzeszczot4.jpg\"><\/p>\n<p>Lutujemy sobie w mi\u0119dzyczasie reszt\u0119 cz\u0119\u015bci na p\u0142ytk\u0119 uniwersaln\u0105. Dla niecierpliwych jest w\u0142a\u015bnie dioda \u015bwiec\u0105ca &#8211; po zamontowaniu procesora (zaprogramowanego!!), kwarcu, dw\u00f3ch kondensator\u00f3w 12pF, LEDa i pod\u0142\u0105czeniu zasilania dioda powinna miga\u0107 co ok. 1 sekunde. Jak wlutujemy reszt\u0119 cz\u0119\u015bci, to po pod\u0142\u0105czeniu do komputera i uruchomieniu tam terminala (pr\u0119dko\u015b\u0107 38400N1, kontrola przep\u0142ywu sprz\u0119towa i programowa wy\u0142\u0105czona) powinni\u015bmy dostawa\u0107 echo wysy\u0142anych znak\u00f3w, dodatkowo dioda powinna miga\u0107 za ka\u017cdym wys\u0142anym znakiem (opr\u00f3cz zwyk\u0142ego migania co 1s.).<\/p>\n<p>Czas na przylutowanie wy\u015bwietlacza:<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/plytka1.jpg\" alt=\"linie danych\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/plytka2.jpg\" alt=\"linie steruj\u0105ce\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/plytka3.jpg\" alt=\"reszta\"><\/p>\n<p>No i testy. Po w\u0142\u0105czeniu trzeba wyregulowa\u0107 kontrast &#8211; potencjometrem pokr\u0119ci\u0107 dosy\u0107 blisko +5V a\u017c zacznie by\u0107 wida\u0107 powoli pikselki na czarno. Je\u017celi wszystko jest zmontowane dobrze, to powinni\u015bmy zobaczy\u0107 te\u017c migaj\u0105cy kursor. Tylko pod\u0142\u0105czy\u0107 do komputera i zobaczy\u0107 co si\u0119 tam wy\u015bwietla:<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/dziala1.jpg\" alt=\"na ekranie i lcd to samo\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/dziala2.jpg\" alt=\"powiekszenie lcd\"><\/p>\n<p>Je\u017celi wszystko jest ok, to trzeba si\u0119 zabra\u0107 za kosmetyk\u0119: usztywni\u0107 i zaizolowa\u0107 lutowanie ta\u015bm przy wy\u015bwietlaczu, wpasowa\u0107 to do obudowy. Polecam przyklei\u0107 obudowe uk\u0142adu do ty\u0142u wy\u015bwietlacza.<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tuning1.jpg\" alt=\"izolacja ta\u015bmy\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tuning2.jpg\" alt=\"wsadzamy do obudowy\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/tuning3.jpg\" alt=\"przyklejamy obudowe do wy\u015bwietlacza\"><\/p>\n<p>Jak wszystko dzia\u0142a, to mo\u017cemy si\u0119 ju\u017c cieszy\u0107 wy\u015bwietlaczem!<br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/done1.jpg\" alt=\"gotowy wy\u015bwietlacz\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/done2.jpg\" alt=\"gotowy wy\u015bwietlacz\"><br \/>\n<img decoding=\"async\" src=\"\/watchdoglcd\/done3.jpg\" alt=\"gotowy wy\u015bwietlacz - od g\u00f3ry\"><\/p>\n<p>Pozostaje jeszcze znale\u017a\u0107 jak\u0105\u015b za\u015blepk\u0119 do obudowy, zrobi\u0107 w niej dziur\u0119 i wklei\u0107 tam wy\u015bwietlacz.<\/p>\n<h3>Reszta<\/h3>\n<ul>\n<li>pod\u0142\u0105czenie resetu do p\u0142yty g\u0142\u00f3wnej: UWAGA &#8211; je\u017celi odwrotnie pod\u0142\u0105czymy z\u0142\u0105czk\u0119 resetu, to p\u0142yta si\u0119 nie uruchomi\n<li>po w\u0142\u0105czeniu watchdog nie jest aktywny\n<li>aktywacja watchdoga: na 74 pozycji do wy\u015bwietlenia (aktualnie to ju\u017c poza widoczn\u0105 cz\u0119\u015bci\u0105 wy\u015bwietlacza) je\u017celi b\u0119dzie znak #, to watchdog zacznie dzia\u0142a\u0107\n<li>oprogramowanie ma zaszyty czas nieaktywno\u015bci na 3 minuty &#8211; od chwili aktywacji watchdoga musimy co\u015b wysy\u0142a\u0107 do wy\u015bwietlacza, w przeciwnym wypadku wy\u015bwietlacz zresetuje nam p\u0142yt\u0119\n<li>sygna\u0142 resetu jest przytrzymywany ok. 1 s.\n<li>po wygenerowaniu resetu, watchdog przestaje by\u0107 aktywny a\u017c do ponownej aktywacji przy pomocy #\n<li>pod linuksem, \u017ceby co\u015b wy\u015bwietli\u0107 wystarczy na pocz\u0105tku stty do ustawienia pr\u0119dko\u015bci portu lub jakis prosty <a href=\"\/watchdoglcd\/rsinit\">programik<\/a>, a po\u017aniej ju\u017c tylko co jaki\u015b czas:\n<pre>echo \"jakis tekst\" >\/dev\/ttyS0<\/pre>\n<li>&#8217;wsad&#8217; do zaprogramowania mikroprocesora jest <a href=\"\/watchdoglcd\/watchdoglcd.hex\">tutaj<\/a>\n<li>na schemacie i zdj\u0119ciach jest pokazane branie zasilania z portu usb. Oczywi\u015bcie mo\u017cna wzia\u015b\u0107 zasilanie +5V z molexa, albo cho\u0107by z baterii p\u0142askiej:-)\n<li>je\u017celi chcesz tanio kupi\u0107 wy\u015bwietlacz DM157A, to sprawd\u017a aukcje u\u017cytkownika <a href=\"http:\/\/www.allegro.pl\/show_user_auctions.php?uid=463754\" target=_blank>enercon<\/a> (tam ostatnio kupi\u0142em i jestem zadowolony)\n<li>je\u017celi funkcjonalno\u015b\u0107 watchdoga Cie nie obchodzi, to nie musisz lutowa\u0107 dw\u00f3ch kabelk\u00f3w lub pod\u0142\u0105cza\u0107 gdziekolwiek tego wyj\u015bcia. Natomiast sam watchdog bez pod\u0142\u0105czonego wy\u015bwietlacza najprawdopodobniej nie b\u0119dzie dzia\u0142a\u0142, bo w programie jest kilka miejsc, gdzie procesor czeka na reakcj\u0119 wy\u015bwietlacza.\n<\/ul>\n<p><strong>Update 2013.03.13:<\/strong><br \/>\nStrona przeniesiona do bloga z zachowaniem oryginalej daty publikacji.<br \/>\nCo do ewentualnych \u017ar\u00f3de\u0142 programu, to obawiam si\u0119, \u017ce ich ju\u017c nie znajd\u0119 \ud83d\ude41<\/p>","protected":false},"excerpt":{"rendered":"<p>Watchdog z wy\u015bwietlaczem LCD Co i dlaczego: wi\u0119kszo\u015b\u0107 komp\u00f3w si\u0119 pr\u0119dzej czy p\u00f3\u017aniej wiesza. Jak masz serwerek, to wiesz dobrze, \u017ce wieszanie nie jest najbardziej po\u017c\u0105dan\u0105 w\u0142a\u015bciwo\u015bi\u0105 systemu. Mo\u017cna temu zaradzi\u0107 robi\u0105c watchdoga. Wiadomo, \u017ce do watchdoga co\u015b trzeba wysy\u0142a\u0107 <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/majek.sh\/pl\/watchdoglcd\/\"><span class=\"more-msg\">Czytaj dalej &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[50,24,52,51],"_links":{"self":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/829"}],"collection":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/comments?post=829"}],"version-history":[{"count":12,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/829\/revisions"}],"predecessor-version":[{"id":842,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/829\/revisions\/842"}],"wp:attachment":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/media?parent=829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/categories?post=829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/tags?post=829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}