Each battery will have its own charger integrated in the robot, with one input connector for both.
The charger of the 7.4v battery is a LTC40008 , but it is only the chip, so I will have to make the circuit on the mother board. I will see that later…
The two batteries will be monitored by a specific component : LTC2945 (one one each). Animabot will be able to check the voltage and current on each battery and when the batteries will be low, Animabot will put itself on power saving mode, or sleep mode.
For the moment I am using another DC-DC boost converter from dfrobot for testing purpose, but in the future I will replace it by the PTN04050C on the motherboard.
The Raspberry Pi is flashed with the Raspbian OS (quick start guide available here).
The STM32 is flashed with the RTOS ChibiOS. ChibiOS is compact, fast and open source OS : Perfect for me !
STM32F4 Discovery Board
I modified the power connector of the Pi in order to connect it with another connector. As you can see on the architecture document, I will use a small 3.7v Li-Po battery for the Pi and the STM32 with a special power supply (PTN04050C). So I soldered a JST connector with cables :
Brain Power Supply
The Raspberry Pi will will equipped with a “smart switch”. As you are running a Linux on it and a SD-Card, you can not unplug the Pi as you wish. If you shut off your Pi while it is writing on the SD-Card, you might corrupt this one… And you will have to flash it again… 😦
I have not tested them yet because I am waiting for a Uart converter (3,3v to TTL). The STM32F4 is running on 3,3v but the motors need a TTL logic… Anyway, now I have them, so I will be able to begin the design in Solidwork \o/
Carbon Brush Cored DC Motor
A lot of adapting pieces
Rotation angle range: 320° Continuous Rotation
Stall torque: 12kg.cm （7.4v）
Maximum Speed: 0.166s/60° (7.4v)
Gear: 1:266, Super Engineering Plastic
Size: 45mm(W) x 24.0mm(D) x 31mm(H)
Working Voltage: 7~12VDC(Optimized 7.4V)
Rated Current: 450mA @ 7.4V : 1.7kgf.cm
Communication Link: Full Duplex Asynchronous Serial(TTL Level), Binary Packet, Multi Drop
Multi control through Servo ID: 0 ~ 253, 254(Broadcast only)
Maximum Baud Rate: 0.67Mbps
Feedback: Position, Speed, Temperature, Load, Voltage etc.
Various Control Algorithm: PID, Feedforward, Trapezoidal Velocity Profile, Velocity Override, Torque Saturator & Offset, Overload Protection, Neutral Calibration, Dead Zone
One great advantage is that the motors can be connected to the bus, which save a lot of connectors and space for cables.
On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2
Board power supply: through USB bus or from an external 5 V supply voltage
External application power supply: 3 V and 5 V
LIS302DL or LIS3DSH ST MEMS 3-axis accelerometer
MP45DT02, ST MEMS audio sensor, omni-directional digital microphone
CS43L22, audio DAC with integrated class D speaker driver
LD1 (red/green) for USB communication
LD2 (red) for 3.3 V power on
Four user LEDs
2 USB OTG LEDs LD7 (green) VBus and (red) over-current
Two push buttons (user and reset)
USB OTG FS with micro-AB connector
Extension header for all LQFP100 I/Os for quick connection
Why these 2 ones ? because the Raspberry is powerful, runs on Linux, is cheap and has an huge community. The second one because it has a lot of pins (breakout board) which allows me to connect sensors and also drives all the servomotors.
I started the construction of a hexapod robot named Animabot in 2007. This was a child dream since the serie “F/X: The Series” in which one there is small hexapod named Blue. This robot was considered as a dog, and since I also want my own “dog robot”.
The goal of this project is to have an animated and responsive robot, a robot which can interact with its environment and the people, in the same way as Aibo.
Animabot was first made out of Plexiglas and controlled by a BasicStamp 2e. Then I changed the Plexiglas for aluminium and the BasciStamp for a PIC µC. Trough the years, I have made 7 evolution of the board with a PIC 16 then 18 and finally a 32.
Animabot is autonomous thanks to a rear sensor and a front sensor mounted on a moving head. He can move in an indoor or outdoor environment avoiding obstacles. He is also able to stabilize itself thanks to an accelerometer.
Animabot can be manually controlled by an Android application or a computer software, both done by a Bluetooth communication.
I have been part of the robotic team of my engineering school ESEO in France (http://robot-eseo.fr). I was responsible of the mechanical design and the assembling of the robot. In 2010 we finished at the fifth place over 140 teams with this guy :