Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

An IB developement platform

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

  • An IB developement platform

    Hi everyone,

    Last year I was finally able to design my first IB metal detector. Now I’ve decided to run some experiments using a more modern approach—this design is heavily based on the Quasar ARM metal detector.
    • TX: half-bridge with discrete MOSFET driver
    • RX: MCP6022 (single supply)

    The TX side is fairly self-explanatory. It consists of a half H-bridge driven by discrete components. I think most of this could be eliminated by using a half-bridge driver with an integrated gate driver, or by moving directly to a full H-bridge with an integrated driver. For now, I’ll leave it as is. The input is controlled by a PWM signal that sets the strength of the TX signal. The TX current is averaged and made available for measurement through the MCU’s internal ADC.

    The RX side consists of a differential amplifier with active compensation for residual coil imbalance. A signal generated by the MCU’s DAC is calculated to mitigate the effects of a not-perfectly-balanced coil. The conditioned signal can be acquired either directly by the MCU’s ADC (with an STM32F303, that’s 12 bits at a few MSPS) or by an external AD7685 SPI ADC (16 bits, 250 kSPS). Both options are available on the board.

    The power supply section is pretty straightforward: input protection, a +5 V regulator for the TX circuit, a +5 V regulator for the analog front end (to be replaced with a low-noise version as soon as possible), and a 3.3 V regulator for logic. Here I have to give a shout-out to the original designer for the extremely clever power-button arrangement. Basically, BTN1 allows the voltage to pass through Q1, and once the MCU has booted, it keeps the gate of Q1 pulled to GND through Q3. The best part is that BTN1 remains usable by the MCU. Incredibly smart design.

    The audio section is also taken from the Quasar ARM design. The S_F signal is a square wave at a given frequency, with its amplitude modulated by S_A—an analog signal generated by a second MCU DAC. At least, that’s my understanding of how it works.

    Both the PCB and the components are on their way, and I expect them to be delivered by the end of the month. In the meantime, I have a question I’d like to ask:
    1. In the RX circuit, all resistors are thin-film with 1% tolerance, they’re kept physically distant from switching signals, the MCP6022 has very low noise performance, and all capacitors are NP0. However, doesn’t the compensation DAC signal ruin everything? The output of a DAC isn’t particularly clean, and it only goes through minimal filtering. Is that really enough? What are the effects in terms of overall noise performance?

    Please note that there is no MCU on the PCB. I plan to test the design using a Nucleo board to avoid pin-assignment mistakes. An ST7789-based display will also be connected to the system.

    Schematic is attached. Unfortunately I am unable to attach the KiCad project due to its size of 10MB (3MB limit), and I am also unable to attach STL files for the enclosure (STL not permitted for some reason).

    Please let me know if you think this can be improved in any way, or if you have other ideas or suggestions.
    Attached Files

  • #2
    Interesting work.
    A few comments based on a very quick overview:
    On the TX, diodes D7,D10 could be combined in one package. Trans Q6 would benefit from a pull-down resistor from base to 0V. Maybe a speed-up cap ( eg. 47pF ) in parallel with R14 ? Maybe consider a small-signal Schottky diode between Q6 b and e to limit saturation and keep switching speed up ?

    Edit: Try encapsulating the STL inside a .zip file, it should pass then.

    Comment


    • #3
      Thank you for the observations. I used a BAT54S to replace D7 and D10 (not in my inventory right now but it is pin to pin compatible with BAV99, which I have. BAT54S will have better performances). I also added a speed up cap and a pulldown on Q6. I guess the schottky should be between B and C, but I guess © It would not make so much difference.

      I also added some clapping diodes to the ADC signal. If the MCP6022 is 5V powered and I want to use an STM32 internal ADC, I cannot go beyond 3.3V.

      Attached Files

      Comment


      • #4
        Click image for larger version  Name:	image.png Views:	0 Size:	67.1 KB ID:	445141
        and ADS1252​

        Comment


        • #5
          Another topic without meaning, beginning, end...

          Comment


          • #6
            Apologies, typing too quickly. Yes, the Schottky diode is between base and collector .... when the transistor turns on reasonably hard, the C drags down the B, limiting turn-on, and hence preventing saturation of the C-E.

            Regarding the ADC driver 6022 circuit:
            You can put a resistor divider network on the output of the opamp, such that a saturated-to-rail output has about 3V5 at the tapping point. Enclose the tapping point inside the feedback loop. Then the tap can never give an over-voltage to the ADC. Though the tapping resistors form part of the feedback loop, you are taking the output from the tap, not the opamp, so you don't have to adjust the feedback resistor values.

            Another topic without meaning, beginning, end.."

            This one likely has a better chance, because Pep is a competent engineer.

            Comment


            • #7
              Originally posted by Skippy View Post
              Apologies, typing too quickly. Yes, the Schottky diode is between base and collector .... when the transistor turns on reasonably hard, the C drags down the B, limiting turn-on, and hence preventing saturation of the C-E.

              Regarding the ADC driver 6022 circuit:
              You can put a resistor divider network on the output of the opamp, such that a saturated-to-rail output has about 3V5 at the tapping point. Enclose the tapping point inside the feedback loop. Then the tap can never give an over-voltage to the ADC. Though the tapping resistors form part of the feedback loop, you are taking the output from the tap, not the opamp, so you don't have to adjust the feedback resistor values.

              Another topic without meaning, beginning, end.."

              This one likely has a better chance, because Pep is a competent engineer.
              Thank you for the support!

              Comment


              • #8
                Originally posted by pito View Post
                Click image for larger version Name:	image.png Views:	0 Size:	67.1 KB ID:	445141
                and ADS1252​
                That is a very good solution. It saves a lot of components and €€€. The ADS1252 is quite a leap from the AD7685 BUT I had an interesting conversation with ChatGPT. Basically it looks like that the internal ADC of an STM32 can have the same performances as the AD7685, the lack of resolution is compensated by the much higher sample rate. The full conversation is here: https://chatgpt.com/share/6988a177-0...c-096c8cede67f

                Comment


                • #9
                  It is necessary to move away from cascades with resonant capacitors. Resonance systems are sensitive to phase shifts.

                  Comment

                  Working...
                  X