I continue to refine my control widgets. Here is the latest incarnation. I’ve shrunk the footprint down and boosted the clock speed to 12Mhz. This module ties into the 802.15.4 network via Xbee. I’m using the Series 1 not the Pro and Zigbee. I’m not real hip on the Pro Zigbee Mesh, it seems overly complex compared to say the Synapse SNAP mesh network.

Anyhow, according to what I’ve been following on the IoT blogs and sites, 802.15.4 has about 65% of the IOT market so I’ve decided to concentrate in that direction.

Basically, this module allows you to control things like servos and digital outputs, plus it gives you a DCC logic level signal output as well. Feed that into a motor driver like the ones from Pololu and you have a nice robust DCC implementation that is network based, rather than the point to point of Bluetooth or R/C.

I’m also looking into another implementation, via the Synapse RF266 SNAP module. I had initially though I could somehow make the RF266 work with the Xbee Series 1. While I think it’s technically possible to do this, the effort involved is quite extensive. Instead, I think a minor hardware platform will make things easier and actually, more flexible, so I’ve started down that road. Essentially, I’ll use the two serial ports on the Attiny to link the two modules together. With the right firmware I should be able to hang a Xbee Series 1 network off of the SNAP network for all sorts of diabolical mesh network fun. 🙂

P1050050

P1050053P1050049

One thing that I have not been real happy with as I build out my control network, is the hand held controller implementation. I had hoped this design would change that but after I’ve played with it a bit I don’t think so.

It features a uLCD-32 smart touch screen display unit, a large aluminum knob and four tactile hardware buttons. The display unit is a very full featured device including a Lipo battery charging circuit! Very cool. The custom graphics chip and language are very powerful and more importantly FAST. This will take all the UI load off the Xbee/Widget device. More info is here – Serial TFT Color LCD

So, I think I don’t like this one either. I’m going to scavenge the LCD and try to fit it in the case I’ve found for the alpha numeric monochrome unit. It’s a tight fit but the quality of this display is just too good to let it go to waste. I’m finding I like the off the shelf case I have (I bought two) better than I thought. I have somewhat large hands so I can hold it in my left and turn the knob with my thumb.

So this one is defunct now. More to come on this project later.

P1040901

This is the base design for my new hand-held controller. Along with a new case and display, I’m going to refactor the software to provide a cleaner interface into the clients (locomotives). Right now my ‘phase A’ handheld knows a little too much about the clients, I want a more disconnected sort of protocol. Anyhow, I’ve gotten everything to fit but the graphic interface required some new hardware so that has not been tested (other than a basic smoke test). I’ll need to write the code for that and then port parts of the old handheld code into it. The keyboard, knob and Xbee interface should not have to change much, I just need a calibration step on the kbd and store that into eeprom. I’m going to have a usb interface into this so I can write a tool on the PC to setup the function keys and display.

switchA

switchB

switchC

Need a few more switches, so rather than make them like the last, on foam boards, I decided I should make a jig so I can (in theory) make them a bit easier. So far so good, this one came out pretty well but it had one small high spot I had to grind out. Still needs the point control bar, whatever that’s called and a waterproof servo for a throw. Took me about 3 days off and on to make this one. Now for some more epoxy, stain and seal. Good thing I don’t care about track power 🙂

depot1

depot2

Still have a ways to go on this but it’s coming out pretty good considering I don’t know what I’m doing 🙂 This is all cut out of .060 styrene sheet using my X90 3D router, Inkscape and Freebie CamBam.

I’m finding I much prefer to cut styrene as opposed to sheet plywood or blocks of pine. Styrene is an ideal material, it cuts easily, produces WAY less ‘chip dust’ and can be assembled with Testors sorts of plastic model glues and paints. This particular design is based on a photo from the VA Tech archive, a picture is in one of the posts below. I actually wasted only a little sheet on this one once I got the correct spindle rpm and feed rates figured out.

Here are some pictures of my computer/manual switch throw. I was looking for a device that I could use to throw a switch both with a manual lever and also have a servo drive it for computer control. This is what I came up with. After a bit of testing, it seems like it will do just what I want. It uses a cheap waterproof servo, three magnets and a styrene throw. There are two magnets on the servo wheel and one on the throw. There is no connection between the servo wheel and the actuator other than the magnetic ‘clutch’. The ‘spring’ wire is a paper clip bent to fit. With the servo off or centered, you can throw the switch manually and it ‘clicks’ to one of the two magnets on the wheel. Under computer control, the servo can rotate to ‘pick up’ the magnet on the arm to throw the switch. Works quite well on the bench so I’ll be installing it soon to test out in Gilbert.

Man, my o-flute-upcut carbide bit does some clean work on .125 inch styrene! This is the design from a few posts down, cut out with the CNC. A waterproof R/C servo provides the automation. The arm has one super magnet, the wheel on the servo has two. The idea here is that you can throw the lever manually to control a turnout but that it also remains at all times under control of the computer.

That’s the plan anyhow. The magnets are those little really powerful ones. They act like a ‘clutch’ in this situation. So far it works on the bench but the real world is another story, I’m not quite there yet. I need to install them on my three turnouts and stick them out in the cold rain for some testing.