Buenas tardes
Espero no extenderme mucho en las explicaciones, pero creo que necesitas investigar muchísimo para poder aclararte, en cuanto como controlar el ROV.
De momento no he visto el proyecto perfecto, ni si quiera los comerciales que valen varios miles de Euros, o Dólares.
En todos los proyectos que mires, te puedes pasar horas leyendo toda la publicación, y no vas a encontrar en ninguno, algo parecido a una solución de problemas, cada uno de los constructores, sigue un proyecto ya realizado, y se las arregla como puede, y nadie dice la solución a su proyecto. Solo se hace una exposición del proyecto, pero la parte que buscas con los detalles, no está en ningún sitio.
Es un buen punto de partida, que hagas sobre el papel un esquema de lo que quieres que haga el ROV, lo que has hecho como diagrama de bloques, para poder tomar un camino, pero aun así, te vas a encontrar con diversos problemas que no habrás tenido en cuenta, por mucho que estudies tu proyecto.
Pero te veo muy verde (novato), no te ofendas, por lo que has publicado en tu diagrama, y vas a necesitar mucha investigación y mucha ayuda.
Para aclararte un poco el sistema de control, te contare algunas cosas a favor y en contra que me he encontrado yo, al hacer el proyecto.
En tu diagrama de bloques no he visto que pongas por ninguna parte, mucha paciencia y mucho tiempo de dedicación al proyecto de ROV. Hay compañeros que han tardado 10 años en terminar el proyecto, y otros que estamos atascados en el sistema de control desde hace 4 años, y aunque he encontrado algo de luz, con la ayuda de algunos compañeros, no he llegado aún al final del túnel.
Si utilizas el sistema de control sencillo, por medio de interruptores y relés que activen las funciones del ROV, olvídate de leer datos de sensores. Si no utilizas un controlador, no puedes controlar nada.
Si utilizas Arduino para controlar el ROV, podrás pincharle y controlar muchos sensores, pero olvídate de la transmisión de video en tiempo real, podrás hacer fotos, y grabar video en una tarjeta, para verlo después en tu casa, pero no podrás ver el video en tiempo real.
Si utilizas Raspberry, olvídate de controlar sensores, simplemente porque no tienes puertos para conectarlos, pero si podrás ver el video en tiempo real.
Por lo tanto, cual es la mejor solución, pues sin duda la que tú elijas, pero lo suyo es que, primero tengas claro cuáles son tus conocimientos de programación.
Si eres un programador avanzado, no tendrás problema en cuanto a programar cualquier controlador, porque ya sabes de qué se está hablando.
Si eres un aficionado a la programación, como yo, tendrás problemas de todo tipo, y te enfrentas a años de investigación y lectura en internet, de cómo desarrollar tu proyecto, pero no es imposible.
El primer problema con el que te puedes encontrar es que los dos controladores tienen su propio lenguaje de programación, Raspberry utiliza Raspberrian, que es un derivado de Linux, y Arduino, se programa con C++, y los dos lenguajes de programación no tienen nada que ver el uno con el otro.
Esto significa que ya tienes la primera elección, o aprendes a programar en Linux, o aprendes a programar en C++, de esta elección, dependerá como desarrolles el resto del proyecto, y a demás, si preguntas ¿Que lenguaje de programación es mejor?, pues simplemente son distintos, ni mejor ni peor, distintos.
Ahora mismo la comunidad Arduino está muy extendida, y hay librerías de control para casi cualquier sensor de los que utilizamos en los ROV, por lo tanto, y es opinión personal, te aconsejo que hagas algún curso de Arduino para aprender a programar en este entorno, te aconsejo que investigues como se programa con el entorno Arduino, como se controla Arduino, con su IDE, para que puedas controlar los motores y los ESC y los sensores.
Y para el video, te aconsejo que utilices una Raspberry pi 3 +, con muy pocas ordenes en Linux, lo puedes conseguir.
Pero sin mezclar los controladores, Arduino por un lado y Raspberry por otro, es más fácil.
Aunque también puedes investigar como mezclar los dos controladores para controlar el ROV, programando en C++, controlar Arduino y Raspberry
Y por supuesto, habrá algo que debas controlarlo con interruptores y relés, seguro, como son los focos de las luces exteriores.
Volviendo a tu diagrama de bloques, en la parte del ROV, si utilizas motores sin escobillas, que necesitan un ESC, o BEC, ya no necesitas el controlador que has puesto entre el ESC, y el controlador del ROV, estos motores con Arduino, se controlan como si fueran servo motores, por lo tanto solo tienes que controlar el cable de señal con el controlador del ROV.
Ese controlador de motores, te hará falta para controlar el manipulador, si utilizas motores con escobillas, si no utilizas este tipo de motor, tampoco será necesario.
Entre los focos de iluminación y el controlador, te hará falta un relé, puesto que ninguno de los dos controladores que hemos visto, pueden controlar cargas superiores a los 5 Voltios, y los focos, para que veas algo, será necesario que funcionen a 12 V.
En cuanto a la corriente interna del ROV, el voltaje debe ser el de mayor rango, utilizado por los dispositivos que vas a utilizar, y después, reducir el voltaje, según las necesidades del resto de dispositivos, por lo tanto como mínimo, la fuente de energía debe ser de 12 V.
Entre la batería y el controlador, deberás poner un reductor de voltaje, puesto que vas a necesitar corriente a 12 V, para los focos, y los controladores funcionan a menos corriente, Arduino, entre 5V, y 12V, preferiblemente a 9V, y Raspberry a 5V.
El control del palm y el tilt en los motores, no tiene sentido, ya que los motores están fijos en la estructura del ROV, y lo que controlas es el sentido de giro, no su posición con respecto al cuerpo del ROV.
Si tiene sentido en la cámara de video, para poder controlar estos movimientos de la cámara, según quieras ver lo que pasa hacia un lado u otro, o más hacia arriba o debajo sin mover el vehículo.
En cuanto al cable umbilical, yo usaría un cable de Internet, mínimo un CAT6 blindado, para que puedas tener una conexión estable, entre el interior del ROV y el puesto de control, bien sea utilizando todos los pares de cables, para comunicarte con un ordenador portátil, o para comunicarte entre los dos controladores y mandar la imagen y los datos que quieres ver en la pantalla.
Si te sobra un hilo de cobre, con inutilizarlo te sobra, si te falta un hilo de cable, tendrás que volver a hacer el cable por completo.
En cuanto al puesto de control, te puedes hacer una caja, en la que vallas poniendo los interruptores y joystick que vallas necesitando, o puedes utilizar un mando de PS2, que ya los tiene en una posición buena para el control, y con Arduino se puede controlar el ROV, tienes un controlador de 16 canales ya hecho.
La pantalla, no te sirve una LCD normal, por toda la información que quieres ver, te hace falta una pantalla inteligente o un ordenador portátil.
Si quieres utilizar un portátil, tendrás que hacer un programa para que veas lo que quieres en la pantalla, ya hay alguno hecho, pero no están publicados por completo.
En cuanto pantalla inteligente, vete informando de cómo funcionan las pantallas HMI, y una buena opción son las de las marcas 4D System, o Nextion, mínimo de 5 pulgadas, mejor de 7 pulgadas, dependerá de tu presupuesto y tus ganas de aprender.
La mayoría de nosotros, hemos utilizado una mezcla de los dos conceptos, el ordenador portátil, para ver las imágenes, y una pantalla HMI, para ver los datos de los sensores, es mucho más fácil de programar, que tenerlo todo en una sola pantalla, sobre todo por los recursos que tienen las pantallas.
Para ver el video y los datos en una sola pantalla, necesitas una pantalla buena y cara, y un programa mucho más complicado (incluyendo telemetría). Para ver solo los datos de los sensores, con una pantalla más modesta te puedes arreglar, y el programa es mucho más fácil de hacer.
Con cualquiera de las dos pantallas te puedes hacer un programa que te indique la inclinación horizontal y lateral del ROV, como si fuese un indicador de burbujas de los que se ponen en los coches todo terreno, utilizando un giroscopio mínimo con 6 ejes de libertad, el más completo y barato es el GY MPU6050, que a demás de la inclinación en tres planos, tiene un termómetro incluido en el mismo sensor.
Espero que todo lo que he escrito, te sirva de ayuda para iniciar tu proyecto, pero te queda mucho por investigar.
Mira estas publicaciones, y hazte una idea de donde te metes
https://www.arduino.cc/
https://www.raspberrypi.org/help/
viewtopic.php?f=18&t=530
viewtopic.php?f=18&t=1908
http://www.techmonkeybusiness.com/tag/rov.html
https://thecavepearlproject.org/how-to- ... ta-logger/
https://learn.adafruit.com/groups
Un saludo.
Good afternoon
I hope I don't go too far in the explanations, but I think you need to do a lot of research to be able to clarify, as to how to control the ROV.
So far I have not seen the perfect project, nor even the commercials worth several thousand Euros, or Dollars.
In all the projects you look at, you can spend hours reading the whole post, and you won't find in any, something like a problem solution, each of the builders, follows a project already done, and manages as much as it can, and no one says the solution to your project. Only one exhibition of the project is made, but the part you're looking for with the details isn't anywhere.
It is a good starting point, that you make on paper a outline of what you want the ROV to do, what you have done as a block diagram, to be able to take a path, but still, you will encounter various problems that you will not have taken into account, however much you study your project.
But you look very green (novice), no offense, so you've posted on your diagram, and you're going to need a lot of research and a lot of help.
To clarify the control system a little, I will tell you a few things for and against that I have found myself, when doing the project.
In your block diagram I have not seen you put anywhere, a lot of patience and a lot of time of dedication to the ROV project. There are colleagues who have taken 10 years to finish the project, and others that we have been stuck in the control system for 4 years, and although I have found some light, with the help of some colleagues, I have not yet reached the end of the tunnel.
If you use the simple control system, using switches and relays that activate the ROV functions, forget about reading sensor data. If you don't use a controller, you can't control anything.
If you use Arduino to control the ROV, you will be able to dj and control many sensors, but forget about real-time video streaming, you will be able to take photos, and record video on a card, to watch it later at home, but you will not be able to watch the video in real time.
If you use Raspberry, forget about controlling sensors, simply because you don't have ports to connect them, but if you'll be able to watch the video in real time.
Therefore, what is the best solution, because without a doubt the one you choose, but its thing is that, first be clear what your programming knowledge is.
If you are an advanced programmer, you will have no problem programming any controller, because you already know what you are talking about.
If you are a fan of programming, like me, you will have problems of all kinds, and you face years of research and reading on the internet, of how to develop your project, but it is not impossible.
The first problem you may encounter is that the two drivers have their own programming language, Raspberry uses Raspberrian, which is a Linux derivative, and Arduino, is programmed with C++, and the two programming languages have nothing to do with each other.
This means that you already have the first choice, or you learn to program on Linux, or you learn to program in C++, of this choice, it will depend on how you develop the rest of the project, and to others, if you ask which programming language is better?, because they are simply different, neither better nor worse, different.
Right now the Arduino community is widespread, and there are control libraries for almost any sensor that we use in ROV, therefore, and it is personal opinion, I advise you to do some Arduino course to learn how to program in this environment, I advise you to investigate how to program with the Arduino environment, as Arduino is controlled , with its IDE, so you can control engines and ESCs and sensors.
And for the video, I advise you to use a Raspberry pi 3+, with very few orders on Linux, you can get it.
But without mixing the drivers, Arduino on one side and Raspberry on the other, is easier.
Although you can also investigate how to mix the two controllers to control the ROV, programming in C++, control Arduino and Raspberry
And of course, there will be something that you need to control with switches and relays, sure, as are the spotlights of the exterior lights.
Going back to your block diagram, in the part of the ROV, if you use brushless motors, which need an ESC, or BEC, you no longer need the controller you have put between the ESC, and the ROV controller, these motors with Arduino, are controlled as if they were servo motors, therefore you only have to control the signal cable with the ROV controller.
That motor controller, you will need to control the manipulator, if you use brushed motors, if you do not use this type of motor, it will not be necessary either.
Between the lighting lights and the controller, you will need a relay, since neither of the two controllers that we have seen, can control loads greater than 5 Volts, and the spotlights, to see something, will need to work at 12 V.
As for the internal current of the ROV, the voltage should be the highest range, used by the devices you are going to use, and then reduce the voltage, according to the needs of the other devices, therefore at least, the power source must be 12 V.
Between the battery and the controller, you will have to put a voltage reducer, since you will need current at 12 V, for the bulbs, and the controllers run at less current, Arduino, between 5V, and 12V, preferably at 9V, and Raspberry at 5V.
Between the battery and the controller, you will have to put a voltage reducer, since you will need current at 12 V, for the bulbs, and the controllers run at less current, Arduino, between 5V, and 12V, preferably at 9V, and Raspberry at 5V.
The control of the palm and tilt in the motors, does not make sense, since the motors are fixed in the structure of the ROV, and what you control is the direction of rotation, not its position with respect to the body of the ROV.
If it makes sense in the video camera, to be able to control these camera movements, depending on what happens to one side or the other, or higher up or underneath without moving the vehicle.
As for the umbilical cable, I would use an Internet cable, minimum one shielded CAT6, so that you can have a stable connection, between the inside of the ROV and the checkpoint, either using all pairs of cables, to communicate with a laptop, or to communicate between the two controllers and send the image and the data you want to see on the screen.
If you have a copper thread left over, with it unusable, if you're missing a wire, you'll need to do the cable completely again.
As for the checkpoint, you can make a box, in which you fence putting the switches and joystick that fences you need, or you can use a PS2 controller, which already has them in a good position for control, and with Arduino you can control the ROV, you have a 16-channel controller already done.
The screen, does not serve you a normal LCD, for all the information you want to see, you need a smart screen or a laptop.
If you want to use a laptop, you will have to make a program to see what you want on the screen, there are already some fact, but they are not published completely.
As soon as smart screen, go on how HMI screens work, and a good choice are the 4D System, or Nextion brands, minimum 5 inches, better than 7 inches, will depend on your budget and your desire to learn.
Most of us, we have used a mixture of the two concepts, the laptop, to view the images, and an HMI screen, to see the data of the sensors, is much easier to program, than having it all on a single screen, especially because of the resources that the screens have.
To view video and data on a single screen, you need a good, expensive screen, and a much more complicated program (including telemetry). To see only the sensor data, with a more modest screen you can fix, and the program is much easier to do.
With either screen you can make a program that tells you the horizontal and lateral inclination of the ROV, as if it were a bubble indicator of those that are placed in the off-road cars, using a minimum gyroscope with 6 axes of freedom, the most complete and cheap is the GY MPU6050, which to others of the inclination in three planes , has a thermometer included in the same sensor.
I hope everything I've written will help you start your project, but you have a lot to investigate.
Look at these posts, and get an idea where you're going
https://www.arduino.cc/
https://www.raspberrypi.org/help/
viewtopic.php?f=18&t=530
viewtopic.php?f=18&t=1908
http://www.techmonkeybusiness.com/tag/rov.html
https://thecavepearlproject.org/how-to- ... ta-logger/
https://learn.adafruit.com/groups
Greetings.