Suki ROV

What are you working on .... Show off your Rov's Projects here.
Post Reply
User avatar
MantFish
Posts: 9
Joined: Jul 22nd, 2017, 12:11 pm

Suki ROV

Post by MantFish »

Hello!

I'm back to build my second ROV! (My first is also published on this forum and is called Skagen ROV is anyone is interested :D )

While designing this ROV I was keen to not make the same mistakes as last time, here's a list of some of the things I learnt building my first ROV:

1. DC motors (bilge pumps) are expensive.

Not only are good DC motors fairly pricey, but the real cost is in high amp DC motor controllers, these very quickly become very expensive. Therefore, this time I decided I would use brushless motors. (also as the deal with pressure better)

2.Internet communication is the way to go.

In my first ROV I had two cable, one for serial communication with my ROV and one for video. This was horribly inefficient and the video was terrible quality. This time Suki ROV is going to be communication through one Ethernet cable.

3. Waterproofing is hard.

This time I'm not going to ignore waterproofing!

4. 3D printers and Laser cutters are great tools.

Even in the couple of years since my first ROV 3D printers and laser cutters have only got better, and therefore I'm going to try and use 3D printed and laser cut parts as much as possible in Suki ROV. It's also very fast and cheap to manufacture these parts if you have a local hackerspace/makerspace.

So with these principles in heart and 200£ of a university grant in my pocket, I started designing!
SukiORTH.png
SukiORTH.png (211.17 KiB) Viewed 11566 times
Sukiback.png
Sukiback.png (176.11 KiB) Viewed 11566 times
SukiSide.png
SukiSide.png (92.75 KiB) Viewed 11566 times
Here we see what Suki will look like! As you can see it has two motors for horizontal movement and two for vertical. Like the Open ROV (on which it's hardware and software is loosely bsed) it has a clear tube which houses all the electronics, webcam. the battery and some other bits and pieces.

The ROV has two side panels, these will be laser cut out of colored acrylic (if I can get my hands on it) on to it will the vertical motors be held in place. The green parts will hold onto the tube, and the two horizontal motors. Two threaded rods will also be attached which will act as the "rails" of the ROV

The Orange part on the top is my preliminary design for floats, but will probably change as I unfortunately don't think I can build such a nice shape.
Tube.png
Tube.png (246.45 KiB) Viewed 11566 times
This is the main tube, in it you can see the webcam, which will be attached to a servo motor allowing it to pan up/down in the tube for a better field of view.
The end caps for the tube will be made using a laser cutter. I will cut many different layers and glue them together and fit O-Rings in between them. This is what the old Open ROV kits did and will save me a lot of money compared to getting them CNC'ed!

Finally here is a schematic of how the software works
SukiDiagram.jpg
SukiDiagram.jpg (85.16 KiB) Viewed 11566 times
As you can see, a Raspberry Pi in the robot hosts a website which is made using flask, a python web development tool, and an interface out of HTML and JavaScript. This means that when we plug the Ethernet cable into our computer, all we have to do is type in the Raspberry pi's ip adresss into our browse and we can see this webpage!

The webpage uses "motion" (it's a raspberry pi tool) to stream the video from the webcam. The webpage has some buttons to control the robot, I basically followed this tutorial. https://circuitdigest.com/microcontroll ... ance-robot This works very well, fantastic frame rate and quality. The only issues I had were due to the frame rates being limited in the motion.conf file. However, after I disabled all frame rate limitations, it worked like a charm. Another issue is getting a webpage to read keyboard input and hopefully in the long term an Xbox/PlayStation controller, but I haven't cracked that nut yet (advice/help would be appreciated! I am new to JavaScript!).

The Raspberry pi then talks to an Arduino Nano by serial communication. This is quite simply achieved by a USB cable plugged into both. The Arduino executes the commands send by the raspberry pi. So far this has proved extremely reliable.

Until now, the Suki ROV project had been going very well, however in my ignorance of brushelss motors, I bought these motors and ESCs.
Motors.png
Motors.png (570.15 KiB) Viewed 11566 times
These motors work absolutely fantastic, expect I didn't realise that they (like most drone ESCs) usually by default cannot be driven forwards and backwards. So I have spent a long time trying to reprogram my ESCs to be reversible.

Ater a lot of googling, I found out you can reprogram ESCs using something called BLheli, first tried to reprogram them using the signal cable of the input to them. (This is the yellow wire going from the ESC you plug into your micro controller) and using BLheli suite. This did not work. So then I tried using the Arduino as an ISP and connecting the Arduino to the pins on the ESC. Here again I used BLheli suite but I still couldn't get BLheli to recognize the ESC, and ended up just bricking my arduino.

I've spent a week trying to get these ESCs to be reversible and have not succeed at all in fact, I'm not sure what ESCs they actually are. If anyone has any idea what ESCs I have, or how to make them reversible I would very much appreciate it. Here are some pics of them without the Heat shrink.
Front
Front
IMG_20200728_202617_1.jpg (258.44 KiB) Viewed 11566 times
Back
Back
IMG_20200728_202609.jpg (225.13 KiB) Viewed 11566 times
Again any help or advice on how to program these to be reversible or if there's any cheap alternative ESCs that would work, would be extremely appreciated!

Please ask if I've been unclear at all, I'd love to hear any comments or feedback!

Thanks!

-MantFish <><
asesorplaza1
Posts: 187
Joined: Mar 4th, 2018, 6:11 pm
Location: Valverde de Júcar, Cuenca, España

Re: Suki ROV

Post by asesorplaza1 »

Buenas noches.
Yo he estado estudiando cómo controlar los motores sin escobillas con Arduino, y he conseguido un montón de información, desde la explicación más básica de que es un ESC, hasta la más compleja, te pongo los enlaces a ver si te sirven para aclarar tus dudas.
Si la pagina te sale en Español, ábrela con el Google Chrome y tradúcela, no puede ser todo a tu gusto, lo siento.
Un saludo

Good night.
I have been studying how to control brushless motors with Arduino, and I have obtained a lot of information, from the most basic explanation that it is an ESC, to the most complex, I put the links to see if they serve you to clarify your doubts.
If the page is in Spanish, open it with Google Chrome and translate it, it can't be all to your liking, I'm sorry.
A greeting



https://blog.bricogeek.com/noticias/mod ... brushless/

http://elrincondelpoli.blogspot.com/201 ... ne555.html

https://aprendiendoarduino.wordpress.co ... ervomotor/

https://www.robotshop.com/community/blo ... no-library

https://github.com/lobodol/ESC-calibration
User avatar
MarcoMota
Posts: 54
Joined: Jun 9th, 2020, 4:05 pm

Re: Suki ROV

Post by MarcoMota »

Hi, great Project!!

I don't think you can reverse polarity in all kinds of ESCs.

If you want to use this ESCs, and be able to reverse them, I would suggest you tu plug a rele to two of the output cables on the esc so that when it is active it will switch both cables, this will make the motor go on the opposite direction.

Hope you understood my idea, if you have any doubt just tell me and I will make a drawing. <><

Maybe you could use MOSFET transistors instead of rele to lower power consumption and reliability over time.
User avatar
MantFish
Posts: 9
Joined: Jul 22nd, 2017, 12:11 pm

Re: Suki ROV

Post by MantFish »

Thanks asesorplaza1 for the links, although I don't have too much problems with controlling an ESC with arduino, I'm really struggling to get it to be reversible (spin clockwise AND anticlockwise). But the library on github looks like it'll make my code a lot neater!

Thanks as well MarcoMota, I think I understand what you mean, however, I was looking at this thread on the Arduino forum https://forum.arduino.cc/index.php?topic=419102.0.

Here they also suggest using some kind of switches to swap the wires of brushless motor, but it seems you might break your motor if it's not powered completely off when you switch?
Secondly this seems like quite of lot of hassle and not the most elegant solution but if it's the only way to go, I will probably have to resort to it. It just seems like it'll be expensive, complicated and will be slow at switching from forwards to backwards. :| . Do you know of any ESCs that definitely can be programmed to be reversible and how to do it if so?

Thanks for the replies!

-MantFish <><
User avatar
MarcoMota
Posts: 54
Joined: Jun 9th, 2020, 4:05 pm

Re: Suki ROV

Post by MarcoMota »

Hey, yes! Look at RC car escs. I also was a lot into electric skateboards and they used VESCs with are really powerful and completely programmable.

It seems weird you would brake your motor. Mostly probably you would brake the esc. You should create a protection circuit with diodes and capacitors. For sure it wouldn't be a hassle free solution.

Hope it helps :) <><
User avatar
MantFish
Posts: 9
Joined: Jul 22nd, 2017, 12:11 pm

Re: Suki ROV

Post by MantFish »

Hello!

After a little break, I'm back! Just to update on how its going!

To solve the reversible ESC issue, I ended up buying car ESCs from hobbyking (https://hobbyking.com/en_us/hobbykingr- ... tore=en_us). These were just the easiest solution as I couldn't reprogram my ESCs. Thanks for all the advice guys!

The code is almost finished, although I'm having trouble with two way communication using flask, I might have to dive into some node.js stuff after all!

I've also started 3D printing my design! Here are some pictures:
3Dprint1.jpg
3Dprint1.jpg (467.91 KiB) Viewed 10572 times
3Dprint2.jpg
3Dprint2.jpg (574.98 KiB) Viewed 10572 times
I was wondering about using these brushless motors for my ROV, I doubt they are made to be thrown into the sea! How do you prevent corrosion?

Thanks!

-Mantfish <><
User avatar
MarcoMota
Posts: 54
Joined: Jun 9th, 2020, 4:05 pm

Re: Suki ROV

Post by MarcoMota »

MantFish wrote:Hello!

After a little break, I'm back! Just to update on how its going!

To solve the reversible ESC issue, I ended up buying car ESCs from hobbyking (https://hobbyking.com/en_us/hobbykingr- ... tore=en_us). These were just the easiest solution as I couldn't reprogram my ESCs. Thanks for all the advice guys!

The code is almost finished, although I'm having trouble with two way communication using flask, I might have to dive into some node.js stuff after all!

I've also started 3D printing my design! Here are some pictures:
3Dprint1.jpg
3Dprint2.jpg
I was wondering about using these brushless motors for my ROV, I doubt they are made to be thrown into the sea! How do you prevent corrosion?

Thanks!

-Mantfish <><


First of all if it gets in sea water if its not made with anti corrosion material it will for sure get rusty.

The first thing you will have to do is change the metal bearing with a ceramic one. Another thing you should do is put a litlle epoxy where the wires meet the stators of the motor
asesorplaza1
Posts: 187
Joined: Mar 4th, 2018, 6:11 pm
Location: Valverde de Júcar, Cuenca, España

Re: Suki ROV

Post by asesorplaza1 »

Good night from Spain.
In your last post I have seen several doubts that you expose very quickly, but that the explanation or solution is not easy.
In my project, I use the Serial Communication between the two Arduinos, with 4 RS485, to get Full Duplex communication, these links explain how it is done.

https://proyectoarduino.com/comunicaciones-con-rs485/

As for the engines, although brushless motors are supposed to get wet, I do not trust, not by water, but by the suspended particles that may be in the water, therefore I have protected the motors in a tube, attached photo, I do not know how you can implement it in your project, but the ideas that are not missing.

Happy Easter and stay away from Covid-19
19r.jpg
19r.jpg (55.02 KiB) Viewed 10556 times
09.jpg
09.jpg (37.33 KiB) Viewed 10556 times
Post Reply