Announcement

Collapse
No announcement yet.

FPGA based UNIPI system

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

  • #91
    Looking good Moodz.
    Did you wind that toroidal inductor or is it off the shelf?

    cheers

    Comment


    • #92
      Originally posted by Mdtoday View Post
      Looking good Moodz.
      Did you wind that toroidal inductor or is it off the shelf?

      cheers
      ripped out of a switchmode supply .. nothing special though.

      Hey I was trying to compile the display code and I am geting multiple define errors ..
      for instance in
      LCD.h on line 14

      Click image for larger version

Name:	image.png
Views:	205
Size:	22.6 KB
ID:	432903
      then we have later in the same file ... on line 315

      Click image for larger version

Name:	image.png
Views:	204
Size:	39.7 KB
ID:	432904

      The compiler is saying this is a redefinition of Up_cnt and throws a wobbly .... there are many errors of this type ... any clues ?​

      Comment


      • #93
        Originally posted by moodz View Post

        ripped out of a switchmode supply .. nothing special though.

        Hey I was trying to compile the display code and I am geting multiple define errors ..
        for instance in
        LCD.h on line 14

        Click image for larger version

Name:	image.png
Views:	205
Size:	22.6 KB
ID:	432903
        then we have later in the same file ... on line 315

        Click image for larger version

Name:	image.png
Views:	204
Size:	39.7 KB
ID:	432904

        The compiler is saying this is a redefinition of Up_cnt and throws a wobbly .... there are many errors of this type ... any clues ?​
        moodz, KingJL here... that code originated here and I think you have an early version. When I moved the code to STM (originally developed for Microchip in MPLAB) I had to correct those errors. I think I sent the code for the STM library shortly after you and Brian first arranged access to the LCD. If you cannot locate it, I will send it to you again.

        Comment


        • #94
          Originally posted by KingJL View Post

          moodz, KingJL here... that code originated here and I think you have an early version. When I moved the code to STM (originally developed for Microchip in MPLAB) I had to correct those errors. I think I sent the code for the STM library shortly after you and Brian first arranged access to the LCD. If you cannot locate it, I will send it to you again.
          Thanks James, yes it was an early version.



          Comment


          • #95
            Originally posted by Mdtoday View Post

            Thanks James, yes it was an early version.


            Hi Guys ... Please send again as I think I may have overwritten the later version with an earlier version somehow.

            Comment


            • #96
              Originally posted by moodz View Post

              Hi Guys ... Please send again as I think I may have overwritten the later version with an earlier version somehow.
              Oh its in my inbox LOL thanks.

              Comment


              • #97
                Its compiling ... I can work forwards again.

                Comment


                • #98
                  Added a "Insta balance" button to the prototype detector and pressing this will instantly rebalance the detector.
                  Here is a video that shows the operation where we tape a ferrite to the coil ... balance it out and keep detecting.

                  https://youtu.be/yILb9zJeOE8?si=Qxv-qLz_r1_1hZWS

                  Comment


                  • #99
                    Getting ready for a field test this weekend ... working through some small problems like when you change the ground balance rotary encoder the output chimes ( alot ) due to the sensitivity.

                    Also heres a question .. I disonnected power to the TX and the detector still works fine ( low sensitivity ) but fine. How is this so ? ( could be a trick question ).



                    ​​
                    Attached Files

                    Comment


                    • I wanted the detector to initialise with ferrite cancellation in place when the detector is first turned on ... ( so the user does not have to do it ).

                      The phase resolution on the trial FPGA detector unit is 180/1024 = 0.17578125 degrees ... ( it may seem a bit rediculous using so many decimal places ... but have to remember I am using 32 bit whole numbers ... so every digit actually counts).
                      A rotary encoder takes care of business for adjust the discrim.

                      Anyway the short story is that ferrite cancels at 1.93 degrees and this is the turn on setting of the detector now.

                      Comment


                      • Originally posted by moodz View Post
                        I wanted the detector to initialise with ferrite cancellation in place when the detector is first turned on ... ( so the user does not have to do it ).

                        The phase resolution on the trial FPGA detector unit is 180/1024 = 0.17578125 degrees ... ( it may seem a bit rediculous using so many decimal places ... but have to remember I am using 32 bit whole numbers ... so every digit actually counts).
                        A rotary encoder takes care of business for adjust the discrim.

                        Anyway the short story is that ferrite cancels at 1.93 degrees and this is the turn on setting of the detector now.
                        doh that was before I synchronised the pulse generator at startup ...its really 7.38 degrees ....hmm.

                        Comment


                        • Checking with AD on the availability of the AD7760 ... it seems it was previously not recommended for new designs but that status has changed recently ( last few weeks ) to full production as I believe it is used in certain military designs that cant do without it LOL and they are using lots of them.


                          So now at the point of ( subject to field testing ) finding / desiging a FPGA or CPU or FPGA CPU combo board which can do the detector engine ( fpga part ) and will bolt straight onto the AD7760 ( even the eval board is good value and saves a ton of effort ) as there is now a truly universal detector platform where you can have PI, VLF, IB or mixture by switching code in the "engine" and making very minor changes in the TX/RX module which could be relays or switches or electronic switches ( which only deals with the waveforms and input protection ) The frontend TXRX module can be the same for any detector mode. The wideband ADC can capture any waveform for demodulation and all the software building blocks are in the FPGA ( mixers / oscillators / demodulators / integrators / correlators / clocks / uarts / spi / etc etc ... you just have to connect the data paths together to change stuff. The internal VGA display generator in the FPGA lets you "see" any waveform and any number can be displayed on the screen also. The only time I used a CRO was to look at the TX waveform on the coil. This has been so handy for development it has saved months of debugging time as you can literally see the errrors in the waveforms. As a user tool you can dial up the sampled voltage right off the coil so you can see if your coil is even working or overloading or you want to see the noise coming in ( like from LED lights etc ).

                          This is why you dont need amplifier at the front end of the direct sampling ADC metal detector.
                          Click image for larger version

Name:	image.png
Views:	180
Size:	45.4 KB
ID:	433354

                          My design is sitting at 28 bits resolution at the output ( and I still have maybe 1 or 2 bits of headroom with tweaking ) so the noise is running at +/- 3 bits ( noise from the coil not the ADC ) so I am looking at the 6 nV resolution range with maybe worst case 48 nV of noise. What amplifier can I bolt on there that would make a meaningful difference without upsetting the noise floor ? ANS = practically none. and thats why you dont need one ... if you run out of gain keep lifting the bit count and I reckon I could reach 32 bits with extreme tweaking.

                          Comment


                          • Paul, stop mucking around, go 64 bit at 2Msps.

                            Comment


                            • I have been in France for 6 weeks .. so back on the tools when the jetlag blows over.

                              Comment

                              Working...
                              X