tag:blogger.com,1999:blog-16727830226349004492024-02-07T16:17:14.582-08:00ham electronic homebrewerNick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-1672783022634900449.post-33722545588875069032019-07-09T13:55:00.000-07:002019-07-09T13:55:46.919-07:00Arduino Keyer Analyzer<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJaXjS0pMIQAM8Il9GbmRrwamWvhWuNBkAjF5hUJLB1XMPoqB_RtJvfGfBAo-rycpUmhh-P4kh-TRpWV-YH_I2qxuWrKnHOd82rSNqhaPpNIC4RLOihkN7VOSE3THXnV5Seb09KzAKn80/s1600/Keyer+Analyzer+Left+-+flash+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJaXjS0pMIQAM8Il9GbmRrwamWvhWuNBkAjF5hUJLB1XMPoqB_RtJvfGfBAo-rycpUmhh-P4kh-TRpWV-YH_I2qxuWrKnHOd82rSNqhaPpNIC4RLOihkN7VOSE3THXnV5Seb09KzAKn80/s320/Keyer+Analyzer+Left+-+flash+%25282%2529.JPG" width="320" /></a></div>
<br />
<br />
Every ham who programs MCUs and enjoys CW will probably do a keyer or two over time. My first was on the 6502 contained within my Atari 800 back in 1987.<br />
<br />
We all know the basic ratios and WPM calculations, but there's a lot of other stuff involved in the logic of keyers. They aren't all the same - we have iambic, Ultimatic, Modes A & B and other variations.<br />
<br />
Even if you have the above characteristics nailed down, there are still some subtleties hidden within the black box. For example, if you are sending a string of dits, how long do you have to release the paddle after the last dit before another one latches in?<br />
<br />
I was working on programming a keyer and decided to put it on hold long enough to take on another programming project - to create a gizmo that would connect to a keyer's paddle input and keyed line output and make the timing measurements to answer my questions.<br />
<br />
It determines dot, dash and space times in milliseconds and reports ratios and WPM. It determines logic type Ultimatic and iambic Mode A or B. It determines and reports the point at which another element latches in. It finds the delay between paddle closure and TX keyed line closure and measures the first dit to see if it is shortened. It will also send a string the user inputs on the tested keyer.<br />
<br />
In reality, several of the attributes of a keyer can be determined just by playing with it for a bit, but others require a device such as this one.<br />
<br />
To keep it as simple as possible, I/O is via a serial terminal screen such as the one integral with the Arduino IDE. Nothing more than an Arduino is required. The device is powered by the USB connection. I also incorporated an option for the device to report results in Morse (via your own keyer!), so the serial terminal would not be required.<br />
<br />
An issue does arise when you want to test the keyer built in to your transceiver, since you don't have access to its keyed line out port. I dealt with this by making a little circuit to sample the RF from the transceiver while it transmits into a dummy load.<br />
<br />
What about compatibility of the voltage level from the keyer's paddle jack to the Arduino? Well, I don't want to exceed 5 V input so I checked several keyers and they all passed the test. Here are some examples:<br />
<br />
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
<b style="mso-bidi-font-weight: normal;"><u>Keyer<span style="mso-spacerun: yes;"> </span></u><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="mso-tab-count: 2;"> </span><u>Volts</u><o:p></o:p></b></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
K3<span style="mso-spacerun: yes;"> </span><span style="mso-tab-count: 3;"> </span>5.0
V</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
WA5BDU<span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span><span style="mso-tab-count: 1;"> </span>5.0
V<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
Super CMOS II<span style="mso-tab-count: 2;"> </span>4.5 V</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
FT-991A<span style="mso-tab-count: 2;"> </span>3.3
V</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
Winkeyer 10<span style="mso-tab-count: 2;"> </span>5.0 V<span style="mso-spacerun: yes;"> </span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; margin-left: .5in; margin-right: 0in; margin-top: 0in;">
K3NG Arduino<span style="mso-tab-count: 2;"> </span>5.0 V</div>
<br /><br />
The "WA5BDU" is my Arduino keyer. I also tested the KX3 and the ATS-3 QRP transceiver and they were OK too.<br />
<br />
Here's the menu which appears on the terminal screen:<br />
<br />
<div class="MsoNormalCxSpFirst" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">WA5BDU Keyer Analyzer V1.0<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Select:<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<br /></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 0 -
Verify functionality<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 1 -
Timings, speed, ratios<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 2 -
Check Iambic & Ultimatic operation<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 3 -
Check Mode A or B<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 4 -
Check time for same element latch<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 5 -
Dot paddle open/close<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 6 -
Dash paddle open/close<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"> 7 -
Send PARIS for WPM<o:p></o:p></span></div>
<span style="font-family: "Courier New"; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"> * - Send serial port text</span><br />
<br />
Here are some outputs from various requests from the menu:<br />
<br />
<div class="MsoNormalCxSpFirst" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Key Out idle state: HIGH<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Dot length ms is 61<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Dash length ms is 181<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Space length ms is 61<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">1st dot length ms is 61<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Speed: 19.7<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Dot Ratio: 1.0<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Dash Ratio: 3.0<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Time to close TX line ms is 14<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Time to get off paddle is 47<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">This is 77% of a space.<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";">Speed using PARIS: 19.7<o:p></o:p></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"><br /></span></div>
<div class="MsoNormalCxSpMiddle" style="margin-left: .5in; mso-add-space: auto;">
<span style="font-family: "Courier New";"><o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi;"> The above are responses to menu items 1, 4
and 7.<o:p></o:p></span></div>
<br />
Below is a table of results for various keyers I tested:<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-layout-alt: fixed; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Keyer<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Dot-R<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Dash-R<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Iambic<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Mode<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">Latch
wait<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">DLY
to TX <o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: x-small;">WPM_20</span><o:p></o:p></b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">WA5BDU<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">53%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">0 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.7<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">WinKey 10<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">A<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">98% <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">**<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">Super CMOS II<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">102% <o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">9 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.9<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">ATS-3<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.2<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.5<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">98%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.3<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">FT-991A<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">73%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">17 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.5<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 6;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">K3 (QSK)<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">79%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">12<sup>1</sup> ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.6<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 7;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">K3 (Semi)<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.1<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.1<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">81%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">13 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.6<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 8;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">KX3 (Semi)<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">0.8<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">2.7<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">76%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">14 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">20.8<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 9;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">K3NG Arduino<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">102%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">15 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.9<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 10;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">K3NG U-Mode<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">3.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">NO<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">A<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">100%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">15 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">19.9<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 11; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 77.4pt;" valign="top" width="103">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;">PK-Basic<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 40.5pt;" valign="top" width="54">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">1.0<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 44.15pt;" valign="top" width="59">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">2.9<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 41.35pt;" valign="top" width="55">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">YES<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 37.8pt;" valign="top" width="50">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">B<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .85in;" valign="top" width="82">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">100%<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">6 ms<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 58.5pt;" valign="top" width="78">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<span style="font-size: x-small;">20</span><o:p></o:p></div>
</td>
</tr>
</tbody></table>
<br />
Below is my schematic for the keyer analyzer. There's not much to it until you add the circuit for sampling a transmitter's output.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpaa-OjAgRYru4GeIkUjEs_ym4xQuPEpCSxX7wBHNNwTpx_u47HdxM8RFOeZhAtZ4Jwowad3DFB7m0O_0RQIcg_DMama2iI0o3ky6jWXrE0IJP7LN2_B9q72AZPAg029Das3rr9EUeijc/s1600/Keyer+analyzer+revised.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1254" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpaa-OjAgRYru4GeIkUjEs_ym4xQuPEpCSxX7wBHNNwTpx_u47HdxM8RFOeZhAtZ4Jwowad3DFB7m0O_0RQIcg_DMama2iI0o3ky6jWXrE0IJP7LN2_B9q72AZPAg029Das3rr9EUeijc/s400/Keyer+analyzer+revised.jpeg" width="312" /></a></div>
<br />
<br />
So there it is. If you'd like to try it, an Arduino can be had for around $3 to $8 and my software is free to you. I've also written a manual for the thing with a great deal more detail. I've got the manual and the source code available in this shared Dropbox folder:<br />
<br />
<div class="MsoNormal">
<span style="font-size: x-small;">https://www.dropbox.com/sh/rsa4bb0ekdf69q0/AACfWsGcNrRTZgxEP4WOQyyAa?dl=0</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I hope you enjoyed reading about it and possibly even trying it.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
73,</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Nick, WA5BDU</div>
<br />Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-34263560720401332332019-03-15T06:38:00.001-07:002019-03-15T06:38:19.003-07:0070 W eBay MOSFET HF Amplifier<span style="font-family: inherit;">I'd been working on my phasing receiver for about four years and decided it was time to team it with a TX section so I could make some QSOs and say "RIG HR IS HOMEBREW", a goal I'd had for some time. Not a QRP rig this time, but something in the 50 to 100 W range. I'd already taken a step in that direction by building a little Class E amplifier for 40 and 20 meters using three TO92 MOSFETs and supposed to produce 5 Watts out. (Lotsa luck on that ...) That could be my driver.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">OK enough preliminaries. I read about the eBay amp on one of my ham mailing lists and I thought at the price, why not give it a shot?</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<span style="font-family: inherit;"><span style="line-height: 115%;">I paid $18.57 ppd for it. It's said to be a </span><span style="line-height: 115%;">class AB linear amplifier for SSB AM CW FM power amplifier for
low-power radio power connection and s</span><span style="line-height: 115%;">uitable for FT-817 KX3 other small power stations.</span></span><br />
<span style="font-family: inherit;"><span style="line-height: 115%;"><br /></span></span>
<span style="font-family: inherit;"><span style="line-height: 115%;">It's basically a "bag-o-parts" and a circuit board. No schematic, no instructions. But you can find lots of stuff on the web, fortunately. Your fellow hams always helping out.</span></span><br />
<span style="font-family: inherit;"><span style="line-height: 115%;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhabqIrBQ0iFGXxFUB2RbVu1vfbkYixYwIM1ib8WkEV4z6Q4NoWAZ15ExnmCDtVDI76oJoLHVlYqjP_xGxXIz0ZbBvYZGsW6FkFIfKClmrwbHV80K8kGw-ZDXtQ762-kRnOzzABkuotA_w/s1600/70W+eBay+amp+kit.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhabqIrBQ0iFGXxFUB2RbVu1vfbkYixYwIM1ib8WkEV4z6Q4NoWAZ15ExnmCDtVDI76oJoLHVlYqjP_xGxXIz0ZbBvYZGsW6FkFIfKClmrwbHV80K8kGw-ZDXtQ762-kRnOzzABkuotA_w/s400/70W+eBay+amp+kit.JPG" width="400" /></a></div>
<span style="font-family: inherit;"><span style="line-height: 115%;"><br /></span></span>
Here's what I got in the parcel from China. The board seems to have good quality. The parts look OK too - tubes for the one-turn transformer windings, ferrites, insulators for the TO220 parts, including shoulder washers. And in my case, some SMT parts were pre-soldered. A nice bonus. The MOSFETs have had their part numbers removed. Ham community says IRF-530.<br />
<br />
<span style="line-height: 115%;"><span style="font-family: inherit;">The board has some parts that you break out and use for the ends of the
toroids, to solder the tubes that extend through the binocular balun holes to. This leaves two rectangular openings. The smaller
ones are where the MOSFETs mount and bolt to the heat sink below. The larger
one is where the big ferrite cores for the output transformer go. </span></span><br />
<br />
<span style="font-family: inherit;"><span style="line-height: 115%;"><b>Finding some info ...</b></span></span><br />
<span style="font-family: inherit;"><span style="line-height: 115%;"><b><br /></b></span></span>
<span style="font-family: inherit;"><span style="line-height: 115%;">I found some very useful info on the web, including a YouTube video or two.</span></span><br />
<span style="font-family: inherit;"><span style="line-height: 115%;"><br /></span></span>
<span style="font-family: inherit;"><span style="line-height: 115%;">OE1CGS has some really good info, including a PDF he put together on the amplifier, some of which has been translated into English.</span></span><br />
<span style="font-family: "arial" , sans-serif; font-size: 10pt; line-height: 115%;"><br /></span>
<span style="line-height: 115%;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: 13.3333px;">
<!--[if !supportLineBreakNewLine]-->http://www.oe1cgs.at/50w-hf-verstaerker/</span></span>
<!--[endif]--></span><br />
<span style="line-height: 115%;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: 13.3333px;"><br /></span></span></span>
<span style="line-height: 115%;"><span style="font-family: inherit;">Finding a decent schematic can be difficult. You may find that some look good initially but lack sufficient resolution to read part numbers and values with confidence. I eventually did find a pretty good one.</span></span><br />
<span style="line-height: 115%;"><span style="font-family: inherit;"><br /></span></span>
<span style="line-height: 115%;"><span style="font-family: inherit;">Here's another good page on the amp, with measurements and good photos from DK9JC:</span></span><br />
<span style="line-height: 115%;"><span style="font-family: "arial" , sans-serif;"><span style="font-size: 13.3333px;"><br /></span></span></span>
<span style="font-size: 13.3333px; line-height: 115%;"><span style="font-family: "arial" , sans-serif;">https://www.dk9jc.de/blog/equipment/142-diy-kits-70w-ssb-linear-hf-power-amplifier-ft-817-kx2-kx3</span></span><br />
<span style="font-size: 13.3333px; line-height: 115%;"><span style="font-family: "arial" , sans-serif;"><br /></span></span>
PD7MAA has more good info, Lowpass filter design info, a schematic and more good photos:<br />
<br />
http://pa-11019.blogspot.com/2016/11/diy-kits-70w-ssb-linear-hf-power.html<br />
<br />
<b>Some discussion of the circuit ...</b><br />
<b><br /></b>
The circuit is fairly standard. It includes some frills like a regulator and pot to set the bias voltage / idling current. And a switch-around relay that feeds the antenna around the amp to the driver when 12 V is not applied, and through the amplifier when it is. There is a 2-pin header labeled PTT that when closed turns on a small PNP transistor which feeds the bias regulator and also feeds 12 V to the relay. The MOSFET drains are always connected to the 12 V line. I keep a shorting jumper across the PTT pins.<br />
<br />
The MOSFETs have 150 ohm feedback resistors from drain to gate through blocking capacitors. Except mine were not 150 ohms as shown on the schematic. Was this a design decision, or did they just run out of 150 ohm resistors? Who knows? Mine are 100 <span style="font-family: "calibri" , sans-serif; font-size: 11pt;">Ω. </span><br />
<span style="font-family: "calibri" , sans-serif; font-size: 11pt;"><br /></span>
<span style="font-family: inherit;">One thing that seemed to be something of a glaring omission was the lack of any kind of swamping resistors on the input to set a constant resistive load to the driver. I initially used my KX3 with ATU to try to get a good match but after reading comments and suggested resistor values from OE1CGS, I added the resistor (21 </span><span style="font-family: "calibri" , sans-serif; font-size: 11pt;">Ω)</span><span style="font-family: inherit;">. It's across the secondary of the input transformer. After that, my driver was looking at a much better SWR.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><b>Some notes on building & testing ...</b></span><br />
<span style="font-family: inherit;"><b><br /></b></span>
<span style="font-family: inherit;">My building notes are exhaustive (tedious?) so I'll try to hit the high points. Of course, fit up the pieces and understand how they go together before soldering anything. The photos on various blogs I found to be helpful for that purpose. I copied some down to my own folder.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">One thing to be careful of - the tabs of the two MOSFETs are head-to-head and there needs to be a gap between them or there will be a short. Keep that in mind. Maybe stick a little insulating shim like a piece of toothpick between them before soldering. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">And of course, the board is designed to sit on top of the heat sink and the MOSFETs bolt directly to it, with insulators. It's important to have full contact area and tight hardware. I think a few folks thought they'd test very briefly with no heat sink and blew their MOSFETs.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Since my board came with the voltage regulator components pre-mounted, I hooked up 12 V before putting anything else on the board and verified that it was working and that I could vary the voltage with the little pot.</span><br />
<span style="font-family: inherit;"><br /></span>
After mounting all the parts, I wanted to set the bias. Even with no drive, I felt that I needed to hook up a load to the output in case of self-oscillation. Or maybe to prevent it. And 50 <span style="font-family: inherit;">Ω across the input isn't a bad idea either. Another good safety practice might be a switch or hand key across the PTT pins in case the circuit runs away and you want to shut the bias off quickly.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The schematic shows 2.7 V bias. Most people find that too low. Adjusting it until the MOSFETs are carrying a little drain current is a good idea.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">I tried various values of idling current, up to 120 mA or so, but eventually set on about 30 mA total current. The relay coil draws about 42 mA at 12 VDC, so subtract that off of the total reading from the supply. Or adjust bias to minimum, note the current, then increase until current increases by 30 mA. My bias voltage was 3.41 VDC at 30 mA total MOSFET current. Setting current higher might be OK but think about dissipation. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">For full power testing, a good dummy load is a good idea, since there's no SWR protection here. A way to monitor power - RF probe, power/SWR meter or oscilloscope is desirable.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">A way to control the drive power is good too as gain varies on different bands. Maybe a 1 W output TX could be a good starting point. I think testing without an LPF into a dummy load is fine. Jumper across the LPF - using the supplied 0.1" pin headers.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">I would not recommend going key down for longer than a few seconds, maybe 5 maximum until you know where you stand. I have a cheap Harbor Freight IR thermometer that I'd point at the transistor bodies and get a relative idea of how much they warmed up from a few seconds key down, and then to be sure they'd cooled down before doing another key down session. Feeling the heat sink is not a good way to see how things are going, in my opinion.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="MsoNormal">
<b>Some deviations in
what was supplied and other info ...<o:p></o:p></b></div>
<div class="MsoNormal" style="margin-left: .25in;">
</div>
<ul>
<li>MOSFET numbers are sanded off.
Unknown P/N. I ordered 10 IRF530N from eBay.</li>
<li>Feedback power resistors are 100
Ω, not 150 Ω.</li>
<li>R1, R2 and R3 are 3900 Ω, not 10
kΩ.</li>
<li>R7 is 200 Ω, not 1 kΩ.</li>
<li>Pot VR1 (or VR3) not marked but
measured and calculated as 785 Ω. Possibly a nominal 1 kΩ.</li>
<li>Some bloggers said adjust bias to
3.7 VDC, not 2.7 VDC. I used 3.41 VDC. It probably varies. With 3.7 VDC, my drain current "took off".</li>
</ul>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><b>Results ...</b></span><br />
<span style="font-family: inherit;"><b><br /></b></span>
<br />
<div class="MsoNormal">
With 1 W input:</div>
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .7in;" valign="top" width="67"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
BAND</div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
SWR</div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
WATTS</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .7in;" valign="top" width="67"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
80</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
1.2</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
61.1</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .7in;" valign="top" width="67"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
40</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
1.5</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
45</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .7in;" valign="top" width="67"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
30</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
1.4</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
25.3</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: .7in;" valign="top" width="67"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
20</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
1.4</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 49.5pt;" valign="top" width="66"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
16.2</div>
</td>
</tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Of course I can get more power by increasing the drive on the higher bands. This is without a LPF, but I noted on 40 meters that power didn't decrease noticeably when I added the LPF.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><b>On the air ...</b></span><br />
<span style="font-family: inherit;"><b><br /></b></span>
So far I've just used it on 40. My Class E transmitter puts out too much power on 40 (4.2 W) and not enough (2.3 W) on 20! So I built an attenuator for 40 meters to give 1.2 W drive. With that and a 13.0 VDC supply, I'm putting out a hair over 50 W. I'm a bit afraid to try for 70 W until I get more experience with it.<br />
<br />
I lashed everything together with my homebrew phasing receiver, keyer and T/R switch and started making contacts. It's a lot of fun, as I expected. I've had some fairly long QSOs and some strings of contest QSOs with no performance issues. I put an antenna tuner in line and make sure the SWR is as flat as possible before transmitting.<br />
<br />
BTW, the driver for the Class E section is my Si570 synthesizer, which also is used with the receiver. I had to add to the software to have it do the CW offset shift on key-down. I'll need other features (RIT, for example) shortly. But I'm getting off-topic ...<br />
<br />
<b>MOSFET failures ...</b><br />
<b><br /></b>
Everyone has them. I've had them twice. Once was cause by "human error" - I created a short with the lash-up of parallel resistors used for my 21 Ω swamping resistor. The second time it was simple over-heating, I think. Key-down too long and/or mounting hardware for the TO220 tabs not tight enough.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxUZWDOgLxeBfDW7xxivZl0_7gPJl-sNDE5M-mANksJ6wFfZDmGUJhFWV_yx2M6-QjD4t2DWU9aVqnyi13fTPPPpxSHQvuOEzeqMWzR1pCwjqLX3zneSvdS7uBGErZpd7LVHkMXv0q4lw/s1600/IMG_6439.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxUZWDOgLxeBfDW7xxivZl0_7gPJl-sNDE5M-mANksJ6wFfZDmGUJhFWV_yx2M6-QjD4t2DWU9aVqnyi13fTPPPpxSHQvuOEzeqMWzR1pCwjqLX3zneSvdS7uBGErZpd7LVHkMXv0q4lw/s320/IMG_6439.JPG" width="240" /></a></div>
<br />
Here's a photo of it mounted on its over-sized heat sink, with LPF on the left and input attenuator below. The blue resistors are the feedback resistors. The gray ones in parallel with a smaller blue form the 21 Ω added swamping resistor. I hope to replace that with one properly sized resistor eventually.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjdDL5bxURrHv2z0E66cLgFoBoZ1_fAg0IgOPYo5kZWNTC2zSE2XbrRg9nAp2HRNkjJWMAhMLsbwZaDmfrgb0VDYmVnaFsPRcoprh6K4KAHLlFt_Sz-oVTKVsxDoR3cmGPwzzwNj6IYk/s1600/Schematic+from+PD7MAA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="640" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjdDL5bxURrHv2z0E66cLgFoBoZ1_fAg0IgOPYo5kZWNTC2zSE2XbrRg9nAp2HRNkjJWMAhMLsbwZaDmfrgb0VDYmVnaFsPRcoprh6K4KAHLlFt_Sz-oVTKVsxDoR3cmGPwzzwNj6IYk/s400/Schematic+from+PD7MAA.jpg" width="400" /></a></div>
<br />
Here's the schematic I downloaded from the PD7MAA site. It may not be hi-rez enough to build by as shown here, but I just want to give an overall view of the thing.<br />
<br />
<b>Some more about heat sinking and thermal issues ...</b><br />
<b><br /></b>
A large heat sink is a plus, but no matter how big yours is, a lot of heat has to flow through a small contact area to keep the MOSFETs from failing. Solid contact, good thermal conductivity through the insulator and adequate bolting force are necessary.<br />
<br />
I was reading part 2 of <span style="font-family: inherit;">WA2EBY’s popular MOSFET amplifier article in QST of April 1999. He noted that even with proper heat sinking techniques, his amplifier might exceed the maximum allowable temperature for the MOSFETs if it were held key-down for more than five seconds. However, he was able to send a string of continuous dits without overheating. So it's on the edge and if the duty cycle is kept withing typical ham CW/SSB values it will do OK. I hope.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><b>Final thoughts ...</b></span><br />
<span style="font-family: inherit;"><b><br /></b></span>
<span style="font-family: inherit;">Well, for my eighteen dollars and change, I think I got a decent little project and learning experience. I need to do more with it of course, and integrate it better into this theoretical transceiver I'm constructing.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Is it homebrew? We worry about such things. Well - it's a nice board and bag of parts, but you get to find a schematic, fix a design flaw or two, build one or more LPFs, decide how to drive it, blow up some MOSFETs and learn from the experience. So I guess it might qualify.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com3tag:blogger.com,1999:blog-1672783022634900449.post-7502364891131412632017-11-14T14:03:00.000-08:002017-11-14T14:03:31.180-08:00PIC Frequency Counter With Morse OutputIt's a little strange to blog about a project that's mostly software, but even if I don't explore the software design in depth I can at least describe the resulting instrument.<br />
For hams who program MCUs, a frequency counter seems to be one of several obligatory projects, with others being a keyer and a controller for a DDS or PLL type synthesizer. So I wanted to get in my frequency counter project.<br />
Counters such as this one have been around for a while, often integrated into radios with analog VFOs. With the tap of a button, you hear the frequency accurately announced in Morse and thus the need for a calibrated dial is avoided.<br />
I said "With Morse Output" but it's common to refer to the device function as AFA, for Audible Frequency Annunciation.<br />
Before I ramble much more, let me list the features of my counter. Every programmer likes to add a wrinkle or two to previous implementations and I've added one or two:<br />
<br />
<br />
<b>Features</b><br />
•<span style="white-space: pre;"> </span>One button control to initiate count or menu actions<br />
•<span style="white-space: pre;"> </span>User programming of superhet IF frequency offset<br />
•<span style="white-space: pre;"> </span>Selectable 1 Hz or 100 Hz resolution<br />
•<span style="white-space: pre;"> </span>Option to suppress higher digits for faster readings<br />
•<span style="white-space: pre;"> </span>Can be built SMT or through hole<br />
•<span style="white-space: pre;"> </span>Small size - I used a RS proto board 1.75 x 2.75 inch<br />
•<span style="white-space: pre;"> </span>Setup saved on EEPROM and recalled on power-up<br />
•<span style="white-space: pre;"> </span>Three selectable Morse annunciation speeds<br />
•<span style="white-space: pre;"> </span>Selectable audible marker for each 1 kHz change while tuning<br /><br />
<b>Specifications (approximate)</b><br />
•<span style="white-space: pre;"> </span>Accuracy: Depending on the time base, can be as good as 1 Hz<br />
•<span style="white-space: pre;"> </span>Resolution: Selectable to 1 Hz or 100 Hz<br />
•<span style="white-space: pre;"> </span>Response time: 1 s for 1 Hz resolution and 10 ms for 100 Hz<br />
•<span style="white-space: pre;"> </span>Sensitivity: 35 mVpp to 180 mV through 6 meters<br />
•<span style="white-space: pre;"> </span>Idling current draw at 12 V input is 11 mA<br />
•<span style="white-space: pre;"> </span>My prototype SMT version will read to just over 140 MHz<br />
•<span style="white-space: pre;"> </span>Minimum frequency is about 50 kHz with input capacitor shown<br />
<div>
<br /></div>
<div>
<b>Some hardware notes and schematic</b></div>
<div>
I'd switched from PICs to AVR MCUs a few years ago but the PIC is unique in having a prescaler that can count really fast - independent of the chip's clock. So I went back to the 16F683 8-pin PIC for this project.</div>
<div>
I looked at several other designs although I didn't have their source code to guide me. Some use Microchip's AN592 app note as a starting point, but its accuracy can degrade to 1 kHz or worse at higher frequencies. I liked the Stinger Singer counter sold by the Arizona SQRPions group and designed by Dan Tayloe. The use of a 74HC00 AND-gate package allowed precise gating of the input stream and also gating out and counting the remainder stuck in the prescaler, which can't be read directly.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXm0C_XXfo1-iTSA6Fhfxs8Z7QU6zJuTVzfqcfoZyp_LyPx7lCdpo9j-vBObigHGje1VwOAymzL_uR44qh2IDUHRrlMLt5rLShVg35DS8k7gYMImdO-bsQQaGOqdiVHiLtGChsv_6JJ14/s1600/schematic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="268" data-original-width="729" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXm0C_XXfo1-iTSA6Fhfxs8Z7QU6zJuTVzfqcfoZyp_LyPx7lCdpo9j-vBObigHGje1VwOAymzL_uR44qh2IDUHRrlMLt5rLShVg35DS8k7gYMImdO-bsQQaGOqdiVHiLtGChsv_6JJ14/s320/schematic.jpg" width="320" /></a></div>
<div>
Sorry it's fuzzy. I'll provide a link to a better schematic.</div>
<div>
<br /></div>
<div>
I built my DIP version on a Radio Shack 276-150 prototype board. Radio Shack is gone but I found some at B.G Micro. I also built a SMT version on a board I made using the toner transfer technique. You could omit the programming header if you have a pre-programmed chip.</div>
<div>
<br /></div>
<div>
<b>Want to try it?</b></div>
<div>
I've added a link to the HEX code. You can burn it to a PIC with a PICkit-2 or PICkit-3. Or I could program a PIC for you and mail it in the USA. Say $4 to <a href="mailto:buybye@suddenlink.net">buybye@suddenlink.net</a> which is my PayPal address. Or four ones to my QRZ address. First make sure I'm still alive and capable of fulfilling the request by emailing me at <a href="mailto:kennnick@gmail.com">kennnick@gmail.com</a>.</div>
<div>
I've also linked a manual below, with a lot more info on building and operating the counter.</div>
<div>
<br /></div>
<div>
<b>Possible improvements</b></div>
<div>
I like the feature I added to give an audible "tick" marker with every kHz of change. But it introduced an artifact. When this feature is ON, the counter must read the frequency continuously and the pin that drives the speaker is also used in counting logic. This results in a low "puttering" sound from the speaker that's almost but not quite inaudible. Of course you can turn it OFF if it's a bother. One fix I've considered is to use a separate crystal oscillator with a transistor for the timebase. That would free up one PIC pin to dedicate to the speaker. Another fix would be to use a higher pin count PIC. But a 14 or 18 pin PIC would make the counter so much larger. I could justify it by integrating a keyer function into the chip as others have done. That would make it worthwhile.</div>
<div>
<br /></div>
<div>
<b>Files</b></div>
<div>
HEX program file: <a href="http://pages.suddenlink.net/wa5bdu/FreqCountWA5BDU_V103.hex">http://pages.suddenlink.net/wa5bdu/FreqCountWA5BDU_V103.hex</a></div>
<div>
<br /></div>
<div>
Schematic: <a href="http://pages.suddenlink.net/wa5bdu/freq_counter.emf"> http://pages.suddenlink.net/wa5bdu/freq_counter.emf</a></div>
<div>
<br /></div>
<div>
Manual in PDF: <a href="http://pages.suddenlink.net/wa5bdu/PIC_Counter_Manual.pdf">http://pages.suddenlink.net/wa5bdu/PIC_Counter_Manual.pdf</a></div>
<div>
<br /></div>
<div>
73,</div>
<div>
Nick, WA5BDU</div>
<div>
<br /></div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com2tag:blogger.com,1999:blog-1672783022634900449.post-60536040136674562812017-03-07T15:34:00.039-08:002020-08-20T12:40:13.890-07:00PIN diode T/R switch<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpa5tcEqxf-by5On-u1mNGT8GcPnz3gJIOdiacuKzigpFXOG8AzGGaFrFp87e1RG3w7j2xZl4n99Fj6Omvk_LsJmyUJL8RtSYLQruZVkKwX1nAeAT8zqs6NDD48T_fw1Yj-f87RlyKaWE/s1600/T-R+switch+complete.JPG" style="margin-left: auto; margin-right: auto;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpa5tcEqxf-by5On-u1mNGT8GcPnz3gJIOdiacuKzigpFXOG8AzGGaFrFp87e1RG3w7j2xZl4n99Fj6Omvk_LsJmyUJL8RtSYLQruZVkKwX1nAeAT8zqs6NDD48T_fw1Yj-f87RlyKaWE/s400/T-R+switch+complete.JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><h2>
100 W T/R switch in box</h2>
</td></tr>
</tbody></table>
I like to play with separate transmitters and receivers, either those I'm building or a few classic boat anchors I'm hanging on to.<br />
<br />
Back in the 60s I participated in NTS (National Traffic System) nets where full QSK was part of your entry ticket if you wanted to be taken seriously. But even though I've grown used to the smooth "semi-break-in" of modern transceivers, the notion of "electronic T/R switching" has a mystique for me and I've always wanted to try it.<br />
<br />
<h3>
Description</h3>
First let me try a brief description of the switch if I'm capable of it (being brief), before I get into tedious detail over why I chose every minor component in the circuit.<br />
<br />
The goal was for it to handle 100 watts on 80 through 10 meters and 6 if possible. Minimal SWR caused in the transmit path, less than 1.2 if possible. As much isolation as possible between the transmit and receive ports. I measured from 68 dB on 80 meters to 60 dB on 10 meters to 53 dB on 6 meters between the TX to the RX ports. That gives at most 0.1 mW to the receiver on 80 through 10. That's a loud signal but not destructive.<br />
<br />
SWR to a 50 ohm dummy load is generally about 1.15, rising a bit a 3.5 MHz and 50 MHz.<br />
<br />
The circuit uses back to back PIN diodes in the paths from antenna to transmitter and again from antenna to receiver. One pair is biased to conduct in PIN diode mode with forward current while the other is reverse biased with high voltage to the OFF or blocking condition. These biasing conditions are swapped to switch between transmit and receive.<br />
<br />
The PIN diodes are actually common rectifier diodes which happen to have a PIN type structure. This is primarily in the interest of keeping costs low in the ham tradition.<br />
<br />
<h3>
Circuit</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75ayahl6bMgjHdOY7Y8ycaNR-kX33SCpb3cJAU-78HATDnxjDQmKoD2K-3niH9342I87MHYibMgiOUne0X283g_T6O9C7CS8c6fOPBcozvLw5b9-lcKBOb51SftbbTTbcaS82m3FWNS0/s1600/Schematic+less+power+supply.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75ayahl6bMgjHdOY7Y8ycaNR-kX33SCpb3cJAU-78HATDnxjDQmKoD2K-3niH9342I87MHYibMgiOUne0X283g_T6O9C7CS8c6fOPBcozvLw5b9-lcKBOb51SftbbTTbcaS82m3FWNS0/s400/Schematic+less+power+supply.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
This is the main portion of the schematic, less the power supplies. The apparent complexity is reduced when you see what's happening in the circuit.The two IRF830 MOSFETs control whether the diodes are in conduction mode or blocking. The '2222A inverter after the keying input causes the MOSFETs to be in opposite states, one on and one off. </div>
<div>
<br /></div>
<div>
Consider the four current paths at the top from the 13.5 volt supply, when enabled these paths provide forward current of about 100 mA forward through each diode. Follow through the limiting resistor, two chokes, diode, then two more chokes and then the MOSFET to ground. One MOSFET will be ON and the other OFF, so either the TX or RX diodes will have forward bias current through them.</div>
<div>
<br /></div>
<div>
Next look at the 180 VDC supply coming from below and connecting to the drain of each MOSFET via 100 k resistors. For the MOSFET that is ON, that voltage is simply pulled to ground. But for the one that is OFF, the voltage appears between the cathodes of the diode pair, keeping them well reverse biased.</div>
<div>
<br /></div>
<div>
Besides antenna to TX and antenna to RS, there's one other somewhat optional path to consider, which is via the 1N4007 diode pointing down just left of the RX connector. This is a shunt path connection to provide an additional path to ground for any RF that makes it through the back-biased 1N4007s in transmit mode. In receive mode it is reverse biased with the high voltage supply and doesn't conduct.</div>
<h3>
<br />Component choices</h3>
<div>
<br /></div>
<div>
First, why <span style="color: red;">two chokes in series</span> at each location? I copied from the design of WB9JPS (NA6O) on this. I'm not sure why he did it, but I have a fear of unknown self-resonance frequencies (SRF) in molded chokes when I'm trying to cover such a broad frequency range. I suspect the toroids with only ten turns will be fairly free of resonance which would address this concern. Probably just the toroids alone without the molded chokes would have been OK.</div>
<div>
<br /></div>
<div>
Next, the<span style="color: red;"> transmit path capacitors</span>. For RF, ceramic capacitors such as type NP0 and dipped mica capacitors are usually specified. Capacitors described loosely as "film" types are said to have excellent characteristics for audio, but how do they do at HF and low VHF? Are they inductive?</div>
<div>
<br /></div>
<div>
So I got a little carried away with testing. My test consisted of putting the capacitor in series with the coax from my 100 W transmitter going to a dummy load. I checked SWR on 80 through 10 meters (and usually 6 as well). I held key down for 15 seconds and looked at temperature rise of the capacitor with my cheap IR temperature detector. Before hitting them with 100 W, I looked at SWR in a broad scan using my VIA (a sort of antenna analyzer).</div>
<div>
<br /></div>
<div>
I won't report all of the results here except to say that everything I tested did mostly "OK" - no huge SWRs or serious heating (one degree or so typical). I checked some large rectangular ceramic "disks", orange 400 V PETP 0.01 uF (three in parallel) film capacitors, large white 0.68 uF rectangular film capacitors also 400 V and four 0.01 uF SMT 500 VDC capacitors in parallel.</div>
<div>
<br /></div>
<div>
So I chose the big ceramics as looking pretty robust and testing well. For other paths and bypassing I used SMT 0.1 uF, 500 V capacitors I have in my junkbox.</div>
<div>
<br /></div>
<div>
Now, <span style="color: red;">the PIN diodes.</span> Type 1N4007 are often used. Hayward used 1N4006s, which are also PIN diodes. For the transmit path, the 1N4006/4007 might be marginal for the 1.4 A rms required for 100 watts. Hayward and WB9JPS both used NTE5815. I think a 1N5408 is reasonably equivalent and I have them in my junk box. These are 3A diodes so I get some margin at the expense of greater capacitance. If I'd set my target at 50 W, the 1N4007s would have been OK in the transmit path. </div>
<div>
<br /></div>
<div>
After these choices, there's not much that's critical.</div>
<div>
<br /></div>
<h3>
Power supplies</h3>
<div>
My first idea was to use an external 12 to 14 VDC supply and provide the somewhat "high" voltage using one of those boost modules from eBay. But the little switcher was just too noisy, despite my efforts to filter it. In hindsight, I'm connecting it right to the receive antenna, more or less, so it would have to be super clean to be acceptable. So I went "linear" and power my switch from 120 VAC. </div>
<div>
<br /></div>
<div>
For the HV, an obvious approach would be to use two back to back 120 to 12 VAC transformers to provide isolated 120 VAC and rectify that to 170 VDC. But I didn't have enough room so I stole a transformer from a Knight capacitor checker with magic eye to give about 130 VAC. This one has to supply just about zero current so a simple capacitor filter following a bridge and it's done.</div>
<div>
<br /></div>
<div>
Oh, let me show the schematic before I continue:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5mGDrY_kq755DUK-6M1v9i242NDxz1_XAULwPTNODK9BbAG9ZaINr3eHJf4hwPTh8F3eK7XhyphenhyphenvI8OpEmmma42SGUPXL6-79O8OG2U3MbeX1FEOkkClaHSe2Drp4yz6gw7DqKZbZ_I6zI/s1600/Power+supplies.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5mGDrY_kq755DUK-6M1v9i242NDxz1_XAULwPTNODK9BbAG9ZaINr3eHJf4hwPTh8F3eK7XhyphenhyphenvI8OpEmmma42SGUPXL6-79O8OG2U3MbeX1FEOkkClaHSe2Drp4yz6gw7DqKZbZ_I6zI/s400/Power+supplies.JPG" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Not much to explain in the low voltage section, but why the 78L12 regulator? The unregulated 13.5 V output jumps to 25 V with no load. By design, the no load condition should never happen, but to protect the logic devices I have now and any I may add in the future I added the regulator. The 10 and 2.2 ohm resistors are my obsessive attempt to get to just the voltage I want for the bias current supplies. The low voltage supply uses a little plastic bridge while the HV uses four 1N4004 diodes. The 12.6 VAC transformer needs to be rated 400 mA or better.</div>
<div>
<br /></div>
<h3>
Diode measurements and LTspice</h3>
<div>
My proposed diodes got a treatment similar to that I gave the capacitors. I wanted to be sure all this stuff really worked before committing to building. I made a jig to measure diode capacitance at 200 V reverse voltage and at or near 0 V with my AADE meter. </div>
<div>
<br /></div>
<div>
1N4007: 2.1 pF @ 200V, 20.5 pF @ 0 V</div>
<div>
1N5408: 9.2 pF @ 200 V, 76 pF @ 0 V</div>
<div>
<br /></div>
<div>
So the high voltage bias not only prevents the transmit waveform from forward biasing the diode but also keeps the series capacitance as low as possible.</div>
<div>
<br /></div>
<div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<span style="color: #222222;">I was trying
to do a </span><span style="color: red;">PIN diode T/R switch in LTspice</span><span style="color: #222222;"> using a downloaded 1N4007 model but the diode didn’t work like a PIN. I searched the LTspice Yahoo page and found a
question by Don Huff W6JL with the same problem. He was told his model needed a
Tt= statement in it for PIN behavior. I copied the text for his successful
1N4007 and now it shows PIN diode behavior.<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
Also, most models have Cjo specified at 0 V bias. So you don't see the lower Cjo you get with high reverse bias. I could change that to the value measured with high reverse bias, but of course it's only valid in that condition. But still to get a good prediction of performance it can be worth changing these values when switching between transmit and receive mode analysis.</div>
<h3 style="margin-bottom: 6pt;">
PIN diode behavior and bias currents</h3>
<div>
RF switching with diodes can be done with "conventional" diodes, but the PIN diode is a different animal. Charge carriers that remain in the 'I' region of the diode allow current to flow in the reverse direction for a time after polarity switches to reverse during an RF waveform. So the diode is acting more like a low value resistor than a diode.</div>
<div>
<br /></div>
<div>
These charge carriers will be used up after a time, so there is a low frequency limit to this effect as well as a power (current) limit. This is why I'm not trying 160 meters. Note that the DC bias current serves to create the carriers, but its magnitude does not have to approach the maximum current of the RF waveform. I'm not certain how the required current magnitude would be calculated, but Hayward said, "I've found that a current of 100 to 200 mA is more than enough for 7-MHz operation at the 100-W level in a 50-ohm system." Note that at 100 W, peak RF current is 1.4 A.</div>
<div>
<br /></div>
<div>
Just as the PIN diode effects limit low frequency performance, the diode junction capacitance with reverse bias limits the amount of isolation obtained at the highest frequencies.</div>
<div>
<br /></div>
<h3>
Board and enclosure</h3>
<div>
Recently I've been using the toner transfer method of board making for all but the simplest projects. I use SMT as much as possible since I don't like drilling holes. In this project I used a significant number of "leaded" components, but adapted them for surface mounting as can be seen in the photo.</div>
<div>
<br /></div>
<div>
The enclosure is a steel chassis I had on hand. I found that the two transformers generate a surprising amount of heat for their size and power ratings, so I'll probably drill some holes for ventilation when I put the cover plate on. </div>
<h3>
Performance and enhancements</h3>
<div>
I made a number of measurements of isolation and SWR which looked good, but here I'm speaking of on the air performance. I used the T/R switch between my Knight T-60 transmitter and Drake 2B receiver during an on the air activity for several days on 40 (mostly) and also 80 and 15 meters. No failures or problems were experienced, just smooth T/R switching.</div>
<div>
<br /></div>
<div>
T/R switches such as this are often integrated into a "sequencing" system which keys various transmit stages, receiver muting, sidetone and so forth. I don't have much need for sequencing at the moment but might choose to design a keyer on a PIC or AVR chip so I can simply plug my paddle into the T/R box and have outputs to key the transmitter and/or VFO. A sidetone and muting are other options I might choose to incorporate.</div>
<div>
<br /></div>
<h3>
Do it again, smaller</h3>
<div>
I allowed myself plenty of room for this project, which in the world of boatanchors is OK. But I think I could do a lot to make it smaller, especially if the target power level were 50 W or less. First, use a single choke in each bias leg, whether molded or toroid is found to be better. Then use more SMT devices, especially for the diodes and capacitors. And surely there's something smaller than IRF830s to handle 350 mA or so in saturation and block 200 V or more with margin.</div>
<div>
<br /></div>
<div>
The issue of generating the "high" voltage without RF noise will still require some thinking.</div>
<div>
<br /></div><h3 style="text-align: left;">A problem and a fix</h3><div>I was pretty pleased using the T/R switch with "novice" transmitters like the DX-60 and HT-40, with 30 to 45 watts out. But I got a surprise when I tried it with my HT-37, which puts out perhaps 100 W. </div><div><br /></div><div>On key down, the SWR zoomed. I eventually found that the T/R switch was switching between transmit and receive at a high rate - maybe 50,000 Hz or so. I tried many fixes and theories to no avail. At one point I found that a capacitor was "singing", but when I replaced it with a different type, it sang too. So it was responding to the problem, not causing it.</div><div><br /></div><div>I found that I could start at low power and then run it up to 100 W with no issue, but keying at 100 W set off the oscillation.</div><div><br /></div><div>I put it away a couple years and when I returned I started thinking about time constants. In NA6O's circuit, he used 0.022 uF capacitors from the drains of the MOSFETs to ground, and even sketched in the time constant. I didn't have that value in the voltage required in SMT so I substituted 0.1 uF. Realizing that this might be the problem, I changed those caps to two 0.01 uF units at each location and tried the switch with a 100 W transmitter. Success!</div><div><br /></div><div><b>Potential builders please note: </b>I have not changed my schematic as yet, so be aware of the change described above if you build a T/R switch based on mine.</div><div><br /></div>
<h3>
Files</h3>
<div>
Schematics get a bit fuzzy and hard to read pasted into this blog. I'm going to put a schematic image and the ExpressSCH format file of the schematic into the Dropbox folder linked below. Also the ExpressPCB file for the board and anything else that seems useful.</div>
<div>
<br /></div>
<div>
<a href="https://www.dropbox.com/sh/go528tomr21uspd/AABnh0H9aXWp1cfFsVcTmRkQa?dl=0">https://www.dropbox.com/sh/go528tomr21uspd/AABnh0H9aXWp1cfFsVcTmRkQa?dl=0</a></div>
<h3>
References</h3>
<div class="MsoNormal" style="margin-bottom: 6pt;">
"Electronic Antenna Switching" by Wes Hayward in QEX, May 1995. Also on EMRFD CD</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
"Experimental Transmitter" on the website of Gary Johnson WB9JPS (now NA6O):</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
http://www.wb9jps.com/Gary_Johnson/TR_Switch.html</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
QRZ.com page of Don Huff W6JL</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
Also see the Magic Box T/R switching system in 4SQRP.com, by K8IQY</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
I note that my schematic is very close to that of NA6O with component substitutions and power supply design variations noted.</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<br /></div>
</div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com2tag:blogger.com,1999:blog-1672783022634900449.post-79080392329535997802016-09-02T18:55:00.000-07:002016-09-02T18:55:39.576-07:00Collins T-368 T-195 VFO to solid state<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzzqhv6KnkhV2iFs6a7YdAtHTqZxJWN9JoPaNzDwNGTIMWZktklv2o-w-_hG1gTMICSpDhtPcupHX3PhmjOeqsuHgcD9LJYT-j6UoTRFECLQVSTFbvwOVlu_wBDSGiKX-q7Fk0hzXEbsA/s1600/Collins+T-195+VFO+MOD+I.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzzqhv6KnkhV2iFs6a7YdAtHTqZxJWN9JoPaNzDwNGTIMWZktklv2o-w-_hG1gTMICSpDhtPcupHX3PhmjOeqsuHgcD9LJYT-j6UoTRFECLQVSTFbvwOVlu_wBDSGiKX-q7Fk0hzXEbsA/s640/Collins+T-195+VFO+MOD+I.jpeg" width="480" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This started when I read a user's group post by Rick Campbell KK7B about these Collins VFOs that were at least at one time easily available from hamfests at low prices. And furthermore, they could be converted from tube operation to solid state without much difficulty. The advantages are low drift and low phase noise, among other things.</div>
<div class="separator" style="clear: both; text-align: left;">
So I started looking around and found one at my local hamfest for $10. The total package is actually an exciter. The VFO covers 1.5 to 3.0 MHz and the chassis includes multipliers to give x2, x4, and x8 ranges. You can see why it needs to be stable if you're going to multiply by up to eight times.</div>
<div class="separator" style="clear: both; text-align: left;">
I figured out how to energize just the oscillator section (two tubes) B+ and filaments and had some fun playing with it and measuring the drift. Then into the attic with it for several years, with conversion to solid state a back of the mind notion for "some day", which just arrived this week.</div>
<div class="separator" style="clear: both; text-align: left;">
The magic is in that white soup can. It houses the frequency determining circuits. Between it and the front panel you see two tube sockets for the oscillator and buffer.</div>
<div class="separator" style="clear: both; text-align: left;">
I found Army manuals for the thing on line and other resources in the form of a web page by John Seboldt K0JD giving lots of good information on doing just what I want to do:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
http://www.seboldt.net/k0jd/t368vfo.html</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
That led to a good article on the subject "Transistorizing Surplus VFOs", QST February 1989, p 45.</div>
<div class="separator" style="clear: both; text-align: left;">
The QST article used two dual-gate MOSFETs. K0JD used a JFET oscillator and DG MOSFET buffer. I fooled with that in LTspice but didn't like it so I used a JFET for the oscillator and a BJT (NPN) for the buffer as an emitter follower to give me a 50 ohm output and fairly decent looking sine wave.</div>
<div class="separator" style="clear: both; text-align: left;">
It was essentially a Hartley I had built earlier on an SMT board with little SOT-23 active devices, SMT versions of the 2N4416A and 2N3904. I reused that board design although it's much larger than it needs to be since the frequency determining components aren't required.</div>
<div class="separator" style="clear: both; text-align: left;">
As seen in the photo, mine is a temporary lash-up although I don't know if I'll ever do it up right. I didn't want to go through the mechanical details of removing the oscillator to get to the bottom of the tube sockets, so I just stuck wires into the correct pins from the top. It worked out well that the nodes I needed to access are accessible on the tube pins.</div>
<div class="separator" style="clear: both; text-align: left;">
After getting it all hooked up I've done some checking on stability. It has gone two hours without moving a single Hertz and at other times might move one or two Hertz in a 30 minute period. Actually, I'm not sure my frequency counter is stable enough for this measurement.</div>
<div class="separator" style="clear: both; text-align: left;">
I want to mention linearity too, but first I'll put in my schematic. Note that I didn't do any connections to the buffer's tube socket. And to the oscillator I just connected to the top of the tank, the coil tap, and ground.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHGoEXx14hXHsoBiFp3qT2S9f86abqzCKE5r7Mzoo0MzDtAsMHDOoO5rE8H5P_uej7xIkyJg843MjPOLu5M0-4GmwHu277KF8oayipfKq-ma-MdfchBc7gYD_Ukw9PpXkRP5tDBUyHpdY/s1600/Collins+T-195+VFO+to+solid+state.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHGoEXx14hXHsoBiFp3qT2S9f86abqzCKE5r7Mzoo0MzDtAsMHDOoO5rE8H5P_uej7xIkyJg843MjPOLu5M0-4GmwHu277KF8oayipfKq-ma-MdfchBc7gYD_Ukw9PpXkRP5tDBUyHpdY/s640/Collins+T-195+VFO+to+solid+state.jpg" width="513" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I'm not an expert on military radio equipment, but with some of the stuff I've looked at it appears that no expense was spared in design or construction. Just first class. </div>
<div class="separator" style="clear: both; text-align: left;">
This unit has a mechanical counter to indicate the frequency. I took readings at intervals of 100 from 1500 to 3000 and plotted them in Excel. The linearity is very impressive although with the vertical scale of the plot it appears a little better than actual. It has to deviate by several kHz from the straight line before you can see it. There's also an offset of about 110 kHz which I can fix after I figure out how to disengage the shaft from the counter and reset it.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Edo50RBoxHbjhdZhDXslnm83_GO5y6VV2BVLh-LKyzgXJszaM90iTZRkVB9qLLa94H7PUUj4pmJBqHp057A4hTIlsjs6mQ9sb9Y6VdkeNlqkLMujrnH67pMJIMTiLCs5H4rRaAxjXE8/s1600/Excel+linearity+graph.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Edo50RBoxHbjhdZhDXslnm83_GO5y6VV2BVLh-LKyzgXJszaM90iTZRkVB9qLLa94H7PUUj4pmJBqHp057A4hTIlsjs6mQ9sb9Y6VdkeNlqkLMujrnH67pMJIMTiLCs5H4rRaAxjXE8/s640/Excel+linearity+graph.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
That white covering over the soup can is a heater. I thought I might turn it on and get even better stability, but it turns out that the setpoint is 32F! So you can surmise that the stability results from careful selection of components with regard to their temperature coefficients and the heater is just to keep the unit within the range that they can handle.</div>
<div class="separator" style="clear: both; text-align: left;">
One drawback is the frequency range of 1.5 to 3.0 MHz. You've got 160, but double it and you only add 80. You'd need to double again for 40. Or heterodyning would be another approach.</div>
<div class="separator" style="clear: both; text-align: left;">
If I were going to use this thing "for real", I'd probably add another stage of amplification to get to +7 dBm or more. </div>
<div class="separator" style="clear: both; text-align: left;">
Note that K0JD added a varactor offset tuning circuit. That could be necessary in some applications, but I didn't want to adversely affect stability at this point in my playing.</div>
<div class="separator" style="clear: both; text-align: left;">
I haven't considered trying to make any of the multiplier stages functional with solid state components thus far.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
OK, fun project. If you see one, pick it up and have some fun playing with it.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nick, WA5BDU</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-74779349466504608632016-07-23T14:35:00.000-07:002016-07-23T14:35:38.813-07:00Yet another Arduino and AD98xx DDS Project<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq5b-qLbYdsTPeXDZjVeQMGRdJxH9n0a2wAlEmttMLu3LpkZtQ704z3E4gPquW-LRIcqtr2oYlpaiViY0GMyz3UI2-mSNvnd8suGguZ_XJZU_E-bOZ9X1DeYJ8d0ZOuP2z0MPr25zsvnY/s1600/External+view+completed+DDS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq5b-qLbYdsTPeXDZjVeQMGRdJxH9n0a2wAlEmttMLu3LpkZtQ704z3E4gPquW-LRIcqtr2oYlpaiViY0GMyz3UI2-mSNvnd8suGguZ_XJZU_E-bOZ9X1DeYJ8d0ZOuP2z0MPr25zsvnY/s320/External+view+completed+DDS.jpg" width="240" /></a></div>
<br />
These days Arduino Nano boards are as low as $3 each and AD9850 or AD9851 DDS modules can be found in the $5 to $15 range, so the temptation to do something with them is strong. The question is, what is that "something"?<br />
<br />
Like most homebrewers, I have DDS units coming out my ears. But I could think of a few specific things I'd like to have in this implementation:<br />
<br />
1) Battery powered to make it portable and easy to grab and use with a minimum of fuss.<br />
<br />
2) Sealed up as tightly as possible. A current DDS unit I have leaks so much signal out via the power and USB cables and slipshod case that I can't hope to attenuate the output way down for small signal receiver testing.<br />
<br />
3) A minimal user interface - no display, PC connection or rotary encoder. This is partially in the interest of compactness, partly to minimize signal leakage and partly just for the challenge inherent in designing such a beast.<br />
<br />
4) Lots of bells and whistles as long as they're consistent with #3 above. One model is my Elecraft XG3 signal generator, which has some nice bits above and beyond its basic functions.<br />
<br />
First a little about the hardware. Jim Giammanco N5IB was really the guy who kicked me off on this project with his DDS and Arduino Nano Experimenter's Board. It's a very nice board designed to handle the interconnections, power distribution and filtering for an eBay DDS module with an Arduino Nano in a stacked configuration. Unused pins are brought out for the programmer to play with.<br />
<br />
Info on the Experimenter's Board is found on the PHSNA Yahoo Group site and also on Jim's page linked here:<br />
<br />
http://n5ib.net/Index.xht<br />
<br />
<b>User interface</b><br />
<b><br /></b>
The user has to be able to communicate with the system and vice-versa. I went with three little SMT pushbuttons for user input and with a miniature speaker for the system to talk back via Morse code. So the ham who is fluent in Morse is at a bit of an advantage with a UI of this nature.<br />
<br />
In its simplest, top level operation, the user taps switch S1 to have the frequency announced and S2/S3 to step the frequency Up/Down.<br />
<br />
But we want to be able to do a lot more so a menuing system is needed. I went with a system I'd seen in Steve Weber's ATS-3 transceiver and in the NORCAL / Dan Tayloe Stinger Singer frequency counter. The user holds S1 down and the menu options are played in a loop, a single letter for each option. The switch is released after the desired item is heard.<br />
<br />
<b>Features & functions</b><br />
<b><br /></b>
<br />
<ul>
<li>Tap a button to have the frequency announced in Morse</li>
<li>Tap Up/Down buttons to step the frequency. Hold for rapid stepping.</li>
<li>Change frequency step size, 1 Hz to 1 MHz in 10x increments</li>
<li>Change bands. Step through ham bands 160, 80, 40, 30, 20, 17, 15, 12 and 6 meters.</li>
<li>RF On/OFF - can turn off RF output without powering down the unit</li>
<li>Send CW - a test CW message is sent repetitively via the RF output</li>
<li>Send RTTY - a test RTTY message at 60 WPM, 170 Hz shift sent repetitively</li>
<li>Save current frequency to scratchpad EEPROM memory</li>
<li>Return to frequency stored in scratchpad EEPROM memory</li>
<li>Announce power supply or battery voltage in Morse (audio)</li>
<li>Update (save) current frequency / band & step to EEPROM so subsequent start-ups will start there.</li>
</ul>
<div>
There's also continuous battery monitoring and a low battery alarm if it drops below a threshold.</div>
<div>
<br /></div>
<div>
<b>Power supply</b></div>
<div>
<b><br /></b></div>
<div>
The experimenter's board has provision for an LM7805 regulator and the Nano board can also accept 12 V supply voltage and use it's on-board regulator. But after exploring various battery options I decided to go with six (6) NiMH AA cells, which gives me a supply range of about 6.3 V to 8.4 V. I definitely wanted batteries because opening and closing the box with wires running everywhere isn't fun.</div>
<div>
<br /></div>
<div>
I decided to go with a buck switching module with 5 Volts output as can be found on eBay for a dollar or two apiece. This one is the size of a postage stamp and is about 89% efficient. It doesn't drop out until the input reaches < 5.5 V. So I'm operating both the DDS and the Nano board from 5 VDC. I was surprised that my current draw was only 100 mA with this system, so I can get about 18 hours of operation from my 2000 ma-hr batteries. I put a 2.1 mm charging jack on the back of the box.</div>
<div>
<br /></div>
<div>
Here's the regulator:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVtLP5pnc-pyLVUxzyXetKpp3eGyqlcJC450i2CbPdtZlN3sQjv0H6vqOoZb0tR1KKXeH7BAKVSpKgLy69SxTIcxK46a439EKEaLJ8Go8reF6r6Hli47-39N6C5InRIx4U4xooBzgcZbM/s1600/Buck+regulator+module.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVtLP5pnc-pyLVUxzyXetKpp3eGyqlcJC450i2CbPdtZlN3sQjv0H6vqOoZb0tR1KKXeH7BAKVSpKgLy69SxTIcxK46a439EKEaLJ8Go8reF6r6Hli47-39N6C5InRIx4U4xooBzgcZbM/s320/Buck+regulator+module.JPG" width="320" /></a></div>
<div>
<br /></div>
<div>
And here's the box with the Arduino / DDS stack on one side and the batteries and regulator on the other:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-MwbDa-RbeEpk62aoaENxfH1NVFLchI6Myeq6qGiFc6vhl-Y28GYp-wXb-0wC54UoFWsGwZfZvxI3Egr6mE9hiETh8DIurnfVETgb2qHc_FeLE1tvbc5lRp6jJzVpPgMYI8mA2g7ujHs/s1600/Inside+of+box.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-MwbDa-RbeEpk62aoaENxfH1NVFLchI6Myeq6qGiFc6vhl-Y28GYp-wXb-0wC54UoFWsGwZfZvxI3Egr6mE9hiETh8DIurnfVETgb2qHc_FeLE1tvbc5lRp6jJzVpPgMYI8mA2g7ujHs/s320/Inside+of+box.JPG" width="240" /></a></div>
<div>
<br /></div>
<div>
I wanted to use a die-cast box but didn't have one the right size so I used a Radio Shack aluminum box that is reasonably tight and overlaps on most of the edges.</div>
<div>
<br /></div>
<div>
<b>Trying it</b></div>
<div>
<b><br /></b></div>
<div>
One of the first things I wanted to do was to box it up, put on a 50 ohm terminator and see if I could hear it in my K3 with my big ham antennas connected. I could not hear it at all on 40 or 20 meters. On 6 meters I hear it faintly, but it doesn't move the S-meter. Of course, plugging two or three feet of wire into the BNC makes it loud and clear in the receiver. I'm not sure if I'll be able to attenuate it down to 1 uV with external attenuators or not. We'll see. But S9 shouldn't be a problem.</div>
<div>
<br /></div>
<div>
<b>Some specifications</b></div>
<div>
<b><br /></b></div>
<div>
The output is a sine wave of about -7 dBm into 50 ohms which of course varies a couple dB over the wide frequency range.</div>
<div>
<br /></div>
<div>
The frequency range is 1.8 to 54 Mhz. Actually, it should go to 60 MHz and I found on the lower end I could go to 100 kHz before output dropped too much. A larger coupling capacitor should help those interested in going all the way down to audio. Oh, there's a transformer too, so more mods would be needed to emphasize audio frequencies.</div>
<div>
<br /></div>
<div>
My unit uses an AD9851 module. It can be built with an AD9850 module which would put the top end somewhere above 30 MHz. BTW, I followed the PHSNA hardware guidance and replaced the filter on the DDS module, said to be inferior, with an external one.</div>
<div>
<br /></div>
<div>
<b>What's good, what's missing?</b></div>
<div>
<b><br /></b></div>
<div>
I said I used the Elecraft XG3 as a model. A big advantage it has is internal attenuators giving you four selectable output levels of -107, -73, -33 and 0 dBm. Switchable internal attenuators was more than I wanted to take on at this time.</div>
<div>
<br /></div>
<div>
But the XG3 can't tell you what frequency it's on. It has band indicating LEDs but you have to jot down actual frequencies or use the USB to PC interface and software to be reminded of what they are. Also, it does not allow adjusting the frequency in steps.</div>
<div>
<br /></div>
<div>
The XG3 has a square wave output. It's credited for giving harmonic marker signals up into the GHz range. But I didn't really like the square waves for stuff I'm doing.</div>
<div>
<br /></div>
<div>
<b>Where's the source code, schematics and other good info?</b></div>
<div>
<b><br /></b></div>
<div>
I put the source code and a "user's manual" kind of document in the files area of the PHSNA group.</div>
<div>
<br /></div>
<br />
<div class="MsoNormal">
<a href="https://groups.yahoo.com/neo/groups/PHSNA/info">https://groups.yahoo.com/neo/groups/PHSNA/info</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
And Jim's PDF describing the experimenter's board is found both there and on his site, linked earlier.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
For those who don't want to sign up for the PHSNA group, I'll be glad to email the files or make them available somewhere else.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
That's it.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Nick, WA5BDU</div>
<div class="MsoNormal">
kennnick@gmail.com</div>
<div>
</div>
<br />
<div>
<br /></div>
<div>
<br /></div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-69974584456956740572016-06-12T11:54:00.000-07:002016-06-12T11:54:38.570-07:00Honda eu2000i generator waveformI was testing out the generator two weeks before Field Day so I decided to do something I've wanted to do, which is look at the waveform on my oscilloscope. Is it close to a sine wave?<br />
<br />
I approached this with a little anxiety because, what if I accidentally hook the scope probe's ground lead to the hot side of the line? So I took some precautions. First, I connected the generator's ground terminal to the ground wire at my meter. Inside the house, I plugged an extension cord into the wall and verified that I knew which side is the "hot" side on the other end. I verified 120 VAC from that side to system ground (the case of a piece of equipment with 3-wire plug). I looked at the utility's waveform on my scope and it looked OK. I didn't need to hook up the grounded side of the probe, since all grounds are common.<br />
<br />
Next I unplugged the cord from the wall and took it outside and plugged it into my Honda eu2000i generator. I also plugged in a 60 W lamp, for just a bit of load.<br />
<br />
I came back inside and re-checked the voltage on the hot lead to ground with my DMM. Here's where I got a surprise. Instead of 120 VAC, I read 60 VAC. So I moved the probe to the neutral lead and it's also 60 VAC. What's going on? It looks like the ground terminal on the generator is at the center point of the output, not on one side. Unless I'm missing something.<br />
<br />
Here's what the waveform looked like:<br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQZAMPwo0JFGbWEUgqglccEM2jXDGb4xV-tdTFT_vo0ox7Gb5urNd9FeWr4hEe7UhnAuHbei9Vpwelt1XsT_mwyPDage2fAZOtfmDybI1CtNVBGJKdvPPrB_Esg98pzqRmmNK81-L763M/s1600/Honda+Generator+Output.jpeg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQZAMPwo0JFGbWEUgqglccEM2jXDGb4xV-tdTFT_vo0ox7Gb5urNd9FeWr4hEe7UhnAuHbei9Vpwelt1XsT_mwyPDage2fAZOtfmDybI1CtNVBGJKdvPPrB_Esg98pzqRmmNK81-L763M/s320/Honda+Generator+Output.jpeg" width="320" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Pretty good! It actually looked a bit more sine-like than what was coming out of the wall.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
73-</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Nick, WA5BDU</div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com1tag:blogger.com,1999:blog-1672783022634900449.post-10320569969816584282015-07-18T09:09:00.000-07:002015-07-18T11:53:34.026-07:00Si570 revisited - flexible Arduino controller<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbmFOnpl7lHgzq4CRzPAZyS7lMavnnyFNtqjrSJlstsPrUE_ifw9OOKFDYeh0m1jN3LD_3aAIohw9yHbuvU_4IAbzC6PWSc_OXRyYEp2U8A0GsFaf_qO3eBZn9obLIHE4MYXCF1ItyKpU/s1600/Si570+and+Nano.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbmFOnpl7lHgzq4CRzPAZyS7lMavnnyFNtqjrSJlstsPrUE_ifw9OOKFDYeh0m1jN3LD_3aAIohw9yHbuvU_4IAbzC6PWSc_OXRyYEp2U8A0GsFaf_qO3eBZn9obLIHE4MYXCF1ItyKpU/s320/Si570+and+Nano.JPG" width="320" /></a></div>
<br />
Back in 2009, I did a blog post about my then new Si570 synthesizer board being controlled by my then new Arduino MCU board. I got a surprising number of requests for my source code, which was a little embarrassing because my programs mainly sent pre-calculated register values to the Si570 to program discrete frequencies. At best, one program used the "ratio" method to tune plus or minus 30 kHz or so from the programmed center frequency, as is allowed by the chip design.<br />
<br />
I wanted to do an "any frequency, right now" control scheme, but doing that on the Si570 is much more difficult than it is on the AD9850 family of DDS synthesizers. The Si570 uses one 3-bit divider register, one 7-bit divider register and one 38-bit divider register plus the crystal frequency to program its output. And it's not deterministic -- multiple sets of register values will work and many others will not work, in accordance with rules defined in the data sheet. Whew! It's fairly simple to crank out a set of registers for a given frequency "off line" and send them to the chip. It's quite another thing do to it in real time as fast as you normally turn a rotary encoder knob.<br />
<br />
<u>A new Arduino Si570 control program</u><br />
<br />
The best way to approach a programming problem is to find someone who has solved it before. Craig Johnson AA0ZZ did a very nice Si570 control program for the PIC16F88 MCU and described it in a July/August 2011 QEX article. His is all done in assembly language. The methodology is very important to the solution. Craig found sets of two of the three registers that would work in each of 24 "bands" from 10 MHz to 157 MHz and saved them in tables. The actual crystal reference frequency (see "<u>Calibration</u>") was used with those register values to create another band table of pre-calculated constants. Now, much of the heavy number crunching needed for a frequency change is already done, although there is plenty of 64 bit integer math left that must be done efficiently for each frequency change.<br />
<br />
Anyway, using Craig's article, the data sheet, and my HP48G calculator, I was able to eventually grasp all the nuances and program an Arduino Nano to do essentially the same task: Take a frequency as input, generate the six registers required and send them to the Si570 board via the I2C bus.<br />
<br />
<u>My program right now</u><br />
<br />
I decided to put on the brakes at the point where I have all the Si570 control routines working, but before I began to "personalize" the program with menus, LCD display, rotary encoder control and so on. I'll add those things and publish the source shortly (?), but I want to put out the basic "kernel" of functions right now for readers who are programmers and want to add their own bells and whistles and user interface schemes.<br />
<br />
Right now the program is functioning in a "demo mode". It does a calibration, then goes to 14.025 MHz and tunes up and down in ten 10 Hz steps forever. That's so a user can hear that it is working (changing frequency) without having to tune the receiver to follow it.<br />
<br />
Routines in place are the all important one that accepts a frequency to 1 Hz resolution, calculates the registers, and send them to the Si570. Also included are step size functions and step-up and step-down functions.<br />
<br />
Invisible to the user but important are functions to detect band change (so the correct values will be selected from the band data tables) and to detect movement more than 3500 PPM plus or minus the last center frequency. When this happens, the Si570 requires a "freeze" operation to load a new "center" frequency. This is all automated in the software.<br />
<br />
Also in the program are some serial routines to allow it to talk to the PC via the Serial Monitor in the Arduino IDE. That's mostly for troubleshooting and development so you could delete all the serial stuff and save some memory.<br />
<br />
Currently, the calibrate() routine sends a bunch of information to the user over the serial link. After uploading the program, press control-shift-M to open the serial monitor and see start-up registers, crystal frequency and so on.<br />
<br />
<u>Calibration</u><br />
<u><br /></u>
This is not like the calibration you are accustomed to with AD98xx synthesizers where you calibrate to an external standard. Silicon Labs custom calibrated your Si570 at the factory and stored values in all the registers to cause it to start up on the frequency specified at purchase time. This is to correct for expected small variations in the 114.285 MHz internal crystal reference.<br />
<br />
So when the Arduino does its calibration, it is expected to "know" the specified start-up frequency. Then it downloads the register values programmed into non-volatile memory by Silicon Labs and uses those to "back calculate" the actual value of the reference crystal, which is then used to generate the constants in the band tables. <br />
<br />
My software currently calibrates every time it starts up. Craig's software does it if you hold in a button when powering the PIC up. I can see why you might want it to be "dealer's choice" so I will make it an option in my full featured version.<br />
<br />
<u>Some hardware notes</u><br />
<u><br /></u>
Connection between the Arduino and Si570 is pretty simple - two wires plus ground. But it can't be quite that simple if you have a 3.3 V Si570 and 5 V Arduino. You need bi-directional logic level shifters between the two. I used two BS170 MOSFETs plus two resistors as Craig showed in his article. You can get the same on a tiny board from eBay if you want to go that way.<br />
<br />
Another hardware issue I encountered was unexpected - RFI. When I first tried the program with the hardware, I got a lot of errors in I2C transmissions. When I plugged the RF output from the Si570 into a power meter with 50 ohm input, most of it went away. So it seems that reflections from the output can cause problems - terminate your RF output! I also added a 4.7 uF tantalum capacitor from my 3.3 volt reference on the MOSFET shifters to ground. That may have helped a bit.<br />
<br />
I'm getting out about +14 dBm, BTW. That's a lot of RF and I'm glad to have it.<br />
<br />
Speaking of hardware issues, the Si570 is a pretty clean RF source with low phase noise. Generally better than most AD98xx units and better than the new Si5351 part, although I have and use both of those.<br />
<br />
Another hardware caveat: I've been burned a couple of times by inaccurate Arduino Nano documentation. This time I spent half a day troubleshooting I2C communications before finding that SDA and SCL are actually on pins A4 and A5, not D4 and D5 as shown on some drawings.<br />
<br />
What about that startup frequency? That's important to the calibration. I lot of Si570 boards out there were bought with the Sotfrock project in mind. In those circuits, the VFO operates at 4x the operating frequency and a lot of Si570s were purchased with a startup frequency of 14.080 MHz in mind, meaning they start up at 56.320 MHz. Mine is one of those. Others, possibly taking the default start-up frequency, may start up at 10.000 MHz. If you don't know, power up your Si570 and check it with a frequency counter. If it's other than 56.320 (or thereabouts), change this line in the source code to suit:<br />
<br />
<pre style="white-space: pre-wrap; word-wrap: break-word;"> #define STARTUP_FREQ 56320000UL</pre>
<br />
Finally, where do you get those Si570s mounted on a plug-in board? I see several people (mostly hams) on the web offering them. Mine was made by WA6UFQ. You might start your search from a Softrock site.<br />
<br />
Regarding power the Si570 ... It uses more than 100 mA so don't use a 78L05 regulator and I wouldn't try to have the Arduino supply the power either. I used a 78M05 with a small heat sink. it's rated at 500 mA. Why am I talking about 5 V regulators? My Si570 board has a 3.3 V regulator on it and wants 5 V to the board.<br />
<br />
<u>Let's wrap it up</u><br />
<u><br /></u>
Where's the source code?<br />
<br />
Right here:<br />
<br />
http://pages.suddenlink.net/wa5bdu/Si570_New.ino<br />
<u><br /></u>
I won't be revising this file except to fix any errors that may be lurking in it. Later I hope to add a link to a version with LCD, rotary encoder and so forth.<br />
<br />
Here's a link to Craig Johnson's page, which includes the QEX article:<br />
<br />
http://www.aa0zz.com/<br />
<br />
If you don't want to fight through creating an Arduino based controller, Craig's PIC based card works very well and allows LCD, rotary controller and so forth. (I have one.)<br />
<br />
73-<br />
<br />
Nick, WA5BDU<br />
<br />
kennnick@gmail.com<br />
<br />
<br />
<br />Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com2tag:blogger.com,1999:blog-1672783022634900449.post-25139899381860380642015-04-22T11:13:00.000-07:002015-04-22T11:13:17.038-07:00Q - steel wire at RFSome discussions we had on the QRP-L list March 4 through 13th of 2015 on the subject of RF resistance of steel conductors merged in well with my recent attempts to improve my ability to measure coil Q.<br />
<br />
In order to compare copper with steel and also Copperweld, I'd need to wind some coils that were physically identical and test them. I have a ceramic form I picked up at Dayton last year, which has grooves for the conductor, assuring constant spacing and diameter. I also need to have the same diameter and type (solid conductor) samples for a good comparison.<br />
<br />
Below is my coil with ten turns on it, bright steel #18 bare wire:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iDvJvohRBUTQCOigi1T4RdBIr2UIgxo-Hkd-oqrzGhPMnUW1R5A3JuKatHStdubPsxHsSSEU8FqeALXuzXzDzTLy3HjODAJXXKduc_PkRUbFEDhJ9CT5eFNRkiippqBg287Mwm9D9hw/s1600/Bright+steel+wire+for+Q.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iDvJvohRBUTQCOigi1T4RdBIr2UIgxo-Hkd-oqrzGhPMnUW1R5A3JuKatHStdubPsxHsSSEU8FqeALXuzXzDzTLy3HjODAJXXKduc_PkRUbFEDhJ9CT5eFNRkiippqBg287Mwm9D9hw/s1600/Bright+steel+wire+for+Q.JPG" height="320" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And below is the same coil with #18 solid copper, insulated:</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3yKprTQd6M3ZIXJKUyGR-u66V3gT8WVv52_Bu6_gTVq35w77vsdg5cnZvV_e5_S6O2-Ikq8tMEmuEDRz3zRaRP1UdTNiXqDWflZYS6uZl4eIG0JcwEv9ivUxeW4vSWpAq77HAYrbjDI/s1600/Copper+wire+for+Q.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN3yKprTQd6M3ZIXJKUyGR-u66V3gT8WVv52_Bu6_gTVq35w77vsdg5cnZvV_e5_S6O2-Ikq8tMEmuEDRz3zRaRP1UdTNiXqDWflZYS6uZl4eIG0JcwEv9ivUxeW4vSWpAq77HAYrbjDI/s1600/Copper+wire+for+Q.JPG" height="320" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
OK, I'll skip photos of the other two since they all look the same.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You see my shunt measurement "fixture" (BNC tee with receptacle on 3rd port) and a silver mica capacitor chosen to resonate in the vicinity of 7 MHz.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I had two kinds of iron or steel wire, one bright and shiny and the other dark in color. The shiny one may have been galvanized but I doubt it. I used the dark one as well because I'm sure it's not coated in any way. However, it was a standard increment smaller in diameter.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I also wound one coil with #18 Copperweld. I was glad to have that form because that stuff is super springy and fights you every step of the way. I probably got this piece from Burstein-Applebee back in the 60s:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAabT9vr8P3maN_Cl4HDyCQOyUzVLc_aUhuwPjuPtvLcsuAVYWlsN0uP-kV6stgB3hS51DAjaCq-u3ASF6hOAEvgnUl2f39PTcoTKf3LuCD5FbxxVFV8eCbT7vrUcVpn1EKMu7vnfqeRU/s1600/Copperweld+ad+Burstein-Applebee.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAabT9vr8P3maN_Cl4HDyCQOyUzVLc_aUhuwPjuPtvLcsuAVYWlsN0uP-kV6stgB3hS51DAjaCq-u3ASF6hOAEvgnUl2f39PTcoTKf3LuCD5FbxxVFV8eCbT7vrUcVpn1EKMu7vnfqeRU/s1600/Copperweld+ad+Burstein-Applebee.JPG" height="138" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Wow, 250 feet for $1.89! That's a lot of dipoles.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Results:</u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
In the table below I list the results for each sample. The coils took about 8 feet of wire, so I extrapolated the effective resistance out to 100 feet. I also show the ratio of RF resistance for each sample to that of copper.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKPr1T_kW8eM5iqleZ42FopW-9jC0a45GF_j73jnM3FJmI1nJSFefH2AwYrVfZ9yN7O7frSrnqALeAQhRZJlfwmp9rlDpfQPABF_pyHAWgOB0pRuG_67tJYw_ppR9busDs-zM1jCwcFAw/s1600/Coil+Q+table.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKPr1T_kW8eM5iqleZ42FopW-9jC0a45GF_j73jnM3FJmI1nJSFefH2AwYrVfZ9yN7O7frSrnqALeAQhRZJlfwmp9rlDpfQPABF_pyHAWgOB0pRuG_67tJYw_ppR9busDs-zM1jCwcFAw/s1600/Coil+Q+table.JPG" height="112" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
What should we make of this? Well, I'd say iron or steel conductors aren't good for antennas (especially long ones) or inductors. (Unless "broadband" is your thing.) We probably already knew that. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
One thing that kicked off this study was data from a web site showing huge RF resistances for steel. The calculations were based on skin effect and the effect of permeability in making the skin depth very thin. I wondered if the permeability of these materials remained high even at RF.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Interpolating from the data on the web site, the ratio of steel to copper RF resistance at ~7 MHz is 33.3. I got ratios of 13 and 15. So, somewhat less but still pretty damning for steel conductors at RF.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
What about Copperweld? One alarming potential outcome of RF resistance being primarily determined by permeability was that the skin layer of Copperweld might be very thin as well, resulting in high RF resistance, despite the copper cladding. This didn't turn out to be the case, with Qs almost equal to copper and RF resistance only 24% higher for Copperweld.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Another observation ... with the steel samples the inductances I measured with my AADE meter were 10% or so more than values calculated from the resonant frequency with a known capacitor. No doubt this is due to the low measurement frequency of the AADE.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I was a bit surprised that the darker steel (iron) wire had about the same Q as the bright shiny wire did, despite having a smaller diameter. Maybe the bright stuff was alloyed with something that raised its resistivity as happens with stainless. I don't think this wire would be classified as stainless though.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<u>Error Factors:</u></div>
<div class="separator" style="clear: both; text-align: left;">
<u><br /></u></div>
<div class="separator" style="clear: both; text-align: left;">
I don't know the composition of either of my steel or iron samples. (I called the dark colored one "iron" just to differentiate the two.) Both strongly attracted a magnet.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I think my Q measurement methods are reasonably accurate these days. But this isn't NBS work by any means - just the efforts of an amateur experimenter.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It would have been useful if I'd measured the DC resistance of the samples, but I wasn't geared up at the moment for accurate small resistance measurements.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Nick, WA5BDU</div>
<div class="separator" style="clear: both; text-align: left;">
4/21/2015</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<u>Links:</u><br />
<u><br /></u>
<a href="http://ve3efc.ca/wire_ohms.html">http://ve3efc.ca/wire_ohms.html</a><br />
<br />
<a href="http://www.g3ynh.info/zdocs/comps/part_1.html">http://www.g3ynh.info/zdocs/comps/part_1.html</a>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-20085267860050782622015-04-08T12:10:00.000-07:002015-04-08T12:10:56.845-07:00Q measurements with shunt fixtureIn the previous post I discussed both shunt and series connected unknown circuits and formulas for each, but the results I showed were only for my 1-ohm fixture and series connected unknowns.<br />
<br />
Here I'm showing some results for shunt connected unknowns. BTW, in both cases the unknown is a series connected L-C circuit.<br />
<br />
Recall that I discovered that my 1-ohm fixture had enough loop reactance (from inductance) to affect the measurement significantly, but in the series configuration it could be calibrated out. For the shunt case it wasn't so simple. So the "fixture" for shunt measurements needed to minimize the loop created by connection of the unknown. The simplest seemed to be just a BNC Tee with a BNC receptacle connected to the open end.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE9BusV-lbQx4Hf_IiJf0LDs_1Msdo9PT3gHwLwfzaah_wZsqF3QX4oj-N05qc9ZOgPAxeh5eCw5UqffqI_yNcIe1pyNCUbGskya2bjHMX-ytihnOFkB_faav4lT4EZvTQKM_Y86Wb2gU/s1600/Shunt+jig.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE9BusV-lbQx4Hf_IiJf0LDs_1Msdo9PT3gHwLwfzaah_wZsqF3QX4oj-N05qc9ZOgPAxeh5eCw5UqffqI_yNcIe1pyNCUbGskya2bjHMX-ytihnOFkB_faav4lT4EZvTQKM_Y86Wb2gU/s1600/Shunt+jig.JPG" height="320" width="320" /></a></div>
<br />
The two female ports go to the PHSNA DDS and the AD8307 measurement circuit.<br />
<br />
I made some measurements with the type 2 and type 7 toroids again and with the molded choke, and I also added a couple of air wound B&W type coils - one small and one quite a bit larger. In all cases I selected resonating silver mica capacitors to give resonance around 7.5 to 8.5 MHz. Just for consistency and to be somewhat "midband HF". I also added series resistances in several instances, to see if my measured Rx would increase by the amount I added, as a method of checking accuracy.<br />
<br />
BTW, there are no transformers or minimum loss pads here, so this is a 50 ohm environment.<br />
<br />
Below are some results from my spreadsheet.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2fCvsdR147xES62Ek9JM4GhzCE0qZPUBZ1sq1OJEK3kR6psq38dYoE8XORrg5o40udkWLK6MaHUfkXscSitcAq5EaXEOJxMLUci_rw0cB4B5i5yIB8CAnKYLkQXkjBJBp_Wxn0B57v8/s1600/Shunt+50+ohm+Q+measurements.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic2fCvsdR147xES62Ek9JM4GhzCE0qZPUBZ1sq1OJEK3kR6psq38dYoE8XORrg5o40udkWLK6MaHUfkXscSitcAq5EaXEOJxMLUci_rw0cB4B5i5yIB8CAnKYLkQXkjBJBp_Wxn0B57v8/s1600/Shunt+50+ohm+Q+measurements.JPG" height="151" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
If the data table doesn't fit the column, click it to make it full size.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I feel like I'm getting pretty decent results here, consistent with my expectations. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
BTW, elsewhere in my spreadsheet I enter my dBm measurement with the unknown port open and again with the unknown network connected to give me the attenuation caused by the unknown. I also enter the environment resistance (50 ohms), and it gives me Rx, the series resistance of the network, presumed to belong mainly to the inductor. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I also enter the measured inductance of the coil and the resonant frequency and my spreadsheet gives me the Q of the circuit.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
NRK 4/8/2015</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-28045616097605089602015-04-01T11:18:00.003-07:002015-04-01T14:32:51.821-07:00Q measurement with PHSNA[Edit #1: Some of my images (graphs & schematics) shrunk to fit the column width. Just click on images that seem to be truncated to see them full sized.]<br />
<br />
Measuring Q is an interesting challenge. With the PHSNA (a DDS calibrated source plus AD8307 RF power measurement instrument plus analysis software), it seems like it should be a piece of cake. I'm already doing it with crystals, after all.<br />
<br />
But then I remember that Qs of 100 to 200 or more, even with toroids, aren't unusual, and inductors with reactances in the 50 to 200 ohm range are common in RF / HF designs. Do the math and you see that we may be measuring fractional ohm loss resistances. A bit of a challenge in a 50 ohm system.<br />
<br />
One way to increase sensitivity is to put the component being tested in a lower resistance fixture, for example, 12.5 <span style="font-family: 'Times New Roman', serif; font-size: 12pt;">Ω is typical for crystals. Going to extremes, a 1 </span><span style="font-family: 'Times New Roman', serif; font-size: 12pt;">Ω fixture does a lot. A problem is that two 50 to 1 </span><span style="font-family: 'Times New Roman', serif; font-size: 12pt;">Ω minimum loss pads back to back have a combined attenuation of 45.9 dB. So we need a strong source or sensitive detector or both. My PHSNA system has about 0 dBm RF output and the detector should go down to say, -60 dBm without much trouble. So I probably don't need an amplifier in line.</span><br />
<span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><br /></span>
<span style="font-family: 'Times New Roman', serif; font-size: 12pt;">I also got into looking at Q measurement methods in EMRFD (page 7.36). Typically, one puts a series resonant circuit for which Q is desired in series between the source and detector. In this example, the test circuit is put in the <u>shunt</u> configuration between source and detector. I wondered how that differs in sensitivity form the series method. So the first thing I did was do the math to solve for loss resistance in both configurations.</span><br />
<span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><br /></span>
<br />
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
I derived the formula in general terms for source (and detector) resistance Rs instead of
just for 1 Ω. Rx is the value of the
loss in the coil (or coil + capacitor).
For attenuation A, I get:</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpSlh2Z-5n7ViykbU1I3nOKobBoLuLM9kZHAj78UkjQ5Qz7ItnLpUeJbUDIjvs-7md41LiMEwqncKb6ulIXDLLdMj1OFq7bcFoZYYxX4bwaRVdngLkOFdESGYr0hkPRlPdF4N2iHRIHoQ/s1600/loss+in+shunt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpSlh2Z-5n7ViykbU1I3nOKobBoLuLM9kZHAj78UkjQ5Qz7ItnLpUeJbUDIjvs-7md41LiMEwqncKb6ulIXDLLdMj1OFq7bcFoZYYxX4bwaRVdngLkOFdESGYr0hkPRlPdF4N2iHRIHoQ/s1600/loss+in+shunt.jpg" height="97" width="320" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: AR-SA;"><br /><!--[endif]--></span><!--[endif]--></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
The ultimate purpose of this
exercise though is to find Rx. So
solving the above for Rx <b>for the shunt
configuration</b>:</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vnmGk9R-63eN6T3UewnTeGjfJxaJTN8Vp_9DgbMVXYfGQXlAZxcZPwLVTlV6m8BxWCtm6s-7eJ8s86mNXYTHj3ZejNxPrL1r0ZVPBl7P8Ta9iNDucjiayQAlWV0oNvBCRzlAcZTH9co/s1600/Rx+in+shunt.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6vnmGk9R-63eN6T3UewnTeGjfJxaJTN8Vp_9DgbMVXYfGQXlAZxcZPwLVTlV6m8BxWCtm6s-7eJ8s86mNXYTHj3ZejNxPrL1r0ZVPBl7P8Ta9iNDucjiayQAlWV0oNvBCRzlAcZTH9co/s1600/Rx+in+shunt.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The procedure is to measure power to the detector without the tested circuit installed, then measure it again with it installed in shunt (to ground, between source and detector). 'A' is the dB difference in the two measurements and here is it is a negative value.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
To compare this method with the series method, I need to derive the equations for that configuration.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Series configuration:</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0O6KaNnei5K0_PXvbIwsrpNAqGzOWOl1g_ITmfsvNtXRLikqZIzVLM4S67dTF_AIQZ0WKw5OvxtIwREPbidasJJsWub_uywywYF4eQCvGp1i29GG_AFXYGRy0RQRf1ewAYBB8MUeU18Q/s1600/Series+attenuation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0O6KaNnei5K0_PXvbIwsrpNAqGzOWOl1g_ITmfsvNtXRLikqZIzVLM4S67dTF_AIQZ0WKw5OvxtIwREPbidasJJsWub_uywywYF4eQCvGp1i29GG_AFXYGRy0RQRf1ewAYBB8MUeU18Q/s1600/Series+attenuation.jpg" height="91" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: AR-SA;">and solving for Rx:<!--[endif]--></span><!--[endif]--></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: AR-SA;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk-8iw7oIT3Oui4WUOUpI_P1HdJ-BmUEHiUNpRMEYwPqiZLO-oiRFkMgbf8KmvqH5VjiZ9fA35RM3RetmND0QJn9PC5E0eA_9_jGzqCZ6pvxE2Nh9BPGupXTIn7ONWqlO9vCC_FN44y6s/s1600/Rx+for+series+config.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk-8iw7oIT3Oui4WUOUpI_P1HdJ-BmUEHiUNpRMEYwPqiZLO-oiRFkMgbf8KmvqH5VjiZ9fA35RM3RetmND0QJn9PC5E0eA_9_jGzqCZ6pvxE2Nh9BPGupXTIn7ONWqlO9vCC_FN44y6s/s1600/Rx+for+series+config.JPG" height="100" width="320" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: AR-SA;"><br /></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: AR-SA;">I was somewhat surprised when this result didn't look like the equation I've been using for crystal Rloss measurements. I finally realized it was because my math began with attenuation as a negative number but the other equation entered it as positive. So they are equivalent.</span></div>
I put the equations into an Excel spreadsheet and plotted the attenuation A against Rx for both configurations. My thought is that the method that produces the greatest change in A per ohm change in loss resistance is the more sensitive.<br />
<br />
Below:<br />
1 Ω test fixture<br />
Rx on horizontal axis<br />
dB attenuation on vertical axis<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirZbN3ND9ln8bnAYC8v3eQVxIdWkvy2_uNOx581TmF5bv6E-EFUgMqd0JSw3LilKX5Fjcd8jk0ykLoaW33J1FlO6QnQoQv725Q67MlEFurV5WxsNHZiOpQ1peAEYvwkWFSuljCfiGviAg/s1600/plot+for+1+ohm+fixture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirZbN3ND9ln8bnAYC8v3eQVxIdWkvy2_uNOx581TmF5bv6E-EFUgMqd0JSw3LilKX5Fjcd8jk0ykLoaW33J1FlO6QnQoQv725Q67MlEFurV5WxsNHZiOpQ1peAEYvwkWFSuljCfiGviAg/s1600/plot+for+1+ohm+fixture.jpg" height="364" width="640" /></a></div>
<br />
From the above, the series method seems better for "all around" measurements, but the shunt method looks like it would be better for high Q / low loss resistance items. In a one ohm environment.<br />
<br />
I repeated the above plot for a 12.5 ohm fixture and again for a 50 ohm fixture and present results below:<br />
<br />
12.5 Ω test fixture<br />
Rx on horizontal axis<br />
dB attenuation on vertical axis<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ-8JTE37P6tSxkKUFeohxAKbZ_ExXXuclPGox0GkUKipjQJrjknwf8EOPsyndeTh8M_odg1KwxQIqD0G52Yjwr71hKTY8f4l0kuHLAeySTElBg21rsDSRcFvmUurgcq04jeVHEicoMGs/s1600/12r5+ohm+plot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ-8JTE37P6tSxkKUFeohxAKbZ_ExXXuclPGox0GkUKipjQJrjknwf8EOPsyndeTh8M_odg1KwxQIqD0G52Yjwr71hKTY8f4l0kuHLAeySTElBg21rsDSRcFvmUurgcq04jeVHEicoMGs/s1600/12r5+ohm+plot.jpg" height="404" width="640" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Above, the series configuration
gives a fairly constant slope of about 0.3 dB per ohm. The shunt configuration gives much better
sensitivity, up to the source resistance of 12.5 Ω which is the crossover point
again.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Finally for the 50 ohm fixture case:</div>
Below:<br />
50 Ω test fixture<br />
Rx on horizontal axis<br />
dB attenuation on vertical axis<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdas9TGrhgHVnSXyWD3gKa7_992W45T23fUPYv6dAH_ND2G7tbfZA_sYdggFYB6JleUn5zL1lJ-AU04CIRS1GLYLN4eS55ZN4kOZUEshg7ptjb1pxEQilMe2fmfNf3U04C307WTUthz5Q/s1600/50-ohm+plot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdas9TGrhgHVnSXyWD3gKa7_992W45T23fUPYv6dAH_ND2G7tbfZA_sYdggFYB6JleUn5zL1lJ-AU04CIRS1GLYLN4eS55ZN4kOZUEshg7ptjb1pxEQilMe2fmfNf3U04C307WTUthz5Q/s1600/50-ohm+plot.JPG" height="382" width="640" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
(Above) Again the change per ohm with
the series method is constant but it’s down to 0.08 dB/Ω. With the series method, much more sensitivity
is achieved with about 8 dB/Ω at 1 Ω, decreasing to 0.36 dB/Ω at 15 Ω. It's clear that with higher source / detector resistances, the shunt method is better.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
It just occurred to me that if you already have a 50/50 system, by using the shunt method you don't have to go to the trouble of building a lower resistance jig. So EMRFD rules again.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<b>Some practical results:</b></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
I wanted to go with the 1 ohm fixture first. Below is a schematic of one I got from Bill Carver, W7AAZ. It uses SMT precision resistors from Mouser. Also shown is a 3 dB attenuator. Cut off at the right is matching to the HYCAS amplifier. Bill was showing me how to use it to measure crystal parameters.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdNO2d0g63_M6Vs4Zx41cc_YYoh7f1174T6tXr5NStKvPGaoyY-5JEpEkTsL1EmQMzujYLoW6zpNFT4qXecYbIvj6XCdYHb7U5DKYh-d6lHKs9rhV0AVHdTt6HxsTyuotBKD1jEf38Kzs/s1600/Carver+1+ohm+fixture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdNO2d0g63_M6Vs4Zx41cc_YYoh7f1174T6tXr5NStKvPGaoyY-5JEpEkTsL1EmQMzujYLoW6zpNFT4qXecYbIvj6XCdYHb7U5DKYh-d6lHKs9rhV0AVHdTt6HxsTyuotBKD1jEf38Kzs/s1600/Carver+1+ohm+fixture.jpg" height="392" width="640" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
And below, we have it in physical form:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3e_3-XPkFjeLspyByPmHP8hQLkr0PojhOEtar7injKVEbvI2TyUD8tgxQ9SKoV5lKE_Oz0MCsYIwOZT0A77DbE09k6iPZ5FH-c_O0mCKKL7XsXVxNF90DMdbYk55jT0Rzw5KTPmpIGqk/s1600/One+ohm+fixture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3e_3-XPkFjeLspyByPmHP8hQLkr0PojhOEtar7injKVEbvI2TyUD8tgxQ9SKoV5lKE_Oz0MCsYIwOZT0A77DbE09k6iPZ5FH-c_O0mCKKL7XsXVxNF90DMdbYk55jT0Rzw5KTPmpIGqk/s1600/One+ohm+fixture.jpg" height="300" width="400" /></a></div>
<br />
<b>An unexpected problem!</b><br />
<b><br /></b>
I did some series method measurements with the tested item installed (as shown) and with a short across the two alligator clips. What a shock to find, in some cases, more power measured through the tested device than with the short. Negative attenuation!<br />
<br />
This baffled me for a while but I began to suspect the inductance of the loop formed by the two alligator clips and the shorting wire between them. I measured the attenuation of a loop about
that size on my AADE L/C meter and get somewhere between 0.045 and 0.075 uH. At 8.2 MHz, that’s 2.5 to 3 Ω of reactance. And in a 1 Ω environment, that’s
significant. Using LTSpice, it seems to
add about 7 dB attenuation over a “real” short.<br />
<br />
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
But when I have my series L/C
circuit under test installed, the small loop inductance gets absorbed into my
test coil’s inductance and cancelled when I find the resonant peak. That’s why the circuit under test actually
has a higher power value than the so-called shorted fixture.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
I saw a couple of ways around this. One was to resonate out the stray inductance when I did my "shorted fixture" measurements. It's best to do this reasonably close to the measurement frequency, so I needed about 5800 pF. That worked -- I was able to see the peak and measure available power with strays cancelled out.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Another method would be to assume the calculated 45.89 dB attenuation of the fixture is accurate, measure power with source plugged right into detector, and take 45.89 dB off of that for my "shorted fixture" power. The method of resonating out strays seemed to give slightly better accuracy.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Oh, I did use a lowpass filter following the generator. The DDS-60 is pretty well filtered, but notes on measuring Q emphasize the need for very good harmonic suppression.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Now some measurements. I had a couple of iron power toroids wound with turns as noted. One was a T68-7 and the other a T50-2. I measured inductance with my AADE meter and chose a resonating capacitor (silver mica) to resonate at something over 8 MHz.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
I made a measurement of the L/C resonant circuit and a second one with some series resistance added, to see if the delta came out close to the resistor value. I also tested a type 61 toroid and a miniature molded choke, just to do some samples with lower anticipated Q. I plug the attenuation and source resistance values as well as inductance and frequency into an Excel spreadsheet and have it crank out loss resistance Rx and Q.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0a-GHhwnIKfSBV1QiMw3G3wBlbkDkUYwXeWaxZZYzdFxu_fqxOXUcHesc-YDcL7vtR4a8zYXLQUw6_uuUxLKB0BzQLN4zHJ_ES6fDOVLY2Q0KNSiFEYMqmAq06cHExplK7hlRk8UuSQ/s1600/Spreadsheet+Q+values.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx0a-GHhwnIKfSBV1QiMw3G3wBlbkDkUYwXeWaxZZYzdFxu_fqxOXUcHesc-YDcL7vtR4a8zYXLQUw6_uuUxLKB0BzQLN4zHJ_ES6fDOVLY2Q0KNSiFEYMqmAq06cHExplK7hlRk8UuSQ/s1600/Spreadsheet+Q+values.JPG" height="184" width="640" /></a></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
The method is to measure the shorted fixture power as discussed above, then hook up the test specimen and do a response sweep with PHSNA. It finds peak and minimum values. In this case, I want the peak. I take a peek at the plot just to make sure it's not a "false peak". Take the difference of the two dBm readings to get dB attenuation.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
So I think my accuracy is probably decent, but could be improved. That may be my next post.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<b>What about the shunt method?</b></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
I decided not to try that with the fixture I have now, because dealing with the stray inductance is not so simple. It will not be absorbed into the test specimen's inductance but instead will combine with it in a more complex way. Probably making another fixture with minimal strays is a good solution. Also, based on the graphs, the 50 ohm method might be the best overall for the shunt method.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<u>Notes:</u></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
EMRFD is the ARRL book <i>Experimental Methods in RF Design</i></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
PHSNA can be found at:</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
https://groups.yahoo.com/neo/groups/PHSNA/info</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
... and in an article in the spring 2014 QRP Quarterly magazine.</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
Nick / WA5BDU</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
4/1/2015</div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt;">
<br /></div>
</div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-33531938672179687892013-03-23T18:13:00.000-07:002013-03-23T18:13:35.589-07:00Vanguard I transmitterSome time ago, a group of hams (including me) celebrated an anniversary of Sputnik I by building transmitters of a similar design and power level. Now it's time to try the first satellite borne transmitter of the USA carried within its Vanguard I spacecraft. This time we use a single transistor instead of a single tube. Specifically, a germanium transistor instead of silicon. The original was on 108 MHz, I think, but that's a bit challenging and that band isn't available to hams. We're using the 20 meter (14 MHz) band. For authenticity, we try to hold to a single transistor, germanium, with output as a result being in the low milliwatt range.<br />
<br />
I came a little late to the party this time because I couldn't find a suitable transistor, but eventually was pointed to some on eBay that were from the old Soviet Union. Some kind of irony going on here, I guess. Peaceful co-existence, anyone?<br />
<br />
Again, I'm following the trail blazed by Mike, AA1TJ who had the original schematic and made his circuit close to it. I was able to duplicate it pretty well, but my oscillation was slow to start, so keying would be impossible. Impatient, I switch to a circuit from Experimental Methods in RF Design. Here's my circuit:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgftbGguas8d_NCZ7zTv6RP_ioZgwaIHGKzSWMd2A11WU2jI7aWenb3-4EK2TGFqzxqn0qfv6XitXff-uBl-qYjSOt7AWsXwOsaiwC-EcImqNEf_AOkIuMhwDR-UWhPu8EHtDz1Xep-83M/s1600/Vanguard+schematic.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgftbGguas8d_NCZ7zTv6RP_ioZgwaIHGKzSWMd2A11WU2jI7aWenb3-4EK2TGFqzxqn0qfv6XitXff-uBl-qYjSOt7AWsXwOsaiwC-EcImqNEf_AOkIuMhwDR-UWhPu8EHtDz1Xep-83M/s320/Vanguard+schematic.JPG" width="320" /></a></div>
<br />
I measured about 30 mW out from the transmitter, which was pretty much my goal. I haven't yet made my first QSO, but was pleased and a bit amazed to hear my signal (from Arkansas) reported on the Reverse Beacon Network in WVA, VA, NC, OH, and PA after just a few CQs, typically 8 to 10 dB above the noise. Update: Just had a partial QSO with WD4HHN in Florida, so things are moving. I'm not one of those QRP operators of great faith, so I have to admit I'm amazed. It's fun writing in the log, Power: 0.03 W.<br />
<br />
Not wanting to have to pound on a hand key, I also made an interface circuit to my electronic keyer using a 2N4403 PNP transistor switching the positive lead from the battery. <br />
<br />
The transmitter went together in an hour or so on a solderless prototype board, photo below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjM0_jOdwDWSFp-Fc50GT-RW1Tm6M8d1iESekgC2qJ1YXDlP97ekWKRMTCwyGTUPLmXR0vxevM8pwW57LOkZcyzqabAUWAqp-VRMsvQ_kHuQAnXqSFnzX0-4uBsJiapK0f-u_dRujgvf0/s1600/Vanguard+TX+close.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjM0_jOdwDWSFp-Fc50GT-RW1Tm6M8d1iESekgC2qJ1YXDlP97ekWKRMTCwyGTUPLmXR0vxevM8pwW57LOkZcyzqabAUWAqp-VRMsvQ_kHuQAnXqSFnzX0-4uBsJiapK0f-u_dRujgvf0/s320/Vanguard+TX+close.JPG" width="320" /></a></div>
The silver cap thing is the transistor. The crystal is wrapped in red tape to keep its case from shorting out any adjacent wires.<br />
<br />
Here's a page on Vanguard activities maintained by <span style="background-color: white; font-family: Tahoma; font-size: 13px; text-align: justify;">Oleg Borodin, RV3GM.</span><br />
<span style="background-color: white; font-family: Tahoma; font-size: 13px; text-align: justify;"><br /></span>
http://www.club72.su/vanguard.html<br />
<br />
And here's Michael Rainey's blog entry on his Vanguard project from June, 2012:<br />
<br />
http://aa1tj.blogspot.com/2012_06_01_archive.html<br />
<br />
72-<br />
<br />
Nick, WA5BDUNick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com1tag:blogger.com,1999:blog-1672783022634900449.post-76151705646956177592013-02-28T19:41:00.000-08:002013-02-28T19:41:57.749-08:00Antenna: Mini-loop for 20 metersI've heard so much about small transmitting loops that I needed to eventually try one even if I have no need for a compact antenna. I first tried it a number of years back. I thought I'd try 40 meters since that would be appropriately challenging. Actually, it was overly challenging and I never got it to work for transmitting, as heating of the capacitors from RF current would change the resonant frequency and drive the SWR through the roof, even at 5W. My problem was using compromise capacitors instead of butterfly, trombone, or other high quality components.<br />
<br />
So I'm trying again, this time on 20 meters. My loop is made from a 10 foot piece of 1/2 inch soft copper tubing, shaped more or less into a circle of about 38 inches diameter. It's 0.14 wavelengths long on 20 meters. This kind of antenna is fairly simple technically -- the big loop forms an inductor and a capacitor selected to resonate the inductance at the operating frequency is connected across the open gap where the ends (almost) meet. A slight bit of technical complexity occurs in coupling the radio to the loop, but it's simple in practice.<br />
<br />
There's lots of software to help with the design. I used RJELOOP1.EXE by Reg Edwards, G4FGQ. You input the loop dimensions and it gives you the capacitance required, radiation efficiency, loop current and capacitor peak voltage for a given power level, etc. Mine shows that it will be about 52% efficient, not too bad for a small antenna. It will have 1800 peak volts across the capacitor while operating at 5 watts(!), And the loop current will be 5.6 A. Also, I need about 44 pF capacitance for 20 meters.<br />
<br />
<u>The Capacitor:</u><br />
<u><br /></u>
It's a known fact that you don't want your variable capacitor to have contact points such as bushings, bearings or sliding contacts that the large loop current must pass through. But I read G4ILO's loop antenna page* as part of my research and he claimed that a good quality variable of conventional design and in good condition would work fine. So I picked a nice one from my junk box and decided to measure the resistance across the bearings before proceeding. I hooked up a power supply and limiting resistor to shaft and frame and passed 0.5 A DC though it. I used my DMM to measure the voltage drop across the bearings, while rotating the blades to look for bad spots. Voltage drop was in the low millivolt range and my contact resistance was about 2.5 <span style="font-family: 'Times New Roman', serif; font-size: x-small;">mΩ</span> worst case and 1 <span style="font-family: 'Times New Roman', serif; font-size: x-small;">mΩ</span> typical. I'm good to go!<br />
<br />
<u>The Other Capacitor:</u><br />
<u><br /></u>
My capacitor is about a 10 pF to 60 pF unit. I mounted it in the Plexiglass plate that secures the ends of the tubing and stuck on a knob. In initial testing, I found that I couldn't zero in on a frequency with this system. Now the resonant frequency is 14.200 MHz, I make a small adjustment and now it's 13.900 MHz. Playing with my RJELOOP1 program some more I see that 0.165 pF change in capacitance moves the resonant frequency by 25 kHz. Too sensitive! One option would be to have a 10:1 reduction drive on the capacitor. Another would be to have a large fixed capacitor and a small value variable in parallel. The third is just to parallel a smaller capacitor with the one I have now. I chose the third method.<br />
<br />
I didn't have any suitable capacitors small enough, so I decided to use a 5.5 pF to 23 pF variable and put a 2 pF fixed silver mica in series with it. A spreadsheet showed me that this arrangement would give me 0.32 pF change for the first 30 degrees of travel from fully un-meshed, but only 0.025 pF change from 150 degrees to 180 degrees (fully meshed). So an initial setting of 50% or so gives me a good tuning range and slow tuning.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-DbvDX5RDXA8/UTALPEQZIxI/AAAAAAAAH3s/o3lNRvhiPck/s1600/mini-loop_capacitors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-DbvDX5RDXA8/UTALPEQZIxI/AAAAAAAAH3s/o3lNRvhiPck/s320/mini-loop_capacitors.JPG" width="320" /></a></div>
<br />
<div style="text-align: center;">
Main & fine tuning capacitors on Plexiglass plate</div>
<br />
OK, it's ugly but remember this is an experiment! The big one with the knob going off to the right is the fine tuning capacitor and the smaller one with its shaft going through the Plexiglass is the main unit. If you knew where to look, you might see the 2 pF silver mica in series with the fine tuning capacitor.<br />
<br />
<u>The Coupling Loop:</u><br />
<u><br /></u>
Literature on the subject says you can use a wire loop or a ferrite toroid threaded onto the main loop as a one-turn secondary with an appropriate number of turns on the radio side. I'd already tried the wire loop, so I threaded a FT-114-43 toroid onto the loop. RJELOOP1 says the primary should have an impedance of two to three times that of the feeder (50 ohm coax). So I used two turns on the radio side.<br />
<br />
This didn't work well at all. My null was over a 2:1 SWR and looked weird -- it came back up slowly when I tuned to the low side, instead of the sharp high-low-high null I expected.<br />
<br />
So I went back to the wire loop. It's just that - a loop of wire connected across the coax feeder. The loop is positioned just inside the main loop, diametrically opposite the capacitor. Nothing connects to the main loop here, so I used a piece of insulating board secured to the main loop to support the small loop and to mount a coax receptacle on.<br />
<br />
The sources I read said a circumference of 1/5th that of the main loop would be good, so I used 24 inches of solid #12 AWG THWN. I had a hard time getting a good match. Rotating the loop out of the plane of the main loop is supposed to be one tuning method, but it made things worse. Not sure what else to try, so I tried squashing the small loop down into a football shape and got some improvement -- down to 1.5:1 at resonance.<br />
<br />
My RJELOOP1 program had given a value of 19 inches for the small loop, so I took off five inches. That made things even worse. I made a new loop, this time going UP to 26 inches wire length and was able at last to get 1.1:1 at resonance. I've read that the size of this loop isn't too critical, but I guess I have to say that's not my experience.<br />
<br />
Now everything is ready ...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhovnL8-aaurToRBugfA1Nfwam1IUAdThyphenhyphen4X0KPaoK9exaolV-uZvX-Yq3vnO-zLpE1p4LrlE3Y1Oo4qeUBhIpjxQMDK-NpE1ixAhQRA9aYQlnMzD-Bh7DDfb1cLe0-DGAZIXpfnHSrjWc/s1600/mini-loop_matching+loop.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhovnL8-aaurToRBugfA1Nfwam1IUAdThyphenhyphen4X0KPaoK9exaolV-uZvX-Yq3vnO-zLpE1p4LrlE3Y1Oo4qeUBhIpjxQMDK-NpE1ixAhQRA9aYQlnMzD-Bh7DDfb1cLe0-DGAZIXpfnHSrjWc/s320/mini-loop_matching+loop.JPG" width="320" /></a></div>
<br />
<div style="text-align: center;">
Matching loop, 26 inch circumference</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdQquj6n3EY7PIdLPEBPl-o8U8LJDbr9f_nFnAAL-Z0o9zwVKBZScR6JMecssCqPKbqQF8VjgIP3ANn5Pi3aaeOzpfyabyiSP3iHs5FJEz-ScFUXtgsVATLbBitvdVNPxbzuApn7YB8J0/s1600/mini-loop_11.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdQquj6n3EY7PIdLPEBPl-o8U8LJDbr9f_nFnAAL-Z0o9zwVKBZScR6JMecssCqPKbqQF8VjgIP3ANn5Pi3aaeOzpfyabyiSP3iHs5FJEz-ScFUXtgsVATLbBitvdVNPxbzuApn7YB8J0/s320/mini-loop_11.JPG" width="212" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Hanging from a fiberglass pole</div>
<div style="text-align: center;">
off the upper deck of my house</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>Trying it out:</u></div>
<div style="text-align: left;">
<u><br /></u></div>
<div style="text-align: left;">
I made my first declaration of success before I even managed a QSO. I was able to adjust it to the desired frequency and it stayed there over the course of a couple hours as I transmitted and was idle and it hung out in the sun and cold February wind. Eventually I did manage a QSO with another QRPer out in New Mexico. He was weak here and I was weak there but we managed a 20 minute QSO discussing small loops and EFHWs.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
I measured my 2:1 SWR bandwidth at 22 kHz, which looks adequate to me.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<u>What next?</u></div>
<div style="text-align: left;">
<u><br /></u></div>
<div style="text-align: left;">
If I want to actually use this antenna, I should get back to one capacitor and put on a reduction drive. Also it would be good if the capacitor were in a weatherproof box. As-is, I need to keep this antenna out of the weather. A way to do remote tuning would be good -- maybe use a screwdriver type drive. Manually adjustable would be OK, but for a big project, servo controlled nulling would be really nice.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
I also need to see if it will play on 18 MHz and 21 MHz. My capacitor should have enough range, but I'm not taking it for granted.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
73-</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Nick, WA5BDU </div>
<div style="text-align: left;">
Russellville, AR</div>
<div style="text-align: left;">
February 28, 2013</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
* http://www.g4ilo.com/wonder-loop.html</div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-69661603769748159082012-12-02T16:46:00.002-08:002012-12-02T16:46:57.429-08:00Battery monitor & discharge tester<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkpanUygDu89AKELYC2924KYO5GzboTtdJFX0MJfeID6vQmlPI1B9jOin3ItQPf_4OGWUtsSDi-DYm37QdfwqwUfvv85YXZxGmlZPOb-ehmKvC3a6vTeSNyOz_k2i3ZoB_xndIafDu5ww/s1600/Battery+monitor+II.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkpanUygDu89AKELYC2924KYO5GzboTtdJFX0MJfeID6vQmlPI1B9jOin3ItQPf_4OGWUtsSDi-DYm37QdfwqwUfvv85YXZxGmlZPOb-ehmKvC3a6vTeSNyOz_k2i3ZoB_xndIafDu5ww/s320/Battery+monitor+II.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
I like to use little AGM lead-acid batteries on the workbench and in the field with my QRP stuff. The KX3 transceiver likes to have voltage up over 13V if you want full power (10W), so I bought one of those amazing little DC-DC boosters from eBay. Using it though, I could be unaware of how low my battery's terminal voltage has gotten. Taking it lower than about 1.8VPC (volts per cell) could be harmful to the battery, so that led to this project - a battery monitor.<br />
<br />
The heart of the thing is an ATmel ATtiny85 8-pin MCU. I've been moving from PICs to AVRs lately, and from assembler to C. I originally used the ATtiny13 and did get a functioning version in its 1024 byte program memory space, but I wanted more features so I went to the '85 and the luxury of a full 8K of memory.<br />
<br />
To keep things simple, the user interface consists of just a speaker, and LED, and a push button. the MCU monitors battery voltage via ADC and issues a warning beep at 11.0 volts and a "tripped" beep at 10.8 volts. A logic line output changes states when tripped and can be used to stop the battery discharge via a relay, MOSFET or transistor. If you just want an alarm, the output line is not used.<br />
<br />
A brief press of the switch in normal operation will cause the speaker to beep out the current voltage. This can be in Morse, or for those who aren't Morse literate, it will give one beep for "1", two for "2" and so on, with a long beep indicating "0". The readout is to the hundredth digit.<br />
<br />
If you initiate a voltage report and then re-close the switch and hold until it's finished, the MCU will swap between Morse and "count beeps" reporting methods.<br />
<br />
Holding the switch closed for > 2s while in normal operation will toggle the sense of the output line between HIGH and LOW for the non-tripped condition. All configuration changes are saved in EEPROM and therefore survive a shutdown and re-start.<br />
<br />
The MCU is programmed for a trip setpoint of 10.8V and an alarm setpoint 0.2V higher. This is also programmable: Connect it to a variable voltage source and hold the switch while powering on the board. The voltage at the time the switch is released becomes the new trip setpoint.<br />
<br />
The LED flashes briefly about once per second in the untripped state and changes to two brief flashes every 2.5 seconds after it trips. I wanted to avoid the dreaded "car alarm syndrome" of continuous audible alarms driving me crazy. The board gives two 0.5 second raspy sounds at the warning setpoint and one two second raspy sound when it trips. Then it goes quiet. Check the LED to see if it's tripped.<br />
<br />
Another function is use of the board to supervise a discharge test. After it reaches the trip setpoint and stops the discharge, it reports the discharge time in minutes. Knowing the discharge current, you can calculate the amp-hour capacity. Additional presses of the switch while in the tripped state cause it to repeat the discharge time and the battery voltage.<br />
<br />
So, a fair amount of function in a tiny chip & board. One drawback is that after it trips, it's still pulling current from the battery. But that's only about 2mA.<br />
<br />
I tested my trusty 4 A-hr AGM and found that it had less than 1 A-hr capacity, so it went into the recycle bin.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-18058211131837073982011-10-07T19:15:00.000-07:002011-10-07T19:15:15.424-07:00Sputnik transmitterFor my latest, I've put aside my AVR programming and a few other projects to participate in an activity commemorating the October 4, 1957 launch of Sputnik 1, and with it, the space age. It's the brainchild of the master of archaic radio technology Mike Rainey AA1TJ, whose original post is here:<br />
<br />
<a href="http://aa1tj.blogspot.com/2011/07/sputnik-qso-party-transmitter-prototype.html">http://aa1tj.blogspot.com/2011/07/sputnik-qso-party-transmitter-prototype.html</a><br />
<br />
Mike supplied me with the the two Russian "pencil tubes", a 21.060MHz crystal and a vague instruction to do something with them. I reproduced the transmitter shown in the schematic of the above link to the best of my ability. Initially, I had trouble getting oscillation, so I reduced the size of the "lower" feedback capacitor to get it to go. Eventually I got all the way down to 10pF, tormenting the crystal all the way up to 21.065MHz. I had problems with low output, sometimes less than 100mW and was suspicious of my plate RF chokes so eventually went to a 1k resistor on the oscillator plate and a resonant tank on the amplifier. That put me up to 200mW.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSNY6FQLMSLNLTONj6XVYoaS6MQd5B5TPaRYPvGldxHI_9xWtAlMMmgaU3fbYChtJcV1DqnsLG5Z-e5dOWkUUaxkMAkSgPEZRSgjxfRiAtOvsEMjmtv-JzuVYeckfoK1uxr8F67Lfa3uc/s1600/sputnik+inside+3+%2528752+x+500%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSNY6FQLMSLNLTONj6XVYoaS6MQd5B5TPaRYPvGldxHI_9xWtAlMMmgaU3fbYChtJcV1DqnsLG5Z-e5dOWkUUaxkMAkSgPEZRSgjxfRiAtOvsEMjmtv-JzuVYeckfoK1uxr8F67Lfa3uc/s320/sputnik+inside+3+%2528752+x+500%2529.jpg" width="320" /></a></div><br />
Here's a picture of it. The tubes have wire leads which I soldered to a terminal strip. For keying, I did what Michael suggested and keyed the PA plate while leaving the oscillator running. The little perf board has a TTL reed relay for keying. By this time I'd already made my power cable for B+ and filament and realized I needed 5V for the relay. Rather than rebuild that cable, I added the 9V battery and a 78L05. A little foresight could have been helpful.<br />
<br />
<b>On the air!</b><br />
<b><br />
</b><br />
I got it ready just in time for the October 4th start date. I was fairly amazed to make four QSOs on a Tuesday afternoon with just 200mW out. They were:<br />
<br />
N2JJ in NY<br />
W1PID in NH<br />
W5RZ 10 miles up the road<br />
WB8YYY in MD<br />
<br />
N2JJ recorded my simulated 54 year old transmitter on his Droid phone and sent me the audio file!<br />
W5RZ wished me "DSW".<br />
WB8YYY gave me a 238 RST, one of the strangest I've had.<br />
<br />
Inspired by this project, I've done a lot of reading on Sputnik. I remember very well when it was announced on the news in 1957. We ran out and looked at the sky.<br />
<br />
Some of the ideas I and maybe others had weren't really correct. First, while the exact time of the launch wasn't known (the Soviets were pretty secretive), it was generally known in the US that the Soviets were very close to making their attempt. The US was also pretty close to launching, with an intended satellite launch planned during the IGY (International Geophysical Year) of 1957. It actually succeeded in January 1958. But the possibly underestimated reaction of the public and media to Sputnik expedited the program a great deal.<br />
<br />
Sputnik transmitted on 20 MHz, allowing ham operators and shortwave listeners worldwide to hear its beeps. Michael chose the 21 MHz ham band for our project to get reasonably close. The American satellites transmitted above 100MHz, which required somewhat more exotic receiving equipment to hear.Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com2tag:blogger.com,1999:blog-1672783022634900449.post-78234171896493453852011-08-19T12:43:00.000-07:002018-02-22T12:53:41.563-08:00Barometer - Altimeter<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5B9rKiIhMrwoTjA1C4OrrdxoLZ55QQNi7SRd0qeoWXK0L84Ku5_SfnUOqCSlCsAr5HRHCzKW3VZRvB7ijNIKm-xPtvipMK_ci_O75-AwDcuhk4ou31WZ95zp9VxbW2ddxL18ge1NcwsY/s1600/inch+mercury.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5B9rKiIhMrwoTjA1C4OrrdxoLZ55QQNi7SRd0qeoWXK0L84Ku5_SfnUOqCSlCsAr5HRHCzKW3VZRvB7ijNIKm-xPtvipMK_ci_O75-AwDcuhk4ou31WZ95zp9VxbW2ddxL18ge1NcwsY/s320/inch+mercury.jpg" width="320" /></a></div>
<br />
For some reason I've thought for a while that it would be fun to build (or even buy) a barometer. A friend had this cool military surplus altimeter he put on the seat of his car while driving through the mountains and you could see the elevation go up and down. That was pretty cool. Barometric pressure is interesting too. Can you predict a storm by seeing a rapid drop?<br />
<br />
So I finally ran across this chip, or sensor on a chip, by <span class="Apple-style-span" style="font-size: 16px; line-height: 18px;">Freescale, the MP3H6115A pressure sensor chip. It cost $9.15 from Mouser. The chip is SMT, 8-pin SSOP package. It has 0.05” pin spacing, but the row-to-row width is wider than SOIC packages, so a different adapter or board pattern is needed.</span><br />
<div class="MsoNormal">
<span style="font-size: 12.0pt; line-height: 115%;">It has an output of 15 to 115kPa or 2.2 to 16.7 psia. </span>Supply voltage is 2.7 to 3.3 VDC, typically 3.0 VDC. Output is in ratio to supply voltage, so it must be known and regulated.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In the photo you see I soldered the chip to a little adapter board and glued that to a scrap piece of PC board on which I also mounted a 3.3V regulator.</div>
<div class="MsoNormal">
<span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></div>
<div class="MsoNormal">
<span style="font-size: 12.0pt; line-height: 115%;">Only three pins are used: supply, ground, and output. So you just take that output to the ADC input of your micro and Bob's-your-uncle, instant barometer. Altimeter. Whatever.</span></div>
<div class="MsoNormal">
<span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="line-height: 18px;">You'll need some floating point routines in the program. I used my Arduino board which has an ATmega168 MCU, I think. You program it in C. I'm trying to expand beyond assembler so this is a good project for me. The formula for pressure from output voltage is:</span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="line-height: 18px;"><br />
</span></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal" style="line-height: 18px;">
<span style="font-size: 12.0pt; line-height: 115%;">P = (Vout/Vs +0.095)/0.009 kPa (Vs is the supply voltage.)<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 18px;">
<span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;">Since the output is in kPa or kilo-Pascals, I did a further </span></span><span class="Apple-style-span" style="line-height: 18px;">conversion</span><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;"> to inches of mercury (inHg), more familiar to me. BTW, normal barometric pressure is about 101.3kPa.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;">I first just hooked the thing to my DMM and converted voltage readings to inHg with Excel or my calculator. I pulled up the local airport's data on the web and compared readings. They were off a bit more than I expected, but then I learned that airports convert their reading to sea level equivalent, making it somewhat higher. After compensating for the difference between sea level and our airport's altitude of about 380 ft. I was closer. In the end I did a small fudge factor to get closer yet. I also have access to atmospheric pressure at my friendly local power plant for calibration purposes.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;">Converting to altitude is more complicated. Rigorous formulas are complex and factor in a number of things like ambient temperature and relative humidity. I opted for one that was simpler:</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="line-height: 115%;"></span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">Z = (1-(P/29.9247)^0.19)/22.558E-6<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">Where Z is altitude in meters and P is pressure in inHg. I converted the result to feet for display.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">My display is a 4-digit 7-segment display surplus from a set-top box, BTW. I like the look of red 7-segment numerals, but it has a few issues: No decimal point, hard to see in outdoor light, can't make many alphabetic characters.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">I make my program display pressure in inHg for about 1.5s, then text approximating "inHg" for 0.75s, then feet altitude for 1.5s and text "ASL" for 0.75s and repeat.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">One curious result I noticed initially was that the display would show 380 feet for a while, then jump to 350 feet, alternating between the two. I finally realized that this is the limitation of my 10 bit ADC. One part in 1024 is equivalent to about 30 feet of elevation here in Russellville. I tricked my way out of that a bit by putting in an averaging routine that uses the average of 5 readings taken over a 5 second period. Now I get smoother changes and some artificial interpolation but my response time to a step change has been reduced to the 5 seconds it takes to fill the buffer.</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">Today I gave it a trial run in the Miata to the top of Mt. Nebo. My local elevation is 380 feet. When I got to the sign at the top of the mountain saying "Elevation 1800 feet", my altimeter was displaying 1749 ASL. So, pretty good. </span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;"><br />
</span></span></div>
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: small;"><span style="font-size: 12.0pt; line-height: 115%;">BTW, I looked at a week's worth of barometic data and saw that the equivalent elevation change between the high and low readings was 186 feet. So I might reasonably expect extremes to make my altitude reading off by up to +/- 93 feet if I haven't entered any compensation.</span></span></div>
<br />
<div class="MsoNormal">
<span class="Apple-style-span" style="font-size: 16px; line-height: 18px;">Will this project ever make it into a box with a dedicated MCU chip? Maybe.</span><br />
<span class="Apple-style-span" style="font-size: 16px; line-height: 18px;"><br /></span>
<span class="Apple-style-span" style="font-size: 16px; line-height: 18px;">The answer to that question is YES. In fact, I'd forgotten I started the thing on the Arduino. But the final version uses a bare ATmega chip programmed in AVR-GCC. Also that 7-segment display looked great but was a current hog do I went with a regular Hitachi type dot matrix LCD. Still red.</span><br />
<span class="Apple-style-span" style="font-size: 16px; line-height: 18px;"><br /></span>
Updated 2/22/2018</div>
Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-22904170513542860392011-03-26T17:58:00.000-07:002011-03-26T17:58:36.784-07:00PIC powered filaments - my first PWR / switching project.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgniduHj1caMTjbQHwWQJEfmu83TRm3QcrL6M5EQVQSlqK4FcS8oJtNzxA7dJQua1KKwvAVXGV7CfAsD2-eSsZOIlRp76AYUke-ln2Pj0TijQ1Bd4w1IpAHB5vy3-WJaF1RMUc7o-U552A/s1600/PWM+board.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgniduHj1caMTjbQHwWQJEfmu83TRm3QcrL6M5EQVQSlqK4FcS8oJtNzxA7dJQua1KKwvAVXGV7CfAsD2-eSsZOIlRp76AYUke-ln2Pj0TijQ1Bd4w1IpAHB5vy3-WJaF1RMUc7o-U552A/s320/PWM+board.JPG" width="320" /></a></div>This project satisfies a couple things I'd been wanting to try - 1) using PWM on the PIC, and 2) trying my hand at a switching power supply circuit.<br />
<br />
I should say that I first tried the Arduino board, but it's C-language front end only allowed a PWM frequency of about 500 Hz. I felt the need for a higher frequency / shorter period. So back to the PIC, and I chose a favorite, the 16F88. It has 18 pins and incorporates ADC, PWM and lots of other good stuff. To make sure I could get the PWM speed I wanted, I used a 20MHz crystal instead of one of the very handy built-in oscillators.<br />
<br />
First I worked on learning to get the PIC working in the PWM mode. It didn't take long to be able to produce a "demand" output voltage of good accuracy that I could measure with a DMM and/or see on the scope. I used a simple RC filter on the output pin to convert the pulse train to DC.<br />
<br />
PWM is pulse-width modulation. For example, if I set it for 25% output, the output pin will be HIGH for 25% of the selected period and LOW for the remaining 75%, and repeat. Good for power supply voltage regulation. (Similar methods are even used in your digital (CD, MP3) music players to generate audio.)<br />
<br />
Now, what about the switching circuit components? I scanned several references (complicated!) and came up with a simple appearing "buck" circuit. The PIC controls a pass transistor that "charges" a series inductor during the ON time, through the load, and when the PIC turns off, the inductor continues to source current through the load with a diode providing the conduction path that opened when the pass transistor turned OFF.<br />
<br />
The references indicated that design of PWM circuits is pretty complex and not likely to work with homebrew hacker techniques. I decided to play with my proposed circuit in LTSpice for a while before risking blowing stuff up, since I was pretty clueless. That helped me a lot. I just simulated the PWM pulse drive from the PIC with a square wave source, changing the duty cycle manually until the output voltage was right. <br />
<br />
I was using a 20us (microsecond) period, which is the total ON plus OFF time for one cycle. Things were looking good and I was thinking it ought to work, but then I started using LTSpice to look at the dissipation in components such as my transistor. Wow, it was dissipating twice as much as my load. My overall efficiency must have been about 25%. Looking closer, it appeared that the losses occur during switching periods, the rise and fall times. When fully ON or OFF there's no device dissipation, which of course is what makes switching power supplies attractive. Do I somehow have to figure out how to make those rise and fall times smaller? Fortunately, no.<br />
<br />
It occurred that my efficiency is related to the number of switching transitions (OFF to ON, ON to OFF) per unit time. So maybe my period is too short. I had just assumed that faster was better. I cranked down the period in my simulation and efficiency improved considerably. I eventually went all the way from 50kHz PWM frequency down to 4.88kHz. So maybe I could have skipped the 20MHz crystal and just used the internal 4MHz oscillator.<br />
<br />
One negative is that the peak transistor current gets larger as the ON time stretches out. More inductance can help. My transistor has a rating of 1A continuous and 3A peak and I was trying to hold to that.<br />
<br />
Now I'll show the schematic and discuss the component selections-<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2xExlki68WEeHUcHs0NqBA8VJWsaccdxrVNV1SaUUQ7vwAJyREDHHD3PYvEXCW8hWVqftQe1GUfMeAno7pPOrrJ2CY9lFllX_q_u605h_f4HIQcvkij5dinq3FhdAW0_0vK1ccyHSdM/s1600/PWM_CKT.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji2xExlki68WEeHUcHs0NqBA8VJWsaccdxrVNV1SaUUQ7vwAJyREDHHD3PYvEXCW8hWVqftQe1GUfMeAno7pPOrrJ2CY9lFllX_q_u605h_f4HIQcvkij5dinq3FhdAW0_0vK1ccyHSdM/s320/PWM_CKT.JPG" width="320" /></a></div>I originally wanted to use full wave rectified voltage right off the AC line, like PC supplies do. But that would give me about 170VDC and I didn't have a PNP transistor to handle that with margin. My closest shot was the TIP30C, rated 100VDC. So for my experiment I also had to build a power supply of about 50VDC output. I have a good junk box, so no problem.<br />
<br />
Next comes the diode, I guess it's a commutating diode. I think it needs to be one of those "fast" diodes used in switching supplies and capable of 2A or more. Junkbox to the rescue again, I have a RHRP860 rated "hyperfast" at 8A and 600V. It's in a TO220 package like my transistor. The cathode of the diode and the collector of the transistor are both on the metal mounting tabs of their packages, so I could bolt both to the same heat sink and board area to make that connection.<br />
<br />
Next comes Q2, which switches the main transistor ON and OFF by grounding and opening its base circuit. When this transistor is OFF, it sees the full supply voltage, so I wanted a small transistor that could take fairly high voltage as I look forward to my 170 volt version. The MPSA43 is a small transistor in a TO92 package that can take 300 volts.<br />
<br />
Finally the inductor. Books and articles indicate that this can be critical. I picked one from my junk box which seemed to have heavy enough wire and measured 933uH. I have no idea of the intended use although I suspected it was part of a switcher of some kind. I should mention that the inductor should not saturate at maximum current. A recent project of mine was a saturation tester similar to that made by Alan Yates, VK2ZAY.<br />
<br />
<a href="http://www.vk2zay.net/article/200">http://www.vk2zay.net/article/200</a><br />
<br />
<a href="http://www.vk2zay.net/article/200"></a>I may document mine here one of these days. Anyway, I had tested this inductor and it could go several amps without saturating.<br />
<br />
That network of three resistors and two capacitors between the output and the PIC's ADC input does two things. First, it's a /2 voltage divider since 6.3 volts would over-range my PIC's 0 to 5 volt ADC input. And second, it's an RC filter to smooth out any ripple on the output so the PIC gets a consistent average reading.<br />
<br />
I lashed everything together, including the power supply, PIC board, switching circuit and a 10 ohm load with a 6.3 volt #44 bulb in parallel. (My setpoint in software is 6.3 volts.) Somewhat to my amazement, the lamp came up to normal brilliance and my DMM measured 6.27 volts. And nothing blew up, smoked, or made scary noises. My homemade sheet metal heat sink got to about 125F near the transistor and diode -- not too bad. I added a second 10 ohm load in parallel to get closer to my desired output of a bit over 1.5A and all was good. Regulation with load changes looks good, and as I ran the input voltage from 35V to 65V the output voltage did not waver.<br />
<br />
My PIC software changes the output duty cycle in 5% steps until output voltage gets within 10% of setpoint, then slows to the minimum step of about 0.1%. Updates occur about every 5 milliseconds.<br />
<br />
It occurs to me that if I power on the PIC before the big supply, the PIC will run up to maximum duty cycle trying to get to setpoint. Then when the main P/S suddenly comes on, output may go high before the PIC is able to sense the overshoot and run the duty cycle back down. Or maybe not. But I may add another input to give a "power supply voltage normal" signal which would be required before the PIC comes off zero.<br />
<br />
Let me show you the drive signal from the PIC, as read at the collector of Q2. When the voltage goes low, it allows base current to flow out of PNP transistor Q1, turning it ON. You can click these pictures to make them larger, BTW.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBv9nT6kfW-KR2L1L-4T8MF1YcFJKo4Bxs6wlhUW3kXBO7wospUC4CyOzifoX0b3YOTiP9yX8ecflcur-cqMlciIa8rK4qlPJKjUgvjJGuh0hy6SY4Ee7TIiwQ3xZvtRsgBrc7Ljrk6L0/s1600/PWM+drive+waveform.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBv9nT6kfW-KR2L1L-4T8MF1YcFJKo4Bxs6wlhUW3kXBO7wospUC4CyOzifoX0b3YOTiP9yX8ecflcur-cqMlciIa8rK4qlPJKjUgvjJGuh0hy6SY4Ee7TIiwQ3xZvtRsgBrc7Ljrk6L0/s320/PWM+drive+waveform.JPG" width="320" /></a></div>What's it all for? This one is just an experiment, but one application is in making power supplies for tube type equipment. Both the B+ (high voltage or plate supply) and filament supplies are getting harder to come by for someone without a huge junk box. I'm seeing several approaches. One guy took a 12V to 240V auto inverter and rectified the output to give about 250VDC. Most of us have 12VDC available. But inverters with 240VAC output are not common in the USA. I think using switchers for both the HV and filament voltages could be interesting although I can see that a purist might insist that everything be authentically from the period, including power supplies. <br />
<br />
Using such a power supply for filament voltage could have a couple advantages. I recently checked an old tube type power supply and found that my filament voltage which was supposed to be nominally 6.3 volts was actually 6.8 volts. The could be due to having less load on the transformer than it is rated for, but it's partly due to the rise in house line voltage over the years. People still say "one-ten" and "two-twenty", but probably for the last 30 to 40 years, actual house voltages have been 120 and 240 volts. Hard on antique tube gear.<br />
<br />
Another value a PIC controlled supply could give would be a "soft start" feature, bringing the filaments up slowly instead of hitting them cold with full voltage.<br />
<br />
But if the PIC controlled supply fails, it might destroy some rare tubes it was supposed to protect. In such cases some kind of protection in software or hardware might be advised.<br />
<br />
73-<br />
<br />
Nick, WA5BDU<br />
3/26/2011Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-58718873006685062982011-03-14T12:46:00.000-07:002011-03-14T12:46:09.745-07:00FT243 crystal grinding<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio9rTDHWSUh04LHCF78-QjXZ255s7_3ipWsX-BJHI9iPKQdWhGkaPC3UjJnrRvVtWdz0ZsMCfFSGxHrj98I5fO-W4G1CCYHu7MlERcUvjU0OzcuvLxTsmYQYg3ih8U_F2859LSEOuAhpc/s1600/Crystal+grinding+with+blank.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio9rTDHWSUh04LHCF78-QjXZ255s7_3ipWsX-BJHI9iPKQdWhGkaPC3UjJnrRvVtWdz0ZsMCfFSGxHrj98I5fO-W4G1CCYHu7MlERcUvjU0OzcuvLxTsmYQYg3ih8U_F2859LSEOuAhpc/s320/Crystal+grinding+with+blank.JPG" width="320" /></a></div>Back in 2006, I was highly impressed by a crystal grinding workshop given at the OzarkCon QRP convention. Unfortunately, I didn't participate directly and missed some of the details. It was impressive though that crystal resonant frequencies were raised much farther than I'd thought possible. Possibly 50 to 100 kHz or more, IIRC.<br />
<br />
So now I have a "new" DX-20 and I see that my FT-243 crystal cache includes a couple of worthless (to me) 40 meter crystals on 7073.33 kHz and 7080 kHz, in the data mode area between lower CW segments and a slow speed (usually) segment just below the phone band starting at 7125 kHz. Could I raise these crystal by 40 to 50 kHz for use in that higher CW segment.<br />
<br />
<b>Grinding agent?</b> I searched the grocery store and came up with some Comet cleanser and some Colgate toothpaste which include silica in its ingredients. It's a problem that these days, scouring powders want to be "scratch free" and don't include good abrasives in them. I also bought an 8x10 inch piece of glass (Hobby Lobby, for a picture frame) as a working surface. The idea is to wet the glass, add the abrasive agent, and grind your crystal using a figure-8 motion with your finger tip moving the crystal.<br />
<br />
<b>Monitoring the frequency?</b> Another cool thing about the OzarkCon workshop was that it included oscillators and frequency counters ... you just cleaned up a crystal in progress, sat it on a ground electrode, and sat a second, weighted electrode on top of it to check the frequency. Much better than re-assembling the whole thing and plugging it into an oscillator having a FT-243 connector. I built an oscillator from Experimental Methods In Radio Frequency Design (EMRFD), figure 4.23. I later changed the top (base to emitter) capacitor from 470p to 220p in hopes of increasing gain and getting a reading if the crystal became reluctant to oscillate.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSj6p3DP4nCO9YuibLZLvzj1P7wGA1JWxnzSjlgEo51th5uYTQlH8zlBXTGHFxYQvI07f3R3-p3m2vtVc8ZzS3ySjxYAsTNKcJdqNqgbpxmHBZBJvePGJ7Fj8auOMiD9O25z6uTG9f7xU/s1600/DSC_0005.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSj6p3DP4nCO9YuibLZLvzj1P7wGA1JWxnzSjlgEo51th5uYTQlH8zlBXTGHFxYQvI07f3R3-p3m2vtVc8ZzS3ySjxYAsTNKcJdqNqgbpxmHBZBJvePGJ7Fj8auOMiD9O25z6uTG9f7xU/s320/DSC_0005.JPG" width="320" /></a></div><br />
Above you see the corner of my oscillator with the crystal blank, two electrodes from the FT-243 holder, my own top electrode (made from circuit board material) with the wire attached. To check, I sandwich all four items and clamp with the orange and black clamp (or a clothes pin). Initially I did not use the internal silver colored electrodes, but after I learned that they are machined to contact the crystal on its corners and let the middle section free to vibrate, I started using them in the stack.<br />
<br />
<b>Early results -</b> The Comet was OK to use. The toothpaste tended to stick the crystal to the glass so I'd have to pry it loose. I also tried Turtle Wax auto buffing compound. It was very slick and my finger kept slipping off the crystal. None of them ground the crystal fast enough. Doing lots of figure 8s only moved the frequency a few hundred hertz. I also tried some crocus cloth. It discolored the crystal and made it quit oscillating until I ground it some more with abrasive compound.<br />
<br />
<b>Better / faster results -</b><br />
<b><br />
</b><br />
I did some web searches and found Dave's Crystal Grinding Page, where he documented doing a lot of the same stuff I was doing, plus coming up with a better abrasive compound -<br />
<br />
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 10.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-US;"><a href="http://home.netcom.com/~wa4qal/crystal.htm">http://home.netcom.com/~wa4qal/crystal.htm</a> </span><br />
<br />
The better compound was Dremel Polishing Compound. I went out and got some to try. It's kind of a putty and didn't want to mix with water, instead forming globs and sticking to the crystal. Then I added a few drops of dish washing liquid to the mix and it spread out nicely. This time I was able to move a crystal 15 kHz fairly quickly. I ground on it some more and ... it quit oscillating! (This was before I changed the feedback capacitors, so who knows?). I ground some more to try to bring it back, but no luck.<br />
<br />
Next I went to my remaining crystal, ground a while, read the frequency, looking good. Figured out about how many more figure-8s I'd need to reach my target and did about half of that. Checked and ... I've over shot and am in the phone band at 7138 kHz. One crystal dead, one useless to a CW operator. But wait?<br />
<br />
Tried the dead crystal in the DX-20 and the good news is that it came to life. The bad news is that it is also at about 7138 kHz.<br />
<br />
Someone on the 4SQRP list put me on to Hans Summers' page on what he called crystal "penning", meaning you <u>lower</u> the frequency by painting the crystal with a Sharpie marker. I'd heard of the pencil lead trick before but didn't think it would do 15 kHz. <br />
<br />
<a href="http://www.hanssummers.com/penning.html">http://www.hanssummers.com/penning.html</a><br />
<br />
I tried the formerly dead crystal first, but discovered yet another mistake to make. Trying to get the stack of electrodes and crystal aligned and clamped, I broke a corner off the crystal. No more rabbits to pull out of the hat for this one.<br />
<br />
Now the remaining crystal. I blacked about 80% of one face and the frequency dropped about 8 kHz. Promising. Did the same on the other face and got right down to the edge of the phone band. I just need a few more kHz. BTW, you have to allow some time, maybe 30 minutes to an hour, for the ink to try or the crystal might not oscillate.<br />
<br />
So I fully inked both faces. It didn't want to oscillate even after an hour's worth of drying. The ink looked kind of lumpy, so I polished both faces on a sheet of typing paper. Now it's oscillating on 7122.7 kHz in the DX-20, close to my original target. <br />
<br />
So there you have it. Everyone talks about over-shooting, you decide to be careful, but do it anyway. So be more careful -- that's probably better than resorting to "penning".<br />
<br />
Another post-script ... another 4SQRP poster said Bon Ami cleanser works well. I'm not sure you can get it in Arkansas, but I'm keeping an eye out.<br />
<br />
That's it, happy grinding ...<br />
<br />
Nick, WA5BDUNick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-25682298689950541492011-01-02T18:44:00.000-08:002011-01-08T12:48:48.317-08:002-tube regenerative receiver<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiTXgvh_0aZc1Utsfd9hrWHs2ZofJrjvjtHsQ7-rEqIFpCdsLMNGA9DuS32iK_6iLz4MWdY8AUic6ZbgsKRolNrGhTj-55CMUjzQzquFWTfUfAxbx8h-RlNu08URRf959yVCnb0bbv5ls/s1600/Regen+receiver+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiTXgvh_0aZc1Utsfd9hrWHs2ZofJrjvjtHsQ7-rEqIFpCdsLMNGA9DuS32iK_6iLz4MWdY8AUic6ZbgsKRolNrGhTj-55CMUjzQzquFWTfUfAxbx8h-RlNu08URRf959yVCnb0bbv5ls/s320/Regen+receiver+2.JPG" width="320" /></a></div>I built this regenerative receiver in the summer of 2010 after Dayton. I'd built a simple transistor regen previously, but wanted to try a more serious version using tubes. Calling it a 2-tube receiver is a little misleading since the two tubes are dual section types (tetrode and triode). So it's more like a 4-tube radio. This allows some isolation between the antenna and the regen stage and from detector to audio stages. <br />
The design is by David Newkirk WJ1Z and appears in the September 1992 QST and in the ARRL book "QRP Power". I used the suggested method of obtaining B+ by connecting a couple of 240 to 24 VAC transformers back to back. This gave me 120 volts to 12 volts and back to 120 volts, but now isolated from ground (house system neutral), which is why you do this. I wound up with 110 VDC B+, a little low because my transfomers designed for 240 VAC but used at 120 VAC have more impedance than a 120 VAC transformer would. No big deal. Also the clever regulator using a neon bulb wouldn't work because it doesn't fire that low. But I found that it wasn't needed as my voltage was steady. I used a separate 120 to 12 volt transformer for the filaments.<br />
I didn't make many changes from the design of the article, the main one change being the tuning range. The design is for about a 2 MHz range to include some SW BC plus 40 meters. I wasn't interested in SW BC and wanted the better tuning rate and better stability I'd get by restricting the range. I changed the frequency determining capacitors to give me a range of 6900 kHz to 7350 kHz. The main tuning is reasonably smooth and the fine / bandspread tuning allows getting the desired note on CW and tuning in understandable SSB.<br />
The claims made in the article proved to be accurate. I don't see any hand capacity effects and the regeneration control is smooth. There's a little more stuff to fiddle with, but really the use of this receiver is not much more fussy than that of the S-40A sitting behind it as I write this. The RF attenuator at the input is quite useful when overly strong signals tend to make the signal "tear" or "block", if you know what I mean. Just back off on the RF control and everything is fine again. I find that I can pretty much "set and forget" the regen control, although optimizing for selectivity and sensitivity might be useful for weak signal work.<br />
I built the receiver on a big chassis to give me plenty of room and I'm glad I did that. I did have some issues with stability and microphonics initially, before I narrowed the tuning range. I also put the tank toroid and several associated capacitors on a perf board and rigidly mounted it, plus made some connecting wiring in the frequency determining areas more heavy and provided more sturdy mounting points. Also "potted" the toroid with hot glue. All that helped a great deal.<br />
I considered adding another tube so I'd have enough audio to drive a speaker. But it drives my modern low-Z phones really well and if I want a speaker, I plug in some totally incongruous little powered MP3 / cell phone speakers by LG which do a great job.<br />
The white triangles around the main tuning knob indicate 50 kHz steps from 7000 up. I've replaced them with slightly less ugly but definitely less ambiguous labels showing 50 kHz points from 7000 through 7250 kHz.<br />
There you have it - another project to check off my list: a tube type, good performing regenerative receiver.<br />
<br />
Nick, WA5BDU<br />
January 2, 2011<br />
<br />
I got an actual comment (!) suggesting a photo of the wiring under the chassis would be useful. I'd considered that initially and now I'm going to add one-<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPotTSQnjrLdcDarKenM_BEaYyoahL86I1CEcKbSpO3fWiUlRYIurdz5vZOjTdAP6UC3thj-f6H0sleJw8dafMIXRGc7T8611hVUC2zaMd2pSYU_Gv3MyB-ehygBRqgFvQft1SkswG8hU/s1600/Regen+wiring+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPotTSQnjrLdcDarKenM_BEaYyoahL86I1CEcKbSpO3fWiUlRYIurdz5vZOjTdAP6UC3thj-f6H0sleJw8dafMIXRGc7T8611hVUC2zaMd2pSYU_Gv3MyB-ehygBRqgFvQft1SkswG8hU/s320/Regen+wiring+2.JPG" width="320" /></a></div><br />
There you have it. Of interest, I think is the little perf board left of the fine tuning capacitor. I added this to stabilize things. It's mounted solidly with four standoffs, not something I'd normally do. It contains the toroid and several frequency range setting caps including one trimmer. Note heavy wire leaving this board to solid tie points also added in the interest of stability. The main tuning capacitor is smaller than the one for fine tuning and is visible above the perf board.<br />
Otherwise, the schematic was interesting with it's use of multiple stages of R-C filtering in the B+ and screen voltage sections. So you see lots of electrolytics. Center left is the "70 volt" audio transformer used to match audio amplifier section down to modern, relatively low impedance phones or earbuds. In the lower right corner is the input or antenna trimmer capacitor and its associated ferrite toroid inductor just inward from it. The capacitor is screw adjusted from the top side through a hole. It's pretty much set and forget though, so didn't need to be accessible.Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com2tag:blogger.com,1999:blog-1672783022634900449.post-24852170924452312092010-04-22T18:05:00.000-07:002010-04-22T18:05:44.742-07:00RF output current meter for QRP TX<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpCvzMUS-CGBCtAyPuSzW_q4bDSIKvO3KHs0jBMNbqeRLYOAG-XtNr4BYzvVciHmBI3_wzyi67gxxGKSWmlT7VE0ewRgYz-U9YCjv3c3xNhBtIpyLbBjs6c6T-IOAFlafzI3ir-bMakak/s1600/RF+current+circuit.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpCvzMUS-CGBCtAyPuSzW_q4bDSIKvO3KHs0jBMNbqeRLYOAG-XtNr4BYzvVciHmBI3_wzyi67gxxGKSWmlT7VE0ewRgYz-U9YCjv3c3xNhBtIpyLbBjs6c6T-IOAFlafzI3ir-bMakak/s320/RF+current+circuit.JPG" /></a></div><br />
<div class="MsoNormal" style="margin-bottom: 6.0pt;">My latest project has been a two-tube crystal controlled 5 watt transmitter. (I wound up with 4 watts.) But I'm not ready to describe it yet so I'll just talk about the metering. Initially I was going to use the technique of putting an incandescent lamp in series with the final amplifier plate supply and tune for minimum to indicate resonance.</div><div class="MsoNormal" style="margin-bottom: 6.0pt;">I noticed that using the plate current indication lamp on the tube TX wasn’t effective at all in tuning for maximum output power.<span style="mso-spacerun: yes;"> </span>There was not a good sharp dip.<span style="mso-spacerun: yes;"> </span>So I decided to try measuring the output current at the antenna jack and tuning for maximum.</div><div class="MsoNormal" style="margin-bottom: 6.0pt;">Four watts is about 285 mA rms or 20 volts peak into 50 ohms.<span style="mso-spacerun: yes;"> </span>I used an FT50-43 core with 23 turns on it for a 23:1 current reduction.<span style="mso-spacerun: yes;"> </span>First I wanted to use an LED indicator.<span style="mso-spacerun: yes;"> </span>A problem is that after a couple mA of current, it’s hard to detect any further increase in brightness.<span style="mso-spacerun: yes;"> </span>So I needed to scale my current.<span style="mso-spacerun: yes;"> </span>I put a 100 ohm pot in series with 200 ohms fixed as a shunt.<span style="mso-spacerun: yes;"> </span>The 200 ohms is for a “zero” threshold to get the LED to turn on and the pot is a sensitivity control.<span style="mso-spacerun: yes;"> </span>I also had a 0.22 uF capacitor across the output.<span style="mso-spacerun: yes;"> </span>The transformer secondary goes through a 1N914 to the positive “bus” output which goes to the LED, capacitor, and sensitivity control / shunt.<span style="mso-spacerun: yes;"> </span>I tried it on the rig but didn’t like it.<span style="mso-spacerun: yes;"> </span>Too hard to see the peak output.<span style="mso-spacerun: yes;"> </span>I might get 3 to 3.5 watts out using the LED but by using the watt meter I could fine tune to 4 watts.</div><div class="MsoNormal" style="margin-bottom: 6.0pt;">I’d been modeling all this on LTSpice.<span style="mso-spacerun: yes;"> </span>I decided to use a junkbox 300 uA horizontal meter with 845 ohms of resistance.<span style="mso-spacerun: yes;"> </span>I found that about a 25 ohm shunt would do the job so I bypassed the 200 ohm resistor.<span style="mso-spacerun: yes;"> </span>I’d hoped not to use a meter since mounting them is a pain.<span style="mso-spacerun: yes;"> </span>I’m not about to cut a hole to fit the meter so I’ll use some ugly method.</div><div class="MsoNormal">Another thing I considered was to have the DC voltage from my detector drive an incandescent bulb using an amplifier, probably a transistor, as some sort of DC current amp. I’d tune for maximum brightness.<span style="mso-spacerun: yes;"> I think an incandescent would work better than an LED for this purpose. </span>But then I’d need a DC supply, etc. So meter it is. The circuit is trivial, but here it is -</div><div class="MsoNormal"><br />
</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPaHzlmCFQENhMaV2rx38ha_LkYwZ6mJPR4d0J_jYbESIeBRe-mXMV1_RRcOQj-kuyzvg802i3iW82-MZ5Ksa-kyC290SUJYNbyHj61hEkg2JSkm37CDxLELw5WilOBB-1Rp96P0OFAK8/s1600/RF+current+metering.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPaHzlmCFQENhMaV2rx38ha_LkYwZ6mJPR4d0J_jYbESIeBRe-mXMV1_RRcOQj-kuyzvg802i3iW82-MZ5Ksa-kyC290SUJYNbyHj61hEkg2JSkm37CDxLELw5WilOBB-1Rp96P0OFAK8/s320/RF+current+metering.jpg" /></a></div><div class="MsoNormal"><br />
</div>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-1535790479144508802010-03-27T19:47:00.000-07:002010-03-28T07:14:20.272-07:00Measuring high resistances with a MOSFET<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbnSYlpuQcB5NO2Z151l0lPP2SDvHrlmsBUXpu69OGamwvak9Jc1249hBvm-gk2DLGY7Ge1jtKRJUrgDokDl82yKGyMcLOp2arYlxCRhT0CLcNyBdwrClLwLi4JqtqRBcST5N35vHYD1c/s1600/MOSFET+R+measure+I.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbnSYlpuQcB5NO2Z151l0lPP2SDvHrlmsBUXpu69OGamwvak9Jc1249hBvm-gk2DLGY7Ge1jtKRJUrgDokDl82yKGyMcLOp2arYlxCRhT0CLcNyBdwrClLwLi4JqtqRBcST5N35vHYD1c/s320/MOSFET+R+measure+I.JPG" width="320" /></a></div>There was a discussion on the Elecraft list about those static charge dissipating grounding mats used for electronic construction, and what kind of resistance might or should be seen between two points on such a surface. The fact is, it can be in the hundreds or thousands of megohms or higher and so is beyond the measurement range of a typical DMM. (My best DMM has a 2000M-ohm scale, higher than I expected but still too low.)<br />
Anyway, it put me in mind of an experiment I'd done a while ago to measure how long a capacitor could hold a charge. With a high quality capacitor it's difficult to do because a typical 10 M-ohm voltmeter will drain the voltage off in short order. So the trick is to connect the capacitor to the gate of a MOSFET, which has extremely high resistance, and charge the capacitor and put the voltmeter on the drain side of the MOSFET.<br />
The effect on the drain circuit is hardly linear, but there's a sharp transition where the MOSFET comes out of saturation as the capacitor eventually charges toward zero volts. You can measure that transition gate voltage before hand and when the drain voltage rises to a certain reference point, you're there.<br />
I was surprised at how long a certain film (I think) 0.22 uF capacitor held a charge. It had gone about four days when I accidentally discharged it, so even now I'm not sure. After that I tried an ordinary 0.1 uf ceramic disk and it held its charge for two days.<br />
OK, so I know the self-discharge rate of the 0.22 uF capacitor was very slow, so I could use it to test large resistances and assume essentially all of the discharge was due to the external resistance. My circuit is simple enough to describe in words. A resistor, say 20k, from +12.7 VDC battery to the drain of the 2N7000 MOSFET. The source goes to ground. The gate goes to the capacitor and the other end of the capacitor goes to ground. The external resistance being "measured" goes from gate to ground, in parallel with the capacitor.<br />
The MOSFET's channel is ON when the gate voltage goes positive and OFF when gate voltage is zero. So I measured that from a range of 10 V to about 2.25 V gate voltage, the MOSFET was fully on and drain voltage was near zero. Below 2.25 V gate voltage, the drain voltage started to rise and was at 8 V with 1.92 V on the gate and 12.5 V with 1.52 V on the gate. So when I see somewhere from 8 to 12 V on the drain, I know the capacitor has discharged to 1.5 to 2 VDC.<br />
I set up a spreadsheet to figure resistance from V-initial, V-final, C and time 't', in seconds. Its uses the equation<br />
R = -t / (C*ln(Vf / Vi))<br />
<br />
<b>Experiments</b><br />
<b><br />
</b><br />
Turns out I don't actually have one of those anti-static pads but I do have some other stuff I wondered about. For one, those black foam rectangles you see ICs embedded in or affixed to, in the case of SMT. Another material is those shiny semi-transparent envelopes that the stuff we buy from Mouser or Digi-Key comes packed in.<br />
I took a chunk of the black stuff, that used by AD to pack an AD9851 DDS chip in and stuck #18 solid wire electrodes in it lengthwise, about 1 inch apart and 1.5 inches deep and connected that across my capacitor. Connected the battery and then used a separate supply to charge the 0.22 uF capacitor to 10 VDC, at which time the drain voltage jumped from 12.5 VDC to 0 VDC. It took about 3 hours and 15 minutes for the voltage to start climbing and it quickly reached 11.8 VDC at 3 hours, 22 minutes. I inferred a gate voltage of ~1.85 volts from my earlier characterization of the 2N7000 and my spreadsheet spit out a value of 3.26E10 ohms, or 32.6 G-ohms between those electrodes.<br />
Next I took one of those anti-static envelopes and inserted a couple pieces of circuit board material, about 1x2 inches as electrodes, spacing their long sides about 1/4 inch apart. So the conduction path is more or less across that 1/4 inch. I set a couple pieces of non-conductive "stuff" on top of the envelope to increase the contact area and started the timing thing again. This time it took 25 minutes & 22 seconds for the capacitor to discharge to the "threshold" region of about 1.9 V on the gate. The calculated resistance was 4.2E9 or 4.2 G-ohms. About one tenth of the reading with the black foam.<br />
But it was interesting that I checked out a couple of other pieces of black spongy foam and measured resistances in the kilohms with my DMM, far too low to require my method. <br />
My final experiment was a "control" test. The biggest resistor I have is marked 66 M-ohms at 10% tolerance. I connected it to the gizmo and saw the drain voltage quickly transition at 24 seconds. Spreadsheet says, 67.8 M-ohms. So I think the accuracy is pretty good.<br />
<br />
In the interest of scientific rigor, I should say that I just arbitrarily measured the resistance between two points, or two electrodes. If I were being rigorous, I would have made things more complicated and attempted to measure volume or surface resistivity of the material. But my intent was just to answer the question, "I wonder what the resistance is between these two electrodes in or on this anti-static material?"<br />
<br />
BTW, the 0.22 uF capacitor was just what I pulled out of the box. To keep the times from being excessively long, a capacitor an order of magnitude or so smaller would be a good idea, after verifying that its self discharge rate is appropriately long.<br />
<br />
<br />
Nick, WA5BDU<br />
3/27/2010<br />
<br />
Here's an edit. It was suggested that a schematic would be a good idea, however simple this thing may be. I guess that's true:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4GpAQs42XemTNPt_DPbAAZiN3PxkkK6X702E7psA8pqx1v-TMbv2GcIuSwlYmzw4Z02aLH1WjAhEqU2JSUpFS463nxz3o9HuhyPxQ4FmWOBX1P2CijoNAPMNoMVFgHISXDdcozhUCEEc/s1600/MOSFET+resistance+measure.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4GpAQs42XemTNPt_DPbAAZiN3PxkkK6X702E7psA8pqx1v-TMbv2GcIuSwlYmzw4Z02aLH1WjAhEqU2JSUpFS463nxz3o9HuhyPxQ4FmWOBX1P2CijoNAPMNoMVFgHISXDdcozhUCEEc/s320/MOSFET+resistance+measure.JPG" /></a></div><br />
So there's one. I charged C1 to 10 V to start the measurement, but there's no reason you couldn't just touch the battery positive to it to charge it. As long as you know the initial and final voltages, you're good. Another option would be to charge C1 to a value of the final target "threshold" voltage divided by 0.37. Since a capacitor will discharge to 37% of its initial voltage in one time constant, it simplifies the math of finding Rx. Like this -<br />
<br />
tau = RC (tau is one time constant)<br />
<br />
so, R = tau / C<br />
<br />
3/28/2010Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-49932900625544187192010-02-27T19:22:00.000-08:002010-02-27T19:22:38.925-08:002-meter FM receiver with MC3362 chip and Si570 synthesizer<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCc0Gs64TYq6o_m1NPm-gkTdC2vzZ2zgkcHaCCiXjNbs5AR_eodRUwGDvhkx_OgwQKj3HQTfMOsEjb9MVr9RVv_Vk99yjl0RYMoXngxuLal4-4d_ZUHvvcIzcY2GxF6lKuMS7X5opePCU/s1600-h/2M_RX.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCc0Gs64TYq6o_m1NPm-gkTdC2vzZ2zgkcHaCCiXjNbs5AR_eodRUwGDvhkx_OgwQKj3HQTfMOsEjb9MVr9RVv_Vk99yjl0RYMoXngxuLal4-4d_ZUHvvcIzcY2GxF6lKuMS7X5opePCU/s320/2M_RX.JPG" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">I discussed the Si570 and controlling it with my Arduino in an earlier post. The fact that it can reach 160 MHz made me think of using it for 2 meters (146 MHz). I tried to homebrew a 2-meter FM rig back around 1979 / 1980 with limited success and always wanted to give it another shot. Plus, I've seen many articles about using the various integrated radio chips for ham use and was intrigued. Most of the articles diverted the VHF / FM chips for usage on HF receiving CW and/or SSB. That sounds great, but I wanted to try one in its "native" mode first.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">The MC3362 isn't a car radio chip, as I'd thought at first. It was intended for 49.7 MHz FM (was that toy walkie-talkies? Or cordless phones?) and ~160 MHz weather receivers and even for ham radio.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Rather than describe all the details here, I'll link to my web page, which seems better suited for such things -</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><a href="http://pages.suddenlink.net/wa5bdu/2M_RX.html">http://pages.suddenlink.net/wa5bdu/2M_RX.html</a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">And I want to include the link to my schematic in JPG format -</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><a href="http://pages.suddenlink.net/wa5bdu/2M_FM_receiver.jpg">http://pages.suddenlink.net/wa5bdu/2M_FM_receiver.jpg</a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Yeah, it works. Sounds pretty good. Now if I could just come up with a companion transmitter, I'll have finished that 1979 project at last.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Right now I'm working on a crystal oscillator 1st LO so I can make it independent of the Si570, although limited to frequencies I have crystals for.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com6tag:blogger.com,1999:blog-1672783022634900449.post-7073711658967611592009-11-01T13:27:00.001-08:002009-11-01T15:07:10.055-08:00No-DDS DDS<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3pfk40pzQieZq-ErS0OKUBxByFkFaPWpq6nxw19c54hEkKByj2MLqKC3zDjkfjnFbRzpcN_IssJF5WkxbxlYn0nzfRhzbFOf_15scvuMNwK6hmzjKr62zYw99yqno8TXRUATTIf4qn4U/s1600-h/No-DDS+scje,atoc.jpg"><img style="cursor:pointer; cursor:hand;width: 242px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3pfk40pzQieZq-ErS0OKUBxByFkFaPWpq6nxw19c54hEkKByj2MLqKC3zDjkfjnFbRzpcN_IssJF5WkxbxlYn0nzfRhzbFOf_15scvuMNwK6hmzjKr62zYw99yqno8TXRUATTIf4qn4U/s320/No-DDS+scje,atoc.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5399269004169788978" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6OtrN21aGw_HjNEugdomxM1kLd-LqDDV6E02rvc64tp3MwstszY3qPP2Rt_6GM69N6asQ59bKJlFBO3N1iNxcsQpca3q4CTiR4Lmt8z9_BjkX8XgbmcApgcMpGHrR_MSw4CbHL4y37hs/s1600-h/DSC_0015.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6OtrN21aGw_HjNEugdomxM1kLd-LqDDV6E02rvc64tp3MwstszY3qPP2Rt_6GM69N6asQ59bKJlFBO3N1iNxcsQpca3q4CTiR4Lmt8z9_BjkX8XgbmcApgcMpGHrR_MSw4CbHL4y37hs/s320/DSC_0015.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5399258888668640002" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-adp3FKW8yGBO9GGBe2jQ3PfViaCkkqJwZLL6mIVyFRg8fG0bkIqtlLkYidyB_mYLi9J9MqFiujpjXHrUDV8I31IX-wRMJojVaj9OKZRVVcHCY1JitFIkDR_lT2KBoyUDr-VlV-2gHXo/s1600-h/DSC_0010.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-adp3FKW8yGBO9GGBe2jQ3PfViaCkkqJwZLL6mIVyFRg8fG0bkIqtlLkYidyB_mYLi9J9MqFiujpjXHrUDV8I31IX-wRMJojVaj9OKZRVVcHCY1JitFIkDR_lT2KBoyUDr-VlV-2gHXo/s320/DSC_0010.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5399253316174312866" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC7IuyyLEC2gbdp1SCyXtngse0LWFpdU0iGRvvo3c20Opn7qlD_cUcqo37EnAozgE5pXozdj7PQj95-PwTTZBq-LUfcbuUTuFFBe-OMKEmU0d-kaXL8a4astt0H0X5rKB0pZa2iY153D4/s1600-h/NO-DDS+SCOP+20KHZ.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC7IuyyLEC2gbdp1SCyXtngse0LWFpdU0iGRvvo3c20Opn7qlD_cUcqo37EnAozgE5pXozdj7PQj95-PwTTZBq-LUfcbuUTuFFBe-OMKEmU0d-kaXL8a4astt0H0X5rKB0pZa2iY153D4/s320/NO-DDS+SCOP+20KHZ.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5399250908781689506" /></a><br /><span class="Apple-style-span" style="font-size:large;"><b>A DDS using a PIC and a DAC chip ...</b></span><div><br /></div><div style="text-align: left;"><p class="MsoNormal">First, I apologize for having all the pictures piled up at the top. Someday I'll figure out how to insert them at the proper locations in the flow of the text.</p><p class="MsoNormal">Frequency synthesizers using the DDS (Direct Digital Synthesis) technique are lots of fun and I’ve built, let’s see … , four of them as stand-alone boards.<span style="mso-spacerun:yes"> </span>I thought it would be fun to build one not by using an integrated DDS chip, but rather by using a microcontroller (PIC) and a DAC chip.<span style="mso-spacerun:yes"> </span>Obviously I wouldn’t be achieving RF speeds, but this is just for the learning experience.</p> <p class="MsoNormal"><o:p>How does a DDS work?</o:p></p> <p class="MsoNormal"><o:p>Let’s start with the output device, which is a DAC or digital to analog converter. It takes as input a binary number with a maximum value depending on the number of bits and outputs a voltage proportional to that number.<span style="mso-spacerun:yes"> </span>In my case it’s an 8 bit number having a range of 0 to 255, so my DAC has an output range of 256 discrete voltages in equal steps.<span style="mso-spacerun:yes"> </span></o:p></p> <p class="MsoNormal">Within my PIC’s program, here’s the task at hand:<span style="mso-spacerun:yes"> </span>The program runs in a loop that sends the proper voltage info (0 to 255) to the DAC each time through. One run through the loop always takes the same amount of time, 4 microseconds in my case.<span style="mso-spacerun:yes"> </span>I want to produce a sine wave of a specified frequency.<span style="mso-spacerun:yes"> </span>So I need to know, for each 4 microsecond advance in time, where I am in the 360 degree period of a sine wave of the desired frequency.<span style="mso-spacerun:yes"> </span>Knowing that, I can look up the closest value of the sine wave in a table (there’s not enough time to calculate it) and put that out to the DAC.<span style="mso-spacerun:yes"> </span>This is how any frequency up to the upper limit can be generated even though the loop is outputting numbers at a constant rate.</p> <p class="MsoNormal">That upper limit is the based on sampling theory which says that with a minimum of two samples per cycle, the sine wave can be recovered.<span style="mso-spacerun:yes"> </span>In practice a bit more than two is considered the actual limit.<span style="mso-spacerun:yes"> </span>With my 4 u-sec loop time, I’d need 8 u-sec to send out two samples and my theoretical limit would be 1/8E-6 or 125,000 Hz.</p> <p class="MsoNormal"><o:p>Cutting to the chase on the mechanics of this thing … I need a number called the Phase Increment which I call “PI”.<span style="mso-spacerun:yes"> </span>It’s how much the phase angle of the sine wave advances with each trip through the loop in the PIC. (Don’t confuse it with pi = 3.14159 …)</o:p></p> <p class="MsoNormal">The data (for a sine wave) is a 256 sample look-up table.<span style="mso-spacerun:yes"> </span>Therefore, 256 = 360 degrees.<span style="mso-spacerun:yes"> </span>For greater accuracy, 24 bits are used to allow a high precision phase increment.</p> <p class="MsoNormal">The frequency of operation for the DDS is</p> <p class="MsoNormal">f = PI*fclock/2^24<span style="mso-spacerun:yes"> </span>where fclock is the effective "frequency" of the program loop which is 1/T, where T is the time it takes to execute it, or 250,000 Hz in my case.</p> <p class="MsoNormal">So, PI = f*2^24/fclock</p> <p class="MsoNormal">I have to use the above to calculate a new PI every time I change the DDS output frequency. The PI is added to a phase accumulator in each passage through the loop.<span style="mso-spacerun:yes"> </span>Since there are only 256 samples, only the most significant byte is examined to point to a sample in the table.<span style="mso-spacerun:yes"> </span>Consider my 24-bit phase accumulator to be an integer plus fraction where the high byte (MSD) represents a full cycle (360 degrees) and the other 16 bits are fractional parts of a cycle.</p> <p class="MsoNormal">To write the DDS loop, I need a 3-byte accumulator and a 3-byte PI.<span style="mso-spacerun:yes"> </span>Calculation of the PI is done outside the loop, so assume it's known.<span style="mso-spacerun:yes"> </span>Here's what the main loop does:</p> <p class="MsoNormal"></p><ul><li>Add the PI to the accumulator.<span style="mso-spacerun:yes"> </span>The MSD will be the current phase angle of the sine wave to 8-bit accuracy.<span style="mso-spacerun:yes"> </span>(MSD is the most significant digit, also known as the high byte of the 24-bit number.)</li><li>Take the MSD of the accumulator and use it to look up the corresponding value of the sine wave in a table.</li><li>Put that value out to the DAC</li><li>Repeat</li></ul><p></p> <p class="MsoNormal">So the only bit of information supplied from <i style="mso-bidi-font-style:normal">outside</i> the loop is the PI.<span style="mso-spacerun:yes"> </span>When the external control routines want to change the frequency of the DDS, it just alters the PI.</p><p class="MsoNormal"><span class="Apple-style-span" style="font-size:large;"><b>Hardware details -</b></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-size:large;"><b></b></span></p><b><p class="MsoNormal"><span class="Apple-style-span" style="font-weight: normal;">I decided to use a DAC chip I have in my junkbox, which is an AD7530 10-bit ADC. ($1.35 from B.G. Micro.) I'll tie the two highest bits to ground and my maximum output will be 1/4</span><sup><span class="Apple-style-span" style="font-weight: normal;">th</span></sup><span class="Apple-style-span" style="font-weight: normal;"> of what it would be using all bits. Yes, I had enough bits in my calculation to use all 10, but that would make my update routine take longer and lower my maximum frequency.</span></p> <p class="MsoNormal"><span class="Apple-style-span" style="font-weight: normal;">I wasn’t sure how to apply this chip. The data sheet shows using an inverting op-amp on the output, which it appears is really necessary. This means I need a negative supply, unfortunately. Plus the chip needs +15V to power it. So now I need +15V, +5V (PIC) and negative for Vref. Vref can be positive or negative, but since the op-amp inverts it, I'm going with negative so I'll have a positive output. I'll also us the negative Vref on the negative op-amp supply so I won't require a rail-to-rail op-amp to get to 0 volts.</span></p> <p class="MsoNormal"><span class="Apple-style-span" style="font-weight: normal;">For the negative supply, I took a wall wart rated 9V at 200mA which puts out 14.5 V no load. Took that through 200</span><span style="font-family:Symbol;mso-ascii-font-family: "Times New Roman";mso-hansi-font-family:"Times New Roman";mso-char-type:symbol; mso-symbol-font-family:Symbol;"><span class="Apple-style-span" style="font-weight: normal;">W</span></span><span class="Apple-style-span" style="font-weight: normal;"> to a 10 V zener to get about -9.79 volts as a reference. Experimenting on a breadboard, I get +2.45 volts out with all 8 lines high, close to the expected value. The step is about 10 mV per bit. My op-amp is currently a 4558. It's GBP is over 3 MHz, but open loop gain goes from 100 dB at low frequency down to 30 dB at 100,000 Hz, so I'm not sure if it's fast enough or not.</span></p> <p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="font-size:medium;">The 2.45 volt maximum output might need a little boost, so I could use the other half of the 4558 for that, with a gain of</span></span><span class="Apple-style-span" style="font-size:medium;"> 2. </span><span style="mso-spacerun:yes"> </span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-size:medium;"><span class="Apple-style-span" style="font-weight: normal;">I'll add a photo of the board here ... </span></span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;">Well, guess I can't add it here. Everything goes to the top it seems. </span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-size: large;">Schematic -</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;">Which is no doubt going to happen to the schematic when I add it too ... I keep reading the "help" on this Google Blogger thing but it's not much help to me. But it's free and it works, to a degree.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;">Anyway, the schematic is in here somewhere. Mostly it's a connection diagram, but some details are presented in schematic form.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;">One of my favorite parts isn't part of the No-DDS at all but is the RS-232 to TTL interface. This is the two 2N7000 MOSFET circuits shown at the bottom. I've fooled with a lot of level translation circuits, especially the MAX232 chips and that family. I like this one because it uses a two dime active devices and two resistors and takes less connections than a MAX232, though to be fair, the chip does two conversions in each direction. One drawback of the circuit is that the signal out to the RS232 device doesn't go negative. Maybe I could have made that happen in the No-DDS circuit, since I do have negative voltage available.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family: 'Times New Roman', serif; "><span class="Apple-style-span" style="font-size: large;">Controlling it - the PC software interface ...</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style=" font-weight: normal;font-size:large;">I needed a way to tell the PIC what frequency to generate, so I altered an old piece of DOS software I'd written earlier. A slight problem was in how to get the PIC's attention. The update loop needs to be as tight as possible, so it can't afford to poll for external input. The logical thing then is to use an interrupt. But I discovered that all the lines that were interrupt capable, I'd already used for I/O with the DAC. So I wondered if using the -MCLR line would work. This effectively forces the PIC to re-boot every time that line is actuated. It turned out to work OK. When the PC software wants to get the PIC's attention, it bangs the -MCLR line. The PIC restarts and part of the start-up code is for it to check its serial port for incoming data. That data will be the new PI, which will be stored before the PIC goes permanently (until the next restart) into the update loop.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style=" font-weight: normal;font-size:large;">I'm putting in a picture of the DOS screen. Some of the fields aren't used, since this program was developed to control full featured RF DDSs that were used as VFOs. I wrote this program in 8088/8086 assembly language using the A86 shareware assembler.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: large;">Conclusions</span></span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal; font-size: medium;">It worked pretty well. That rope-like waveform appearance was due to my scope acting up a bit. Like the 1-bit sine generator, I built this thing but am not sure why. I think I thought it would be fun, and I guess it sort of was. I combined a little electronics, a little PIC programming, and a little PC programming to produce a circuit that worked as imagined.</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-size: medium; font-weight: normal;">-Nick</span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-size: medium; font-weight: normal;"><br /></span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style=" font-weight: normal;font-size:large;"><br /></span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="font-family:'Times New Roman', serif;"><span class="Apple-style-span" style="font-weight: normal;"><br /></span></span></p></b><p></p></div>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com1tag:blogger.com,1999:blog-1672783022634900449.post-65435227291432139552009-10-01T17:28:00.000-07:002009-11-21T18:45:44.364-08:001-bit PIC sine wave generator<div style="text-align: center;"><span style="color: #0000ee;"><span style="text-decoration: underline;"><br />
</span></span><br />
</div><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX21xFlSA97_Xs5hj0qc2B6h1a9SjcXtjiJKBWnwKaIjUPC5yOSz7_Ex52yTdhtiLircdq6Ec2gi4ApBOGIKpnIWV2LH37z1iZDUmp9rxNbbXC_nbvGCnCC4pwfGM3KFnGx56WqWYQcGs/s1600-h/1-bit+sine+3+cycles+2.jpg.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5387793307676813570" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX21xFlSA97_Xs5hj0qc2B6h1a9SjcXtjiJKBWnwKaIjUPC5yOSz7_Ex52yTdhtiLircdq6Ec2gi4ApBOGIKpnIWV2LH37z1iZDUmp9rxNbbXC_nbvGCnCC4pwfGM3KFnGx56WqWYQcGs/s400/1-bit+sine+3+cycles+2.jpg.JPG" style="float: right; margin-bottom: 10px; margin-left: 10px; margin-right: 0px; margin-top: 0px;" /></a><br />
</div><br />
<div><br />
</div><div><br />
</div><div><div style="text-align: center;"><br />
</div></div><div><br />
</div><div><br />
</div><div><br />
</div><div><b><br />
</b><br />
</div><div><br />
</div><div><span class="Apple-style-span" style="font-size: x-large;"><b><br />
</b></span><br />
</div><div><br />
<div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><b><br />
</b></span><br />
</div></div><div></div><br />
</div><div><span class="Apple-style-span" style="font-size: x-large;"><b><br />
</b></span><br />
<span class="Apple-style-span" style="font-size: x-large;"><b><span class="Apple-style-span" style="font-size: medium; font-weight: normal;"></span></b></span><br />
<b><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><b><span class="Apple-style-span" style="font-size: medium;"><br />
</span></b></span><br />
</div></div></b><br />
<span class="Apple-style-span" style="font-size: x-large;"><b><span class="Apple-style-span" style="font-size: medium; font-weight: normal;"></span></b></span><br />
<b><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><b><span class="Apple-style-span" style="font-size: medium; font-weight: normal;"></span></b></span><br />
</div><b><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-weight: 800;"><br />
</span><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><b>Above is the digitally synthesized sine wave.</b><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"><span class="Apple-style-span" style="font-weight: normal;">This is one of those “because I can” projects. Can I generate a sine wave using a simple PIC employing no PWM and no DAC, no software timers or interrupts, just turning an output pin on and off? We all know it can be done because our music players boast of the 1-bit DACs inside.</span><br />
</div></div></b></b><br />
</div><div><div class="MsoNormal">Simplistically, we know if our output pin puts out 5 volts when ON and 0 volts when OFF, a 50% duty cycle should give us an average output voltage of 2.5. But the actual method is a little cleverer than that, which is what makes it fun. I picked it up from Glen Leinweber, VE3DNL, a great ham tinkerer in the realms of RF and programming.<br />
</div><div class="MsoNormal">The sequence of ones and zeroes is first calculated “off line” using a simple program in a high level language, QBASIC in my case. Variables track the integral under the sine (actually cosine in my case) curve and the integrated value of all the bits generated previously. If the value of the integrated bits is less than that of the cosine curve, the next bit is made a 1 and if it is more, the next bit is a 0. In this way, the average value of the bit stream is tracking the value of the cosine wave as closely as possible. Glen says this technique is an example of something called “sigma-delta coding”.<br />
</div><div class="MsoNormal">There are some practical considerations related to our MCU chip, a 12F629 in my case. My processor is running at 1 MHz and it can toggle my output pin in one execution cycle or 1 microsecond. Naturally, I want my bits as narrow as possible for fine resolution. The limitation is on the amount of program memory I have, which is 1024 bytes for the 12F629. The program will simply output all the bits for one cycle and then repeat. So the period of the cycle determines the program’s length. Say I wanted a 1,000 Hz output. The period is 1 millisecond, so I’d need roughly 1,000 instructions plus a little overhead. You can see that lower pitched tones require more memory as their period is longer.<br />
</div><div class="MsoNormal">I wanted to do an “A” musical note at 440 Hz but it wouldn’t fit so I wound up at “D” (587 Hz). Even this wouldn’t fit without a little trickery since its period is 1,703 microseconds. Turns out that there are long streams of 1s or 0s where the sine wave is at its positive and negative peaks. So I can save memory by calling delay routines repetitively. Actually, one routine with multiple entry points is even better.<br />
</div><div class="MsoNormal">Want to write a ~1000 line program by staring at a printout of 1,703 ones and zeros and writing the code to produce them? Me neither. So my QBASIC program also gets to write the bulk of the source code. After the bit sequence is stored in an array, the program then examines it for repeats and writes the code to implement the bit sequence efficiently.<br />
</div><div class="MsoNormal">I also wanted a way to turn the output on or off in response to user input (telegraph key?) on another pin. To do this, I just wrote the code to sense the pin and if its state tells me to turn the sound off, I configure the output pin to be an input instead of an output. Each time through the code, it reads the control pin and configures the output pin accordingly. The sound generating code continues to run as always. I had to count the number of cycles this code took and then insert it in place of an equal number of “time wasting” cycles in an area where the output pin is not changing.<br />
</div><div class="MsoNormal">OK, say I get it running. How do I look at the output and verify that I’ve achieved my goal? If I just look at the output pin with my o’scope, I’ll see a pulse train of varying density. So just as I did in software, I have to integrate the pulse train in hardware by connecting a resistor and capacitor to the pin. Here’s the tricky part: the R/C network is a low pass filter, and with enough filtering even a square wave can be turned into a perfect sine. So to make sure I’m not “cheating”, I make sure the corner frequency of my filter is much higher than my fundamental frequency. The proof is in the pictures, with a shot of several cycles showing a nice sine wave, but a close-in zoom of part of the cycles show the jaggies caused by the individual bit transitions.<br />
</div><div class="MsoNormal"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDLoiB7VS_kmFRQwol5vBfrIuRCOS2KXRb_pqYo0K3XawU4h07RL55OAYXYKHGwgFKfqfMkRQS19Zl63JtAVU11mwJiXG9XP5ck72crsFSSH6hWvdMz9OsjOPFH8S8TXvdsNKWjLH7o9c/s1600/1-bit+sine+zoom+with+jaggies.jpg.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDLoiB7VS_kmFRQwol5vBfrIuRCOS2KXRb_pqYo0K3XawU4h07RL55OAYXYKHGwgFKfqfMkRQS19Zl63JtAVU11mwJiXG9XP5ck72crsFSSH6hWvdMz9OsjOPFH8S8TXvdsNKWjLH7o9c/s320/1-bit+sine+zoom+with+jaggies.jpg.JPG" /></a><br />
</div><div class="MsoNormal" style="text-align: center;"><b><br />
</b><br />
</div><div class="MsoNormal" style="text-align: center;"><b>In this "magnified" view, you can see the jaggies that betray the sine wave's digital origin</b><br />
</div><div class="MsoNormal" style="text-align: center;"><b><br />
</b><br />
</div><div class="MsoNormal"><o:p>A fun variation might be to do a more complex waveform – say the sum of sine waves of 1,000 Hz and 1,500 Hz. The period would be that of the difference frequency, 500 Hz and the resultant would be something you couldn’t fake with low pass filtering. Combining two musically related notes would be even better – easier on the ears.</o:p><br />
</div><div class="MsoNormal"><o:p>One more relevant bit of info. Most PICs these days include high speed and fairly accurate internal oscillators you can use and save the price of a crystal and two I/O pins. The thing is pretty accurate, but has frequency trimming registers if you want to get closer. My ‘D’ note started off 8 Hz low with the factory value and I was able to trim it to within 1 Hz.</o:p><br />
</div><div class="MsoNormal"><o:p>What’s it good for? Don’t you hate that question? But I guess it’s a stable audio sine wave source for the price ($2 or so?) of a simple PIC chip. Not too flexible though – to change the frequency you have to re-run your QBASIC program to generate revised source code and then re-program the chip.</o:p><br />
</div><div class="MsoNormal">Update: I decided I should make my PIC program and my QBASIC program accessible, which was easier to do on my web page than in this blog. So go to my site using this link and near (or at) the bottom of the table of stuff is the link to my 1-bit sine page. Scroll down through all the text you've already seen and you see the links to the two files.<br />
</div><div class="MsoNormal"><a href="http://pages.suddenlink.net/wa5bdu/radio.htm">http://pages.suddenlink.net/wa5bdu/radio.htm</a><br />
</div><div class="MsoNormal"><br />
<br />
</div><div class="MsoNormal"><o:p> </o:p><br />
</div><div class="MsoNormal"> <br />
</div><div class="MsoNormal"><o:p> </o:p><br />
</div><div class="MsoNormal"><o:p> </o:p><br />
</div><div class="MsoNormal"><o:p> </o:p><br />
</div><div class="MsoNormal"> <br />
</div></div>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0tag:blogger.com,1999:blog-1672783022634900449.post-66837622880579682272009-09-27T07:00:00.000-07:002009-09-27T08:36:14.630-07:00My Nixie Clock<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75E8Sm-z9G__DgVFG0qxg-km5iPzwb4eIUkCMkULvlkymK1jXM0pWgFU0s2QgkP3ua7Cky-fvA7zhM9wqywRk2xqUirS5bu3Ed_R1NU_9PX1j6YeF_lsebQ6iMrxLj2BdS7wqk1kvpUc/s1600-h/Nixie+Clock.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75E8Sm-z9G__DgVFG0qxg-km5iPzwb4eIUkCMkULvlkymK1jXM0pWgFU0s2QgkP3ua7Cky-fvA7zhM9wqywRk2xqUirS5bu3Ed_R1NU_9PX1j6YeF_lsebQ6iMrxLj2BdS7wqk1kvpUc/s400/Nixie+Clock.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5386147612434564690" /></a><br /><div style="text-align: left;"><div style="text-align: left;">I bought a digital volt-ohm meter for $5 at a ham flea market years ago. It is probably about 1970 vintage and uses old fashioned Nixie display tubes. These tubes have long since been replaced with 7-segment LEDs and then LCDs, and then pixel based LCDs.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Nixies are a favorite among hobbyists who like archaic parts because of the visual appeal of the display. Each numeral is individually "drawn" from a gas discharge tube, rather than being crudely constructed from segments or dots. The VOM has three Nixie tubes with 0-9 plus decimal point, plus a single neon tube for the MSD (1 or off). So it is a 3-1/2 digit device with range from 0000 to 1999.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">A. Hardware approach ...</div><div style="text-align: left;"><div style="text-align: left;"><div style="text-align: left;"><br /></div><div style="text-align: left;">Plan 1 was to let the PIC generate a DC voltage equivalent to the time in millivolts, for example 10:35 is 1035mV, and input that to the meter. The PIC would use its PWM module to generate voltages. Unfortunately, the PWM is only 10 bits, a resolution of one part in 1024. I need one part in 1259 so I couldn't be accurate right to the minute. Also there would be some accuracy issues resulting in a little uncertainty in the 1's minute digit. The advantage would be that there would be no modification to the VOM at all. </div><div style="text-align: left;"><div style="text-align: left;"><br /></div><div style="text-align: left;">Plan 2 required investigating how the VOM works. I could have the PIC put BCD data right to the three Nixie driver chips (if I have their data), but it might be nice to have an easier way that doesn't require 12 data lines and cutting a bunch of traces.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Each Nixie has three chips in front of it. First is a 7441B Nixie driver, fairly standard. Next is a SN7075N and behind it is a SN7090N. Probably TTL chips 7475 and 7490 before the industry standardized on 7400 series numbering for TTL devices.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">The VOM works this: It clears the counters to zeroes, then starts a ramp generator and at the same time gates on a string of pulses to the units digit counter. The ramp generator and unknown voltage both go to a comparator. When the ramp voltage becomes equal to the unknown voltage, a logic signal is generated which gates off the pulse train to the counter. At the same time or just after, the latch signal is given to the 7075 to update the display.</div><div style="text-align: left;">Next, a clear signal is given to the counters and the next measurement starts. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">Initially, I was going to monitor the DMM's "clear" line, and after it was asserted, I would substitute my pulse string, virus like, for its own, in the available window. For example, if it's 8:37 AM (or PM), I send 837 pulses and the DMM is none the wiser. I'd have to sneak them in fast enough to be finished before the DMM generated its "latch" pulse. Due to technical difficulties too tedious to describe here, I wound up having to take control of both the clear and latch lines form the PIC. Easy enough except my idea of keeping things minimalist by using an 8-pin 12F629 chip severely challenged me for my I/O needs as the project progressed.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">B. The software ...</div><div style="text-align: left;"><br /></div><div style="text-align: left;">I was initially going to use a 32,768 (2^15) hertz "watch crystal" for my PIC's timebase, just because that approach seems to go with clocks. You divide it down to 1 Hz and -- Bob's your uncle -- you're there. But that speed was too slow to allow me to jam my train of pulses (maximum of 1259) into the available window. So I went to a 455 kHz crystal and to a method of calculating 1 second intervals that's lots cooler. Here we go ...</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> <span class="Apple-style-span" style="white-space: normal;">This uses a technique I found on the web described by</span></span></div><div style="text-align: left;">Roman Black, based on an idea by Bob Ammerman. It uses a</div><div style="text-align: left;">method based on the Bresenham algorithm which produces<span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: left;">intervals that average exactly a second, although there</div><div style="text-align: left;">may be some small jitter (which can be calculated) in each</div><div style="text-align: left;">second's time.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">It will work like this. My clock speed is 455,000/4 or</div><div style="text-align: left;">113,750Hz. I put that number into a 24 bit variable. I set</div><div style="text-align: left;">timer 0 to interrupt every 256 counts. At each interrupt,</div><div style="text-align: left;">I subtract 256 from the variable. When the variable becomes</div><div style="text-align: left;">less than 256, I add 113,750 to it and increment the seconds</div><div style="text-align: left;">count.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Obviously, over time my *average* second takes 113,750 counts,</div><div style="text-align: left;">which would be perfect. But each individual second could be</div><div style="text-align: left;">off by as much as 256, so my maximum jitter is 256/113,750 or </div><div style="text-align: left;">0.23%. If I used a 1MHz clock and interrupted every 128</div><div style="text-align: left;">counts, jitter would be 0.0128%, but 0.23% is plenty good for</div><div style="text-align: left;">this application. My Nixie clock won't show individual </div><div style="text-align: left;">seconds and over 60 seconds the errors should cancel pretty well.</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: left;">(What's the accuracy over longer periods, assuming a perfectly</div><div style="text-align: left;">accurate crystal? Well, the uncertainty is never larger than</div><div style="text-align: left;">256 counts at any given time. So for a full minute, the jitter</div><div style="text-align: left;">would be 0.23% / 60, for an hour, it's 0.23% / 3600, and so on.</div><div style="text-align: left;">That's why it's said to approach perfect accuracy over time.)</div><div style="text-align: left;"><span class="Apple-style-span" style="white-space: pre; "> </span></div><div style="text-align: left;"><div style="text-align: left;">Black said you can do this for any crystal frequency. I'd<span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: left;">say that's true, but since the PIC clock is Fxtal / 4, if <span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: left;">that division didn't yield an integer, you'd want to trim<span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: left;">the crystal's frequency (+/-3 Hz maximum) to produce an integral</div><div style="text-align: left;">count.</div><div><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;">C. Summary ...</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Nick's Law says that any programming or hardware project will be two to ten times more complicated than originally envisioned. This one fell comfortably within those boundaries. The clock works great. A clock doesn't have to do much, right? But it keeps good time and doesn't lock up or show any strange behavior. At least not any more.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">A few things are missing or not fully developed. First, there's no colon. I can manipulate a decimal point into that position if I want a delimiter. I've considered using a long neon tube painted black except for two dot-sized openings on each end, and possibly using two small yellow LEDs, but I decided it was time to call this project to a halt.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Another sort of clunky part is that my setting routines aren't very well human engineered, but they do work. I added small surface mount SET and ADVANCE pushbuttons on the rear of the case.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Finally, I wanted battery backup. The PIC board should pull less than 1 mA so a tiny battery should maintain the time even during long outages. I mounted a little 3-cell nicad pack in the box, diode auctioneered with the main 5 VDC supply, but I abandoned it when I had startup problems. I found that the PIC needs a clean RESET signal, which here means pulling the supply voltage all the way to zero. So to use the battery, I'd need a third button on the back of the box, labeled RESET. But I've declared this project finished.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Nixie mania? Just this month (September, 2009) I found another Nixie based DMM at a hamfest for $5. It's a Bell & Howell unit made by Heathkit for an electronics class. But it has only 2 & 1/2 digits so isn't suitable for use as a clock. I should consider myself lucky.</div><div style="text-align: left;"><br /></div></div></div></div></div></div></div>Nick Kennedyhttp://www.blogger.com/profile/00100718408110518225noreply@blogger.com0