{"id":186,"date":"2018-02-01T15:12:19","date_gmt":"2018-02-01T14:12:19","guid":{"rendered":"http:\/\/aiiot-technology.eu\/web\/?p=186"},"modified":"2018-03-12T01:16:04","modified_gmt":"2018-03-12T00:16:04","slug":"program-do-testowania-sprzetowej-eliminacji-drgania-stykow","status":"publish","type":"post","link":"http:\/\/aiiot-technology.eu\/web\/2018\/02\/01\/program-do-testowania-sprzetowej-eliminacji-drgania-stykow\/","title":{"rendered":"Program do testowania sprz\u0119towej eliminacji drgania styk\u00f3w"},"content":{"rendered":"<h1>Istnieje kilka sposob\u00f3w eliminacji drga\u0144 styk\u00f3w (posegregowane wed\u0142ug skuteczno\u015b\u0107)<\/h1>\n<h2>1. uk\u0142ady specjalizowane<br \/>\n2. metoda programowa<br \/>\n3. przez filtr RC (kondensator)<\/h2>\n<h2><\/h2>\n<h2><strong>1. Uk\u0142ady specjalizowane:<\/strong><\/h2>\n<h3><em>zalety:<\/em><\/h3>\n<ul>\n<li>jest najbardziej skuteczn\u0105 metod\u0105<\/li>\n<li>dodatkowe opcje jak np. wy\u0142\u0105czenie wszytkich klawiszy pinem EN<\/li>\n<\/ul>\n<h3><em>wady:<\/em><\/h3>\n<ul>\n<li>najdro\u017csza z metoda<\/li>\n<\/ul>\n<h3>Schemat pod\u0142\u0105czenia:<\/h3>\n<p>Przyk\u0142adowy uk\u0142ad specjalizowany: MAX6818<\/p>\n<p>Piny EN i CH nie s\u0105 niezb\u0119dne (EN jak nie u\u017cywamy podci\u0105gamy do masy)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-187\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/po\u0142-max.png\" alt=\"\" width=\"355\" height=\"291\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/po\u0142-max.png 355w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/po\u0142-max-300x246.png 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<h3>Wi\u0119cej informacji o uk\u0142adzie MAX6818:<\/h3>\n<ul>\n<li><a href=\"https:\/\/datasheets.maximintegrated.com\/en\/ds\/1896.pdf\">https:\/\/datasheets.maximintegrated.com\/en\/ds\/1896.pdf <\/a>&#8211; dokumentacja<\/li>\n<li><a href=\"https:\/\/ep.com.pl\/files\/5617.pdf\">https:\/\/ep.com.pl\/files\/5617.pdf<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>2. Metoda programowa:<\/strong><\/h2>\n<h3><em>zalety:<\/em><\/h3>\n<ul>\n<li>bez ponoszenia dodatkowych kosz\u00f3w, mo\u017cliwo\u015b\u0107 dodania po wykonaniu urz\u0105dzenia<\/li>\n<\/ul>\n<h3><em>wady: <\/em><\/h3>\n<ul>\n<li>zajmuje czas procesora, mo\u017ce by\u0107 k\u0142opotliwa w implementacji<\/li>\n<\/ul>\n<h3>przyk\u0142adowy program dla adruino:<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.arduino.cc\/en\/Tutorial\/Debounce\">https:\/\/www.arduino.cc\/en\/Tutorial\/Debounce<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong>3. Przez filtr RC (kondensator)<\/strong><\/h2>\n<h3><em>zalety:<\/em><\/h3>\n<ul>\n<li>bardzo tania<\/li>\n<\/ul>\n<h3><em>wady:<\/em><\/h3>\n<ul>\n<li>nie gwarantuje 100% skuteczno\u015bci<\/li>\n<li>roz\u0142adowywanie kondensatora przyciskiem skraca jego \u017cywotno\u015b\u0107<\/li>\n<li>im bardzie skuteczna i bezpieczna metoda tym wi\u0119cej element\u00f3w<\/li>\n<\/ul>\n<h2>Przyk\u0142ad implementacji:<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-190\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/DWA-2-1024x532.png\" alt=\"\" width=\"730\" height=\"379\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/DWA-2-1024x532.png 1024w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/DWA-2-300x156.png 300w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/DWA-2-768x399.png 768w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/DWA-2.png 1194w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><\/p>\n<h2><strong>Szerzej problem om\u00f3wili:<\/strong><\/h2>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=HUOGhfOOoB8\">ElektroPrzewodnik &#8211; Przyciski | #25 [Arduino]<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=J4mZHf0pH8Y\">RS Elektronika &#8211; Debouncing [RS Elektronika] #101<\/a><\/li>\n<li><a href=\"https:\/\/www.google.pl\/search?ei=7hJzWu-oIsSfsgG9mp2gAw&amp;q=site%3Ahackaday.com+EMBED+WITH+ELLIOT%3A+DEBOUNCE+YOUR+NOISY+BUTTONS&amp;oq=site%3Ahackaday.com+EMBED+WITH+ELLIOT%3A+DEBOUNCE+YOUR+NOISY+BUTTONS&amp;gs_l=psy-ab.12...19292.28062.0.29702.9.8.1.0.0.0.146.857.3j5.8.0....0...1c.1.64.psy-ab..0.2.246...35i39k1.0.QFal0X4kzMs\">EMBED WITH ELLIOT: DEBOUNCE YOUR NOISY BUTTONS<\/a> &#8211;\u00a0hackaday.com<\/li>\n<\/ul>\n<h2>Program w celu sprawdzenia skuteczno\u015bci sprz\u0119towej eliminacji drgania styk\u00f3w<\/h2>\n<h3>Program w czasie rzeczywistym wychwytuje wszystkie zmiany stanu i wyrzuca je do serial portu, pomijaj\u0105c powtarzanie stanu po przekroczeniu 25 powt\u00f3rze\u0144 tego samego stanu:<\/h3>\n<p><strong>Ograniczenia programu:<\/strong> program odczytuje tylko stan cyfrowy pinu (co zreszt\u0105 powinno wystarczy\u0107 do obs\u0142ugi przycisku, w spos\u00f3b cyfrowy), nie reaguje na zmiany stanu w granicach poziom\u00f3w logiczny TTL, czyli wtedy kiedy drgania nast\u0119puje w granicach stanu wysokiego lub niskiego ale jeszcze go nie przekroczy\u0142y. Do tego celu nale\u017ca\u0142o by wykorzysta\u0107 wej\u015bcie analogowe jednak znacznie skomplikowa\u0142o by to kod programu.<\/p>\n<blockquote><p>\/*<br \/>\nProgram do testowania sprz\u0119towej eliminacji drgania styk\u00f3w<\/p>\n<p>W celu wizualizacji wynik\u00f3w skorzystaj z kre\u015blarki<br \/>\nNarz\u0119dzia -&gt; Kre\u015blarka<\/p>\n<p>Domy\u015blne pod\u0142\u0105czenie :<\/p>\n<p>| pushButton<br \/>\n\\<br \/>\n| GND<\/p>\n<p>Pin pushButton jest domy\u015blnie programowo podci\u0105gni\u0119ty do zasilania<\/p>\n<p>Napisane przez AIIoT<br \/>\nStrona: http:\/\/aiiot-technology.eu<br \/>\n*\/<\/p>\n<p>#define SerialBaud 230400 \/\/ Szybko\u015bc portu szeregowego<br \/>\n#define pushButton 4 \/\/ Wej\u015bcie przycisku<\/p>\n<p>byte static licz = 25; \/\/ Liczba powt\u00f3rze\u0144 tego samego stanu<\/p>\n<p>byte i; \/\/ Zmienna licznika powt\u00f3rze\u0144<br \/>\nbool buttonState, lastButtonState; \/\/ Zmienne do blokady powt\u00f3rze\u0144<\/p>\n<p>#if defined(ESP8266) \/\/ Ustawienia tylko dla ESP8266<br \/>\n#if(ARDUINO_ESP8266_NODEMCU||ARDUINO_ESP8266_WEMOS_D1MINI||ARDUINO_ESP8266_ESP01)\/\/ Nie wykonuj dla\u00a0NODEMCU, WEMOS, ESP8266_ESP01<br \/>\n#else<br \/>\n#define LED_BUILTIN 2 \/\/ Zmiana pinu diody sygnalizacyjnej na wbudowan\u0105 diod\u0119 dla ESP-07, ESP-12<br \/>\n#endif<br \/>\n#endif<\/p>\n<p>\/\/ the setup routine runs once when you press reset:<br \/>\nvoid setup() {<br \/>\nSerial.begin(SerialBaud); \/\/ inicjalizacja portu szeregoweko<br \/>\n\/\/ make the pushbutton&#8217;s pin an input:<br \/>\npinMode(pushButton, INPUT_PULLUP); \/\/ pushButton jako pin wej\u015bciowy, z podci\u0105dni\u0119tym rezystorem<br \/>\npinMode(LED_BUILTIN, OUTPUT); \/\/ LED_BUILTIN jako pin wyj\u015bciowy<br \/>\nSerial.print(&#8222;\\r\\nboot &#8222;);<br \/>\n}<\/p>\n<p>\/\/ the loop routine runs over and over again forever:<br \/>\nvoid loop() {<br \/>\n\/\/ read the input pin:<br \/>\nlastButtonState = buttonState; buttonState = digitalRead(pushButton); \/\/ Zapis poprzedniego i odczy aktualnego stanu<\/p>\n<p>if(lastButtonState == buttonState &amp;&amp; i&lt;licz)i++; \/\/ Zliczanie powt\u00f3rze\u0144<br \/>\nif(lastButtonState != buttonState)i=0; \/\/ Zerowanie stanu licznika<br \/>\nif(lastButtonState != buttonState || i &lt;licz){ \/\/ Wysy\u0142anie zmiany warto\u015bci portem szeregowym<br \/>\nSerial.print(&#8222;\\r\\nStan: &#8222;);<br \/>\nSerial.print(buttonState);<br \/>\n}<\/p>\n<p>digitalWrite(LED_BUILTIN,buttonState); \/\/ Sygnalizsacja wcisni\u0119cia przycisku wbudowan\u0105 diod\u0105<br \/>\n}<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-192\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/1-bez-elim.png\" alt=\"\" width=\"909\" height=\"545\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/1-bez-elim.png 909w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/1-bez-elim-300x180.png 300w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/1-bez-elim-768x460.png 768w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-193\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond.png\" alt=\"\" width=\"907\" height=\"544\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond.png 907w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-300x180.png 300w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-768x461.png 768w\" sizes=\"(max-width: 907px) 100vw, 907px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-194\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-2.png\" alt=\"\" width=\"907\" height=\"544\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-2.png 907w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-2-300x180.png 300w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-kond-2-768x461.png 768w\" sizes=\"(max-width: 907px) 100vw, 907px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-195\" src=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-max.png\" alt=\"\" width=\"907\" height=\"544\" srcset=\"http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-max.png 907w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-max-300x180.png 300w, http:\/\/aiiot-technology.eu\/web\/wp-content\/uploads\/2018\/02\/2-max-768x461.png 768w\" sizes=\"(max-width: 907px) 100vw, 907px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Istnieje kilka sposob\u00f3w eliminacji drga\u0144 styk\u00f3w (posegregowane wed\u0142ug skuteczno\u015b\u0107) 1. uk\u0142ady specjalizowane 2. metoda programowa 3. przez filtr RC (kondensator) 1. Uk\u0142ady specjalizowane: zalety: jest najbardziej skuteczn\u0105 metod\u0105 dodatkowe opcje jak np. wy\u0142\u0105czenie wszytkich klawiszy pinem EN wady: najdro\u017csza z metoda Schemat pod\u0142\u0105czenia: Przyk\u0142adowy uk\u0142ad specjalizowany: MAX6818 Piny EN i CH nie s\u0105 niezb\u0119dne (EN [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":201,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-186","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ardiono-ide"],"_links":{"self":[{"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/posts\/186"}],"collection":[{"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/comments?post=186"}],"version-history":[{"count":13,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":244,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/posts\/186\/revisions\/244"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/media\/201"}],"wp:attachment":[{"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/media?parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/categories?post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/aiiot-technology.eu\/web\/wp-json\/wp\/v2\/tags?post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}