Announcement

Collapse
No announcement yet.

Modified sketch for improved timing precision.

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

  • #76
    Originally posted by Teleno View Post

    Glad it worked for you. I appreciate your feedback but where's my share of the bounty?
    Left your share at the beach ... too heavy to post

    Comment


    • #77
      Originally posted by SaltyDog View Post

      Theory is one thing, where are all your results from field testing ...
      The current design works very well. The op-amp has a very good gain/bandwidth product, and can easily do 1000 gain with little noise, so why not?
      I have tried in the past lot's of dual op-amp designs and they have all performed worse than the single high gain solution.
      Again theory is one thing, but you have to actually do the field testing ..
      I'm talking from the field experience of my own design, this full digital signal processing PI with a 17-gain fast preamp. Less than 5us sampling delay,

      https://www.geotech1.com/forums/foru...-added-bonuses







      I had done the Minipulse Plus before with the same kind of RC removed.

      It doesnt make sense in theory, it doesn't make sense in the field either (as expected).

      Comment


      • #78
        Originally posted by SaltyDog View Post
        The op-amp has a very good gain/bandwidth product, and can easily do 1000 gain with little noise, so why not?
        Gain-BW-product of the NE5534 is 10Mhz. At 1000 gain the BW is a mere 10KHz. My 61 y.o. eardrums do better than that..

        Comment


        • #79
          2 Stage with the ADA4807 works well for the preamp.

          Comment


          • #80
            C6-R13 slightly reduces EFE but it is the differential sampling of the demod that does most of the cancellation. Personally, I don't include the high pass filter as I don't find it to be all that useful. On the preamp, I've found that single stage vs two stage depends on the exact opamp being used. For some opamps, single stage is more optimal, for other opamps two stage is faster. Ferinstance, a long overvoltage recovery time may make a 2-stage preamp too slow.

            Comment


            • #81
              I can confirm the NE5534 is fast enough. Just for interest, I swapped out my slowish coil (20uS) for a 160uH spider-wieve coil, and now
              I can detect small gold at 200mm with sample delay set to 5uS .. and that is without optimising the damping R

              Comment


              • #82
                Redefinition of void setup

                Comment


                • #83
                  Originally posted by Teleno View Post

                  Gain-BW-product of the NE5534 is 10Mhz. At 1000 gain the BW is a mere 10KHz. My 61 y.o. eardrums do better than that..
                  Pls help
                  Arduino: 1.6.8 (Windows 7), Board: "Arduino Nano, ATmega328" 2 3 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void setup()': 4 5 Arduino_PI_Teleno:132: error: redefinition of 'void setup()' 6 7 void setup() { 8 9 ^ 10 11 Arduino_PI_Teleno:1: error: 'void setup()' previously defined here 12 13 14 15 ^ 16 17 Arduino_PI_Teleno:141: error: 'tiny4koled_init_128x32br' was not declared in this scope 18 19 oled.begin(width, height, sizeof(tiny4koled_init_128x32br), tiny4koled_init_128x32br); 20 21 ^ 22 23 Arduino_PI_Teleno:144: error: 'class SSD1306Device' has no member named 'setSpacing' 24 25 oled.setSpacing(1); 26 27 ^ 28 29 Arduino_PI_Teleno:146: error: 'class SSD1306Device' has no member named 'setSpacing' 30 31 oled.setSpacing(smallFont->spacing + 1); 32 33 ^ 34 35 Arduino_PI_Teleno:146: error: 'const struct DCfont' has no member named 'spacing' 36 37 oled.setSpacing(smallFont->spacing + 1); 38 39 ^ 40 41 Arduino_PI_Teleno:156: error: 'class SSD1306Device' has no member named 'setSpacing' 42 43 oled.setSpacing(1); 44 45 ^ 46 47 Arduino_PI_Teleno:158: error: 'class SSD1306Device' has no member named 'setSpacing' 48 49 oled.setSpacing(largeFont->spacing + 1); 50 51 ^ 52 53 Arduino_PI_Teleno:158: error: 'const struct DCfont' has no member named 'spacing' 54 55 oled.setSpacing(largeFont->spacing + 1); 56 57 ^ 58 59 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void loop()': 60 61 Arduino_PI_Teleno:272: error: redefinition of 'void loop()' 62 63 void loop() { 64 65 ^ 66 67 Arduino_PI_Teleno:6: error: 'void loop()' previously defined here 68 69 * 3 - OLED interface to visulaize the delay 70 71 ^ 72 73 exit status 1 74 redefinition of 'void setup()' 75 76 This report would have more information with 77 "Show verbose output during compilation" 78 option enabled in File -> Preferences. 79​

                  Comment


                  • #84
                    Originally posted by SaltyDog View Post

                    Left your share at the beach ... too heavy to post
                    Pls help

                    Arduino: 1.6.8 (Windows 7), Board: "Arduino Nano, ATmega328" 2 3 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void setup()': 4 5 Arduino_PI_Teleno:132: error: redefinition of 'void setup()' 6 7 void setup() { 8 9 ^ 10 11 Arduino_PI_Teleno:1: error: 'void setup()' previously defined here 12 13 14 15 ^ 16 17 Arduino_PI_Teleno:141: error: 'tiny4koled_init_128x32br' was not declared in this scope 18 19 oled.begin(width, height, sizeof(tiny4koled_init_128x32br), tiny4koled_init_128x32br); 20 21 ^ 22 23 Arduino_PI_Teleno:144: error: 'class SSD1306Device' has no member named 'setSpacing' 24 25 oled.setSpacing(1); 26 27 ^ 28 29 Arduino_PI_Teleno:146: error: 'class SSD1306Device' has no member named 'setSpacing' 30 31 oled.setSpacing(smallFont->spacing + 1); 32 33 ^ 34 35 Arduino_PI_Teleno:146: error: 'const struct DCfont' has no member named 'spacing' 36 37 oled.setSpacing(smallFont->spacing + 1); 38 39 ^ 40 41 Arduino_PI_Teleno:156: error: 'class SSD1306Device' has no member named 'setSpacing' 42 43 oled.setSpacing(1); 44 45 ^ 46 47 Arduino_PI_Teleno:158: error: 'class SSD1306Device' has no member named 'setSpacing' 48 49 oled.setSpacing(largeFont->spacing + 1); 50 51 ^ 52 53 Arduino_PI_Teleno:158: error: 'const struct DCfont' has no member named 'spacing' 54 55 oled.setSpacing(largeFont->spacing + 1); 56 57 ^ 58 59 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void loop()': 60 61 Arduino_PI_Teleno:272: error: redefinition of 'void loop()' 62 63 void loop() { 64 65 ^ 66 67 Arduino_PI_Teleno:6: error: 'void loop()' previously defined here 68 69 * 3 - OLED interface to visulaize the delay 70 71 ^ 72 73 exit status 1 74 redefinition of 'void setup()' 75 76 This report would have more information with 77 "Show verbose output during compilation" 78 option enabled in File -> Preferences. 79​

                    Comment


                    • #85
                      Originally posted by SaltyDog View Post

                      Hi, I have just added the display and can now report the following findings:

                      1. <= 20uS no targets found.
                      2. 25uS all target metals found
                      3. 70..75 uS Gold target disappears but other metals still found, Aluminium pull-tabs faint ...

                      I can also report a session down at the beach scored one gold ring and "no" rubbish dug. As I hunted at 25uS, then confirmed target at 75uS.
                      So I am a happy man.

                      Different coils and dampening may give different numbers for you. But the above discrimination is possible.
                      Pls help

                      Arduino: 1.6.8 (Windows 7), Board: "Arduino Nano, ATmega328" 2 3 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void setup()': 4 5 Arduino_PI_Teleno:132: error: redefinition of 'void setup()' 6 7 void setup() { 8 9 ^ 10 11 Arduino_PI_Teleno:1: error: 'void setup()' previously defined here 12 13 14 15 ^ 16 17 Arduino_PI_Teleno:141: error: 'tiny4koled_init_128x32br' was not declared in this scope 18 19 oled.begin(width, height, sizeof(tiny4koled_init_128x32br), tiny4koled_init_128x32br); 20 21 ^ 22 23 Arduino_PI_Teleno:144: error: 'class SSD1306Device' has no member named 'setSpacing' 24 25 oled.setSpacing(1); 26 27 ^ 28 29 Arduino_PI_Teleno:146: error: 'class SSD1306Device' has no member named 'setSpacing' 30 31 oled.setSpacing(smallFont->spacing + 1); 32 33 ^ 34 35 Arduino_PI_Teleno:146: error: 'const struct DCfont' has no member named 'spacing' 36 37 oled.setSpacing(smallFont->spacing + 1); 38 39 ^ 40 41 Arduino_PI_Teleno:156: error: 'class SSD1306Device' has no member named 'setSpacing' 42 43 oled.setSpacing(1); 44 45 ^ 46 47 Arduino_PI_Teleno:158: error: 'class SSD1306Device' has no member named 'setSpacing' 48 49 oled.setSpacing(largeFont->spacing + 1); 50 51 ^ 52 53 Arduino_PI_Teleno:158: error: 'const struct DCfont' has no member named 'spacing' 54 55 oled.setSpacing(largeFont->spacing + 1); 56 57 ^ 58 59 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void loop()': 60 61 Arduino_PI_Teleno:272: error: redefinition of 'void loop()' 62 63 void loop() { 64 65 ^ 66 67 Arduino_PI_Teleno:6: error: 'void loop()' previously defined here 68 69 * 3 - OLED interface to visulaize the delay 70 71 ^ 72 73 exit status 1 74 redefinition of 'void setup()' 75 76 This report would have more information with 77 "Show verbose output during compilation" 78 option enabled in File -> Preferences. 79​

                      Comment


                      • #86
                        Originally posted by Spectrum View Post

                        Pls help

                        Arduino: 1.6.8 (Windows 7), Board: "Arduino Nano, ATmega328" 2 3 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void setup()': 4 5 Arduino_PI_Teleno:132: error: redefinition of 'void setup()' 6 7 void setup() { 8 9 ^ 10 11 Arduino_PI_Teleno:1: error: 'void setup()' previously defined here 12 13 14 15 ^ 16 17 Arduino_PI_Teleno:141: error: 'tiny4koled_init_128x32br' was not declared in this scope 18 19 oled.begin(width, height, sizeof(tiny4koled_init_128x32br), tiny4koled_init_128x32br); 20 21 ^ 22 23 Arduino_PI_Teleno:144: error: 'class SSD1306Device' has no member named 'setSpacing' 24 25 oled.setSpacing(1); 26 27 ^ 28 29 Arduino_PI_Teleno:146: error: 'class SSD1306Device' has no member named 'setSpacing' 30 31 oled.setSpacing(smallFont-&gt;spacing + 1); 32 33 ^ 34 35 Arduino_PI_Teleno:146: error: 'const struct DCfont' has no member named 'spacing' 36 37 oled.setSpacing(smallFont-&gt;spacing + 1); 38 39 ^ 40 41 Arduino_PI_Teleno:156: error: 'class SSD1306Device' has no member named 'setSpacing' 42 43 oled.setSpacing(1); 44 45 ^ 46 47 Arduino_PI_Teleno:158: error: 'class SSD1306Device' has no member named 'setSpacing' 48 49 oled.setSpacing(largeFont-&gt;spacing + 1); 50 51 ^ 52 53 Arduino_PI_Teleno:158: error: 'const struct DCfont' has no member named 'spacing' 54 55 oled.setSpacing(largeFont-&gt;spacing + 1); 56 57 ^ 58 59 C:\Users\pc\AppData\Local\Temp\untitled28901596.tm p\sketch_oct30a\Arduino_PI_Teleno.ino: In function 'void loop()': 60 61 Arduino_PI_Teleno:272: error: redefinition of 'void loop()' 62 63 void loop() { 64 65 ^ 66 67 Arduino_PI_Teleno:6: error: 'void loop()' previously defined here 68 69 * 3 - OLED interface to visulaize the delay 70 71 ^ 72 73 exit status 1 74 redefinition of 'void setup()' 75 76 This report would have more information with 77 "Show verbose output during compilation" 78 option enabled in File -&gt; Preferences. 79​
                        Solved

                        Comment

                        Working...