Decimus performance graphs

Time to do some tuning of the motion control parameters in Decimus. First I wanted to get some idea of how it is behaving with the initial settings. I have added a simple flight recorder function. A 4 kB buffer can hold up to 2000 integers. These are placed in the buffer on every timer tick. Thus I can record one second of two integers. this isn’t much but it is all I have available on the processor. Any future mouse will have to have a bigger data buffer.

(more…)

Continue ReadingDecimus performance graphs

Decimus doing circuits

Decimus After a bit of a break, I have done some more work on Decimus, my DC micromouse. With all the peripherals tested and working, I have been concentrating on the motion controller or profiler. This has turned out to be harder than I expected. The basic idea is simple enough but the implementation turns out to be a bit tricky. Probably in part because I wanted it to be useable with Primus, the beginner’s stepper-driven micromouse.

(more…)

Continue ReadingDecimus doing circuits

Club meeting March 3rd

IMG_2499 Tonight was the monthly Midlands Club meeting. The club meets on the first Monday of each month at the Technology Innovation Centre in Birmingham. We have been running for a couple of years now and anyone interested in micromouse or robotics in general is welcome to come along for a chat. We had a modest turnout tonight, a good chat about (mostly) mouse related matters and a talk about VHDL from Tony Wilcox. There were a few mice to have a look at and compare notes. It was good to see Andrew Lloyd return after travels afar.

(more…)

Continue ReadingClub meeting March 3rd

Another Decimus patch

This one was pretty stupid really. The motor drivers are H-bridges made from complementary pairs of MOSFET (the Zetex ZXMC3A16DN8 (datasheet). These need a proper driver chip to ensure good turn-on and turn-off times because of the gate capacitance. for the driver, I used the common Maxim MAX4427 (datasheet). There are several alternative equivalents. However, instead of using the motor supply (battery positive) for VDD, I used the +5V logic supply … stupid.

(more…)

Continue ReadingAnother Decimus patch

Decimus hardware fix

It was all getting too awkward. A bit of short sighted design on my part had the Nokia LCD sharing an SPI port with the motor encoders. This meant that I had to turn off the encoders to write to the LCD. While no motion information would be lost by doing this, it effectively meant that I could not, for example, have the mouse hold position while updating the display. In the end I took it all apart and patched the circuit board so that the LCD is now driven from the SPI1 port and the encoders are on the SPI2 port.

(more…)

Continue ReadingDecimus hardware fix

Movement at last

Now that Decimus has all its bits fitted, it is time to get on with the more serious business of driving it about. The basic code for the motor PWM driver has been tested and suitable drive commands can be sent to them. Since this is a PWM system, a motor command is effectively a percentage of the battery voltage applied to the motor. The encoders produce about 26 pulses per millimeter. This has yet to be calibrated. A very simple speed control has been implemented for the first test.

(more…)

Continue ReadingMovement at last

LS7366 quadrature counter

The LS7366 is a 32 bit counter with a direct interface for quadrature signals from incremental encoders. There is also an index channel for marker functions. The interface to the microcontroller is SPI mode 0 making it relatively easy to drive with a variety of common controllers. Decimus has one of these on each motor channel connected to the encoders on the back of the Faulhaber 2224 coreless motors. There is very little information about these chips available except the data sheet. This is how they are used on Decimus. (more…)

Continue ReadingLS7366 quadrature counter

SPI data transfers

I use SPI  on my micromouse both to talk to the Nokia graphical LCD and to talk to the LS7366 quadrature encoders. A large number of devices can be connected to the SPI data lines, MOSI and MISO. Each device needs its own select line. This all appear very simple and friendly. There is, however a potential problem due to the flexibility of the SPI configuration.

(more…)

Continue ReadingSPI data transfers

Battery voltage monitor

Decimus has one of the ADC inputs dedicated to monitoring the battery voltage. The batteries used in this micromouse are Lithium Polymer cells and it is particularly important that they are not allowed to discharge too far. Since the full battery voltage is about 7.4 Volts, this gets divided by four in a simple resistive divider before being sampled by the ADC.

(more…)

Continue ReadingBattery voltage monitor