The goal of this project is to develop the whole electronic system for controlling an ROV, as well as the embedded system. The system is equipped with 6 thrusters, an IMU (Inertial Measurement Unit), a pressure sensor, 2 temperature sensor, 6 ADCs (Analogue Digital Converters) in order to get the thrusters speed and 6 DACs (Digital Analogue Converters) to set the speed thrusters.
The system has to be able to perform the acquisition of 6 analogue digital using 6 ADCs (in order to know the thruster speed), the IMU data (in order to know the ROV position), the pressure and temperature to send the data by UDP to an external unit. Once the external unit received by UDP the data, it will have to process them and send back the results to the ROV, in order to set the speed of the 6 different thrusters, using 6 DACs. The challenge of this project was to do everything in less than 25 msec.
The HW platform is based on the microcontroller STM32F107 by ST Microelectronics with a Real-Time Operative System, FreeRTOS and lwIP. In order to receive and process the data (speed thrusters). We used an application developed in C#, this is the application to be installed in the external unit.
I was in charge of the electronic design: schematics and PCB, as well as developing the embedded system based on FreeRTOS.
Used technologies: Altium, FreeRTOS, lwIP, C and C#.