Announcement

Collapse
No announcement yet.

Pi Detecting, ADC values

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

  • #16
    Pre-amp Gain of 10,000 !!!!! Are you sure this amp is recovering well before the Sampling??

    What about all the other parts/values in a PI MD design as outlined in this post:
    http://www.geotech1.com/forums/showt...880#post247880

    I adjusted many of these to obtain good sensitivity and pre-amp gain was actually decreased in the PI I built, G = 500 then gain in the next stage.
    I also added a resistor in series with the coil to decrease the coil charge Time as well as tune the TX pulse width, etc.

    PI MD's seem simple but have many factors to obtain very good results.

    Comment


    • #17
      20bits total. 10bit A-D, amplifier gain=1000. 12bit A-D, amplifier gain=256. I'm thinking 20bits minimum, probably 22 to 24 would be better with 1A peak Tx current. 8A peak Tx current could reduce required total bits, maybe by 3bits.

      Comment


      • #18
        If you must use 12 bits then think about oversampling to obtain more effective resolution.
        I believe you are limited because of the 12 bits.. 16 bits for me, is absolute minimum and my new designs use 24 bit converters with effective resolution of 20 bits.
        There is a really good reason for using higher resolution ADC and quality low noise front end - dynamic range
        As you have discovered, if you just try and average the digitized decay, the sensitivity will suffer

        bbSailor has posted valuable information about SNR, Waltr, Moodz and Green have done the same, I have suggested a proven method, albeit not 40 samples per cycle as you wish to do.
        Perhaps have a read of the links and some members projects to get a feel for what is required.
        Back to your original question of what to do with those samples, you need to remove front end offsets, static signal offsets to start with, Carl has outlined a method for you to try if you want to use the 40 samples per cycle, perhaps give that a try
        It is hard to help without seeing your front end /adc circuit, for instance , is it AC or DC coupled, how is it biased, what filtering to the ADC, what supply voltages to the op amp etc.

        Do you have a DAC in your system?
        If so, feed your ADC sample direct to your DAC so you can see what your system is seeing, it may surprise you.

        cheers

        Mdtoday
        Last edited by Mdtoday; 08-07-2018, 01:49 PM. Reason: Missed more intended info

        Comment


        • #19
          Originally posted by Mdtoday View Post
          If you must use 12 bits then think about oversampling to obtain more effective resolution.
          I believe you are limited because of the 12 bits.. 16 bits for me, is absolute minimum and my new designs use 24 bit converters with effective resolution of 20 bits.
          There is a really good reason for using higher resolution ADC and quality low noise front end - dynamic range
          As you have discovered, if you just try and average the digitized decay, the sensitivity will suffer

          bbSailor has posted valuable information about SNR, Waltr, Moodz and Green have done the same, I have suggested a proven method, albeit not 40 samples per cycle as you wish to do.
          Perhaps have a read of the links and some members projects to get a feel for what is required.
          Back to your original question of what to do with those samples, you need to remove front end offsets, static signal offsets to start with, Carl has outlined a method for you to try if you want to use the 40 samples per cycle, perhaps give that a try
          It is hard to help without seeing your front end /adc circuit, for instance , is it AC or DC coupled, how is it biased, what filtering to the ADC, what supply voltages to the op amp etc.

          Do you have a DAC in your system?
          If so, feed your ADC sample direct to your DAC so you can see what your system is seeing, it may surprise you.

          cheers

          Mdtoday
          Hello, Yes I have tested how well the ADC samples the input signal. I have sent the ADC values to the serial port and plotted them. it exactly samples the input signal. I mean it is fast enough to ovoid aliasing.

          Comment


          • #20
            How much of a detector circuit do you have built?

            What micro are you using Atmel , Dspic, Arm?

            Are you using DMA transfers, interrupts or polling for ADC?

            If DMA or interrupt based conversions then you should have very few problems trying out Carl's suggested method.
            You can average over n cycles and as each sample is isolated, you can combine in whatever combination is required.
            Keep in mind the response time of the detector though and in that regard, increase the TX frequency, try 1600 Hz for instance.

            cheers

            Mdtoday
            Last edited by Mdtoday; 08-08-2018, 02:30 AM. Reason: typo

            Comment


            • #21
              Originally posted by Mdtoday View Post
              How much of a detector circuit do you have built?

              What micro are you using Atmel , Dspic, Arm?

              Are you using DMA transfers, interrupts or polling for ADC?

              If DMA or interrupt based conversions then you should have very few problems trying out Carl's suggested method.
              You can average over n cycles and as each sample is isolated, you can combine in whatever combination is required.
              Keep in mind the response time of the detector though and in that regard, increase the TX frequency, try 1600 Hz for instance.

              cheers

              Mdtoday
              I use ARM and DMA, therefore it is quite fast. I think my used opamp might be fake and it does not amplify enough or it is not as sensitive to small input variations. Now I'm investigating about it. I'll try your suggestion as well and of course if I gonna use several pulses, the response of the MD will suffer and I have to increase the frequency

              Comment


              • #22
                I have mastered the performance of pulse detectors to discriminate against iron, but I need a more stable amplification circuit. I look forward to communicating with some friends who have a deeper research on the amplification circuit. If you have research, please send me an email, thank you.

                Comment


                • #23
                  12 bits. therefore the sensitivity would be around 1mV.
                  So the total range of the ADC is 4V ?
                  What is the dynamic range of the input signal? Do you really need to measure 0V ... 4V or can you limit the lower reference of the ADC to 3V and the upper to 5V ?
                  That will give you a resolution of 2V / 4096 = 0.5 mV.
                  How much noise do you have on the signal ?
                  Have you looked at the double integration algorithms used in the examples in the book Inside the metal detector ?

                  My first designs had a 'reference' pushbutton that took the current value as reference and used that to compare with new values that might contain target info. Depending on the stability of the ground and the electronics, this is feasible over a short period = taking a new reference every x seconds.

                  Comment


                  • #24
                    I know this is almost a year old but I have been working with a PIC32 and sampling the pre-amp output as the OP of this thread.

                    First, in a typical PI detector there is considerable gain in the integrator and SAT op-amp stages. Therefore, the digitized pre-amp samples do not allow for comparative sensitivity.
                    The ADC sampled values must be gained.
                    I first sum a number of tx/rx cycles. A sum is like an average since it will decrease random noise but is not divided so values are larger. With a 32-bit processor there are plenty of bits to hold a large value so why not just keep the sum.
                    Then the method I am using is to emulate the op-amp integrator in software. This increases the 'summed' values, works like a running average (has history of older values) and decays back when target is removed. This works well to produce values for later processing.

                    For actual 'Target Detected' I 'box car' integrate the 'op-amp integrated' curve over a period that an analog PI would do as Sample 1.
                    This increases the sensitive to targets passing over the coil.

                    Now is when it starts to get interesting. We 'detected' a target now what can we do to extract information from the digitized curve?
                    I am still in the brain storming and experimental stage here. Some methods I am trying are:
                    1- do an exponential curve fit to obtain the TC of the target.
                    2- Do the Exp fit over two portions of the curve to see if this can help ID target. The curve is NOT a single exponential but a sum of exponentials so it is complex.
                    3- Do 'box car' integration of two portions of the curve and take the difference, just like an analog PI with a differential op-amp integrator.
                    4- Sample along the end of the curve sum and average then subtrate this "bias.
                    5- Generate an audio output signal that varies in frequency with changes of the target. I have not yet worked out what info to use but do know audio is most useful when using a detector.
                    6- What controls are needed. I do have pots into ADC channels for adjusting 'threshold' which needs to be easily adjusted in the field.
                    What about TX pulse width?
                    Operating modes: short TX verse long TX for fast and slow targets? Display options?
                    7- Last is what info to put onto a display. I currently am just outputting info from the UART to a terminal on the PC.

                    Comment

                    Working...
                    X