Search This Blog

Tuesday 5 July 2016

DRO Electronics

I have breadboarded the DRO electronics now. I've settled on three 8digit LED displays for axis position and three 0.96" OLED displays as labels for the axes. These will show whether the axis is X,Y, Z or whatever, plus summed axes and any other information for the axes that may be needed.

I'm also having a 2.4" TFT touchscreen LCD as the main keypad instead of separate keys. This means I can change the layout of the keys and have firmware controlled keypads as required. I've added one hardware key per axis though as an axis zero button.

The TFT LCD can also be used to display various more complicated modes like centre finding and so on.

This is a couple of the displays breadboarded as I tried to get the TFT displays to work. This is a bit of a nightmare as I've had boards that look identical to each other but which seem to have completely different controller chips on them. The touch screen functionality isn';t the most advanced int he world either, requiring voltages to be set up with GPIO lines and then and ADC reading to determine each axis position. Finally got it working though. The OLED display was easy, I just ported the OLED watch code...






The PIC at the moment is a 16F18875. I think I may end up running out of flash space, well, maybe, but that's not a huge problem as there are PICs with the same pinout and more flash space. I'll move to one of them if I need to.
I'm in the middle of routing a PCB with the main displays and big PIC on it. The circuits for each gauge I've decided to put on separate daughter boards. It means I have to lay out just one PCB and I can also adjust the gauge circuit to match any future gauges I find that have slightly different interfaces. Each of these interfaces has it's own PIC12F1822 which captures the gauge digital output and acts as an I2C slave which the main processor then polls. I have done most of that code already. This means that there are seven processors in total and an idle loop for polling each gauge, the main processor doesn't then have to worry about polling six data streams. It should all work...

The main display PCB being routed:


Well, the start of it anyway.





No comments: