Cosma - Prototype 3
This is the third prototype of Cosma. It is WIP. Nevertheless I thought I share my progress with you...
1. Shield design
The MCU of the robot is an Arduino Mega. I designed a shield for the board, using Fritzing. The shield contains Micro SD card socket, voltage level shifter HEF4050 for the SD card, MPU 6050 (6 DOF accelerometer/gyroscope), I2C voltage level shifter for the MPU 6050 based on BSS138 N-channel MOSFETs, DS1307 based RTC with backup Lithium coin cell battery, connectors for DS18B20 temperture sensor, 4 FSRs, 2 analog sound sensors, ArduEye and EMIC-2, 1.5A LDO (L4940D2T5) for servos, 1.5A LDO (L4940D2T5) for 5V devices and 400mA LDO (MIC2920) for 3.3V devices.
The shield is manufactured by the Fritzing Fab. The shield would have been easily manufactured by a Chinese PCB fab, but I wanted to support these guys in Germany with an order, and the quality of the PCB is outstanding.
To populate the board wasn't a big issue, using my SMD rework station. The only problem was to solder the D2PAK voltage regulator tabs onto the pads. I needed to reflow them with the hot air device of the rework station and overheated the first batch, which led to an internal short-circuit of the voltage regulators between GND and Vin. I discovered the short-circuit after I connected a battery and the battery started to produce magic smoke. After I reflowed the second batch, I firstly measured the resistance between Vin and GND and Vout and GND before I connected a battery to check if the voltage regulators were working properly.
2. Linksprite jpeg color TTL camera
During its journey the robot is able to take snapshots and store the pictures on its micro SD card. I am using the LS Y201 TTL camera from linksprite and the adafruit library. The camera's serial data pins are 3.3V logic, so a voltage divider is needed on the camera's RX pin:
3. TCS3200 based light sensor
The second eye of the robot is a TCS3200 based color sensor. You may ask, what the intention of a color sensor on a spacebot is...Well, the TCS3200 senses the ambient light and measures the excitation purity. The image below shows the sensor with wide-angle lens (I have desoldered the 4 white LED's in the meantime as they are not needed).
As the FreqCount Library only supports one pin as a frequency input pin and dissables other pins to use analogWrite(), I am using pulseIn() to measure the output frequencies of the color sensor.
The Duty Cycle D is defined as:
where
τ: pulse duration
T: pulse period
The frequency f is defined as:
The output of the color sensor is a square wave (50% duty cycle) with frequency directly proportional to light intensity. If the pulse duration and the duty cycle are given, the frequency is then computed by:
Because D = ½:
The pulseIn()-function returns the pulse duration τ in microseconds. 1 µs = 10-6 s. The frequency in kHz is therefore computed by:
The pulseIn()-function works on pulses from 10 microseconds to 3 minutes in length, so the highest frequency we can measure is 50 kHz with a duty cycle of 50%.
Accordingly we have to set S0 = L and S1 = H to get an output frequency scaling of 2%.
The minimum output frequency is then 10 kHz and typical 12 kHz.
4. Mechanical construction
The upper body of the robot is a Lynxmotion Humanoid Biped Torso, made of polycarbonate. I covered the two triangular cut-outs with 2mm ABS sheets, soldered carefully wires on the FSR pins and glued the FSRs in place. This time I wanted to use 2 component casting silicone to imitate flesh and skin, but failed. The silicone cured not equally and shrinked on the corners.
I used then ordinary silicone sealant to model Cosma's thorax and finally covered her bareness with a piece of fabric (from a activated carbon fiber indoor odor remover), laminated onto the polycarbonate with cyanoacrylate.
Next I needed a mounting plate to attach the Arduino Mega and the shield piggyback to Cosma's torso. I manufactured it from 1.5mm aluminium sheet:
Now I was able to assemble the torso, including the pan/tilt unit for the head.
Finally I needed a mounting plate to attach the cameras and sound sensors to the pan/tilt unit. Again manufactured from 1.5mm aluminium sheet:
Mounted sound sensors:
Mounted cameras:
Cosma wired front:
Cosma wired side:
Cosma wired back:
Reports from near space
- Actuators / output devices: 2 DOF head, TTS (EMIC-2), micro SD
- Control method: autonomous
- CPU: Arduino Mega
- Power source: LiFePO4 battery
- Programming language: Arduino C
- Sensors / input devices: accelerometer, Microphones, temperature sensor, FSR, gyroscope, Linksprite jpeg color TTL camera, TCS3200
- Target environment: near space