Turing-Welchman Bombe physical build – part 9.

September 2nd, 2015

Right, latest progress. The poor Pi was dead so I ordered another (NZ$48 from Farnell as RS didn’t have any). It turns out I had also killed the LCD so I had to order another of those off eBay. That only arrived today. When the new Pi arrived (after only a few days) I had a look at updating my code to the new scheme. I have modified the code (and hardware a little) so that the Pi only tells the Arduino to run or stop. When running the Arduino sends pulses to the Pi for each letter it passes and the Pi then tells it to stop at the right place. It knows where this is because I can cheat a little. Since it only takes 12 seconds or so to do a full run on the Pi I have it calculate ahead before the drums even start turning. It calculates to the first stop then waits. As it waits it counts pulses from the Arduino. When the Arduino has passed the right number of letters  the Pi says stop! It then starts calculating to the next stop so when the user starts the machine running again it already knows where it must stop next time. This all works very well and the movement of the drums is now nice and smooth.

I got all this working but another problem appeared. On startup, for some reason over 3 amps was being drawn and my power supply voltage  would drop (it’s only a 30V 3A) supply and the machine wouldn’t start. In the end I worked out the issue was the little boost converter I was using which couldn’t handle the initial start up current peak. I decided to replace the power supply section with a new one using an LM1085 LDO regulator ordered from RS. I remember, back in the day when I was still at school, getting copies of the massive RS catalogue and drooling over all the parts (all pre Internet of course). They were hugely expensive back then. Now they are brilliant. Lots of parts, reasonable prices and free shipping! Even for two measly LDOs (I only used one in the Bombe). Anyway, I made a new power supply board and that solved the issue. Current drawn now is much lower and nowhere near 3 amps. When running it’s more around 1.5A.


I then decided to tidy up my code, especially my button handling. This is where I made another stupid mistake. I messed up in my button handling code. The program would start running then mistakenly detect a button press causing it to exit with a shut down code. Normally this wouldn’t be a problem. Unfortunately I still had the Pi running the code automatically on startup from a script that would shut down the Pi on seeing the program exit with the shut down code. This meant I got stuck in a boot up, run then immediately shut down loop! The thing would shut down well before I could even connect to the Pi to try to break the cycle.

I tried all kinds of things to figure out a way around this. If I was a Linux guy I probably could have figured it out somehow. I did play a bit with live Linux boots and so on to see if I could get onto the SD card from the Pi and into the file system itself but to no avail. The img on the card is special somehow and I could never seem to mount it or get into it successfully.  In the end I gave up and had to reinstall the Pi from scratch.

That’s not too big a deal except I got caught out once again by the bug in the Wiring Pi library that means if you have an LCD with more than 20 columns it simply exits the code with no errors. Took me a while to remember that one. A quick code change in the Wiring Pi library and a recompile fixes that.

I still need to make the code auto run but I have learnt my lesson and won’t do that until I know for certain it all works! I still want to do more testing on it but it is all running very well now I think. The running is smooth and the stepping is very accurate. I did slow my Bombe down ever so slightly and that helps. So it is a little slower than the Bletchley Park Bombe but that runs a little fast compared to the original Bombe. Either way a run takes around 20 minutes so a few seconds difference doesn’t matter.

I’ve also done the metal work for the indicator unit. Since the LCD was dead I was able to take it to the shed to use when bashing steel about for sizing and so on without worrying about it. The steel housing is made in two pieces soldered together. I made a cardboard template to start with to make sure it was going to work then it was simple metalwork to make the cover.

IMG_4329_1 IMG_4330_1

IMG_4331_1 IMG_4333_1

Metalwork is sometimes a lot like being a Womble. You have to make good use of the things that you find. Bits of steel, tools, wood, bench edges, clamps, vices and so on. All useful for shaping metal.

IMG_4334_1 IMG_4335_1

IMG_4338_1 IMG_4339_1

I soldered threaded standoffs into the housing to attach the LCD to. And of course painted it all crackle black.

IMG_4341_1 IMG_4344_1

Today I received (as well as the new LCD) some more steel. 24 pieces of 0.8mm Zintec offcuts off TradeMe. So I started making the side panels and actually remade the top also. I have marked out and cut out the sheets and just need to fold them, drill them and make the various openings and panels in them.

IMG_4350_1 IMG_4351_1

Tomorrow I am off to see a man who makes vintage Alfa Romeos and hopefully popping in to Ian’s on the way. I think he has a large pan brake (a sheet metal folder) so hopefully I can borrow that quickly to make the first folds. The rest I will do on the frame itself so everything fits well.

Am getting closer to completion!

Comments are closed.