I was expecting the ZCD to detect zero volts crossing, but you are right, noise might impose a threshold above 0 V.
I also thought that ZCD will allways happen before envelope .
On step # 3 , you are mentioning that the meaasurement might not be in the appropiate pulse, so you get the diff and if it is less than 200 (half pulse), then you add another pulse (400) . if diff is more than half pulse (200), then you remove one.
My question to you is how do you know that this is needed? and what nakes you think that if diff>200 then substract one pulse.
Regards,
zenon
PS : Will let you know my progress . So far , just on the analog side . I have two oamp LM358 for first stage (instead of your transistors), then a precision recitifer (because the diode 1N4148 was not working) , ZCD and envelope detector .
One of my problems is that the tranducer cables, pick the signal from the sending end.So, when I receive the signal, I have a strong one (picked by the cable) and the real signal , very weak.
My question to you is how do you know that this is needed?
What we get is the difference "diffav" now this value will vary as shown by the wind function.
Using this function we can determine what is needed for a given value.
pick the signal from the sending end
I used twin shielded microphone cable to feed the transducers. Earth the shield only at the circuit board.
I hope the opamps work. It will simplify the circuit layout.
hello;
1-i construct the circuit correctly but when i download program to my arduino(arduino uno) it gave me unreal and constant values.I just download operation part and i dont have lcd so i wanna use pc for monitor how can i do this is it possible?
2-Another problem is with transducers(tr-40-16b) my transducer has two pin one is short and another one is long how can i connect transducer to circuit?we have to use just microphone cable? so how can i connect these transducer with microphone cable?
Thanks...
I can't follow this. What exactly gives you these values? Is it the Arduino IDE ?
Please provide exact details on what you have connected.
two pin one is short and another one is long
The drive signal is a balanced pair one wire for each pin(long or short). You should use shielded cable which
has a third connection - the shield.
Earth the shield at the circuit board end and leave the end at the transducer unconnected.
What exactly gives you these values? Is it the Arduino IDE ?
yes ? use arduino 1.0 program. But when ? download calibrate temperature program to the arduino uno with using arduino 1.0, it gave me -10 ,-9.87,-10... values from serial monitor but ambient temperature is 23 C.
Please provide exact details on what you have connected.
? convert your connection in a useful way for my ardunio because your connection is according to the atmega 328. For example, in your circuit you connect temperature connecion to the 28. pin ( PC5 (ADC/SCL) ) ? connet it in my circuit to the analog input 5 pin. Another example you connect zcd conection 4. pin (PD2 (INT0) ) i connect it in my circuit to the digital pin 2.
Actually i couldnt understand what you said about transducer pins, you mean that i shouldnt connect short pin anywhere and i should just connect long pin to one of my third connections cable and shielded connections at earth so i have one more connections what about it?
Thank you very much for your fast replies
Good job Carl, nice anemometer. Im trying do create my own, my phase shift works well, but my TOF values changes a lot in some wind ocasions. I used the circuit of this article: http://www.ozitronics.com/docs/k168.pdf ....
What happens is that sometimes the transistor saturates on one period after or before the actual period, that is the correct one. This occurs because of the variation of the amplitude of the receiving signal that changes with the wind. The transducers dont have the same properties, that means that a 8m/s wind on one pair works well, and a 8m/s on the other one doesnt. I was thinking on making two different amplifiers that uses different gains, but in some wind ocasion the same problem will happen.
Do this happens with your TOF detection circuit and you get a lot of measures to compensate that? Or is it more robust? Do you have any ideas to help?? Thank you.
Then you mentioned the other problem about transducers behavior and define Northerror[20] .
Why 20 values? An again the logic , even is there, not sure to follow why.
This relates to your problem of the differences.
From the project report we compensate using software:
We do run into another problem. Ultrasonic transducers are not symmetric for transmission and
reception. The devices are not linear components and even worse the symmetry changes with
temperature.
You can match them as north-south, east-west pairs. It's properly a good idea to do so.
However we do need to have a constant which is used to match the pairs as closely as possible.
This constant will need to change with time as the temperature changes.
I use:
int Northerror[20]; //The tof error for north-south transmit
We keep a running sample of the differences when the difference should be zero.
Hi Carl,
im having some problems here, i would like to know how do you get Zero Crossing Detecting... Here, if I do this I get a Square Wave all the time because of the noise, that keeps crossing zero. How do you detect that the zero crossing isnt a noise? Do you have any graphic that shows the reception wave + the zero crossing at the same time?
Thank You.
I'm currently laying up the digital part of the circuit in Eagle with an Arduino Nano as the plugin CPU. I'll then move onto the analog part, starting with the existing circuit but I expect to move to an all op-amp solution pretty quickly.
hi carl, i´m new here in the forum, i have some question about the conection of the ultrasonic sensor it´s ok if I connect my north sensor ping ground with H2 and ping signal with H1, east sensor Ping signal with H6 ground ping with H5, south sensor ping signal with H3 ground ping with H4 and west sensor ping with H7 ground ping H8. I´ts correct this connection and why in H4 are connected at 8 volts. thanks for your answer
hi carl, I also need know how is the connection of H1,H2,H3,H4,H5,H6,H7,H8. And in the analog circuit the H11 were is connected or where use this connection. thanks for your answer
(analog)H2, H5, H7 and (digital)H10 are earth and are all connected.
(analog)H1 is the amplifier input and is connected to the (digital)4052 pin 3 designated as "amplifier".
(digital)H1 and H2 go to north transducer.
345678 go to the others.
(analog)H3 goes to the (digital)328 pin 5 designated as "envelope".
(analog)H6 goes to the (digital)328 pin 4 designated as "ZCD".
(analog)H8 goes to the (digital)328 pin 28 designated as "temp".