Diagnostics And Technical Details

Sanity Checks

Handy Tips for Developers

Motor And Wheel Encoders

We limit the motor speed by default to 1 M/sec. It is possible to make this faster but perhaps contact us for guidance.

The standard motor/wheel unit we ship have these characteristics

- 3 phase brushless motors with internal gearing.
- The Wheels are spaced 0.33 meters apart.
- The wheels have a circumference of 0.64 meters
- The 3 phase magnetic encoders produce 43 pulses each phase per revolution
- We use both edges of the 3 non-overlaping phases for 258 tics per rev
- This translates to about 2.5mm as the rough linear travel per enc tick
- This also translates to 1.4 degrees wheel rotation per encoder tick

Motor Controller Board Pinouts

The pinouts for the many connectors on the main Motor Controller Board can be found HERE.

Motor Controller Revisions

You can see and download the released MCB board firmware revisions HERE

A list of firmware and master controller board revisions can be found HERE.

The MCB Serial Protocol and Commands

A baud rate of 38400 is used with one stop bit for communications with between the host cpu (normally raspberry Pi) and the MCB, Motor Control Board.

The Motor Control Board, sometimes called main control board, uses a protocol where a packet with checksum is sent and if a reply is required the reply will come back in the same binary protocol.

By default the raspberry pi default host cpu single serial port on the 40 pin connector. The MCB constantly transmits status and this goes to the 40 pin connector pin 10 which is the host Receive. The raspberry pi host sends commands on it’s Transmit using 3.3V signals and this arrives at the MCB on pin 8 of the 40 pin connector.

Although the MCB sends status immediately on power up the host takes sometimes a minute or so to start all the nodes and then start sending commands to the MCB. On revision 5.2 and later boards there are two blue leds that show both the directions of serial traffic. Magni will not really be running till both of these are seen to be blinking very fast.

For MCB boards prior to revision 5.2 the MCB serial conversion circuits required a 3.3V power supply to appear on pin 1 of the 40 pin connector.

MCB Serial Protocol Details

For details see The Magni Serial Protocol Spec

Standalone Test Program To Control The Magni_MCB

A standalone test program used in our tests and development. You can get the source to this program on github HERE

Guidelines for Usage Of The I2C Bus

The I2C devices Ubiquity Robotics reserves:

Addresses given in 7-bit form so on the I2C bus they appear shifted up by 1 bit.

Device I2C Address
SSD1306 OLED Display 0x3C
PCF8574 0x20
MCP7940 RT Clock 0x6f

Tips and Guidelines For any I2C usage On the Magni Platform:

The I2C is the main 3.3V Raspberry Pi I2C on pins 3 and 5 with Raspberry Pi as the master. The Rev 5.0 board has a 4-pin jack that brings out I2C and 3.3V with a ground.