Announcement

Collapse
No announcement yet.

PICKINI V4 - an easy to build, self adjusting PI detector

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

  • New free web space found:





    Comment


    • Originally posted by BC547 View Post
      @Boadil
      Glad you still like it 10 years later.
      You could still improve it:
      - adapt the main slicing level of the comparator with an an analog ground sample to introduce some sort of automatic GEB
      - port it to a newer Microchip microcontroller
      - preferably one with an internal clock speed higher than 32 MHz = more resolution to measure the pulse width
      ​- port the code to the Microchip IDE instead of the MikroC environment I used at the time
      - draw a new PCB with Kicad or some other up to date tool
      - possibly introduce 2 different slicing levels for the comparator to get some idea of the slope and possibly some sort of rudimentary discrimination based on conductivity

      I tried porting the Pickini4 code to an Arduino Nano once, but it lacked all sorts of nice features that were present in the 16F1824: speed, lack of comparator hysteresis, ADC resolution and speed, ...

      Feel free to give this project a new life - or temporal sampling in general.

      Best regards from Belgium,
      - Bernard
      Hello Bernard,
      What is your opinion on using (temporal sampling) the Microchip(specifically the PIC18F16Q41​) with a bi-polar (H-drive)TX and this RX front end:


      ​​​​​ Click image for larger version  Name:	RX front end.png Views:	0 Size:	14.3 KB ID:	453370

      A microcontroller's internal hardware comparators can only handle positive voltages relative to common ground (0V to (VDD). we will now tap into both internal comparators simultaneously (Comparator 1 for VOP and Comparator 2 for VON) to process the dual-polarity decay tails natively​. Maybe more can be done with this in the software.
      1. During a Positive Pulse Cycle: The coil discharges a standard positive flyback decay tail. Your differential receiver stage processes this, and the signal appears as a positive-going voltage decay curve on the VOP line.
      2. During a Negative Pulse Cycle: The coil collapses in the opposite polarity, creating a negative-going flyback tail. Instead of forcing the microchip to read a negative voltage, your inverter/differential amplifier stage flips this inverted signal upside down, outputting it as a clean, positive-going decay tail on the VON line.
      Also to implement some sort of automatic GEB. Or ground substraction.

      Of course I know this will be on a different thread.
      ​

      Comment


      • With the PIC18F16Q41​ you have a clock speed of 64 MHz = timer resolution of 16 ns. Which doubles the resolution of Pickini V4
        You can gate TMR1 with the comparator outputs.
        The comparators should have hysteresis.

        Looks very promising.
        If I had time I would redesign the Pickini concept with a more recent PIC controller.
        The attempt I made with an Arduino Nano was not a success. The Arduino can be used as a programmable pulse generator (PWM), but the analog comparators and clock (16 MHz) were insufficient.

        Comment


        • Originally posted by BC547 View Post
          With the PIC18F16Q41​ you have a clock speed of 64 MHz = timer resolution of 16 ns. Which doubles the resolution of Pickini V4
          You can gate TMR1 with the comparator outputs.
          The comparators should have hysteresis.

          Looks very promising.
          If I had time I would redesign the Pickini concept with a more recent PIC controller.
          The attempt I made with an Arduino Nano was not a success. The Arduino can be used as a programmable pulse generator (PWM), but the analog comparators and clock (16 MHz) were insufficient.
          Thanks.

          Comment


          • Originally posted by BC547 View Post
            thanks

            Comment


            • @dbanner

              Also to implement some sort of automatic GEB. Or ground substraction.
              You could take a couple of late samples with the ADC of the steady state DC value of the signal.
              Then adapt the slicing level to the comparators accordingly: eg keep the slicing level a steady 0.5V lower than the "ground" level.
              Slicing voltage = 10bit PWM output + RC filter ( like in Pickini V4).

              If you want to do automatic DC level setup at startup = DC offset level of the opamps, do not use a DAC output like I did in Pickini V4.
              The DAC output only had 31 levels and switching from one level to another caused a major jump at the opamp output - to be compensated in software by a huge delay ( 1 second ) between each step.

              - Bernard

              Comment


              • Originally posted by BC547 View Post
                @dbanner



                You could take a couple of late samples with the ADC of the steady state DC value of the signal.
                Then adapt the slicing level to the comparators accordingly: eg keep the slicing level a steady 0.5V lower than the "ground" level.
                Slicing voltage = 10bit PWM output + RC filter ( like in Pickini V4).

                If you want to do automatic DC level setup at startup = DC offset level of the opamps, do not use a DAC output like I did in Pickini V4.
                The DAC output only had 31 levels and switching from one level to another caused a major jump at the opamp output - to be compensated in software by a huge delay ( 1 second ) between each step.

                - Bernard
                I did a basic schematic, most of which is taken from well known Bi-Polar PI scheme. This is just for the concept (the schematic is not complete, and is missing some important parts). The initial firmware will be simple just to see if the darn thing will work at all. It belongs in a different thread though.
                Click image for larger version  Name:	dynamic temporal sampling detector.png Views:	0 Size:	166.9 KB ID:	453452

                Thanks.

                Comment


                • Since I don't see any external RC filter to use a PWM output as the comparator slicing level, I assume you will be using the internal DAC for this ?
                  The 16F1824 only had 5 bits for the DAC level, but this PIC seems to have a programmable number of bits for the DAC output?

                  Anything you can do with the internal opamp ?

                  And use the NCO for audio generation ?

                  Comment

                  Working...
                  X