Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Minelab 8000

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

  • Now let's focus to anti-interference type of the last IB-coil configuration (4 inch coil height size) and see how it is performing.
    RX-main and RX-bucking coil must have same total flux area.

    Comment


    • Hi all,

      I should have made a same size concentric co-planar IB coil for comparison as well. Maybe a DD coil too.
      The final comparison should convince some of the sceptics.

      I have made two anti-interference coil configurations. But they didn't work well. I have to try more configurations.
      Aziz

      Comment


      • Hi all,

        I have added an equivalent size concentric co-planar (CC) IB-coil to the coil comparison. RX coil has half diameter of the TX coil. This is the most efficient and optimal CC-IB coil design. The TX bucking coil has maximum coil coupling coefficient to the RX coil (is placed in the geometric mean position of the RX coil) and requires minimum number of turns count. And TX and RX coils are distributed over a large volume space and can be made basket-weaved type too.
        I am looking for an equivalent size DD-IB coil in the mean time before I put the target responses of the new coil designs into the Excel file.

        This is the CC IB-coil model:
        Click image for larger version  Name:	Concentric-Co-Planar-0.5R-IB12.png Views:	0 Size:	422.6 KB ID:	446680 Click image for larger version  Name:	Concentric-Co-Planar-0.5R-IB13.png Views:	0 Size:	1.72 MB ID:	446681

        Comment


        • I have added the latest target response data of the concentric co-planar IB coil to the Excel file.
          Before I make more coil simulations, the coil wire generation functions must be improved for complex coil designs.
          Below is the zip-file of the Excel file.
          Attached Files

          Comment


          • Hi all,

            as I have mentioned earlier, my coil software needs an update to support complex shaped coils.

            So the new (bundle type) coils will be defined in it's own x/y plane system, defined in an external file as successive polar form coordinates, rotatet in x/y/z plane and then moved to its position.
            We will be able to model DD, DOD, Omega or any shape coil type with more accuracy.

            The implementation of the new features will take some time.
            ​Cheers

            Comment


            • Originally posted by Aziz View Post
              Hi all,

              as I have mentioned earlier, my coil software needs an update to support complex shaped coils.

              So the new (bundle type) coils will be defined in it's own x/y plane system, defined in an external file as successive polar form coordinates, rotatet in x/y/z plane and then moved to its position.
              We will be able to model DD, DOD, Omega or any shape coil type with more accuracy.

              The implementation of the new features will take some time.
              ​Cheers
              Whereas the AI already did that yesterday and gives you a free set of steak knives with every new design ...

              Comment


              • Originally posted by moodz View Post

                Whereas the AI already did that yesterday and gives you a free set of steak knives with every new design ...
                Sure, AI does everything, what you ask for. Except things, which AI hasn't been trained for.

                But I don't need the AI for trivial tasks. It is a plain straight forward programming task. I will enjoy to do it by myself. And I will be independent of any AI.

                Comment


                • Originally posted by Aziz View Post

                  Sure, AI does everything, what you ask for. Except things, which AI hasn't been trained for.

                  But I don't need the AI for trivial tasks. It is a plain straight forward programming task. I will enjoy to do it by myself. And I will be independent of any AI.
                  The AzIz. system. Where can I get access .....

                  Comment


                  • Originally posted by moodz View Post

                    The AzIz. system. Where can I get access .....
                    I know, you are very very happy to have the AI.
                    Ok, I give you something.

                    Here are some basic core implementations of the Biot-Savart-Law. This is the most important part of calculating the magnetic field for a single wire element.
                    I have implemented different formulas for testing purposes. But I don't know, which is beeing currently used.
                    It is straight forward. Basic vector calculus math: Add, Sub, Scalar multiplication, Dot product, Cross product, Unit vector, Vector length, etc.

                    Code:
                    //-----------------------------------------------------------------------------
                    // Spulen-Berechnung nach Gesetz von Biot-Savart
                    //  Magnetfeld eines einzelnen Leiterelements berechnen
                    //  nach Formel von James D. Hanson und Steven P. Hirschman
                    //  "Compact expressions for the Biot-Savart fields of a filamentary segment", 2002
                    //  Formel 8 implementiert
                    
                    void BiotSavart8_fWF(LPVEK H, LPVEK P, LPLEITER L, double fWF)
                    {
                      VEKTOR  _ds, _ds0, _Ri, _Rf;
                      double  fRi, fRf, fRiRf, fk, fn;
                      double  fL, fRiplusRf;
                    
                     
                      // Magnetfeld eines einzelnen Leiterstücks berechnen
                      //
                      VekSub(_Ri, P, L->L1);
                      VekSub(_Rf, P, L->L2);
                      VekSub(_ds, L->L2, L->L1);
                      VekCopy(_ds0, _ds);
                      fL = EinheitsVektor(_ds0);
                     
                      fRi = BetragVektor(_Ri);
                      fRf = BetragVektor(_Rf);
                      fRiRf     = fRi * fRf;
                      fRiplusRf = fRi + fRf;
                    
                      VektorProdukt(H, _ds0, _Ri);
                    
                      fn = fRiRf * (fRiplusRf*fRiplusRf - fL*fL);
                      if (fn != 0.0)
                      {
                        fk = 2*fL*fRiplusRf / fn;
                    
                    #ifdef _4PI_AUSSCHLEIFE    
                        VekMulSkalar (H, fWF*fk, H);
                    #else
                        VekMulSkalar (H, fWF*fk/_4PI, H);
                    #endif
                     
                      } else
                        VekZero(H);
                      
                    }
                    
                    
                    
                    //-----------------------------------------------------------------------------
                    // Spulen-Berechnung nach Gesetz von Biot-Savart
                    //  Magnetfeld eines einzelnen Leiterelements berechnen
                    //  nach Formel von James D. Hanson und Steven P. Hirschman
                    //  "Compact expressions for the Biot-Savart fields of a filamentary segment", 2002
                    //  Formel 9 implementiert
                    
                    void BiotSavart9_fWF(LPVEK H, LPVEK P, LPLEITER L, double fWF)
                    {
                      VEKTOR  _Ri, _Rf;
                      double  fRi, fRf, fRiRf, fdotRiRf, fk, fn;
                    
                     
                      // Magnetfeld eines einzelnen Leiterstücks berechnen
                      //
                      VekSub(_Ri, P, L->L1);
                      VekSub(_Rf, P, L->L2);
                      fRi = BetragVektor(_Ri);
                      fRf = BetragVektor(_Rf);
                      fRiRf = fRi * fRf;
                      fdotRiRf = SkalarProdukt(_Ri, _Rf);
                    
                      VektorProdukt(H, _Ri, _Rf);
                    
                      fn = fRiRf * (fRiRf + fdotRiRf);
                      if (fn != 0.0)
                      {
                        fk = (fRi + fRf) / fn;
                    
                    #ifdef _4PI_AUSSCHLEIFE    
                        VekMulSkalar (H, fWF*fk, H);
                    #else
                        VekMulSkalar (H, fWF*fk/_4PI, H);
                    #endif
                     
                      } else
                        VekZero(H);
                      
                    }
                    
                    //-----------------------------------------------------------------------------
                    // Spulen-Berechnung nach Gesetz von Biot-Savart
                    //  Magnetfeld eines einzelnen Leiterelements berechnen
                    //  nach Formel von James D. Hanson und Steven P. Hirschman
                    //  "Compact expressions for the Biot-Savart fields of a filamentary segment", 2002
                    //  Formel 9 implementiert mit Amperes Law
                    
                    void BiotSavart9AmpLaw_fWF(LPVEK H, LPVEK P, LPLEITER L, double fWF)
                    {
                      VEKTOR Vb, Vpar, Vsenk, ptEdge;
                      double k, r;
                    
                    
                      // Vector projection
                      //
                      VekSub(Vb, P, L->L1);
                      k = Vek_Projektion(L->ds, Vb);
                      VekMulSkalar(Vpar, k, L->ds);
                      VekSub(Vsenk, Vb, Vpar);
                      r = BetragVektor(Vsenk);
                    
                      // inside/outside of the conductor check
                      //
                    
                      if (r < L->LeiterR)
                      {
                        if (r <= SMALL)
                        {
                          // (almost) at the center of the wire conductor -> Zero magnetic field
                          //
                          VekZero(H);
                          return;
                        }
                    
                        // inside of the wire conductor -> linear combination of the max magnetic field at the edge of the wire conductor
                        //   calculate magnetic field at the edge of the conductor and scale it linear to r/R
                     
                        // ptEdge calc
                        VekAddSkalarMul(ptEdge, P, L->LeiterR/r - 1.0, Vsenk);
                    
                        // H-field at the edge of the wire conductor
                        BiotSavart9_fWF(H, ptEdge, L, fWF);
                    
                        VekMulSkalar(H, r / L->LeiterR, H);
                      }
                      else
                      {
                        // outside of the wire conductor -> standard magnetic field calculation
                        //
                        BiotSavart9_fWF(H, P, L, fWF);
                      }
                     
                    }
                    
                    //-----------------------------------------------------------------------------
                    // Spulen-Berechnung nach Gesetz von Biot-Savart
                    //  Magnetfeld eines einzelnen Leiterelements berechnen
                    //  Andere implementierung nach dB=(µ0*I/4pi*R) * (cos(phi1) + cos(phi2))
                    void BiotSavartCos_fWF(LPVEK H, LPVEK P, LPLEITER L, double fWF, double r)
                    {
                      VEKTOR  _R1, _R2;
                      double  cosa, cosb;
                    
                     
                      // Magnetfeld eines einzelnen Leiterstücks berechnen
                      //
                      VekSub(_R1, P, L->L1);
                      VekSub(_R2, P, L->L2);
                      EinheitsVektor(_R1);
                      EinheitsVektor(_R2);
                    
                      cosa = SkalarProdukt(L->ds0, _R1);
                      //cosb = -SkalarProdukt(_R2, L->ds0);
                      cosb = -SkalarProdukt(L->ds0, _R2); // same as above
                    
                      //VektorProdukt(H, _R1, _R2); // same as below
                      VektorProdukt(H, L->ds0, _R1);
                      EinheitsVektor(H);
                    
                      if (r != 0.0)
                      {
                    #ifdef _4PI_AUSSCHLEIFE    
                        VekMulSkalar (H, fWF *(cosa + cosb)/r, H);
                    #else
                        VekMulSkalar (H, fWF *(cosa + cosb)/(_4PI*r), H);
                    #endif
                     
                      } else
                        VekZero(H);
                      
                    }
                    
                    //-----------------------------------------------------------------------------
                    // Spulen-Berechnung nach Gesetz von Biot-Savart
                    //  Magnetfeld eines einzelnen Leiterelements berechnen
                    //  Andere implementierung nach dB=(µ0*I/4pi*R) * (cos(phi1) + cos(phi2))
                    void BiotSavartCosAmpLaw_fWF(LPVEK H, LPVEK P, LPLEITER L, double fWF)
                    {
                      VEKTOR Vb, Vpar, Vsenk, ptEdge;
                      double k, r;
                    
                    
                      // Vector projection
                      //
                      VekSub(Vb, P, L->L1);
                      k = Vek_Projektion(L->ds, Vb);
                      VekMulSkalar(Vpar, k, L->ds);
                      VekSub(Vsenk, Vb, Vpar);
                      r = BetragVektor(Vsenk);
                    
                      // inside/outside of the conductor check
                      //
                      if (r < L->LeiterR)
                      {
                        if (r <= SMALL)
                        {
                          // (almost) at the center of the wire conductor -> Zero magnetic field
                          //
                          VekZero(H);
                          return;
                        }
                    
                        // inside of the wire conductor -> linear combination of the max magnetic field at the edge of the wire conductor
                        //   calculate magnetic field at the edge of the conductor and scale it linear to r/R
                     
                        // ptEdge calc
                        VekAddSkalarMul(ptEdge, P, L->LeiterR/r - 1.0, Vsenk);
                    
                        // H-field at the edge of the wire conductor
                        BiotSavartCos_fWF(H, ptEdge, L, fWF, L->LeiterR);
                        //wrong! BiotSavartCos_fWF(H, P, L, fWF, L->LeiterR);
                    
                        VekMulSkalar(H, r / L->LeiterR, H);
                      }
                      else
                      {
                        // outside of the wire conductor -> standard magnetic field calculation
                        //
                        BiotSavartCos_fWF(H, P, L, fWF, r);
                      }
                     
                    }
                    The magnetic flux (for induction, inductance, etc.) is beeing calculated using the Monte-Carlo-Method (random distribution point calculations).

                    I'm sure, Claude Code can implement such magnetic field calculations too. It is a matter of time, doing this task.
                    Aziz

                    Comment


                    • Hi all,

                      before I am going to touch, modify and add features to the AI-free coil software code, I want to check the asymmetric (dual-side) Top-Hat coil design with anti-interference configuration (EMI noise reduction feature). Total coil height will be something in the range of 5 - 10 inch. This design usually allows a much larger TX coil, better pin-pointing due to smaller RX coil and two sides for hot and mild ground conditions. But I have to make it same size (18 inch) to be able to compare it to the other existing coil configurations.
                      Aziz

                      Comment


                      • Hi all,

                        the first AI (anti-interference) Top-Hat IB-coil didn't do well enough. The top and bottom RX coils (green) have the same number of turns count but are wound in opposite direction. The coil structure fits into 6 inch coil housing height. Approx. 5 mm space is left at top and bottom side of the coil for the coil housing. So total 6 inch coil height.

                        Click image for larger version  Name:	Top-Hat-AI-1.png Views:	0 Size:	381.3 KB ID:	446904 Lets see the second one in the next thread.

                        Comment


                        • This is the second AI Top-Hat IB-coil. The TX bucking coil is now at the bottom place and has same winding direction as the TX main coil.
                          Will there be at least 20 dB EMI noise reduction at approx. 6 inch vertical offset of the RX coils?

                          If yes, we can crank up the RX front-end amplifier by additional factor of x10 (+20 dB) and can compare it's performance compared to other coil configurations.
                          It is coming very close to the mono coil performance at the bottom side at depth. Or even outperforming in the low depth region. Be careful comparing the top side. As the coil is 6 inch height, subtract 6 inch from target height.

                          Now the pics:
                          Click image for larger version

Name:	Top-Hat-AI-2.png
Views:	106
Size:	405.0 KB
ID:	446906 Click image for larger version

Name:	Top-Hat-AI-2-2.png
Views:	99
Size:	982.3 KB
ID:	446907 Click image for larger version

Name:	Top-Hat-AI-2-3.png
Views:	100
Size:	567.6 KB
ID:	446908 Click image for larger version

Name:	Top-Hat-AI-2-4.png
Views:	100
Size:	440.4 KB
ID:	446909
                          The new version of the Excel table including both new coil configurations for comparison is in the attachment.
                          Cheers,
                          Aziz

                          Comment


                          • And the mild ground side (top region) of the AI Top-Hat IB-Coil 2 is really an outperformer!
                            Provided that, we can achieve 20 dB EMI noise cancellation.
                            One reason more for dual-side search coils.

                            Comment


                            • Hi all,

                              regarding the EMI noise cancellation:
                              We have to distinct between near-field EMI noise source and far-field EMI noise source.

                              At home, in buildings, nearby power line sources etc. we have a mostly near-field EMI noise sources.
                              The anti-interference coil might not be able to fully cancel all the noise sources as both RX coils will detect the difference EMI noise because the RX coils are placed in different locations.

                              In the field:
                              Far-field EMI noise sources dominate. All near-field EMI noise sources becoming far-field noise sources.
                              We have a good EMI noise cancellation. Far-field noise is caused by wind & clouds (electric charged), far located transmitters, electromagnetic storms (caused by sun eruptions, flares), far located power lines, far located other EMI noise sources, lightning storms, ..
                              This will be usually the normal operating case and we should be able to achieve at least 20 dB EMI noise cancellation.

                              Comment


                              • Hi all,

                                regarding the complex shaped coil designs:
                                I have been thinking of to use external CAD tools and importing the coil model into my software. But I'm not familiar with CAD tools.
                                But I'm familiar with NEC antenna modelling tools. I have even made a tool, which makes complex shaped coil designs fully programable.
                                I could write an import function for NEC models. The NEC export function of coil models does already exist.

                                On the other hand, a simplified implementation to describe a complex shaped coil design within the coil software is much more easier to handle.
                                I think the latter option is the best option. More features can be extended later..

                                Comment

                                Working...
                                X