MC14490 Hex Contact Bounce Eliminator (e.g. Two Rotary Encoders & Arduino)

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 25

  • @andykay479
    @andykay479 ปีที่แล้ว +1

    I was hunting for information on the MC14490 and found your video. Very well explained and very useful. Thank you Robert.

  • @Lidocain777
    @Lidocain777 2 ปีที่แล้ว +2

    That's, by far, the most explicit lesson I've seen so far about hardware debouncing.
    I was sold to RC filters + diode + Schmitt triggers, yet ... it's not that easy to cleanly implement on a PCB when using multple (foot)switches AND encoders. You probably sold me to MC14990. :) Much easier to use and integrate on a PCB.
    Yet, when you note at 17:43 that a Nano V3 couldn't fit in there, it's not entirely true. Nano V3 (based on ATMega 328P) only have 2 external interrupt pins (2 & 3), that's true. Yet, we can still use pin change interrupts (PCINT) on nearly every pin, and those can also be easily configured to trigger either on rise/fall/hi/low/change states. There are quite a few additional libraries for that purpose.

    • @robertssmorgasbord
      @robertssmorgasbord  2 ปีที่แล้ว

      First, thank you very much for the praise! Second, my bad! Kind of ... I should have mentioned that you can use PCINTs on basically all pins with a bit of bit banging. But to keep things simple I stuck with the easy to use stuff the Ardunio IDE offers out of the box. I hope you can forgive me ;-)

  • @BaronVonBiffo
    @BaronVonBiffo 3 ปีที่แล้ว

    Thanks for using contrasting colours for the traces.
    Often people use yellow and green which are indistinguishable for many of us who are colourblind.

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว +1

      You're welcome, but that's really on the designer of the oscilloscope (1st channel yellow, second channel blue). But I will keep it in mind for future videos!

  • @thatissocool123
    @thatissocool123 3 ปีที่แล้ว

    Thank you for this!! It was very clear and entertaining to watch as well

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว

      You're welcome! I'm always happy when people get something out of my videos. I'm a very dry German guy, so I'm very glad at least someone find one of my videos entertaining :-)

  • @rene-jeanmercier6517
    @rene-jeanmercier6517 3 ปีที่แล้ว

    Hi Robert. Excellent explanation. Very useful too. Thank you for sharing your knowledge so clearly. Regards. RJM

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว

      Hi René-Jean. As always, you're very welcome and thank you for the praise. Best Regards, Robert

  • @electronic7979
    @electronic7979 3 ปีที่แล้ว +1

    👍

  • @andymouse
    @andymouse 3 ปีที่แล้ว

    Very useful tutorial, is this the only debounce chip you have covered or has there been another please ? not sure if I recall another type or not...cheers.

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว +1

      Nope, that's the first debouncing chip I've covered. There are others available, but nowadays they're all SMD and I think the MC14490 is the only one with six channels - and I needed six ;-)

    • @andymouse
      @andymouse 3 ปีที่แล้ว

      @@robertssmorgasbord Thanks

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว

      @@andymouse You're welcome!

  • @mumbaiverve2307
    @mumbaiverve2307 3 ปีที่แล้ว

    Hello Mr.Robert , Just a question would it work the same with a RC lo pass filter , fed into a schmitt trigger buffer ( to clean up the exponential rise and noise ) and then to the uC ? This could be a cheaper solution ?

    • @robertssmorgasbord
      @robertssmorgasbord  3 ปีที่แล้ว

      Yes, it absolutely would. See also my other video about de-bouncing rotary encoders: th-cam.com/video/nboGwG94hCw/w-d-xo.html . In case of an ATmega you (sometimes) don't even need a Schmitt-Trigger, because the inputs have some hysteresis. Is it cheaper? Yes, a single (non-obsolete) MC14490 will set you back about 5 bucks. You can but a lot of capacitors/resistors and several hex Schmitt-Triggers for that money. But you'll have to do a lot more soldering ;-)

    • @mumbaiverve2307
      @mumbaiverve2307 3 ปีที่แล้ว

      @@robertssmorgasbord Thanks much ! Will watch the video, don't know how I missed it.

  • @dr.emmettbrown8466
    @dr.emmettbrown8466 ปีที่แล้ว

    Hi Robert!
    I have my project completely at 3.3 volt (STM32). The documentation for the chip does not say anything about how to calculate the capacitor at 3.3 volts, although it is indicated that the chip works from 3 to 18 volts.
    I'm trying to pick up the capacitance by picking, but it doesn't work. (I don't have an oscilloscope) The output of the channel is always high equal to VDD = 3.3v, although the correct signal from the encoder is applied to the input. I tried 1nF, 10nF, 20nF
    Any ideas what I'm doing wrong?

    • @robertssmorgasbord
      @robertssmorgasbord  ปีที่แล้ว

      Hi Emmett, my gut feeling is you should try some smaller capacitor values. I used 1nF at 5V to get 1.5KHz in my example. To get the same frequency at 3.3V you need an even smaller capacitor. The general formula is X/C[uF]=f[Hz] with X = 6.5@15V, 4.5@10V and 1.5@5V. So @3.3V X should be smaller than 1.5. I would try 470pF, 220pF and 100pF.

    • @dr.emmettbrown8466
      @dr.emmettbrown8466 ปีที่แล้ว

      ​@@robertssmorgasbord Thank you very much, Robert. For 3.3v, 470pF is perfect. If set 1nF, then the MC14490 is already starting to skip encoder steps.

    • @robertssmorgasbord
      @robertssmorgasbord  ปีที่แล้ว

      @@dr.emmettbrown8466 I'm glad I could be of assistance 🙂

  • @irgski
    @irgski ปีที่แล้ว

    not cheap...

    • @robertssmorgasbord
      @robertssmorgasbord  ปีที่แล้ว

      Well, it depends what you define as cheap - or costly. In terms of part count and layout complexity the MC14490 is surely more "cheap" than de-bouncing six contacts individually.