Show Posts

Pages: [1] 2 3 ... 23

3

Topics / Science and Measurement / Re: voltage divider for temp sensor

on: June 30, 2014, 09:49:39 am

Interesting; but that's when you know the coefficients in the equation and therefore the equation. The problem is when those coefficients are not known for the particular thermistor one is trying to use, in which case they have to be found and that's a complicated and time consuming process which requires special instrumentation to be used as standards. I used a thermistor a while ago and I could get temp readings within 0.1C; but that was based on the manufacturer's provided coefficients and equation. http://forum.arduino.cc/index.php?topic=194174.msg1434134#msg1434134



6

Topics / Science and Measurement / Re: problems in data measurement

on: June 20, 2014, 06:06:59 am

My only fear is that the receiver multiplexer might blow when the induced current is more than 20mA. It won't happen, the Rx circuit is conformed by Inductor, mux, and Amp Stage input in series. The Amp Stage Input impedance is too high for the current to go so high at the induced voltage levels you will get. Beware, its the Amp Stage input impedance in this case, which is affected by the feedback network there is and not the OpAmp open loop input impedance. They are different. I will try to use the pulse signal as well and experiment on it for a while. I would try to do that starting yesterday.



7

Topics / Science and Measurement / Re: problems in data measurement

on: June 17, 2014, 07:04:10 am

Probably you have built an oscillator. Open loop OpAmps can have gains of perhaps 300000. "...Too much gain and you are risking building an Oscillator instead..." (mentioned some replies ago). The coil is connected to the output and DGND. There should be a feedback network from the output to the input through the coil somewhere, probably in the ground loop as you have AGND and DGND or through some of the caps. Sometimes its through a poorly filtered Power Supply (I don't see the low value caps in the Power Supply rails, next to the OpAmp). The tiny feedback voltage drop in the feedback network, with such a huge gain is enough to provide the feedback voltage necessary to sustain the oscillation satisfying the Barkhausen critera. The 4.5mH coil is apparently the only one producing enough feedback voltage to satisfy the criteria and sustain oscillation nor the 220UH neither the 138UH you are trying to use. Lower inductance is equivalent to lower XL producing a lower voltage drop. This is a very unstable system and the freq of operation depends on factors difficult to control. To confirm this, you can remove the DDS chip (be careful to maintain everything else the same) and observe if the oscillation persists. I would walk away from such "lucky solution" and build something one can have real control of its operation.



8

Topics / Science and Measurement / Re: problems in data measurement

on: June 16, 2014, 07:03:44 am

Yes, I think there are several ways to solve that; but all of them will require major changes in your design. The fact that you are using a pure sine wave to drive the coils is a major limitation, I think. To increase the power applied to the coils that way, you will need to use linear amplifiers which are difficult to build or expensive to buy. Also that limits your ability to use the multiplexers in the driver circuits and you have to use them to apply the signal to the coils at any power you are using. These muxs, as we already checked, can't handle to much power and introduce heavy looses in your signal path as your coils reactance is very low and that's a huge limitation for your design. Furthermore, the lower the coil inductance value (L) the worst the situation is regarding to loses in the muxs Ron. Therefore, there is a need to take the muxs out of the equation, in regards to power applied to the coils to get serious improvements to your project. To achieve AM modulation of your 20KHz carrier it does not really need to be a pure sine wave (I think) and you could use something like a "Chopper" circuit and a square wave as a carrier. Using a square wave instead of the sinusoid will free your design from having to use a linear amp as the final stage to increase power and a simple non linear switching transistor can do the job. This will allow you to use the muxs in the driver stages where they will be submitted to way less power. The transformer configuration created by your coils (Tx/Rx in front of each other) will definitely introduce some distortion to the square wave signal as the whole spectrum will not pass through. Still this could be made to have a negligible effect for you application which may tolerate some THD; but I don't know as that (how much distortion is allowed) depends on the original signal you are using as the modulator (what you are trying to measure). A switching transistor as the final stage will allow you to increase Power by simply increasing the Power Supply voltage. Your modulating signal will still (I believe) affect the amplitude of the induced signal in the RX coil and you will be able to recover it the same way by using AM demodulation. You can try also to tune the coils to the fundamental freq of the square wave carrier by making a tank circuit using a cap in parallel with the coil. That way the signal will be more like the sine wave you are using now, as it will attenuate most of the other freq components. How effective the tunning is, depends on the Q factor you achieve for the tank. Another way could be using FM instead of AM, by making the Tx coil part of an oscillator circuit like a "Colpitts" design for instance. Your modulation signal will probably affect the freq (and probably amplitude also) of the signal generated because of changing the properties of the Tx/Rx transformer (coils). The received signal after amplification can be demodulated using a PLL FM demodulation circuit which is not very difficult to implement using the 4046. What I don't know though, is how linear all that process will be allowing for correct reproduction (undistorted) of your original signal at the end. That requires testing and/or knowledge I don't have. Back to the square wave AM circuit, the attached picture (in general terms) is the approach I was mentioning to you. Please be careful when increasing the Power Supply voltage (Vcc) as if it is too much, the current will saturate the coils core with max possible magnetic flux and any further increase will just be converted to heat and no useful magnetic energy, possibly destroying the coils. Furthermore you will need to make sure this approach does not produce unacceptable distortions or nonlinearities in your end demodulated signal which has to match the original one. Hope it helps.



9

International / Proyectos / Re: voltimetro true rms con arduino

on: May 30, 2014, 07:17:59 am

Correcion: Asi garantiza que fue un cruce real y no solo un "toque" de cero. Asegurate de que el indice no comience en cero para que [i1] no te de "array index out of bounds". esto es solo una aproximacion tienes que elaborarlo mas por supuesto.
if(lectura<=509&&lectura[i1]>=509) { if(Count==2) { Count=0; EndCycle=i1; CalculateRMS(); } else { Count++; } }



10

International / Proyectos / Re: voltimetro true rms con arduino

on: May 30, 2014, 06:33:18 am

Para medir cualquier frecuencia de manera automatica (solo para senales periodicas sinusoides o no) puedes colocar un detector de cruces por cero. Si usas el rectificador de precision anteriormente mencionado, entonces es solo detectar cuando la senal se hace cero y cada 2 cruces por cero calculas el valor rms. Reduce los 250 microsegundos para que sea mas rapido y obtengas mas muestras (probablemente te incremente la precision de esta manera??). Si no quieres hacer el rectificador, entonces es cuando cruza por el Vcc/2 que tienes (509).
Mas o menos asi:
if(lectura==0&&Count==2) { Count=0; EndCycle=i; CalculateRMS(); } else { Count++; }
void CalculateRMS(); //Lo mismo que ya tu hiciste solo que termina en la muestra donde termina un ciclo (EndReading) { for(byte j=0;j<EndCycle;j++) // otro for para calcular los cuadrados { // Serial.println(lecturas[j]); // para debuguear suma=suma+pow((lecturas[j]),2); // calcula la suma de los cuadrados, se resta el valor de VCC // Serial.println(suma); // para debuguear } }
Suerte.



11

International / Proyectos / Re: voltimetro true rms con arduino

on: May 30, 2014, 06:04:44 am

Esta muy bueno tu Proyecto. Muy buena idea...
Sugerencia:
Utiliza un rectificador de precision de onda completa antes de enviar la senal a Arduino. Esto te permitira duplicar el voltage que puedes medir (casi hasta 5V pico) y ademas podras medir cualquier senal, no solo sinusoides puras.
La ecuacion seria entonces:
suma=suma+pow((lecturas[j]),2);
Muy, muy bueno tu Proyecto. Buena suerte.



12

Topics / Science and Measurement / Re: problems in data measurement

on: May 29, 2014, 12:20:09 pm

Please see the above link for the inductor. Its order code is 22r224c OK good 220uH, confirmed. Ron of my Multiplexer is 300 ohm when supplying +15 v. Kind of high Ron; but you don't have too many options to solve that, I guess. Then you have to live with that for now and increase amplification until something better arises (if needed). The problem is that with XL=28 Ohm most of the energy is lost overheating the multiplexer. Then you need to be careful not to fry it. i will make the calculations and see how it goes. Good. By the way, I made a mistake when explaining to you how to measure the rms voltage with the Oscilloscope (2 replies ago). To do that with the Oscilloscope, you measure the peak to peak Voltage (Vpp) and Vrms=Vpp/sqrt(2) Wrong, it should be the "peak voltage" (Vp) and not the "peak to peak voltage" (Vpp). Peak voltage means from zero to peak. Therefore: Vrms=Vp/sqrt(2). Sorry about that, too many things going on at the same time, I guess... Whenever i solve problem another seems to arise That's normal and the reason why its so easily to get frustrated while building these things. Persevere! When i connect the oscilloscope at the filter output, i can clearly see the rectified wave That is a clear indication something is terribly wrong. You can't see the rectified signal if the filter is working properly. The filter must remove the carrier (cutoff freq<<carrier freq), so what you ought see is your original modulation signal, which should be a slow varying one with a DC level added. In other words, an average of the carrier peak voltage or its envelope. With no signal at the input all you must see is a DC level there corresponding to the amplitude (peak voltage) of the nonmodulated carrier. I think we already checked the 100 pF Cap for the filter was wrong. Also, place a 1K Resistor as the filter load (connected to ground right before the Arduino input). That way the Arduino ADC input will not be contributing to the impedance "seeing" by the filter at its output significantly (the 1K is almost unaffected by it) and you can control everything better. Furthermore, lower the 6OK resistor to about 1K also. The OPAMP can handle that with no problems and you will have a lower impedance driving the ADC. Then you calculate the Cap for a cutoff freq of about 2 KHz (10 times lower than your carrier for instance) to filter out the 20KHz rectified half wave. Read previous posts for how to do that. But when i connect it to thearduinos adc it reverts back to sine wave. That I don't know why. Solve the filter problem first, please. You are close already. Keep going.



13

Topics / Science and Measurement / Re: problems in data measurement

on: May 26, 2014, 07:48:36 pm

It is important to mention the difference in circuit analysis in the time domain and the frequency domain. Your equations apparently are mixing them both and that's also part of the problems with your results. Although they are related through the Laplace Transform (fortunately something we don't have to worry about), the time domain analysis will give you instantaneous "behavior" of the variables, that is, at any given instant in time. The frequency domain on the other hand, is used in AC circuits analysis to obtain variables "behavior" with frequency and it is invariant in time. Therefore, if both are mixed it won't work, that's why you can't calculate the rms current (Iac) using instantaneous voltage (E(t)) and reactance. The E(t) is the voltage at any t=timeyouselect instant during the AC signal, while the rms voltage as it is a periodic sine wave signal does not change with time (in the analysis).



14

Topics / Science and Measurement / Re: problems in data measurement

on: May 26, 2014, 02:02:35 pm

E = L di/dt =>  224x10^6(0.036) => 8.064 micro volts. That's the instantaneous Voltage (E(t)) across an Inductor (L) through which a current I(t) is circulating. That's not the rms voltage which is what you are after. In order to get the rms voltage you would need to perform complicated calculations with that E(t) including integration in time ( http://en.wikipedia.org/wiki/Root_mean_square). If it is a periodic signal then the rms of the signal is equal to that of one period. Since all that is not very practical to do, then what you do, is to measure the rms voltage. To do that with the Oscilloscope, you measure the peak to peak Voltage (Vpp) and Vrms=Vpp/sqrt(2) if it is a sine wave signal, as I suspect. If its not a sine wave, then that's not the equation. Another way is to use a true rms multimeter capable of operating at that frequency (20KHz in your case) and it will read the rms voltage directly for you. That could be the reason for the differences you are observing, depending on which multimeter you are using. You can read the specs and find out if it can operate at that freq. I studied these things long ago and might not remember the details very well though. I = Vac/ XL = 10 / 2*Pi*20*10^3*224*10^6 => 0.36; That looks somehow true, except for the fact that the 10Vac is applied to the serial combination of the multiplexer and the coil. That creates a voltage drop across the multiplexer also depending on its ON resistance and the current passing through. Therefore the 10Vac is not applied in its totality to the coil, part of it is lost in overheating the multiplexer. If too much, multiplexer blows. So in reality it looks like: I=Vac/(ZL+Ron) and VL=Vac*ZL/(ZL+Ron) VL(Inductor Voltage) Ron(Multiplexer ON Resistance) ZL=R+XL (Inductor Impedance) The multiplexer datasheet should tell you its ON Resistance. In a normal case, the multiplexer Ron should be way less than the Impedance of the load you are driving through it, so the voltage drop across it is negligible and most of it gets applied to the load where you want it. Furthermore, you are not considering the Ohm Resistance of the coil and calculating its impedance (Z=R+XL). That could be acceptable, if it is very low compared to its XL at the operating freq; but I have no idea about the wire gauge they are made of and the amount of turns which directly affect its Ohm Resistance. Anyways, at f=20KHz, XL=2*PI*20*10^3*224*10^(6)~28 Ohms. That is low and very well in the same order of magnitude of the inductor Ohm Resistance, therefore its Z may differ substantially from its XL. Please measure the coil resistance with a regular Ohmmeter to check how much it is. Furthermore, that low XL value could be also in the same order of magnitude of the multiplexer ON Resistance (I don't know); please check that also. If that's the case then most of the Vac is lost in the multiplexer and not in your useful load (the coils) I have the impression the 224 uH value you are mentioning may not be right though. That looks like and odd value (particularly the 4 at the end). Like caps and resistors they are "mostly" manufactured in series of standard values (from what I have seeing). If that's what you are reading on the coil itself, then the 4 may mean the multiplier and the value could be 0.22uH or 22uH instead (I don't know). If you have not done it yet, I suggest you use an inductance or RLC meter and double check the inductors' real values. Can you post a picture of the actual coil you are using? EDIT:By the way, I made a mistake when explaining to you how to measure the rms voltage with the Oscilloscope . To do that with the Oscilloscope, you measure the peak to peak Voltage (Vpp) and Vrms=Vpp/sqrt(2) Wrong, it should be the "peak voltage" (Vp) and not the "peak to peak voltage" (Vpp). Peak voltage means from zero to peak. Therefore: Vrms=Vp/sqrt(2). Sorry about that, too many things going on at the same time, I guess...



15

Topics / Science and Measurement / Re: problems in data measurement

on: May 26, 2014, 05:37:33 am

HI: Glad you made it work somehow. Most of the times it gets burned That means destroyed? Now i am trying to improve the current being sent to the inductor, I am not sure how i can send more current to it. There is a multiplexer stage inbetween the sensor and the frequency generator and if i send more than 20 mA current to the multiplexer it will definitely get burned. So clearly I need to send it afterwards.
One way could be using relays to switch the signal instead of the multiplexers. You can still use the multiplexers to activate the relays. ...Voltage drop across the inductor = AC voltage / Inductor. => VL = Vac / L... Inductive Reactance= w*L=2*PI*freq*L The voltage drop across the inductor is the voltage you measure across the inductor, either with the multimeter or the oscilloscope. I don't think you need to calculate that; but measure it. I still think you need to lower the frequency to get better results with the devices you are using. It all depends of the frequency of the original signal you are sampling, that is, the one you are measuring.



