dgsharp
Newbie level 2
- Joined
- May 15, 2012
- Messages
- 2
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Location
- New Jersey
- Activity points
- 1,308
I'm working on a very crude acoustic phased array for fun, to help me learn about beamforming. I'm shooting for very low cost and as simple as possible, and I was hoping I could get some advice. (Sorry if this is the wrong forum, I couldn't decide which was most appropriate! I'm using a microcontroller but the phenomena are analog.) Here's what I have right now:
- 10 piezo transducers of the type with a disk in the back of a plastic housing, and the sound emanates from a hole in the center. Resonant frequency seems to be around 3.8kHz
- low-power microcontroller (Arduino in this case)
- element spacing is 1.3", I can change this without too much trouble
The way I'm driving the transducers is super cheesy, directly from the microcontroller GPIOs. I actually just toggle the output state once (high/low -- 0/5V) and the transducer rings at its resonant frequency for around 5ms or so. I can successfully steer a beam in any azimuth angle from about -60 to 60 degrees, but I'm only getting maybe 4dB increase in SPL along the axis of the beam. So I would say it is without a doubt working, but I was really hoping that it would be much less audible for off-axis directions. Does anyone have any ideas? Running it continuously rather than single "chirps" doesn't seem to change this.
Here were some of my thoughts:
- Maybe the element spacing is more important than I thought? I somewhat arbitrarily chose 1.3" spacing just to make it a reasonable size. Do you think going to a lambda/2 spacing (about 1.7") would make it any quieter off the beam axis, or maybe just louder on-axis?
- Maybe I need to filter my square wave signal that is driving the transducers? I could try an RC filter. I have some doubts though since the transducer does most of the ringing on its own and the waveform looks quite sinusoidal to my eye, I just give it one little "kick" usually.
Final question: if I had a basic simulator it might help me play with factors like spacing and see how to optimize my system. Any recommendations?
Thanks so much for any help you can give! I am hoping to make a simple scanning rangefinder demo for fun.
- 10 piezo transducers of the type with a disk in the back of a plastic housing, and the sound emanates from a hole in the center. Resonant frequency seems to be around 3.8kHz
- low-power microcontroller (Arduino in this case)
- element spacing is 1.3", I can change this without too much trouble
The way I'm driving the transducers is super cheesy, directly from the microcontroller GPIOs. I actually just toggle the output state once (high/low -- 0/5V) and the transducer rings at its resonant frequency for around 5ms or so. I can successfully steer a beam in any azimuth angle from about -60 to 60 degrees, but I'm only getting maybe 4dB increase in SPL along the axis of the beam. So I would say it is without a doubt working, but I was really hoping that it would be much less audible for off-axis directions. Does anyone have any ideas? Running it continuously rather than single "chirps" doesn't seem to change this.
Here were some of my thoughts:
- Maybe the element spacing is more important than I thought? I somewhat arbitrarily chose 1.3" spacing just to make it a reasonable size. Do you think going to a lambda/2 spacing (about 1.7") would make it any quieter off the beam axis, or maybe just louder on-axis?
- Maybe I need to filter my square wave signal that is driving the transducers? I could try an RC filter. I have some doubts though since the transducer does most of the ringing on its own and the waveform looks quite sinusoidal to my eye, I just give it one little "kick" usually.
Final question: if I had a basic simulator it might help me play with factors like spacing and see how to optimize my system. Any recommendations?
Thanks so much for any help you can give! I am hoping to make a simple scanning rangefinder demo for fun.