Projects/Envirobot
(Undo revision 4485 by Oliver.gubler (talk)) |
(→Mezzanines) |
||
(30 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | |||
{{TOC right}} | {{TOC right}} | ||
+ | |||
+ | [[File:Envirobot_logo.png|left|250px]] | ||
+ | The aim of the [http://www.nano-tera.ch/ Nano-Tera] [http://wp.unil.ch/envirobot/ Envirobot] project is to build an aquatic robot to measure the water quality at different locations in waters. It's our mission to integrate the many different sensors into the robot. | ||
+ | |||
+ | [[File:Envirobot.png|600px|center|thumb|Envirobot with 6 Locomotion Segments, Head and Tailfin]] | ||
+ | |||
== Sensor System == | == Sensor System == | ||
− | A sensor systems is based on a generic SensorCtrl board, which | + | Integrating chemical and biological sensor into the Envirobot we had to face several challenges. First of all, as most sensors are still under heavy development, their interfaces towards the robot are not yet completely defined. Therefore the system has to be as flexible as possible. Opposing to this, the system has to be small enough to fit into the swimming robot, which consists of about seven more or less independent segments. To fulfill these requirements, a modular approach has been chosen. |
+ | |||
+ | A sensor systems is based on a generic SensorCtrl board, which links to the main system of the Envirobot and provides a generic interface for sensors. This board carries SensorCtrl_Mezz boards, which are specific for each sensor. | ||
The whole sensor system is packed in a special compartment below a locomotion segment of the Envirobot. Here the part containing the electronic boards is meant to be generic, whereas the cover can be modified for each sensor. | The whole sensor system is packed in a special compartment below a locomotion segment of the Envirobot. Here the part containing the electronic boards is meant to be generic, whereas the cover can be modified for each sensor. | ||
− | With this setup | + | With this setup a maximal flexibility is achieved, as only the SensorCtrl_Mezz board and the segment's cover have to be modified when a new sensor is included in the Envirobot. |
=== Mechanics === | === Mechanics === | ||
+ | [[File:Envirobot_SensorCtrl_dimensions.png|250px|thumb|SensorCtrl MainBoard PCB Dimensions]] | ||
− | + | We decided to differentiate between larger and smaller sensors. Small sensors can be stacked below an existing locomotion segment whereas large sensors need to be packed into a dedicated sensor segment of the Envirobot. To be as less intrusive as possible, we decided to implement the second version in a first approach. The version with the dedicated segment will be kept back until there is an especially large sensor. | |
− | + | The whole sensor system is packed in a special compartment below a locomotion segment of the Envirobot. The compartment is directly integrated into the lower cover of the locomotion segment and has itself a detachable cover. Like this, there is no need to waterproof any connector between the sensor system and the locomotion segment. This part of the compartment is meant to be the same for all sensors. To have a truly modular system, the sensor compartment’s cover can be adapted for each sensor. | |
+ | |||
+ | The sensor compartment attached to the bottom of a locomotion segment has an oval space of 10 cm x 4 cm. In height, there are about 2 cm of free vertical space for sensor placement. If the sensor needs more vertical space, the cover’s border can be heightened. Two screws are integrated into the compartment, which can be used to hold the sensors in place. | ||
+ | |||
+ | Currently there exist two setups, one with about 2 cm between the mezzanine and the cover and the other one with about 6.5 cm. If the sensor needs another size, the cover can easily be adapted. | ||
[[File:Envirobot_ensemble_v2.png|250px|thumb|SensorCtrl Ensemble]] | [[File:Envirobot_ensemble_v2.png|250px|thumb|SensorCtrl Ensemble]] | ||
− | === Sensor | + | [[File:Envirobot_EnsembleModuleSampler.pdf|250px|thumb|SensorCtrl Ensemble High]] |
+ | |||
+ | The SensorCtrl_Mezz board can be fixed to the SensorCtrl board with a 2mm screw placed between the connectors. | ||
+ | |||
+ | === Platform === | ||
+ | |||
+ | This generic platform contains a [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1806/PF255419 STM32F429ZIT6] microcontroller. It serves as interface between the various sensors and the robots' head. | ||
+ | |||
+ | === Sensor Interface === | ||
+ | [[File:Envirobot_SensorSystem_MezzConnectors.PNG|thumb|250px|Placement of Sensor Connectors]] | ||
The SensorCtrl board provides power, a serial bus, an I2C bus as well as an SPI bus, a Digital Camera Interface, 3 ADC inputs and 3 timer outputs. | The SensorCtrl board provides power, a serial bus, an I2C bus as well as an SPI bus, a Digital Camera Interface, 3 ADC inputs and 3 timer outputs. | ||
+ | Although an additional 5V power supply is provided to the sensors, the GPIOs of the processor only supports 3.3V. If a sensors works with other levels, a level translation circuit has to be implemented on the mezzanine board. | ||
The pinning of the two [http://www.digikey.ch/product-detail/de/DF12(3.0)-20DS-0.5V(86)/H11748CT-ND/2172540 Hirose DF12(3.0)-20DS-0.5V(86)] connectors is given in the table below. | The pinning of the two [http://www.digikey.ch/product-detail/de/DF12(3.0)-20DS-0.5V(86)/H11748CT-ND/2172540 Hirose DF12(3.0)-20DS-0.5V(86)] connectors is given in the table below. | ||
+ | Of course all pins can also be configured to work as simple GPIOs. | ||
{|class=wikitable | {|class=wikitable | ||
Line 66: | Line 89: | ||
|} | |} | ||
− | + | === Control Interface === | |
+ | |||
+ | The connection to the robot is realized over a CAN bus. To safe space, especially in the robot’s segment, the DF20G-10DP-1V(56) connector has been chosen to realize this connection. The pinning is given in the table below. | ||
+ | |||
+ | {|class=wikitable | ||
+ | |- | ||
+ | ! Pin || Signal | ||
+ | |- | ||
+ | |1 || 3.3V | ||
+ | |- | ||
+ | |2 || 5V | ||
+ | |- | ||
+ | |3 || 9V (Battery) | ||
+ | |- | ||
+ | |4 || GND | ||
+ | |- | ||
+ | |5 || SCL | ||
+ | |- | ||
+ | |6 || SDA | ||
+ | |- | ||
+ | |7 || GND | ||
+ | |- | ||
+ | |8 || CANH | ||
+ | |- | ||
+ | |9 || CANL | ||
+ | |- | ||
+ | |10 || Water Alarm | ||
+ | |} | ||
− | = | + | = Mezzanines = |
− | + | == Conductivity == | |
+ | [[File:Envirobot SensorCtrl MezzConductivity.png|thumb|250px|Sensor Control Board with Sensor Mezzanine with Conductivity Electronics and Temperature Sensor mounted in Sensor Compartment]] | ||
− | + | The conductivity of the water is measured with the [http://www.atlas-scientific.com/_files/_datasheets/_circuit/EC_EZO_Datasheet.pdf EZO EC] circuit from Atlas Scientific. We use the [[Hardware/Bus/i2c|I²C]] protocol to calibrate it with the water temperature and get its readings back. This circuit connects to probes immersed in the water outside the Envirobot. | |
− | + | The temperature of the water is measured with the [http://www.te.com/usa-en/product-G-NICO-018.html TSYS01] temperature sensor. It has an accuracy of 0.1°C and a digital resolution of 24 bits and is also accessed on the [[Hardware/Bus/i2c|I²C]] interface with the address <code>1110110x</code>. The sensor is fixed onto a metal disc, which is in direct contact with the water outside the Envirobot. | |
− | + | == Sampling == | |
+ | Three independent microComponents mp6-OEM bartels pumps are used to get water samples into small water bottles. The duration of pumping is defined by water detectors, which survey the air outlet of the bottles. | ||
− | + | {{navNamed|left=Projects/USLO|left_name=USLO|up=Projects|up_name=Projects|right=Projects/CubeCluster|right_name=CubeCluster}} |
Latest revision as of 17:26, 31 July 2017
|
The aim of the Nano-Tera Envirobot project is to build an aquatic robot to measure the water quality at different locations in waters. It's our mission to integrate the many different sensors into the robot.
Sensor System
Integrating chemical and biological sensor into the Envirobot we had to face several challenges. First of all, as most sensors are still under heavy development, their interfaces towards the robot are not yet completely defined. Therefore the system has to be as flexible as possible. Opposing to this, the system has to be small enough to fit into the swimming robot, which consists of about seven more or less independent segments. To fulfill these requirements, a modular approach has been chosen.
A sensor systems is based on a generic SensorCtrl board, which links to the main system of the Envirobot and provides a generic interface for sensors. This board carries SensorCtrl_Mezz boards, which are specific for each sensor.
The whole sensor system is packed in a special compartment below a locomotion segment of the Envirobot. Here the part containing the electronic boards is meant to be generic, whereas the cover can be modified for each sensor.
With this setup a maximal flexibility is achieved, as only the SensorCtrl_Mezz board and the segment's cover have to be modified when a new sensor is included in the Envirobot.
Mechanics
We decided to differentiate between larger and smaller sensors. Small sensors can be stacked below an existing locomotion segment whereas large sensors need to be packed into a dedicated sensor segment of the Envirobot. To be as less intrusive as possible, we decided to implement the second version in a first approach. The version with the dedicated segment will be kept back until there is an especially large sensor.
The whole sensor system is packed in a special compartment below a locomotion segment of the Envirobot. The compartment is directly integrated into the lower cover of the locomotion segment and has itself a detachable cover. Like this, there is no need to waterproof any connector between the sensor system and the locomotion segment. This part of the compartment is meant to be the same for all sensors. To have a truly modular system, the sensor compartment’s cover can be adapted for each sensor.
The sensor compartment attached to the bottom of a locomotion segment has an oval space of 10 cm x 4 cm. In height, there are about 2 cm of free vertical space for sensor placement. If the sensor needs more vertical space, the cover’s border can be heightened. Two screws are integrated into the compartment, which can be used to hold the sensors in place.
Currently there exist two setups, one with about 2 cm between the mezzanine and the cover and the other one with about 6.5 cm. If the sensor needs another size, the cover can easily be adapted.
File:Envirobot EnsembleModuleSampler.pdf
The SensorCtrl_Mezz board can be fixed to the SensorCtrl board with a 2mm screw placed between the connectors.
Platform
This generic platform contains a STM32F429ZIT6 microcontroller. It serves as interface between the various sensors and the robots' head.
Sensor Interface
The SensorCtrl board provides power, a serial bus, an I2C bus as well as an SPI bus, a Digital Camera Interface, 3 ADC inputs and 3 timer outputs. Although an additional 5V power supply is provided to the sensors, the GPIOs of the processor only supports 3.3V. If a sensors works with other levels, a level translation circuit has to be implemented on the mezzanine board. The pinning of the two Hirose DF12(3.0)-20DS-0.5V(86) connectors is given in the table below. Of course all pins can also be configured to work as simple GPIOs.
Pin | J1 | J2 |
---|---|---|
1 | 3.3V (0.5A) | 5V (1A) |
2 | USART2_RX | DCMI_D6 |
3 | USART2_TX | DCMI_D10 |
4 | USART2_CX | DCMI_D4 |
5 | GND | DCMI_D11 |
6 | DCMI_HSYNC | DCMI_D7 |
7 | DCMI_PIXCK | DCMI_D12 |
8 | DCMI_D1 | DCMI_D2 |
9 | DCMI_D0 | DCMI_D13 |
10 | DCMI_D3 | GND |
11 | DCMI_D8 | DCMI_VSYNC |
12 | DCMI_D9 | TIM10_CH1 |
13 | DCMI_D5 | I2C2_SCL |
14 | GND | TIM11_CH1 |
15 | ADC1_IN0 | I2C2_SDA |
16 | GND | TIM13_CH1 |
17 | ADC1_IN1 | SPI6_MISO |
18 | GND | SPI_SCK |
19 | ADC1_IN2 | SPI6_MOSI |
20 | GND | GND |
Control Interface
The connection to the robot is realized over a CAN bus. To safe space, especially in the robot’s segment, the DF20G-10DP-1V(56) connector has been chosen to realize this connection. The pinning is given in the table below.
Pin | Signal |
---|---|
1 | 3.3V |
2 | 5V |
3 | 9V (Battery) |
4 | GND |
5 | SCL |
6 | SDA |
7 | GND |
8 | CANH |
9 | CANL |
10 | Water Alarm |
Mezzanines
Conductivity
The conductivity of the water is measured with the EZO EC circuit from Atlas Scientific. We use the I²C protocol to calibrate it with the water temperature and get its readings back. This circuit connects to probes immersed in the water outside the Envirobot.
The temperature of the water is measured with the TSYS01 temperature sensor. It has an accuracy of 0.1°C and a digital resolution of 24 bits and is also accessed on the I²C interface with the address 1110110x
. The sensor is fixed onto a metal disc, which is in direct contact with the water outside the Envirobot.
Sampling
Three independent microComponents mp6-OEM bartels pumps are used to get water samples into small water bottles. The duration of pumping is defined by water detectors, which survey the air outlet of the bottles.
Navigation
USLO
Projects
CubeCluster