Shop OBEX P1 Docs P2 Docs Learn Events
Motor Noise, HB25 Motor Controller, and Sensor Interference — Parallax Forums

Motor Noise, HB25 Motor Controller, and Sensor Interference

jcicolanijcicolani Posts: 3
edited 2014-03-22 10:32 in Robotics
I am building a bot using the drive train from a PowerWheel and HB25 motor controllers. My concern is motor noise interfering with the sensors and corrupting the signals.

The question, then, is do the HB25s provide any sort of signal filtering? The 12V motors are very inefficient and can spike upwards of 20A-25A, hence the HB25s. If the controllers don't provide any kind of filtering I'll have to build something to help. Does anyone have any experience in this area?

Thanks

Comments

  • Bill HenningBill Henning Posts: 6,445
    edited 2014-03-20 08:57
    I tend to use separate battery packs to power the motors/servos and the logic boards.
    jcicolani wrote: »
    I am building a bot using the drive train from a PowerWheel and HB25 motor controllers. My concern is motor noise interfering with the sensors and corrupting the signals.

    The question, then, is do the HB25s provide any sort of signal filtering? The 12V motors are very inefficient and can spike upwards of 20A-25A, hence the HB25s. If the controllers don't provide any kind of filtering I'll have to build something to help. Does anyone have any experience in this area?

    Thanks
  • jcicolanijcicolani Posts: 3
    edited 2014-03-20 09:12
    It's my own strange brand of laziness. I prefer to build up front for minimal maintenance later. Two battery packs = two packs to charge. Diagram time...
    BotarazziDiagrams-1.png

    Even the on-board laptop is charged with the main battery pack. The software monitors the laptop's battery and when it drops below a certain point it closes the relay which connects the laptop travel charger (designed to plug into a car's cigarette lighter... no inverter).
    800 x 376 - 84K
    800 x 376 - 83K
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-03-20 09:22
    Ah, that is definitely a bigger bot than I've built so far...

    Only thing I can think of is filter the heck out of the power.
    jcicolani wrote: »
    It's my own strange brand of laziness. I prefer to build up front for minimal maintenance later. Two battery packs = two packs to charge. Diagram time...
    BotarazziDiagrams-1.png

    Even the on-board laptop is charged with the main battery pack. The software monitors the laptop's battery and when it drops below a certain point it closes the relay which connects the laptop travel charger (designed to plug into a car's cigarette lighter... no inverter).
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2014-03-20 09:47
    Any USB 2.0 port ought to be rated at 500 mA or better. Do you need more power than that for your sensors? Your laptop should able to provide the power. Even if your laptop's USB is under-rated, most still can provide at least 350 mA.

    It comes down to convenience and cost. If you've built a robot before you know the drill here. Like Bill I would also use two batteries because to me charging a second set of batteries is much easier and cheaper. Noise isn't your only problem. If you want to get fancy you can build a 4-connector harness for your recharger, plugging both in at the same time.
  • Mark_TMark_T Posts: 1,981
    edited 2014-03-20 16:58
    I'd start by choosing twisted pair for all power and motor connections, shielded cables for all sensors.

    Understanding ground loops and using a star-ground system is the next step.
  • TtailspinTtailspin Posts: 1,326
    edited 2014-03-20 20:59
    The HB25 responds to the same pulses you would send to a standard servo. check out the specs...
    It includes a 25A fuse pre-installed. 20 amp spikes would be child's play for the HB25. :)


    -Tommy
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2014-03-21 07:24
    jcicolani wrote: »
    I am building a bot using the drive train from a PowerWheel and HB25 motor controllers. My concern is motor noise interfering with the sensors and corrupting the signals.

    The question, then, is do the HB25s provide any sort of signal filtering? The 12V motors are very inefficient and can spike upwards of 20A-25A, hence the HB25s. If the controllers don't provide any kind of filtering I'll have to build something to help. Does anyone have any experience in this area?

    Do you already have some of this wired up and are you actually running into issues? How large are your SLA batteries and are they fresh? Old SLA's tend to build up internal resistance so the motor current spikes can cause a noticeable voltage drop.

    Although you can certainly split up the motor and logic supplies you may not need to. I've had good results just using a single battery with plenty of capacity. Typically the motors are all powered directly from the battery. The laptop usually isn't an issue since it has it's own battery and you can just get an automotive power adapter for the laptop (don't recommend and inverter to power the regular AC laptop supply) to keep it charged. It will deal with any quick voltage drops. For the rest of the system I typically use some of the DC/DC switching power modules for the logic and sensors. They aren't too expensive and typically have a wide input voltage and have outputs of 5V, 6V, 9V, etc that you can use to power your devices. You can ad extra filtering on the power lines as needed.

    The other recommendation about the main power routing is good to keep in mind (ground loops, etc) and if you do all that you shouldn't have any problems.

    Robert
  • jcicolanijcicolani Posts: 3
    edited 2014-03-21 12:18
    It was a problem in an earlier, smaller robot where the noise from the motors was causing unusual reading on the (admittedly cheap) sonic range finders. Since these motors are larger and even less efficient than the others I figured I should address this issue before the bot was fully assembled and I'd have to take it almost completely apart to get at the motors to add filters.

    I think y'all have answered my question. At this point I'm looking at putting several capacitors of different sizes on the motors across the terminals and terminal to housing, twisting the power cables and shortening them, and possibly adding another good sized capacitor (300+ uf) at the terminals into the microcontroller expansion board.

    Thank you.
  • ercoerco Posts: 20,255
    edited 2014-03-21 13:42
    jcicolani wrote: »
    At this point I'm looking at putting several capacitors of different sizes on the motors across the terminals and terminal to housing, twisting the power cables and shortening them, and possibly adding another good sized capacitor (300+ uf) at the terminals into the microcontroller expansion board.

    +1, those PW motors don't come with any filter caps. Adding a Delta filter (3 caps/motor as you described) would be a big improvement in reducing noise. Small motors generally use 0.01-0.1 uF caps, your BFMs might need more. :)
  • kwinnkwinn Posts: 8,697
    edited 2014-03-22 10:32
    I do have some experience with 12V motors for fixed installations that should also be applicable to robots. The basic guidelines that I follow are:

    Keep the high current motor supply wiring physically separated from the control and signal wiring.

    Use a switching regulator that can provide a regulated output with as low an input voltage as possible.

    Put a large capacitor on the logic power supply input to provide power during voltage dips due to motor current spikes.

    Place a diode and current limiting inductor or resistor between the battery and the input to the controller/logic power supply. This isolates the capacitor from supplying current to the motors when supply voltage dips.

    Essentially:

    12V supply >>> diode >>> inductor/resistor >>> capacitor >>> switching reg >>> controller
Sign In or Register to comment.