Announcement
Collapse
No announcement yet.
PICKINI V4 - an easy to build, self adjusting PI detector
Collapse
X
-
Hello Bernard,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
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:
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.- 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.
- 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.
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
-
Thanks.Originally posted by BC547 View PostWith 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
-
@dbanner
You could take a couple of late samples with the ADC of the steady state DC value of the signal.Also to implement some sort of automatic GEB. Or ground substraction.
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
-
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.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
Thanks.
Comment

Comment