I engaged in a bit of paper- (matboard-) craft this weekend and built a little 3-axis arm onto the back of NeuroBuggy:
The whole thing is put together with zip ties, bits of matboard, a carbon fiber rod, three servos with their accessories, a snap-action switch, and a ton of 160-ohm resistors.
The upper portion of the arm, between the shoulder and elbow, are built out of a triangular section that mounts directly onto a shoulder servo:
The elbow itself is made out of a piece of perfboard, a brass grommet that came with the servo, a servo horn, and a few bits of soldered together wire:
It goes together like this:
The joint had a fair amount of play (read: +/- 10 degrees), so I added a springy spacer made out of a bit of rubber band:
The wire runs to both the normally open and normally closed terminals of a snap action switch:
The pulltruded CFRP rod attaches to a servo mounted on the elbow:
On the other side of the elbow, you can see the (slightly undersized) direct-drive shoulder servo, along with the rotation servo:
I soldered together a breakout cable that doubles both the N.O. and the N.C. switch contacts, then used zip ties as strain reliefs:
I also pushed an update to the GitHub repo that adds new functionality to the non-continuous-rotation servo firmware. The new code is in NeuroBytes-v04/FIRMWARE/v04run_servo-std. It's called this because the code is derived from the standard NeuroBytes runtime firmware, "v04run_standard". Changes vs the other servo drivers:
- LED color is now yellow to differentiate from the other non-continuous-rotation servo code (magenta) and CR code (cyan).
- Dendrites are now scaled from left to right, 1x-2x-4x, inhibitory/excitatory as labeled. x is an arbitrary value that represents something like 10 degrees rotation (so a single hit on the upper right dendrite will cause 40 degree rotation).
- Servo angle is now relative, not absolute! In other words, the current angle "decays" back to 50% of the servo range and is modified as inputs hit various dendrites. It's pretty much the standard v04 runtime firmware, scaled a bit to work with a servo and modified so that the current membrane potential directly feeds the servo angle. Also, "firing" doesn't happen. Make sense?
I then wired the touch switch to the 2x inhibitory (i.e. pull-back) inputs of both the elbow and the shoulder Motor NeuroBytes:
Pretty neat, eh? Unfortunately (and predictably), the arm structure is getting damaged by the constant back-and-forth motion, particularly around the shoulder connection. I got concerned about its integrity before I had a chance to add addition sophistication to the neural circuit (such as integrating the touch sensor into NeuroBuggy's drive circuitry). However, I'm hoping to rebuild the arm out of more resilient materials sometime this week.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.