Sonic screw driver buzzing sound.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

So i'm trying to use my FreeSoC mini to make a sonic screw driver. I'm a long time programmer, but this is my first time playing around with hardware. I've so far managed to get my device to be programmed, and run a little blue LED that turns on and off when I press a button. So I've not pressed on to making a buzzing sound. I've got a little TDK piezo speaker to make the sound. tested it by connecting my desktop's sound out to it. (3.5m to rca to bare wires. ^_^ ) so the speaker works. I wired it up with a WaveDAC on the PSoC, made sure the WaveDAC was started, got the pins right so far I can tell, But i'm not getting any sound.

   

The Pin is an anolog out over an OP Amp, strong drive. With the WaveDAC i'm just using a simple wave form at 1khz, a little above A5 on the piano. I've tried it's range selection at every choice I can that makes half a lick of sense (if 2ma doesn't work, why would 32ua?) Is it just to quiet? Do i need to make an amplifier outside the PSoC to get more power to the speaker? I have held my ear right up against the speark and haven't heard a thing. I was read to believe it was quiet and I would need an amp, but this is so quite I have a hard time believing I did it right.

0 Likes
12 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the fascinating world of PSoCs!

   

To give you a bit more help it is advisable to post the complete project here. So we all can have a look at your settings and at your code. To do so: In Creator 3 File -> Create Workspace Bundle (minimal) and the attach the resulting file (DO NOT USE CHROME!!! That will not work, use ie).

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

In order to up the swing across the Piezo wire it between 2 pins,

   

and drive the pins 180 out of phase. In a 5V system that = 10 Vp-p

   

swing.

   

 

   

Also some piezos, if buzzers, have a narrow band spectrum response,

   

so drive it with as function generator, simulating psoc, and look at its

   

resonances on a scope.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

1.       As suggested by Dana, driving the speaker with two 180 out of phase signal is better. You can drive the signal with square wave just to test.

   

2.       Do you have the whole speaker or just the speaker element?  If it is just the element, you need to mount the piezo element to some hard surface. I used to glue a dead TO-92 (without the legs) on a piece of unused PCB to the middle of the speaker.

0 Likes
Anonymous
Not applicable

Have you check that  you are using a piezo speaker and not a buzzer?

0 Likes
Anonymous
Not applicable

I didn't realize it is a "SONIC SCREWDRIVER", The Dr. would want one as a spare.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Thank you bob, my project should be posted below. I use fire fox (because who uses IE?) so maybe it will work from here.

   

blast, it is a buzzer. I got it in my Bora Board kit. So I tried it with a small speaker I pulled out of a dead laptop. That didn't work either. Not a peep.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Here is my attempt at doing what Dana suggested. I don't know if I did it right. I'm still not hearing anything. 😞

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Its not clear to me what the project is doing, some obervations -

   

 

   

1) You did not start WaveDAC8_2.

   

2) What pins are the peizo connected to ?

   

3) Both WaveDAC8s are configed as current source, not voltage

   

source which they should be. You should config as 0 4 V, buffered,

   

voltage.

   

4) If you want to use WaveDAC8 as tone source, use an opamp and build

   

a  G = -1 inverting amp, and use that to drive phase reversed output for piezo.

   

 

   

Regards, Dana

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

This is roughly an approach (Wavedacs config for Vout 4V operation, PGA high power G= 1) -

   

 

   

 

   

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Use an amplifier and a schottky-diode to short negative voltages to ground.

   

Your code (as simple as it is) looks alright. Only the output pin I would set it to "analog Hi-z"

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Forgot to add, when configing the Wavedac choose the buffered output.

   

 

   

For interface circuits, etc -

   

 

   

    

   

          http://www.maximintegrated.com/app-notes/index.mvp/id/988

   

    

   

          http://www.murata.com/products/catalog/pdf/p15e.pdf

   

 

   

If at any time you tristate both outputs to piezo then use a ~ 1M Ohm R across it to

   

bleed off potential  voltage buildup.

   

 

   

Regards, Dana.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

That did it! thank you Dana. Eventually I'll understand what all the options in the drop downs do, and how to get at wat I want. This was very helpful getting me over the inital difficulties of dealing with how this stuff works. If anyone is interested, the final design is attached below for this problem.

0 Likes