So I received the Motherboard and started populating it 🙂 All components are not yet soldered because I want to test the board step by step, starting with the MCU and the I2C bus (where all the sensors are connected).
As of now, the following is working:
- Flashing-Debugging the MCU
- Flexible OLED via SPI
- 10DOF IMU via I2C
- Eyes via I2C
- Gesture Module
I still have some trouble with the RTOS and the IMU, after some time the tasks start to be delayed and the IMU is not responding anymore… but that will be for later, I want to finish the Body design and send it for printing first ! the next step is to mount the PSU and the Charger.
But now that I have the Eyes working I started implementing some expressions 😉 not so bad for a first try !
As mentioned, now Animabot is only composed of 1 motherboard instead of several which help a lot on 2 points: performance and compactness.
The PCB is divided in 4 main areas:
- Front: Power Supplies (7.4V – 5V – 3.3V)
- Middle: IMU + Cortex M4 + Interface (Bluetooth, buttons)
- Rear: Battery Charger
- Edges: Connectors
The Power supply is based on a LM25119 from Texas Instrument and capable of delivering 2x 10A at 7.4V, that’s over 140W !!!
Of course, to dissipate all this power you need a proper cooling system… this is why the PCB is equipped with a “wind tunnel” cooling directly the PSU and the Charger
The charger evolved as well and is now capable of Telemetry, I will be able to supervise the input and output energy of the Battery. The charger also takes care of the standard protections (over-charge, battery temperature, under-voltage, etc..) and all the monitoring/configuration is done via I2C ! I also over-dimensioned most of the components like the transistors to be sure to be on the safe side.
I also removed the ATX Raspi from the robot and the Raspberry Pi will be controlled by the CortexM4 directly for powering ON & OFF. To avoid the last noise issue on the speakers, I added a small isolated DC-DC converter for the audio amplifier.
As mentioned, all the sensors are now connected together on the same I2C bus, which should improve and simplify the data acquisition (one function to gather all sensors data). The IR telemeter as well, I use a small I2C ADC converter to do the trick.
Board dimensions [LxWxT]: 177mm x 84mm x 1mm
Motherboard – top
Motherboard – bottom