Project: Robox – Buttons: Interrupts or Polling?

The robot box needs to know when it has reached the limit of it’s motion. If motion continues past this point, the machine will literally rip itself apart. To stop this happening, I am using a limit switch that will be pressed if the robotic finger move too far. However, it seemed that a good portion of the time the robot would ignore this button and continue to rip itself apart. The reason for this lies in the way I was using interrupts to detect the pressing of the button.

Continue reading “Project: Robox – Buttons: Interrupts or Polling?”

Micro Motor Controller – Code and Gerbers

For the Robox project,  I needed a board to program and control a servo and a DC motor – I could probably have used something off-the-shelf, but I prefer to have a board specialised for the job.

The board I designed features an ATtiny828 microcontroller with 16 general use IO, two PWM outputs to control two 6V servos and an Allegro A3916 dual h-bridge to control two DC motors (or one stepper motor) at up to 1A per channel. This is more of a general use motor control board and could be useful in a bunch of projects.

Schematic-v1.0.png

Schematic

Continue reading “Micro Motor Controller – Code and Gerbers”

Project: Robox – Modifying Servo

I needed a servo for the robotic finger so that it could go forwards and backwards in a controlled manner to push the switches. Servos normally have limited rotation e.g. 180 degrees but I accidentally ordered a continuous servo which means that the motor spins continuously and instead of controlling the angle of the motor, you control the speed of rotation. This is obviously not OK because I would not be able to move the finger reliably. However I realised that it was well suited to the motor driving the threaded rod.

Continue reading “Project: Robox – Modifying Servo”