Tinkering with Microcontrollers, Arduino + Beaglebone, frustrations

Two primary lessons I’ve learned

  1. Don’t work on the wiring aspect of electronics past 1am or so. The chances of you shorting something out approach 100% as you get closer to 3am
  2. Servos have more torque than you think and consume a ton of instantanious amperage

I’ve been tinkering around with Microcontrollers since about February of this year, my main interest is in servo control but also I own more than a couple of 1″ OLED displays, some GPS modules , etc etc. First I started out with the Intel Galileo, but it turned out that it had terrible PWM (they’ve since fixed this with a dedicated PWM chip) and for some reason it would send my servos in to a haywire arrangement that I couldn’t understand. I had a birchwood articulated arm laser cut and shipped to my house, but without being able to resolve the problems with the wild servos I gave up and looked for something with more reliable PWM. I sold it to someone else and bought a Beaglebone black.

This is basically a cell phone with a bunch of pinouts for sensors (like on a cell phone) but also does PWM which is good for servo control, etc. I ran in to issues with the sensors however, they were 3.3v and the Beaglebone only takes, I think, 1.8v max input. This isn’t a difficult problem to solve, but required learning how to split the voltage. In trying this, at 4am, a wayward wire scraped across the BBB and shorted something out. I had to wait almost four months for a replacement. This was shortly after I had finally gotten Debian working on the device and sortd out the CapeMgr, etc that makes servo control in python fairly easy.

In the mean time I ended up ordering an arduino, which I’ve had better luck with. But as it turns out, those servos pull a ton of amperage and they really need to be on their own power circuit to keep from “browning out” the microcontroller, which in retrospect was probably was what was causing the erratic behavior.

In other news, I bought a dedicated PWM controller that talks over I2C, but I did something that caused the motor to overtorque and damage the potentiometer, looks like that servo may become a continuous rotation servo, now.

This entry was posted in computing, Mechanical and tagged , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>