ROV: 4. Control station
ROV: 4. Control station
NB: This article will be updated until the end of this project.
The Control Station will probably first be a mess of wires everywhere. Then I’ll try to put the mess in a suitcase.
The case will contain the following:
- 15.6inch LCD for video
- 16×2 character LCD for data
- 1x PS2 Controller for controlling
- 1x Arduino for communication / data translating
- 1x 12V Battery and a direct 230v outlet if close to a house.
This screen was expensive. The screen is ripped off a dead Macbook Pro and we all know what fortune thoose costs. Luckily it had done it’s worth in money so the screen was kinda free. 🙂
Using a LCD controller to hook it up to regular video gives me the possibility to utilize the screen again. Good thing i took care of that dead mac for over 2 years. hehe. So I’ve ripped the LCD out of the Mac chassie and bought a controller for it. I’ve tested it with connecting it to my work PC and it worked as gold.1
16×2 character LCD
This will be a sensor data and notification centre. I don’t really know how I’ll put the data yet but I’ve made some examples below:
Explaining the above example a little closer: Here I see the depth is 60 meters. Consumed mAh is 15 000 (which is the total capacity I’ll hope to have onboard). Heading is 360 degrees (also known as 0). Temperature inside the chamber is 15 deg Celsius.
if the water sensor senses humidity i have a 0-100% humidity. 100% means the ROV is dead so proabably start ascending around 5%. Hopefully it’s 0 all the time 🙂
E.g. motors have a timeout, if no command received within a given amount of time the motors will time out and stop running. This is to stop the ROV for driving away if e.g. connection is lost. This is one of maybe many fail-safe futures which will be implemented at code. The slave will only send a short message with those errors. E.g. «DMTE» for Data – Motor Timeout – End. This way i can transfer more data in less bits.
PS2 Controller for controlling
The PS2 controller have so many possibilities, also there is already a library for it to use. Just mumbling around and thinking out loud I’ll go for using the R2 button (the adjustable speed button) to control speed from 0-100% but that only SETS the speed. To actually «start» an motor the left stick must be used to «select» motors to run. So pressing the R2 button 50% and taking the analog stick straight up says go forward. Left = strafe. To turn it I’ll use L1 and R1 buttons. Activate lights can be the arrow buttons e.g. up adds 10% to strength, down removes 10%. And yet i have a whole lot of buttons available. Can use some of them to «request» information from the quad e.g. current led percentage. Raw data sensor or something. Right analog stick maybe future camera gimbal control?
Arduino for communication / data translating
I’ll be using an Arduino UNO for communication, this will give me enough to work with. An UNO is capable for the small commands I’ll use on it.