Announcement

Collapse
No announcement yet.

chipKIT uno32 Arduino MD experiments

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

  • #46
    Looks like things are coming together nicely! Just be sure you don't let the blue smoke out of anything
    It hurts to look at those nice signals knowing that I paid 15 times as much for my analyzer as you did!
    The only reason I didn't go with the 2v reference for the adc is that I was concerned about the offset on my op amps since I'm not giving them a negative bias but we should certainly try it and see how it works! Can't beat doubling gain without loosing bandwidth!

    Jon
    __________________________________________________ _________________________________
    Make It Yourself Metal Detector http://www.miymd.com

    Comment


    • #47
      hello jon

      The only reason I didn't go with the 2v reference for the adc is that I was concerned about the offset on my op amps since I'm not giving them a negative bias but we should certainly try it and see how it works! Can't beat doubling gain without loosing bandwidth!
      yea i'm not either, i'm thinking of doing it on the next board, I'd like to have a "peak hold"
      reading in my software, that way i can get a voltage measurement (relative) for my gold reference piece, this way i can adjust the gain of the front end with respect to dynamic range, I've never seen that before in a metal detector, humm, maybe i did on your graph.

      well,

      hear's the latest,

      The white areas is where I'm sampling,
      The black areas is where i'm writing to the LCD display which is 7.62ms, which is about 5 times per second,

      so, in conclusion, black areas= missed GOLD!

      In my code, i'll only write to the LCD when i have a target,
      and on my LCD, i'll display the target decay. thats the only way i can figure it on a single threaded cpu............

      I'll be posting my code up to this point soon!

      Philip
      Attached Files

      Comment


      • #48
        yes that's where multi core really starts to shine...
        Throw on some more dsp workload and that black area will only grow bigger especially if your doing different TX pulse lengths and different voltages etc...

        I haven't actually tried using AGC but it certainly is an interesting idea, let me know if you find a good part.

        I'm still trying to find an easy way to disconnect the AFE from the coil during the peak of the flyback so I can use a lower input resistance but haven't come up with a super easy solution for this yet...

        Jon

        Comment


        • #49
          source code

          project update:


          attached is my code:

          it'll compile under MPIDE 0023-windows-20111221

          included are the modified dspi library, which i call DSPIa, Also you'll see that i have many tabs, it makes it a little easier for me to keep track of all the subroutines.


          Right now, I've been experimenting with the LCD, I want to be able to display the target decay curve on the LCD.
          ( i was amazed when i seen sine waves show up on the lcd screen from my signal generator)

          with the display being 84 pixels wide, and if i'm sampling 5 times during a tx pulse, the display would be a little bit too narrow, so i'm thinking about interweaving 2 or 3 tx pulses to make the display more meaningfull, another option would be to use a faster adc, That's something worth looking into also.

          Another idea is to sample until the adc reaches a certian value in order to graph long time constant objects too.

          Philip
          Attached Files

          Comment


          • #50
            well, i've been busy,
            I built the Xpi computer board, it's going to take a bit more time than I thought, to figure it out.

            So to test my chipkit metal detector idea, I now need to build some sort of coil drive, for this, i'm going to use carl's hammerhead 2 mosfet drive, it's pretty easy to build, great for starters.

            But I had a problem, I wanted to drive it with an 0 to 3.3 volt drive, and the circuit was made to run on -12 , even the pic12f683 was between -12 and gnd.

            so i came up with this circuit, i did a Ltspice sim, and it work, so i went ahead and made a pcb and it worked

            next step, mount the driver board to my project board see if it works, if it does, i'll go ahead and throw a few diodes in, a resistor, hook up a coil see what happends,

            Then I'll work on the software a little more, i want to see the target decay on lcd screen, that's the goal for now.

            attached are pictures.

            and my LTsim file.

            Philip
            Attached Files

            Comment


            • #51
              another update:

              on my driver board last post, you can see some PC board tracks UN-populated, those are
              for adum3220 isolated mosfet driver ( i want to try out Jon's idea a few post back) it has 2 channels, so i'm planning to use a channel for the TX drive mosfet and the other channel will control a damping mosfet. this damping mosfet will have a resistor in series with it, not sure about the value yet.

              The pictures below are the coil preamp, basically it's Carl's hammerhead 2 circuitry, the op amps are Lt1602 and the second stage is a THS4031, the input is controlled by a DG4157 switch.

              also on the board is a 7660S power supply for the +5 and the -5 op amp supply.

              now comes the fun part..........

              The corner board is 4 LED's yellow,orange,green,red

              here's my idea,

              i'm planning on having many different TX profiles, or what i'm calling events, each event may have a different TX pulse length or a different averaging algorithm.
              So when an event detects something, it will light an led, that way i'll be able to figure out which event works the best, and i'll be able improve on it.

              the resistor on the copper side is to keep the mosfet switch close for testing on my bench

              Philip
              Attached Files

              Comment


              • #52
                well, it's been a little while sense my last update, now that a few threads of excitement has settled down, here what I've been working on.

                one of the goals i wanted to do was be able to display the target time constant on my LCD screen, finally got it working, it's kinda crude right now, but interesting, i,ve included a few pictures and also the timing diagram for reference, the TX pulse is 50 us long, the other logic diagrams are from top to bottom

                mosi- nothing their yet, future, audio out via spi dac
                miso - spi data in
                clock- for spi
                enable- conv pin on 16bit adc
                TX pulse- 50us
                input switch- a spdt switch on the front end


                here's a video of it working

                http://youtu.be/7wdZT2Id9kM


                heres some notes on the circuit

                i'm usuing a ADuM3220 isolated 4 A dual gate driver to drive the mosfet -(suggested by jon-ecm) that chip working pretty good. on the input side directly connected to the pic32 with the power connect from the chipkit board, on the isolated side the gnd is -12 and the vcc is gnd, this chip solves a lot of interfacing problems.

                noise

                on my next try at the front end noise is important!!!!!!

                sure i can increase my running average sampling, and aver gage out the noise, but i think it's best to start at the source,
                so i'll add some filters, better op amps, and lower value resistors. and integrator figured for the conversion time of the ADC.

                questions or comments?



                Philip
                Attached Files

                Comment


                • #53
                  hello

                  just to add on my last post,

                  The reason I'm displaying the target decay on the LCD screen is , I wanted to be able to "see" the information that the computer is looking at, kinda like having a window looking into the microprocessor.

                  the way it's set up in the above picture, each horizontal pixel is about 4.5 us,

                  The middle picture seems to show a somewhat of a sine wave, interesting, i'll have to see why

                  Right now, my front end only has 1 op amp, but i'm planning on making another board.

                  my next version I'd like to include a Low Pass Filter and a High Pass Filter, the LPF I'm thinking 1.5 Mhz for the LPF but I'm not sure about the HPF.

                  anyone have some ideas about front end filtering?

                  Philip

                  Comment


                  • #54
                    Originally posted by hdphilip View Post
                    hello

                    just to add on my last post,

                    The reason I'm displaying the target decay on the LCD screen is , I wanted to be able to "see" the information that the computer is looking at, kinda like having a window looking into the microprocessor.

                    the way it's set up in the above picture, each horizontal pixel is about 4.5 us,

                    The middle picture seems to show a somewhat of a sine wave, interesting, i'll have to see why

                    Right now, my front end only has 1 op amp, but i'm planning on making another board.

                    my next version I'd like to include a Low Pass Filter and a High Pass Filter, the LPF I'm thinking 1.5 Mhz for the LPF but I'm not sure about the HPF.

                    anyone have some ideas about front end filtering?

                    Philip
                    Attached is the differential input filter I use, limiting the bandwidth to the needed frequency.


                    Tinkerer
                    Attached Files

                    Comment


                    • #55
                      good topic keep em coming ,thanks
                      i had to rush out and add a chipkkit too

                      Comment


                      • #56
                        hi Tinkerer

                        I was looking at your schematic. i see your usuing r5 and c20 as a low pass filter, I'm thinking i'll need to do the same, right now i don't have any filter in the preamp section, so on the next board i'll leave some space for it.

                        what are your thoughts on adding a high pass filter or would the benefit not worth the trouble?

                        Philip

                        Comment


                        • #57
                          project update:

                          Been doing a lot of thinking, I was wondering about input filters, gains , updating the adc.

                          Maybe thats the wrong approach for now.

                          I figure it would be best to work more with the software, although my oscilloscope display is fun to look at, I need to do some actual metal detecting with my project, just so i can see what kind of performance I'm getting with my current setup, and Then make some changes in gains, filters, adc.

                          So I've been busy writing the metal detecting software, I'll be posting soon, ( I need to add comments )

                          or just pm me and i can send you my latest


                          right now for an output i'm just usuing a red LED on my 4 LED driver board.

                          i'll upload a video of it working soon, It'll make explaining the software a little more easy.

                          Philip

                          Comment


                          • #58
                            yes it's a metal detector!!!!!

                            well here's the video:

                            http://youtu.be/uvGOy2UGedA

                            the red led is 30us TX pulse
                            the green led is 60us TX pulse
                            the orange led is 90us pulse

                            the 3 different profiles are the same except for the tx pulse, with the running average's (6 of them) set to about 100 samples.

                            The first object i wave over it is a piece of metal, the second is a small box of gold nuggets.

                            maybe I'll add some "auto calibrate" software to it, let the computer do the adjustments...

                            The frontend is a single stage LT6202 set at 100


                            I haven't adjusted the damping resistor



                            oh, it's going to get better!!!!! fast computers are fun!!!!!

                            Philip

                            Comment


                            • #59
                              10bits or 16 bits? experiment

                              was doing a little thinking today,

                              if I were to add a jumper wire from the 16 bit adc's buffer op amp to a 10bit adc input on the chipkit, make another profile in the software, i could then compare the 16bit adc sensitivity to the 10 bit adc.

                              It would work something like this:

                              the red led would light when the 16 bit adc detects a target
                              the yellow led would light when the 10 bit led detects a target

                              software will call the 16 bit adc, then it would call the 10 bit adc routine.

                              the purpose?
                              I've noticed most projects just use the 10 bit supplied in the processor, humm maybe i'm missing something........

                              questions or comments?

                              Philip

                              Comment


                              • #60
                                ...

                                That experiment is pretty much like comparing a 3 digit voltmeter with a 4 digit one. So you will measure 1.00 volts vs 1.000 volts. ... Pretty much like dropping a brick on your foot to see if it hurts.
                                It's partly a marketing and mostly a manufacturing / performance issue that prevents us seeing micros with high res ADCs integrated at the price point.
                                I run 24 bit over sampled ADCs on the chipkit and there is still headroom to move ... Even at 16 bits you still have a long way to go.

                                Comment

                                Working...
                                X