Interfacing a button to a microcontroller (and PC) with a 50 m long cable





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







6












$begingroup$


I am designing a board that will be plugged into a computer and will read the status of a button ~50 m away in an office environment (it's actually a lot closer, but the cable is long).



I think it's a good idea to galvanically isolate the button wiring from the computer, since the PC will be grounded. I don't want any faults on the wiring to be able to damage the computer.



I'm assuming less than 100 ohm resistance for the cable, and while a simple series resistor would work, I think having a constant current sink for the opto LED is safer (i.e. if the cable has to be a lot longer, or shorter, etc.).



Is this a sensible approach to it? Cost/space is not much an issue, so I could add some protection/filtering circuitry, but I'm not entirely sure where/how to do it, so I'd be happy to hear some suggestions.





schematic





simulate this circuit – Schematic created using CircuitLab










share|improve this question











$endgroup$



















    6












    $begingroup$


    I am designing a board that will be plugged into a computer and will read the status of a button ~50 m away in an office environment (it's actually a lot closer, but the cable is long).



    I think it's a good idea to galvanically isolate the button wiring from the computer, since the PC will be grounded. I don't want any faults on the wiring to be able to damage the computer.



    I'm assuming less than 100 ohm resistance for the cable, and while a simple series resistor would work, I think having a constant current sink for the opto LED is safer (i.e. if the cable has to be a lot longer, or shorter, etc.).



    Is this a sensible approach to it? Cost/space is not much an issue, so I could add some protection/filtering circuitry, but I'm not entirely sure where/how to do it, so I'd be happy to hear some suggestions.





    schematic





    simulate this circuit – Schematic created using CircuitLab










    share|improve this question











    $endgroup$















      6












      6








      6


      2



      $begingroup$


      I am designing a board that will be plugged into a computer and will read the status of a button ~50 m away in an office environment (it's actually a lot closer, but the cable is long).



      I think it's a good idea to galvanically isolate the button wiring from the computer, since the PC will be grounded. I don't want any faults on the wiring to be able to damage the computer.



      I'm assuming less than 100 ohm resistance for the cable, and while a simple series resistor would work, I think having a constant current sink for the opto LED is safer (i.e. if the cable has to be a lot longer, or shorter, etc.).



      Is this a sensible approach to it? Cost/space is not much an issue, so I could add some protection/filtering circuitry, but I'm not entirely sure where/how to do it, so I'd be happy to hear some suggestions.





      schematic





      simulate this circuit – Schematic created using CircuitLab










      share|improve this question











      $endgroup$




      I am designing a board that will be plugged into a computer and will read the status of a button ~50 m away in an office environment (it's actually a lot closer, but the cable is long).



      I think it's a good idea to galvanically isolate the button wiring from the computer, since the PC will be grounded. I don't want any faults on the wiring to be able to damage the computer.



      I'm assuming less than 100 ohm resistance for the cable, and while a simple series resistor would work, I think having a constant current sink for the opto LED is safer (i.e. if the cable has to be a lot longer, or shorter, etc.).



      Is this a sensible approach to it? Cost/space is not much an issue, so I could add some protection/filtering circuitry, but I'm not entirely sure where/how to do it, so I'd be happy to hear some suggestions.





      schematic





      simulate this circuit – Schematic created using CircuitLab







      opto-isolator isolation circuit-protection






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 30 at 11:37









      Peter Mortensen

      1,60031422




      1,60031422










      asked Mar 29 at 17:28









      Wesley LeeWesley Lee

      5,81152342




      5,81152342






















          4 Answers
          4






          active

          oldest

          votes


















          8












          $begingroup$

          Looks like too much circuitry, which leads to more cost, complexity, failures. There is nothing in the question that indicates anything more than series resistors are required. Adding components, like isolated switching power supplies, adds components with much higher failure rates than a few resistors and diodes. The circuit below is well protected, simple, reliable, and goes high/low when switch is closed/open. There would need to be a specific, compelling reason to add all that circuitry in the question.





          schematic





          simulate this circuit – Schematic created using CircuitLab






          share|improve this answer









          $endgroup$









          • 2




            $begingroup$
            Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
            $endgroup$
            – Wesley Lee
            Mar 29 at 18:02






          • 1




            $begingroup$
            You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
            $endgroup$
            – scorpdaddy
            Mar 29 at 18:24



















          6












          $begingroup$

          That looks fine to me, but you may wish to put a diode across the optoisolator LED in case you get some ringing in the choke or wiring.



          The two transistor current sink might be slightly better and maybe 100K is a bit on the high side for the resistor. Eg,





          schematic





          simulate this circuit – Schematic created using CircuitLab



          You could also flip the current limiter and put it on the other rail. Right now the opto sees a lot of common mode voltage change when the switch is pressed. Grounding the photodiode would reduce that because of the coupling capacitance of the DC-DC.






          share|improve this answer











          $endgroup$









          • 1




            $begingroup$
            And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
            $endgroup$
            – Wesley Lee
            Mar 29 at 17:50





















          4












          $begingroup$

          A simpler way would be to use a shielded cable (to shunt noise and ESD away), and then protect the microcontroller inputs with diodes to VCC and ground.



          The resistance of the cable is most likely to be between 1 or 10 ohms (as long as the AWG is more than 30 gauge).






          share|improve this answer











          $endgroup$





















            3












            $begingroup$

            I would make a current loop. Simple, cheap and reliable. You can connect the transistor in a common collector configuration if you want a non-inverted output. The optocoupler LED must be rated for at least 20 mA.



            enter image description here






            share|improve this answer











            $endgroup$














              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("schematics", function () {
              StackExchange.schematics.init();
              });
              }, "cicuitlab");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "135"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f429700%2finterfacing-a-button-to-a-microcontroller-and-pc-with-a-50-m-long-cable%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              4 Answers
              4






              active

              oldest

              votes








              4 Answers
              4






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              8












              $begingroup$

              Looks like too much circuitry, which leads to more cost, complexity, failures. There is nothing in the question that indicates anything more than series resistors are required. Adding components, like isolated switching power supplies, adds components with much higher failure rates than a few resistors and diodes. The circuit below is well protected, simple, reliable, and goes high/low when switch is closed/open. There would need to be a specific, compelling reason to add all that circuitry in the question.





              schematic





              simulate this circuit – Schematic created using CircuitLab






              share|improve this answer









              $endgroup$









              • 2




                $begingroup$
                Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
                $endgroup$
                – Wesley Lee
                Mar 29 at 18:02






              • 1




                $begingroup$
                You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
                $endgroup$
                – scorpdaddy
                Mar 29 at 18:24
















              8












              $begingroup$

              Looks like too much circuitry, which leads to more cost, complexity, failures. There is nothing in the question that indicates anything more than series resistors are required. Adding components, like isolated switching power supplies, adds components with much higher failure rates than a few resistors and diodes. The circuit below is well protected, simple, reliable, and goes high/low when switch is closed/open. There would need to be a specific, compelling reason to add all that circuitry in the question.





              schematic





              simulate this circuit – Schematic created using CircuitLab






              share|improve this answer









              $endgroup$









              • 2




                $begingroup$
                Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
                $endgroup$
                – Wesley Lee
                Mar 29 at 18:02






              • 1




                $begingroup$
                You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
                $endgroup$
                – scorpdaddy
                Mar 29 at 18:24














              8












              8








              8





              $begingroup$

              Looks like too much circuitry, which leads to more cost, complexity, failures. There is nothing in the question that indicates anything more than series resistors are required. Adding components, like isolated switching power supplies, adds components with much higher failure rates than a few resistors and diodes. The circuit below is well protected, simple, reliable, and goes high/low when switch is closed/open. There would need to be a specific, compelling reason to add all that circuitry in the question.





              schematic





              simulate this circuit – Schematic created using CircuitLab






              share|improve this answer









              $endgroup$



              Looks like too much circuitry, which leads to more cost, complexity, failures. There is nothing in the question that indicates anything more than series resistors are required. Adding components, like isolated switching power supplies, adds components with much higher failure rates than a few resistors and diodes. The circuit below is well protected, simple, reliable, and goes high/low when switch is closed/open. There would need to be a specific, compelling reason to add all that circuitry in the question.





              schematic





              simulate this circuit – Schematic created using CircuitLab







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Mar 29 at 17:55









              scorpdaddyscorpdaddy

              59727




              59727








              • 2




                $begingroup$
                Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
                $endgroup$
                – Wesley Lee
                Mar 29 at 18:02






              • 1




                $begingroup$
                You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
                $endgroup$
                – scorpdaddy
                Mar 29 at 18:24














              • 2




                $begingroup$
                Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
                $endgroup$
                – Wesley Lee
                Mar 29 at 18:02






              • 1




                $begingroup$
                You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
                $endgroup$
                – scorpdaddy
                Mar 29 at 18:24








              2




              2




              $begingroup$
              Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
              $endgroup$
              – Wesley Lee
              Mar 29 at 18:02




              $begingroup$
              Fair points, but I am less worried about the board itself failing than it causing some damage to the computer due to the long cable being connected to say, AC mains, by accident etc. I guess high voltage resistors and some fuses would solve that. This is a one off project so cost isn't an issue. I do feel quite relieved that this approach would be enough in most cases though.
              $endgroup$
              – Wesley Lee
              Mar 29 at 18:02




              1




              1




              $begingroup$
              You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
              $endgroup$
              – scorpdaddy
              Mar 29 at 18:24




              $begingroup$
              You may forgo the fuses, as D1+D2 clamp circuit voltages to acceptable levels.
              $endgroup$
              – scorpdaddy
              Mar 29 at 18:24













              6












              $begingroup$

              That looks fine to me, but you may wish to put a diode across the optoisolator LED in case you get some ringing in the choke or wiring.



              The two transistor current sink might be slightly better and maybe 100K is a bit on the high side for the resistor. Eg,





              schematic





              simulate this circuit – Schematic created using CircuitLab



              You could also flip the current limiter and put it on the other rail. Right now the opto sees a lot of common mode voltage change when the switch is pressed. Grounding the photodiode would reduce that because of the coupling capacitance of the DC-DC.






              share|improve this answer











              $endgroup$









              • 1




                $begingroup$
                And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
                $endgroup$
                – Wesley Lee
                Mar 29 at 17:50


















              6












              $begingroup$

              That looks fine to me, but you may wish to put a diode across the optoisolator LED in case you get some ringing in the choke or wiring.



              The two transistor current sink might be slightly better and maybe 100K is a bit on the high side for the resistor. Eg,





              schematic





              simulate this circuit – Schematic created using CircuitLab



              You could also flip the current limiter and put it on the other rail. Right now the opto sees a lot of common mode voltage change when the switch is pressed. Grounding the photodiode would reduce that because of the coupling capacitance of the DC-DC.






              share|improve this answer











              $endgroup$









              • 1




                $begingroup$
                And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
                $endgroup$
                – Wesley Lee
                Mar 29 at 17:50
















              6












              6








              6





              $begingroup$

              That looks fine to me, but you may wish to put a diode across the optoisolator LED in case you get some ringing in the choke or wiring.



              The two transistor current sink might be slightly better and maybe 100K is a bit on the high side for the resistor. Eg,





              schematic





              simulate this circuit – Schematic created using CircuitLab



              You could also flip the current limiter and put it on the other rail. Right now the opto sees a lot of common mode voltage change when the switch is pressed. Grounding the photodiode would reduce that because of the coupling capacitance of the DC-DC.






              share|improve this answer











              $endgroup$



              That looks fine to me, but you may wish to put a diode across the optoisolator LED in case you get some ringing in the choke or wiring.



              The two transistor current sink might be slightly better and maybe 100K is a bit on the high side for the resistor. Eg,





              schematic





              simulate this circuit – Schematic created using CircuitLab



              You could also flip the current limiter and put it on the other rail. Right now the opto sees a lot of common mode voltage change when the switch is pressed. Grounding the photodiode would reduce that because of the coupling capacitance of the DC-DC.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 29 at 17:51

























              answered Mar 29 at 17:43









              Spehro PefhanySpehro Pefhany

              213k5162432




              213k5162432








              • 1




                $begingroup$
                And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
                $endgroup$
                – Wesley Lee
                Mar 29 at 17:50
















              • 1




                $begingroup$
                And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
                $endgroup$
                – Wesley Lee
                Mar 29 at 17:50










              1




              1




              $begingroup$
              And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
              $endgroup$
              – Wesley Lee
              Mar 29 at 17:50






              $begingroup$
              And less different parts to place with 2 transistors instead of diodes. (Oh nvm now there is a diode back again :P )
              $endgroup$
              – Wesley Lee
              Mar 29 at 17:50













              4












              $begingroup$

              A simpler way would be to use a shielded cable (to shunt noise and ESD away), and then protect the microcontroller inputs with diodes to VCC and ground.



              The resistance of the cable is most likely to be between 1 or 10 ohms (as long as the AWG is more than 30 gauge).






              share|improve this answer











              $endgroup$


















                4












                $begingroup$

                A simpler way would be to use a shielded cable (to shunt noise and ESD away), and then protect the microcontroller inputs with diodes to VCC and ground.



                The resistance of the cable is most likely to be between 1 or 10 ohms (as long as the AWG is more than 30 gauge).






                share|improve this answer











                $endgroup$
















                  4












                  4








                  4





                  $begingroup$

                  A simpler way would be to use a shielded cable (to shunt noise and ESD away), and then protect the microcontroller inputs with diodes to VCC and ground.



                  The resistance of the cable is most likely to be between 1 or 10 ohms (as long as the AWG is more than 30 gauge).






                  share|improve this answer











                  $endgroup$



                  A simpler way would be to use a shielded cable (to shunt noise and ESD away), and then protect the microcontroller inputs with diodes to VCC and ground.



                  The resistance of the cable is most likely to be between 1 or 10 ohms (as long as the AWG is more than 30 gauge).







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 30 at 15:51









                  Peter Mortensen

                  1,60031422




                  1,60031422










                  answered Mar 29 at 19:11









                  laptop2dlaptop2d

                  27.3k123685




                  27.3k123685























                      3












                      $begingroup$

                      I would make a current loop. Simple, cheap and reliable. You can connect the transistor in a common collector configuration if you want a non-inverted output. The optocoupler LED must be rated for at least 20 mA.



                      enter image description here






                      share|improve this answer











                      $endgroup$


















                        3












                        $begingroup$

                        I would make a current loop. Simple, cheap and reliable. You can connect the transistor in a common collector configuration if you want a non-inverted output. The optocoupler LED must be rated for at least 20 mA.



                        enter image description here






                        share|improve this answer











                        $endgroup$
















                          3












                          3








                          3





                          $begingroup$

                          I would make a current loop. Simple, cheap and reliable. You can connect the transistor in a common collector configuration if you want a non-inverted output. The optocoupler LED must be rated for at least 20 mA.



                          enter image description here






                          share|improve this answer











                          $endgroup$



                          I would make a current loop. Simple, cheap and reliable. You can connect the transistor in a common collector configuration if you want a non-inverted output. The optocoupler LED must be rated for at least 20 mA.



                          enter image description here







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Mar 31 at 13:49

























                          answered Mar 31 at 13:20









                          ArchimedesArchimedes

                          32528




                          32528






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Electrical Engineering Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f429700%2finterfacing-a-button-to-a-microcontroller-and-pc-with-a-50-m-long-cable%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              mysqli_query(): Empty query in /home/lucindabrummitt/public_html/blog/wp-includes/wp-db.php on line 1924

                              How to change which sound is reproduced for terminal bell?

                              Can I use Tabulator js library in my java Spring + Thymeleaf project?