Thursday 17 December 2015

PicaxePi: in circuit programming

I used the combination of Picaxe and Raspberry Pi for the first time a year ago.

At that time I programmed the Picaxe by temporarily soldering a connector to the board and connecting it to my laptop.

But I've now made a few simple modifications to my BirdBox2016 controller so I can program the Picaxe from the Raspberry Pi.

The programming interface between Pic & Pi is described in an earlier post.

Since the 08M2 Picaxe in my birdbox application controls the power to the Pi, I need a simple way to override this during programming. I also need to be able to perform a hard-reset on the Picaxe.

These two issues can be addressed quite simply by adding 2 jumper links to the controller board.

The controller: Looking a bit scruffy after recent mods & repairs!

As the 5Volt regulator is controlled via an open-collector Darlington, I can turn on the Pi power by simply grounding the MOSFET gate (Link 2).

And I can perform a hard-reset on the Picaxe by disconnecting, then reconnecting the Picaxe power link (Link 1).

Under normal running conditions, Link 1 is fitted, while Link 2 is simply removed and then "parked" on one of the two link pins.

As the serial input on the Picaxe is permanently connected to the Pi, it is important to include the "disconnect" command at the beginning of the Picaxe program. Otherwise the Picaxe program will halt as the Pi boots and waggles the serial input.
It is now possible to re-program the Picaxe while the controller is still connected to the birdbox Pi A+ ( long as I can access the links). However, as the controller module is easily removed, I would normally choose to fit it to a much faster Pi2 and use screen/keyboard/mouse, rather than the slower option of A+ Pi via VNC.

No comments:

Post a Comment