Announcement

Collapse
No announcement yet.

I.B. Detector Project. ROBERT HOOLKO, will this help at all?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • I.B. Detector Project. ROBERT HOOLKO, will this help at all?

    Robert,

    You could "cheat" with this one as follows, in that you only need to take TWO samples to give you the phase angle.

    From the driver for the TX, take a normal phase shift network as used in most detectors. Feed this into a TLO72 to square it up, and feed it into a divider to give you approximately 200Hz output (this is the SAMPLE rate at which you will test for finds). Feed this 200Hz signal into a monostable to give a narrow pulse width, which will reliably trigger your micro with an interrupt.

    Take the output from your front-end amplifier to a PEAK detector (NOTE, the peak detector MUST be of the resettable type, and the TRAILING EDGE of the phase ref. pulse from the TL072 RESETS the peak detector) then to one input of a 4066 electronic switch. Branch off a second output from the F.E. amp, to another switch input on the 4066.

    Connect the two control lines of the switches to one bit of an output port on the micro, one with an inverter in the path, so that one input is selected when the bit is high, the other when the bit is low.

    Connect BOTH outputs to the input of the 10 bit ADC (biased around centre as you already have).

    Now , when an interrupt arrives, read the DIRECT PATH FIRST, FOLLOWED by the peak detector, you MUST ensure that a software delay is in place to allow a ½ cycle (FTx) delay, BEFORE you then read the peak detector. Also the action of reading the direct path, must “gate off” the detector reset signal from the TL072 thus stopping the normal set/reset cycle, and allowing the detector to read the TRUE peak of that cycle.

    Instead of the phase ref. resetting the peak detector, the rising edge of the read peak detector cycle will provide the reset. It will also restore the normal set/reset cycle of the circuit.

    Right, now you have TWO values, one for the INSTANTANEOUS value of the incoming wave (signed), and the PEAK value of the incoming wave.

    Apply the formula;

    Phase Angle = Sin-1(V(instantaneous)/V(peak)).

    This is a derivative of the V(instantaneous)=V(peak)*SIN(Phase Angle).

    Now you’ve VERY MUCH relieved the workload on the micro.

    You phase angle calculation should be accurate to approx. +/- 0.1 degrees.

    Providing you can eliminate any jitter then you should very easily be able to get this order of accuracy.

    I tried the above, but "jerry built" it with one a few full cct diagrams, so if anyone wants a copy, I'll have to redo the whole thing

  • #2
    ADDENDUM

    If you use your wide dynamic range input circuit, then I suppose the level of angular accuracy would become VERY high.

    One downfall of this system, is that if the peak detector maximum tracking capability is exceeded, the whole result will be meaningless, so some form of "overload" detection would have to be incorporated.

    I still haven't got round to this, but give me a few hours, and I'll figure it out (I hope)

    Comment


    • #3
      Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

      Sean

      Thanks for the suggestion.

      With respect to taking 2 samples per phase measurement instead of 4, that can be done whether using arcsin(instantaneous/peak) or arctan(a/b). The reason that I want to use 4 samples is that each sample consists of signal+offset+noise. Signal is the part I want to know. Offset is a bias that drifts with time and temperature but is fairly consistent from one sample to the next. Noise is random and is different from sample to sample.

      By taking two samples of A 180 degrees apart I get A+offset+noise and -A+offset+noise. If I subtract the second sample from the first I get A+A+offset-offset+noise-noise. If the offset is the same in both samples it cancels out leaving A+A+noise-noise. If the noise is really random (not all of it is) the sum of n noise samples will probably have an amplitude of the square root of n times the average noise amplitude, giving 2A+1.4noise. So by taking two samples of A I canceled out the offset and reduced the noise by the square root of 2. Of course what I am saying about noise is only statistical, that is not exactly what you get on each measurement.

      Taking 4 samples where 2 would do is certainly more work for the processor, but I think it was a good tradeoff. It saves me from having to calibrate the A/D offset (and recalibrating often) and it improves the signal to noise ratio.

      With respect to using a sample rate of 200 Hz vs 2200 Hz, the lower rate is certainly fast enough to get a bunch of samples over the target, but again it comes down to noise. By taking n times as many samples as I need, I improve the signal to noise ratio by the square root of n. Basically I want to take as many samples as I possibly can and integrate them to get a better quality signal. I would sample every 90 degrees if the processor was fast enough. Remember that I am trying to do this without any external filtering, so the signal I am reading is target signal plus ground signal. If the ground signal is a hundred times as large as the target signal (or more) 10 bits is not really enough. I am using all the extra samples I am taking to effectively increase the number of bits of data I have to work with.

      You are right that the load on the processor could be reduced quite a bit and it would probably still perform ok in air tests, but I do not think it would do very well in the ground. Also it is turning out that the processing load is not as much of a problem as I expected. Instead it is program memory that I am running out of.

      Generating a demodulator clock by phase shifting the transmit coil voltage and putting it through a comparator gives a clock signal with phase jitter on it. I do not know the magnitude of this jitter, but I suspect that it is responsible for most of the noise I hear in my XLT when the coil is sitting on the ground and not moving. This is one thing that I specifically wanted to avoid in this design if at all possible. An advantage to generating the clock that way is that it automatically compensates for phase shifts in the transmit coil due to large ferrous or conductive objects near the coil. I expect to have to use a look up table to compensate for that phase shift, but I have not bothered with it yet.

      Robert

      Comment


      • #4
        Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

        Hi Robert,

        Oops, I had not read the other "later" posting on your design, but see that this is a VERY interesting project.

        Do you plan to post citcuit diagrams at all, as I'm working on something similar, but using 3 tuneable frequencies.

        I plan to TX multi frequencies, and demodulate three, which can be selected or "tuned" out of the transmitted range.

        Any help you could give would be appreciated.

        I plan to use a seperate channel for the ground signal.

        Comment


        • #5
          Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?




          Sean

          I had some circuit diagrams in Parts 14 and 23. Those circuits are connected directly to the microprocessor board.

          This is a picture of the whole setup. The microprocessor board is in the center. The transmit circuit is on the right, and the preamp is on the left. The grayed out area at the top is a different project.

          Robert

          Comment


          • #6
            Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

            Hi Robert,

            Have you tried the MAX1402 18 Bit Sigma-Delta converter?

            I've just ordered the eval kit, and will be trying what you have done so far on this.

            The MPU used is a 68HC16. I have no idea what speed it's running at and will let you know what I find (if I can get it running).

            Another of my ideas, was to scale a dual input 10 bit ADC so that one input was ranges up to 100mV, after that the input switched to the second input. The overall effect of the scaling I intended, and the arrangement gives the equivalent of a 20 bit convertor.

            So far, I keep falling over my feet as to how to arrange the system, but I saw a similar one for measuring down to nasno Teslas in an MRI unit, which had a dynamic input range of 190dB!! If we can acheive that, we'll be right up there!

            Have you thought of doing it in the time domain? Just amplify the signals until they square up, then measure the time between them.

            I wrote a piece of VHDL to create a device in a MAX7256 (Altera) which took two inputs, A & B, and measured the LAG/LEAD of one WRT the other. Accuracy was about .25 degrees. Output was in the form of a 12 bit word.

            The system worked in real time, and could be modified to take the average of say 8 consecutive angles, and give an average.

            Comment


            • #7
              Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

              Sean

              The Delta Sigma's have a lot of bits but they tend to be slow. The Max 1402 gives you 16 bits at 480 samples per sec. You would need a sample and hold for each phase you read.

              Using different scaling for different inputs to a 10 bit A/D lets you read signals over a wider dynamic range. I do this in my project to get 2 more bits of dynamic range. But the resolution of each reading is still only 10 bits. The scaling helps if you read a small signal on one sample and a large signal on another sample. But it does not help when you take one sample that has a small target signal plus a large ground signal.

              Measuring phase shift by measuring time delay would probably work for air targets where phase shift is large, but I do not think it would work for targets in the ground. If you have a target that causes a 90 degree shift relative to the ground phase (foil), and the ground signal is 100 times as strong as the target signal then the composite signal only shifts about half a degree. Telling the difference between a 90 degree target and a 100 degree target would be very difficult.

              Of course it all gets much easier if you demodulate and filter the signals before the A/D. But the goal of my project was to use a minimal amount of analog hardware and do everything in software. I don't recommend this approach to anyone else, I just wanted to see how far I could get with it.

              Robert

              Comment


              • #8
                Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

                Robert, have a look at this;

                http://www.signalogic.com/hw/sd4.htm

                Might be more useful than a 10 bitter.

                Not cheap though =(,but the Crystal Semiconductor ADC might be useful.

                An alternative is to Oversample using the Maxim 18 bit to give you more effective resolution, by using the system of tieing all 4 inputs channels together, and taking sample one from CH.1, sample 2 from CH.2 etc, then sample 5 from CH.1 again, this gives you a sample rate of 4 X the ADC's max useable, and is used in DSO's etc.

                Comment


                • #9
                  Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

                  Any body having a detector able to detect below 7 feet underground ,having 10 KGs of Aluminium,and able to discriminate.

                  Comment


                  • #10
                    Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

                    I am working on similar problems myself.I really want to have the micro(pic16f877)do most of the work.I think the main thing is to cancle out the ground signal first then use scaling as you suggested.Each time you double the gain adds another bit to the resolution.
                    I think that measuring the time delay is the way to go,especially if a faster micro is used,
                    100 mhz sx should give plenty resolution.
                    Maxim do some great simultaneous sampling ADC's but I need to strike a balance between low parts count and performance.
                    You guys are streets ahead of me in terms of ability,I hope you don't mind me sticking my oar in.
                    Keep up the good work and keep posting.

                    Cheers. Alan

                    Comment


                    • #11
                      Re: Alan Craik

                      Alan,

                      I've re-written the VHDL to include a median filter.

                      This takes into account 16 samples of the incoming phase shift, and averages them out.

                      I'm also working on a version which can correct the jitter that I usually see.

                      I suspect that generating the TX wave in the same device, and using a divider chain should clean things up no end, if not eliminate jitter altogether.

                      Using a TCXO for the main oscillator should also help. as will implementing PLL's in the digital domain, as all timings are relative if the whole of the chip floorplan is used.

                      I'll post the files for use with Altera MAX+II as soon as I've verified them.

                      Comment


                      • #12
                        Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

                        Robert,

                        I've got the Eval kit for the Cirrus Logic CS5396 it's a 120DB 128X oversampling 24Bit Sigma Delta 96KHz ADC!

                        NOW, if you interleave the two channels (it's a stereo device) then that takes you to 256X oversampling and 123dB input range.

                        With your input amplifiers set to attenuate (/2), Gains of 2 ,16, 32, 64, your range reaches a phenomenal 43dB!!!

                        Whichever way you go you MUST remove ALL DC components from the incoming waveform BEFORE you sample. I'm not sure but I think this device can handle bipolar inputs. CHECK THIS BEFORE YOU BLOW IT UP!

                        Available from Sequoia Technology for £137.93 +VAT (about $200). Plugs into the printer port of your PC, then you can use Borlands C++ Visual Builder to implement analogue style phase meters VERY easily. You can even use source code for FFT's that you can pull from the 'web'.

                        Kit has drivers, and should behave like a Microsoft SoundSystem (Parallel port input device). If not there is source code for drivers in C on the supplied CD's.

                        With a PC you can have 2GHz of processing power to play with!

                        Comment


                        • #13
                          Re: I.B. Detector Project. ROBERT HOOLKO, will this help at all?

                          Have a look at this;

                          It might have something you can use.



                          Click Here

                          Comment


                          • #14
                            Re: Alan Craik

                            Sorry this is my first visit to this forum.I glanced at the first page and jumped in (up to my neck).When I bothered to read some of the earlier postings I realised the amount of time and effort you guys have already put into this.It's nice to know that as I aimlessly struggle to come up with something that works,other people actually know what they are doing and are willing to go public,thanks for that.
                            My design doesn't know if its a PI or VLF at present.I am using a seperate board,power supply and microprocessor for the transmit side{pic16f84).Communication between the two boards is via optocoupler's.This setup is probably more usefull on the PI side but the main microprocessor is relieved of a lot of work so I,ll stick with it.
                            Anyway,I have interfered enough.In future I will be scanning these pages with interest and awe

                            Good luck
                            Alan

                            Comment


                            • #15
                              Re: Alan Craik

                              Hi Alan,

                              I'm willing to help you ALL I can if you wish. Email me personally include circuit diagrams and I'll modify and return them if needed.

                              I'm an Electronics Engineer by trade, but enjoy messing around with this stuff.

                              I run a detector repair business, so I get to see ALL types of machines and see how they work.

                              Initially, A LOT of improvements can be made to standard machines if the manufacturers learned how to lay out PCB's properly. I know one manufacturer who hasn't even heard of the use of "guard rings" on the input to JFET Op-Amps!!!!

                              The use of ground planes would also make for quieter machines, and proper wiring (as White's have done)helps also. Most machines are thrown together like a handful of old spaghetti!

                              It's not so much poor design that let's some machines down, as poor implementation.

                              Comment

                              Working...
                              X