Firmware for input board completed, testing solenoid driver

It’s been a busy week and a half, but things have been going well.  Bringing up the new processor ended up being more of an issue than expected, but now I understand a lot more about what the debugger is doing.  (The PE Micro debugger sets the frequency of the processor through trimming.  It defaults to a different rate than I was expecting which caused a little bit of concern when the data sheet was not matching with the results I was seeing.)  It is now all working as expected, and things are progressing really quickly.

I made up two of the boards.  I made a single input board, and a single solenoid driver board.  This turned out to be more work that I was expecting.  My soldering ability is rather poor, so I struggled with populating the boards, and then soldering the parts in.  Most of the parts on the boards are two pin connectors, and these things like to fall out when you move them around to try and solder the bottom side.  The labor for making these boards was way too high, so I did a little research and it seems like I need to find somebody with a solder pot that I can use it for a couple of minutes.  That would change the amount of time to build a board from about two hours to about five minutes.  I should have thought about that earlier.

I’m doing most of my testing using python.  Python is currently my “go to” language for scripting.  While I dislike large portions of it, it is really simple to do quick serial port scripts.  If you grab the newest version of the code base, it now includes a python script to test the input board (one of the tests simply polls the board and prints the information continuously), while the other test initializes a chain of boards.  That stuff is really starting to work nicely, and there is a python interface file which makes scripting the commands quite simple.  I will probably break this down into a separate script file that can be used to do all the heavy lifting.  That stuff should translate cleanly to the end product.

Pictures, everybody likes pictures.   Here is a picture of the three boards (the RS232 board is the surface mount, not through hole board, so that would look a little different if you built up the project from the original gerbers I threw up).  I also feel that the pictures show that this stuff is real, and it is progressing.  I don’t know how long the project has been going on, but it is nice to see Disaster is finally moving along more quickly.

20121124 001

Here is the current test setup.  This shows the boards chained together with the LED simulating a solenoid.  It is attached a computer using a standard RS232 serial port.  It is powered using a USB port from the computer (less stuff to drag around).  There is a jumper at the end of the serial chain that wraps the data back to the receiver of the computer.

20121124 002

Up next is to finish testing the solenoid driver code.  The input board currently does edge detection (either rising or falling), and supports a simple reading of the state of the input bits and is completely tested.  I’ve communicated with the solenoid board, but I haven’t verified all the driving options.  That should happen next week.  I also need to build up one of the LED driver boards and start testing that one.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s