Travis' Hobby Stuff
I'm currently investigating/using 1-Wire/MicroLan and the Fairchild ACE 1202 for control of my model trains.
Code for the ACE1202L motordrv.asm. This drives a stepper motor for turnouts, lift bridges
and such. Inputs are step-enable and direction. Feedback from microswitches is used to stop the motor from rotating.
I also put in a 'heartbeat' led. Input from the 1-Wire bus to the GPIO is accomplished using two (2) DS2405's. These are
essentially 1 Wire enabled switches.
The big brother to the DS2405 is (of course) the DS2406. This offers dual PIO and write once EPROM. However, the EPROM
makes the '06 somewhat cost prohibitive. The real nice thing about the '06, though, is you only need to address one 1Wire
device to get the two PIO. With two '05s there's no easy way to determine what the pairing is (each motor controller has two,
what if you have several controllers?).
The only way I can think to overcome this (cost effectively), is to manually setup each controller in succession. The user
starts up the control application and connects only one motor controller board. The app searches for the board and records
the IDs of the two '05s. The user is then alerted to connect the next board. This process continues until all boards are in
place. Ugly, time consuming, but cost effective.
Here's some links:
Fairchild ace. I used version 7.0 of the simulator.
AceProm acex burner (w/source code).
Dallis Semiconductor/Maxim (1Wire devices)
Some useful links:
EDA tools for linux and win32: gEDA
The PCB tool for linux: PCB
A rogue version with auto routing!
Or, you can add MUCS to the current (1.6) version, check out DJ Delorie's
EDA tools howto web page.
Stepper Motor Controller using 1Wire Interface to ACEx (ace1202L).
schematic
Page last updated 18 February 2003, 11:22 EDT