bitluni / SonarScannerV1

95 stars 23 forks source link

Scanning underwater #1

Open geofrancis opened 2 years ago

geofrancis commented 2 years ago

I would like to use your array underwater for obstacle avoidance usng Ardupilot, there are cheap waterproof ultrasonic sonar transducers that could be used, my question is due to the difference in speed of sound would the math need to be changed for it to work or is it as simple as just changing a constant for the speed of sound?

curtnichols commented 2 years ago

Calculating values for speed of sound in water depends on temperature, salinity and depth (pressure). If those inputs are constant, you could use a constant in your code.

Wikipedia has a discussion at https://en.wikipedia.org/wiki/Speed_of_sound#Water.

geofrancis commented 2 years ago

yes i have modified sr04 sonars for use in water already by modifying the constant for the speed of sound, so that was my first idea when I seen the video. I just was not sure if it's all that would need done.

a112700894 commented 2 years ago

@geofrancis excuse me,but i can't find any cheap waterproof ultrasonic sonar transducers,could you introduce me some, thanks.

geofrancis commented 2 years ago

https://m.aliexpress.com/item/32948534376.html

a112700894 commented 2 years ago

@geofrancis it seems can't work underwater. https://create.arduino.cc/projecthub/SurtrTech/measure-distance-using-jsn-sr-04t-lcd-42af60

geofrancis commented 2 years ago

I can assure you they do work. The mistake everyone makes is not testing in deep enough water.

The single transducer version has a minimum depth of 1.5m, the dual transducer version will work in as little as 15cm of water.

https://discuss.ardupilot.org/t/sonar-based-on-hc-sr04/80476

a112700894 commented 2 years ago

@geofrancis thank you very much for your reply.and if you don't mind ,I'd like to share my progress with you.

geofrancis commented 2 years ago

I have all the code running, I'm just waiting for motor drivers, amplifier and waterproof transducers to arrive.

a112700894 commented 2 years ago

congratulations!and waiting for your good news.

geofrancis commented 1 year ago

I got something working but I couldnt figure out how to get a clear picture. I have resorted to a mechanically scanning sonar for now.

My plan is to change out the communications part of the software and replace it with mavlink messages the flight controller can understand.

https://discuss.ardupilot.org/t/omni-motor-sailing-boat/75906/92?u=geofrancis

fedimakni commented 4 months ago

Hello geofrancis, I was really looking for days about similar project like the one you did underwater. Could you share your progress and how you did it? Another question: Did you figure out the schematic of the amplification and the receiver side for the video we are talking about in this post? No information regarding that is provided. Thank you very much, highly appreciate if you can help.

geofrancis commented 4 months ago

I had to reverse engineer the wiring from the video and the source code. I got it displaying something but i couldn't get a clear picture, I think I probably had some of the transducers polarity reversed. a794dfebf339ac302227bd4405905539d8092d38

kkrgzz commented 4 months ago

Hello @geofrancis! Have you ever tried analyzing the signal you receive while the transducer is underwater? And could you specify your amplifier circuit please? There might be lots of noise from different environmental source. Your media is water so you should develop your system for underwater conditions.

geofrancis commented 4 months ago

I didn't get a chance to test it in water, I was just trying to get it working in air first before I tried under water. I tried a couple of signal amplifier modules, I can't remember what one got me that image.

fedimakni commented 4 months ago

@geofrancis Did you try to teardown that ultrasonic sensor? Does it contain a normal ultrasonic sensor but just sealed? do you think a normal ultrasonic sensor put inside a waterproof enclosure can work? thanks.

kkrgzz commented 4 months ago

I didn't get a chance to test it in water, I was just trying to get it working in air first before I tried under water. I tried a couple of signal amplifier modules, I can't remember what one got me that image.

You can use TL084 IC. Here is the circuit: image You can adjust the values of resistor to change the gain value.

kkrgzz commented 4 months ago

@geofrancis Did you try to teardown that ultrasonic sensor? Does it contain a normal ultrasonic sensor but just sealed? do you think a normal ultrasonic sensor put inside a waterproof enclosure can work? thanks.

You can google electromagnetic wave propagation in different media. Also, when doctors examine pregnant women abdomens with an ultrasound device, gel is applied between the belly and the device to increase resolution and reduce breakage, this is also related with material media, you can check it.

geofrancis commented 4 months ago

the transducers have been tested in water, and do work, I done a lot of research on them last year.

https://discuss.ardupilot.org/t/sonar-jsn-sr04t/77789

https://discuss.ardupilot.org/t/sonar-based-on-hc-sr04/80476

fedimakni commented 4 months ago

My application is going to be a small range (max 30cm) and fast detection, so i think i need a transmitter and receiver not a transducer in case to detect that. My question if you know: If i use a normal sensor in a sealed enclosure will the acoustic wave penetrate that enclosure to the water and then reflected again and be detected?