Plans
- Get a motor running (done)
- Get PWM control (done)
- Get a display working so I can show debug info and later UI
- Have encoder input
- Have motor speed feedback
- Have servo speed regulator
- Wrap it up
PWM uses pin D27
which should be GPIOA
, GPIO_TIM1_CH1
or PA8
.
I'm trying I2C1
, which is D15
& D16
, for display.
Hardware
I made a little adapter board to fit the small pitch connector for Midas MCCOG21605D and a few discretes together. This one worked out surprisingly nicely on some very thin pcb stock I have a huge sheet of and magazine paper toner transfer.
The display (that I have a few) is I2C, common 2x16 type LCD with blue display on white backlight.
Firmware
As I'm aiming for the motor control project, I'm using libopencm3.
There's at least one example with I2C and the Refman that I can use to see how the peripheral should work. I have a vague datasheet and some alien drivers to look at and try to figure out the display protocol.
Results
I can position the cursor, print text and numbers, and clear the screen. That's probably enough to start with.
The whole "driver" is blocking, though, so it can't be kept in the same context with any realtime bits.