Difference between revisions of "PulseGen"

From Land Boards Wiki
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 62: Line 62:
 
== Factory Acceptance Test (FAT) Procedure ==
 
== Factory Acceptance Test (FAT) Procedure ==
  
[[File:PulseGen_5242-720px.JPG]]
+
[[File:PulseGen_TestStation_P18373-720px.jpg]]
  
 
=== Setup ===
 
=== Setup ===
  
* [[QTPy49]]
+
* [[QTPy49]] or [[QTPy49-01]] Processor card
 
* [[QT_Py_(RP2040_based)]]
 
* [[QT_Py_(RP2040_based)]]
 
** A0 - Analog Input - samples
 
** A0 - Analog Input - samples
 
* [[MyMenu]]
 
* [[MyMenu]]
 +
* Power card options
 +
** Connect USB-C to the [[QT_Py_(RP2040_based)]] or
 +
** Power from 9-12V to DC jack
 
* Cables
 
* Cables
** USB-C
+
** USB-C (power option)
** Power cable
+
** Power cable to UUT
** Analog in (BNC)
+
** Analog in (BNC) to A0 on [[QTPy49]]
 
* Terminator - dependent on build option
 
* Terminator - dependent on build option
 
** 50 Ohms
 
** 50 Ohms
 
** 75 Ohms
 
** 75 Ohms
* [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/PulseGen/PulseGen-02.py PulseGen-02.py]
+
* Unit Under Test (UUT)
 +
 
 +
=== Test Software ===
 +
 
 +
* [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/PulseGen/PulseGen_DRIVE50_Test.py PulseGen_DRIVE50_Test.py] - Tests PulseGen and DRIVE50 cards
 
** Stored as code.py on [[QT_Py_(RP2040_based)]] to auto-run
 
** Stored as code.py on [[QT_Py_(RP2040_based)]] to auto-run
* Unit Under Test (UUT)
+
** Auto-detects card type
  
 
=== Test Steps ===
 
=== Test Steps ===
Line 85: Line 92:
 
* Connect Power from STE to UUT
 
* Connect Power from STE to UUT
 
** Connector is 3 pin Dupont housing with 2 male pins (center pin open)
 
** Connector is 3 pin Dupont housing with 2 male pins (center pin open)
** Minus (black) goes to the left, Plus goes to the right (towards C2 capacitor)
+
** Minus (black) goes to the left (- marked on UUT)
 +
** Plus goes to the right (+ marked on UUT - towards C2 capacitor)
 
* Connect BNC cable from STE to SCOPE connector on UUT
 
* Connect BNC cable from STE to SCOPE connector on UUT
* Connect USB-C to the [[QT_Py_(RP2040_based)]]
 
 
* Add terminator
 
* Add terminator
* Run Thonny IDE
+
* Results display on OLED and LEDs on [[MyMenu]] card
* Open [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/PulseGen/PulseGen-01.py PulseGen-01.py]
+
 
* Run (green arrow)
+
<pre>
* Results
+
PulseGen Tester V1.0
 +
Measure Freq
 +
Freq in range OR Freq out of range
 +
Looking for low
 +
Got Low
 +
Got HIGH term
 +
</pre>
 +
 
 +
* Remove terminator
  
 
<pre>
 
<pre>
PulseGen Card Tester V1.0
+
Got HIGH un-term
Measuring Frequency, 512.0 Hz is in expected range
 
Looking for low...Got Low val 0.594075%
 
Got HIGH terminated val 49.6907%
 
Got HIGH un-terminated val 99.7151%
 
 
Detected all values
 
Detected all values
 
</pre>
 
</pre>
  
=== Test Station Software ===
+
=== Test Steps ===
  
* [https://github.com/land-boards/lb-Arduino-Code/tree/master/LBCards/PulseGenTest PulseGenTest GitHub Repository]
+
* Connect Power from STE to UUT
 +
** Connector is 3 pin Dupont housing with 2 male pins (center pin open)
 +
** Minus (black) goes to the left (- marked on UUT)
 +
** Plus goes to the right (+ marked on UUT - towards C2 capacitor)
 +
* Connect BNC cable from STE to SCOPE connector on UUT
 +
* Add terminator
 +
* Results display on OLED and LEDs on [[MyMenu]] card
 +
 
 +
<pre>
 +
PulseGen Tester V1.0
 +
Measure Freq
 +
Freq in range OR Freq out of range
 +
Looking for low
 +
Got Low
 +
Got HIGH term
 +
</pre>
 +
 
 +
* Remove terminator
 +
 
 +
<pre>
 +
Got HIGH un-term
 +
Detected all values
 +
</pre>
  
 
== Modifications to Use as a 50 Ohm Driver ==
 
== Modifications to Use as a 50 Ohm Driver ==
  
 +
* [[DRIVE50]] card replaces this
 
* The card can be used as an embedded 50 Ohm driver
 
* The card can be used as an embedded 50 Ohm driver
 
** The R/C pair for the oscillator is omitted
 
** The R/C pair for the oscillator is omitted
Line 115: Line 149:
 
* [[GPS_Frequency_Standard#50_Ohm_Driver|Detailed instructions for 50 Ohm driver build]]
 
* [[GPS_Frequency_Standard#50_Ohm_Driver|Detailed instructions for 50 Ohm driver build]]
 
* Test using [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/GPS/Test50-01.py Test50-01.py]
 
* Test using [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/GPS/Test50-01.py Test50-01.py]
 +
 +
== Mechanicals ==
 +
 +
[[file:PulseGen_RevX6_Mechs.png]]
  
 
== Assembly Sheet ==
 
== Assembly Sheet ==
  
 
* [[PulseGen Assembly Sheet]]
 
* [[PulseGen Assembly Sheet]]

Latest revision as of 11:23, 20 August 2022

Tindie-mediums.png

PulseGen 5242-720px.JPG

Fast Pulse Generator/Coax Tester

  • Uses of the Fast Pulse Generator
    • Start at 15:12

ht

Features

  • Very fast pulse edge (typical 2 nS rise time) and symmetric high/low drive.
  • 5mm Terminal Block for power allows for batteries, etc to be easily connected without soldering
    • Power Supply from 2V to 6V range so battery operation is possible eliminating need for power supply, etc
  • 50 or 75 Ohm (other values could be made, send us your specs and we can add them)
  • BNC connectors on both ends
  • Connectors are a stuffing option with either BNC or SMA connectors (SMA is a special order so contact us)
  • Four mounting holes - 4-40 holes
  • Rounded corners fit more easily into plastic enclosures with inside radius at the corners
  • Nuts and washers for BNC mounting included
  • Small size (1.8" x 1.3)

What is it?

Fast Edge Pulse Generator for use as a Time Domain Reflectometer (TDR). Used to measure cable length and test continuity/termination of 50 or 75 Ohm coax cables.

Requires a fast oscilloscope for precision measurement. To use it, plug one BNC using male-to-male adapter into a scope and attach a cable to the other BNC connector. Allows measurement of the cable and determination if there is a cable defect (open/short, termination, Etc.).

3D Printed Case

PulseGenInCaseP1030838.JPG

3D Printed case in picture not included - printer files are here.

  • Case

PulseGenCase-X4.PNG

  • Lid

PulseGenCase-X5.PNG

Why did you make it?

The video, by W2AEW, inspired me to want to make a Pulse Generator for use with an oscilloscope as a Time Domain Reflectometer (TDR). There were some DIY boards available but none that are as good as this design.

What makes it special?

Within a month of first building this board, I had a bad piece of RG-8X coax and it was difficult to diagnose the problem. I used an ohmmeter to verify that the coax was good from a DC perspective and it looked fine while I was testing with the meter. It was connected end to end and there were no opens or shorts that I could see with the meter.

However, I knew the cable was bad because I swapped it out for another cable and the other cable worked just fine. When I went to use the broken cable, I could jiggle the cable and make it work and then it would flake out but it was far from consistent. Intermittent problems are the worst sort of problems, aren't they? As they say - Murphy's Law is a universal constant.

I decided to hook the questionable coax up to this Pulse Generator board and the results were impressive to say the least. When I flexed the cable the waveform went from a nice stepped waveform to nearly flat on my oscilloscope (a little bump which went down quickly). That told me that the problem was on the near end of the cable and that it was a short between the center conductor and the shield. In the end the problem was a short at the PL-259 connector which (once found) was easily repaired.


Factory Acceptance Test (FAT) Procedure

PulseGen TestStation P18373-720px.jpg

Setup

  • QTPy49 or QTPy49-01 Processor card
  • QT_Py_(RP2040_based)
    • A0 - Analog Input - samples
  • MyMenu
  • Power card options
  • Cables
    • USB-C (power option)
    • Power cable to UUT
    • Analog in (BNC) to A0 on QTPy49
  • Terminator - dependent on build option
    • 50 Ohms
    • 75 Ohms
  • Unit Under Test (UUT)

Test Software

Test Steps

  • Connect Power from STE to UUT
    • Connector is 3 pin Dupont housing with 2 male pins (center pin open)
    • Minus (black) goes to the left (- marked on UUT)
    • Plus goes to the right (+ marked on UUT - towards C2 capacitor)
  • Connect BNC cable from STE to SCOPE connector on UUT
  • Add terminator
  • Results display on OLED and LEDs on MyMenu card
PulseGen Tester V1.0
Measure Freq
Freq in range OR Freq out of range
Looking for low
Got Low
Got HIGH term
  • Remove terminator
Got HIGH un-term
Detected all values

Test Steps

  • Connect Power from STE to UUT
    • Connector is 3 pin Dupont housing with 2 male pins (center pin open)
    • Minus (black) goes to the left (- marked on UUT)
    • Plus goes to the right (+ marked on UUT - towards C2 capacitor)
  • Connect BNC cable from STE to SCOPE connector on UUT
  • Add terminator
  • Results display on OLED and LEDs on MyMenu card
PulseGen Tester V1.0
Measure Freq
Freq in range OR Freq out of range
Looking for low
Got Low
Got HIGH term
  • Remove terminator
Got HIGH un-term
Detected all values

Modifications to Use as a 50 Ohm Driver

Mechanicals

PulseGen RevX6 Mechs.png

Assembly Sheet