Go Down

Topic: Arduino Underwater Sonar/Altimeter (Read 89014 times) previous topic - next topic

dROb12345

Guys, do we have any news on that?
I am struggling to find any type of Sonar Sensor for underwater utilization.
And Chinese have tons of them for the fraction of the price but in the form of finalized devices

Insteadof2

I'd also like an update on this topic. Can we start a new discussion so more people can see? Many of the options I've seen were fairly expensive in the 200-300$ range for transducer and converter.

stevezee

#17
Aug 28, 2019, 04:02 pm Last Edit: Aug 28, 2019, 04:03 pm by stevezee
I'm building an ROV project that requires an altimeter as well and I've found this sonar altimeter from Blue Robotics that has an Arduino library and examples. It's still in the $200-$300 range but looks like it will work.

Here's the sonar:
https://bluerobotics.com/store/sensors-sonars-cameras/sonar/ping-sonar-r2-rp/

And here's the sonar Arduino tutorial:
https://bluerobotics.com/learn/using-the-ping-sonar-with-an-arduino/

I'm interested in other options as well if anybody finds something.

Kogger

Hello.
I'm a developer of a compact underwater sonar with UART interface.
I have some modules that I would like to be tested in real use.  
If here is somebody who can make a simple example with the module and display, I could provide them a sonar.


Abderian

It sounds like an interesting project. I would like to know the progress of your project.

Kogger

#20
Oct 30, 2019, 04:41 pm Last Edit: Nov 08, 2019, 08:45 pm by Kogger
Here is a Video of testing the module.

Here are some information with characteristics:



It supposed to be $100 cheaper than Bluerobotics Ping sonar but it isn't being sold yet.
We are looking for Arduino enthusiasts who able to maintain this device and who can make open libraries.


Kogger

I still wonder if here is somebody who could help me out with making libraries for the module?

lesept

Hi Kogger
Do you still need help or have you found someone to help you?
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Kogger

#24
Nov 10, 2019, 01:28 pm Last Edit: Nov 10, 2019, 01:51 pm by Kogger
The issue is still actual.

You can find description of the protocol here: https://github.com/koggertech/Kogger-Protocol
Filename: "KoggerSonic SB protocol.odt"

These weekends I tested the module on the river.
Here are some pictures I got:




J-M-L

#26
Nov 10, 2019, 11:21 pm Last Edit: Nov 11, 2019, 06:22 am by J-M-L
Hello Kogger,
Just to make sure I get this right, could you clarify that the ID passed in the protocol :


actually corresponds to the Commands IDs?


and it's not a frame ID or something else? (a small typo in that second table, although less poetic, I suppose you meant Euler angles not angels :) )


Also can you confirm the MARK and RESPONSE are mutually exclusive? and what's the exact logic to confirm you received a response from the device?

Does the host need to set the RESPONSE bit for every commands it sends? Seems the description of this bit is incomplete, should I read that as "Request response from the device. Used only for the direction host to device commands"

What are the default Serial specifications of the connection (baud, data, parity, and stop bits). SERIAL_8N1 is common on Arduino (eight (8) data bits, no (N) parity bit, and one (1) stop bit)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

J-M-L

#27
Nov 11, 2019, 12:58 pm Last Edit: Nov 11, 2019, 03:49 pm by J-M-L
I went through the spec and as I had a couple hours available this morning, I threw some test code together (attached below)

That could form a first exploration path for your device from an Arduino and later made into a class/library.

Of course I don't have the device, so this is based on high level read of the spec and a couple of hours of work, so not much is implemented nor even tested (I just know this compiles :) )

if you run this code on an ARDUINO MEGA, with your board attached on Serial1 (pins 18 and 19 - careful 5V) and join grounds, and if your device does communicate at 115200 bauds in SERIAL_8N1 mode, then may-be you should be able to see some action...

The Serial config is defined at the very top of the code by
Code: [Select]
#define KS_SERIAL_BAUD_RATE (115200)
#define KS_SERIAL_CONFIG (SERIAL_8N1) // see options @ https://www.arduino.cc/reference/en/language/functions/communication/serial/begin/
#define KS_SERIAL Serial1



Opens the Arduino Serial monitor @115200 bauds

The program will display
Enter Command:
1. CMD_YPR
2. CMD_QUAT
3. CMD_TEMP
4. CMD_VERSION
------------------------------


type either 1,2,3 or 4 and enter

A command request frame (hopefully according to your spec) is built and sent over the Serial port to your device.

The program listens for any correct frame asynchronously (there is a state machine to wait for the SYNC1 and SYNC2 bytes and then read the frame of the right length till the Check Sum bytes).

When I get a well formed frame back (ie the checksum was correct), I print some information.

I did not implement any data extraction and of course only basic commands, it's not memory optimized either.

I don't have much time at the moment, but may be that could help get things started from this community.







Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

AProof

Hi, J-M-L!

Of course I don't have the device, so this is based on high level read of the spec and a couple of hours of work, so not much is implemented nor even tested (I just know this compiles :) )
However, it works great!

Thanks for the easy start with Arduino!

J-M-L

Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Go Up