3dpeople

I seem to be getting interested in 3D printing again, I was doing quite a bit of it before the summer but then got my brain infected with electronics and software (I tend to do that) so I decided to revisit some of my older work. Here are a couple of people, they are meant to be a construction crew. They came out pretty good and I learned alot but I’m not sure they are really up to snuff for selling. So, I’ll give them out to folks who want to try some 3D printing.

UPDATE: I’ve done some more development on my figures, you can see that post here: 3D Printed Peoples

If you would like to download the stl files that I send to the 3D printer, click on the ‘3D People Files’ to the right under ‘Links’.

Here are some of the actual prints:

3DFigures

cover11

I’ve released the source and executables for my Master/Slaves Wixel Software. This uses one Wixel as a master plugged into your Raspberry Pi USB to control up to 64 slave Wixels via 2.4Ghz wireless. Each slave can control 6 R/C type servos and monitor 3 analog inputs. I’ve also included a Python class for the Raspberry Pi, some HTML5 javascript and graphics for the user interface and instructions for running your Pi as a web server.

More info on it is here: http://servowidget.com

Attiny1634

This is the base circuit I’m using for all my designs these days. Ridiculously simple. The TX ports at the top of the chip can be used to export debug information to a TTL serial port or control/read other peripherials (wireless, sound etc).

The debug port plugs directly into the Pololu USB AVR programmer. Combine this with Atmel Studio 7 and this is a powerful development package.

You have the choice of C or C++ as far as a programming language goes. Personally, I favor vanilla C, it’s easier and I think, faster.

Anyhow, the Attiny 1634 is a SOIC surface mount chip, you can use a ‘schmart board’ available at your local Radio Shack, or you can order a 20pin version from Sparkfun Electronics to make breadboarding easier. I’ve uploaded the data sheet for this microcontroller to my site, you can find it HERE

Ok, as you can see, I’m into minimalistic designs. This is a super simple circuit, you can have this up and running including the Pololu USB programmer and full development software for, uh, $30 or so. Yes, you will have to do some soldering but it’s well worth it.

Programmed correctly this chip will drive servos, motor controllers, ESCs, lights and other loads. And (again) with the right software, it can also read servo pulses from a standard R/C rx and let you do things with that. Move the stick or knob on your RC transmitter to set lights, trigger sounds, etc.

I also have hooked it up to an XBee 802.15.4 real time radio module. (Super tiny and it’s $20) to do wireless up to 300 ft. So you can do that too. You can also connect an RFID reader, or perhaps a current sensor and a speed indicator. There is a tremendous potential with this chip. 16K of programming space, 1K of RAM, 256 bytes of EEPROM and two full speed serial ports. Freaks me out personally, your mileage may vary 🙂

rcsoundcard

A new widget I’m working on. R/C sound card. My favorite 1634 Attiny micro controls an mp3 player. Supports up to 200 mp3 files on a 32G Micro SD. Built-in 1 Watt amplifier drives a speaker directly.

It also has 8 sound triggers using buttons or switches in addition to the R/C interface.

You can arrange the sounds with your computer to play anything you like. Engine sounds, horns, bells, music, speech, anything.

First prototype power up has the board LED blinking and the mp3 board online. Yep. Like it.

P1030718P1030721

In a related area, an offshoot of Xbee research I guess, I’m hacking up a $35 Hobby King transmitter and turning all the channels into knobs. It’s a simple matter to remove the joysticks, each axis is a 5k pot. I have a bunch of cheap 5k pots I got from mouser for another project that I can use for this application. Once I have the circuit working, I’ll make a 3D print of a console to hold the electronics and use that to control 6 trains with one transmitter. Probably better would be 3 trains plus two discrete functions per transmitter but either way, it’s an easy mod. I’m pretty sure I can sync 3-6 receivers to one transmitter, but I will get a couple to test with soon just to make sure. Using an ESC with reverse, it should be possible to control direction and speed for six channels of trains with this.

October 27 2013:

This progresses, I’ve decided however to not use the pots I had and instead use 3 from Radio Shack to make mounting them easier. I’ve also decided to take this to three throttle controls with several push buttons for the second channel.

dash9

It figures that the only modern large scale GE Evolution series locomotive (or at least a predecessor, the Dash 9-40CW evolved into the ES44 series) is available no more. Aristocraft is out of business and basically having a fire sale on all their remaining stock. So I count myself lucky to get one of these. Perhaps another used one somewhere someday and have it custom painted in NS heritage colors? Ah well.

P1030716

Image1

After two designs, I finally have the servos working. I can drive pretty much any number of them, I’ve got four going here. Currently the plan for the ‘client’ node is four servos, four mosfet switches, a serial port for intercepting RFID and a transmit only serial port (in s/w) to drive two channels of mp3 sound. There will also be two input pins left over for a current sensor and a speed/distance counter.

I have the transmitter/hand held prototype sending values read from the knob to the client and out to the servos now. Nothing fancy, read, transmit, repeat every 10ms and all the servos are sent the same value, but it does work well.

Still a bit of R&D, I’m not sure on the speed of the transmit to the Xbee module, currently it’s 9600 baud, I may have to increase that, but that’s not a real problem. I think other than that, most of my h/w design is working and has the appropriate low level support.

dash9

Not much new, I have gotten the Xbees to communicate in API mode. The only subsystem left to develop is the servo driver. Turns out I’m going to have to roll my own incarnation using timer 1. But that’s actually good, I don’t like depending on ‘libraries’ from third parties which often have deep dependency lists.

I’m also doing another pass on the RaspberryPi/Wixel/HTML5/Websockets project with the idea of releasing it open source or at least a collection of source code that mostly works. I hope to include the Master/Slave Wixel protocol thing I’ve had laying around for a while too.

Some very sad news too, Aristocraft Trains, who make one of the locomotives I really really want (pic above), is going out of business. Perhaps I can pick up a NS Dash9 before they go completely extinct but damn, that messes up some of my plans. Oh well. Shit happens.

xbeeProd

Have everything in terms of h/w working now. Just getting started on the UART drivers and then the formatting methods to build xbee frames. I’m going for the super simple series one point to point protocol. Technically this is not a ‘mesh’ network but for my purposes, it should do fine. The idea is to have any node talk to any other node directly. I don’t really need any sort of node hopping or self healing right now so I’ll opt for the simple first.

The handheld will function just like a standard R/C transmitter, moving servos and the motor controller in the locomotive. It will also be able to set various switches and relays and trigger sounds.

The big difference here between regular R/C and this- with this method I can do bi-directional data flows. So I can pick up position, speed and current consumption from the locomotive as well as send it commands. Also, since each device is a just another node on the network, an Xbee connected to my Raspberry Pi server will allow me to both control the locomotive and monitor it, the same as from the handheld.

In theory of course. However it is looking good so far. My h/w designs have proved both minimalistic and functional, so far anyhow, so I have a good feeling about getting all this working. The last stage will be the html5 tablet interface I did for the wixel, but that’s way down the road.