Assignment

This week assignment was Design and build a communication systems. As i have made an ultrasound sensor board before, i decided to make a communication board using ultrasound sensors.

As we refer to the word "Communication" in electrical world, we usually mean the radio communication such as bluetooth and Wi-Fi. But those communication tools cannot be put in the water. Because water will easily absorb those signal. But ultrasound wave can spread in the water as it is a kind of mechanical wave. All we need is a water proof ultrasound sensors as follow:


To make the output signal big enough to trigger the ultrasound sensors, i use a motor driver L298N to drive the ultrasound. I called it the communication modem. Throw this modem we can communicate in the water. The structure of my system is as follow:


I use the PCB i made last week as the MCU to control the sensors. Only the timer and IO port function used.

Encoding

To communicate throw the ultrasound we need to encode it first. We can use the basic encoding tools: ASK. ASK carries binary signal. When it got the signal, it's refer to "1". Otherwise it's "0".
So here is the way how to use ASK in this communication. We seperate the time into several zone, each zone carries a binary signal. And we combine the "0" and "1", we can get a code like"1100 0001", that means "C1" in hex. Using ASCII code, we can use ASK to exchange the code.


In the program, we need to send the signal and decoding it. I set several timer to count the signal. Here is my c file.Ultrasound

Here is my test image. I tested it in my lab in Gezhi.


I connect the receive board to computer. Using a serial reader to see the data.


Basically there is no error in receiving data. But it's very slow. The bit rate is about 0.001k/s. How to communicate more data using this system? I will working into it.

Problems

Using ultrasound in communication is a very new idea, i encountered several problems when i do this. First thing is how to count the trig signal of the ultrasound. I set several timers to count the signal. It is pretty hard when using attiny MCUs. So i use atmega 128 at last. It contains more timers.
The other problem is how to design the circuit to trigger the ultrasound. I use several amplifier to trigger the signal. Instrumental amplifier is always my first choice. Otherwise you may not get the amplified signal.

How to made a underwater communication system?

I think making an underwater communication device a bit difficult, mainly due to the adjustment algorithm. But my code can be used directly, it is not hard.

1. Create a attiny the minimum system. This has been done in the previous lesson many times. Which leads to an output and an input port corresponding to the transmission and reception of ultrasonic waves.
2. Purchase a transceiver waterproof ultrasonic sensor, as mentioned just above. Of course, you can buy only send or received only a sensor, but that will increase the difficulty of communication.
3. The need to understand the communication because the programming principle, I have already mentioned in the above, the direct line of programming code.
4. connected to both ends of the ultrasonic probe to different pins, in the case usb powered, wireless communication can be subjected to ultrasonic approximately 10cm in clean water.
5. In order to increase the communication distance, I use L298N driver module to amplify the driving voltage. The only link L298 IN and OUT to different pins on the line, very simple to use.