{"id":1904,"date":"2017-01-19T15:46:24","date_gmt":"2017-01-19T18:46:24","guid":{"rendered":"http:\/\/blog.generaleccentric.net\/?p=1904"},"modified":"2017-01-20T11:54:00","modified_gmt":"2017-01-20T14:54:00","slug":"experiments-in-servo-actuated-radio-frequency-displays","status":"publish","type":"post","link":"http:\/\/blog.generaleccentric.net\/?p=1904","title":{"rendered":"Experiments in Servo-actuated Radio Frequency Displays"},"content":{"rendered":"<p>Over the past year I&#8217;ve been playing\u00a0with radios. I started by\u00a0building oscillators, then\u00a0amplifiers, and then radios.<\/p>\n<h2>Regens<\/h2>\n<figure id=\"attachment_1935\" aria-describedby=\"caption-attachment-1935\" style=\"width: 200px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr.jpg\" rel=\"lightbox[1904]\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1935 size-thumbnail\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr-200x150.jpg\" width=\"200\" height=\"150\" srcset=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr-200x150.jpg 200w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr-300x225.jpg 300w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr-768x576.jpg 768w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/wbr-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><figcaption id=\"caption-attachment-1935\" class=\"wp-caption-text\">WBR<\/figcaption><\/figure>\n<p>Radios come in all different shapes and sizes, and this\u00a0also holds true for the circuits inside the radio. One of the earliest radio receiver techniques\u00a0is called \u201c<a href=\"https:\/\/en.wikipedia.org\/wiki\/Regenerative_circuit\">regeneration\u201d.<\/a>\u00a0It was\u00a0devised by <a href=\"https:\/\/en.wikipedia.org\/wiki\/Edwin_Howard_Armstrong\">Edwin Armstrong<\/a> in 1912 when he was still a student at Columbia. This method routes part of the received\u00a0signal that emerges from an amplifying device back to the input to increase the gain of the circuit. The design was common up to the 1930&#8217;s when it was superseded by other more sophisticated methods. However, regen radios have lately had a bit of a comeback with the &#8220;internet of things&#8221;; your garage door opener receiver is likely a regenerative receiver, for example.<\/p>\n<p>So I&#8217;ve been building simple regen radios for various shortwave bands. Some work, some don&#8217;t. The latest one is called a \u201cWBR\u201d (Wheatstone Bridge Regen). This one works. I used designs from <a href=\"http:\/\/pe2bz.philpem.me.uk\/Comm\/-%20ARRL\/Build-Service-Design\/Receivers\/TheWBR-BetweenRegen+Direct\/0108034.pdf\">N1BYT<\/a>\u00a0(PDF file) and <a href=\"https:\/\/aa7ee.wordpress.com\/2014\/06\/24\/building-a-wbr-regen-receiver-for-the-31m-broadcast-band-2\/\">AA7EE<\/a>. This particular design is tuned by varying the\u00a0voltage from a ten-turn potentiometer. My radio tunes from around 9.4 to 10 MHz.<\/p>\n<figure id=\"attachment_1921\" aria-describedby=\"caption-attachment-1921\" style=\"width: 200px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-19-at-2.37.35-PM.png\" rel=\"lightbox[1904]\" rel=\"https:\/\/www.aliexpress.com\/item\/1Pc-10K-Ohm-3590S-2-103L-Potentiometer-With-10-Turns-Counting-Dial-Rotary-Knob\/32711555900.html?spm=2114.01010208.3.246.tgPVnj&amp;ws_ab_test=searchweb0_0,searchweb201602_5_10065_10068_10000032_10000025_10000029_10000028_10060_10062_10056_10055_10054_10059_10099_10000022_10000012_10103_10102_10000015_10096_10000018_10000019_10052_10053_10107_10050_10106_10051_10000009_10084_10083_10080_10082_10081_10110_10111_10112_10113_10114_10115_10037_10033_10032_10000044_10078_10079_10077_10073_429_10000035,searchweb201603_3,afswitch_3,single_sort_1_default&amp;btsid=ae8f278d-fc89-4a4e-8a52-df154d25221f\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1921 size-thumbnail\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Screen-Shot-2017-01-19-at-2.37.35-PM-200x150.png\" width=\"200\" height=\"150\" \/><\/a><figcaption id=\"caption-attachment-1921\" class=\"wp-caption-text\">Aliexpress 10-turn potentiometer with a reduction gear<\/figcaption><\/figure>\n<p>The 10-turn pot\u00a0results in smooth, very fine\u00a0tuning, but it&#8217;s difficult to know what frequency\u00a0in this range I&#8217;m tuned to. Many older radios have an\u00a0elaborate system of pulleys and strings that link the rotation of the tuning dial to an indicator. It is possible to buy a 10-turn pot with a reduction gear. They aren&#8217;t expensive, but the indicator goes from 0-9 or some arbitrary set of numbers, not the actual tuned frequencies.<\/p>\n<figure id=\"attachment_1912\" aria-describedby=\"caption-attachment-1912\" style=\"width: 200px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/imgres.jpg\" rel=\"lightbox[1904]\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1912 size-thumbnail\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/imgres-200x150.jpg\" width=\"200\" height=\"150\" \/><\/a><figcaption id=\"caption-attachment-1912\" class=\"wp-caption-text\">Micro-servo<\/figcaption><\/figure>\n<p>I&#8217;ve decided to see if I can\u00a0use a small servo motor (one that are used in radio controlled helicopters, planes and drones) to turn an indicator dial that accurately reflects the tuned frequency.<\/p>\n<h2>Perceived and\/or Assumed Drawbacks<\/h2>\n<p>I did a cursory search online to see if other experimenters had tried this, and I found nothing. Am I such a divergent thinker that nobody else has thought of doing this? I certainly don&#8217;t think so. It&#8217;s just that nobody has thought to document their discoveries.<\/p>\n<p>At any rate, I&#8217;m assuming that there are several reasons why this technique hasn&#8217;t been adopted:<\/p>\n<ol>\n<li>Servo noise may interfere with reception. An increasingly popular method of determining tuned frequency is to add a digital display. Some digital hash may leak into the radio circuits from the display&#8217;s digital pulses, but this\u00a0doesn&#8217;t stop experimenters and manufacturers from\u00a0employing this method in their radios by carefully shielding the digital section from the analog. However servo noise \u2014 that is, noise generated by the motor \u2014 may be louder than the digital noise that&#8217;s produced by the microcontroller and associated digital components, and this may drown out weak radio signals.<\/li>\n<li>The servo motor is power-hungry, making it unsuitable for battery operation.<\/li>\n<li>It may be difficult to consistently align the dial\u00a0markings to tuning.<\/li>\n<li>Other unknown unknowns.<\/li>\n<\/ol>\n<h2>Follies<\/h2>\n<p>My first thought was to control the servo using an Arduino. A quick sketch of the display circuit indicated that I only needed one analog input and one digital PWM output. I was able to breadboard a circuit and loaded in the &#8220;Knob&#8221; sketch that comes as an example with the Arduino IDE. Everything seemed to work well. But rather than use a larger Atmega328PU chip that has 28 pins\u201422 of which would be unconnected\u2014I decided to try\u00a0an ATtiny form factor. I had both an ATtiny45 and an ATtiny85 in the junk box.<\/p>\n<figure id=\"attachment_1907\" aria-describedby=\"caption-attachment-1907\" style=\"width: 200px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477.jpg\" rel=\"lightbox[1904]\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1907 size-thumbnail\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477-200x150.jpg\" width=\"200\" height=\"150\" srcset=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477-200x150.jpg 200w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477-300x225.jpg 300w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477-768x576.jpg 768w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4477-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><figcaption id=\"caption-attachment-1907\" class=\"wp-caption-text\">ATtiny programmer shield<\/figcaption><\/figure>\n<p>I built a programming shield for the ATtinys, and managed to successfully flash the Arduino bootloader into them, but the standard Arduino servo library &#8220;Knob&#8221; sketch would not work on the ATtiny. I spent a day or so trying other libraries but it seems that there&#8217;s not been a lot of interest in overcoming this obstacle.<\/p>\n<p>I went back to the junk box and found\u00a0an Arduino Mini Pro. It&#8217;s overkill but it&#8217;s\u00a0at least small enough to install in the radio, and inexpensive compared to an Arduino UNO. So, onto the breadboard it went: the sketch loaded and things were looking up.<\/p>\n<figure id=\"attachment_1915\" aria-describedby=\"caption-attachment-1915\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709.png\" rel=\"lightbox[1904]\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1915 size-medium\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709-300x213.png\" width=\"300\" height=\"213\" srcset=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709-300x213.png 300w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709-768x545.png 768w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709-1024x727.png 1024w, http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/Evernote-Camera-Roll-20170111-101709.png 1811w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1915\" class=\"wp-caption-text\">The circuit<\/figcaption><\/figure>\n<p>In this radio,\u00a0the analog input comes from the wiper arm of the tuning pot, which goes from around 1 volt\u00a0to 8 volts; the tuning section of the radio uses 8v and the Arduino Mini Pro needs no more than 5v, so I had to build a 5v supply. This signal from the potentiometer\u00a0goes through a voltage divider to reduce\u00a0the maximum voltage to 5v to ensure that the analog input pin is not overloaded.<\/p>\n<p>One thing that I found on the breadboarded circuit was that the servo motor would sometimes draw so much current as to reset the microcontroller. This problem was mitigated (somewhat) by adding a low pass filter composed of a small resistance and a large capacitance across the input of the 5v regulator.<\/p>\n<h2>Building Notes<\/h2>\n<p>Time to build it into the radio and play with it\u2026<\/p>\n<blockquote><p>LeBlanc&#8217;s Law: Wiring errors are proportional to the density of components on the\u00a0circuit board.<\/p><\/blockquote>\n<div><b>Jan 10<\/b><\/div>\n<div>\n<ul>\n<li>attached to receiver: when the motor runs, it draws down the voltage very slightly which causes some receiver\u00a0noise<\/li>\n<li>drawing Arduino current from +12v\u2014does not seem to work if source comes from 8v<\/li>\n<li>watch out for LM78L05 pins: <i>pin 1 is output and pin 3 is input!!!<\/i><\/li>\n<li>watch out for ground loops: be sure to attach Arduino ground close to Arduino +V<\/li>\n<li>ISSUE: various noises from servo<\/li>\n<\/ul>\n<hr \/>\n<div><b>Jan 11<\/b><\/div>\n<div>\n<ul>\n<li>added a 47\u03a9 resistor in series and 1500\u00b5F capacitor in parallel on input to voltage regulator to reduce motor noise<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p>I seem to make one\u00a0particular recurring mistake when building a final circuit: I don&#8217;t use a large enough board. This happens most often when I&#8217;ve breadboarded a circuit and I think that the design is done and I can go ahead and solder everything together. But what ends up happening is that I find problems or improvements to the &#8220;final&#8221; design that then\u00a0becomes quite difficult to achieve in the close quarters of a crowded circuit. That, plus the fact that wiring errors are more likely as density of components increases, caused\u00a0a relatively simple task that should have taken less than an hour to take days (well, not literally) of troubleshooting.<\/p>\n<p>Initial calibration was performed by feeding in signals between 9.4 and 10MHz using a DDS sine wave generator through a -30db attenuator, and locating them on the tuning dial. I&#8217;ve not done any subsequent calibrations to see if the tuning indications vary over time.<\/p>\n<h2>Experiment\u00a0Notes<\/h2>\n<div>\n<p><b>Jan 13 &amp; 14:<\/b><\/p>\n<\/div>\n<div>\n<figure id=\"attachment_1906\" aria-describedby=\"caption-attachment-1906\" style=\"width: 200px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4482.jpg\" rel=\"lightbox[1904]\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1906 size-thumbnail\" src=\"http:\/\/blog.generaleccentric.net\/wp-content\/uploads\/2017\/01\/IMG_4482-200x150.jpg\" width=\"200\" height=\"150\" \/><\/a><figcaption id=\"caption-attachment-1906\" class=\"wp-caption-text\">Hiccupping<\/figcaption><\/figure>\n<p>As I moved the components from the breadboard to the perfboard, the device became unreliable. This may have been because I connected the servo improperly. When tuning quickly, it seemed like the controller would reset, causing hiccupping. I replaced the Arduino Mini Pro with a new one\u00a0and it worked fairly well for a few minutes but it later exhibited the same issues. Could it be starved of current when the servo motor is actuated?<\/p>\n<\/div>\n<div><\/div>\n<div>The device no longer delivers PWM to the servo. Could this one be broken too? If so, what would cause this?<\/div>\n<div>\n<hr \/>\n<\/div>\n<div><b>Jan 15:<\/b><\/div>\n<div>16:45 &#8211; Found the problem: power not getting to the regulator.<\/div>\n<div><\/div>\n<div>17:15 &#8211; Only problem now\u00a0is \u201csurging\u201d when the tuning knob is turned quickly, especially at the higher end of the voltage scale.<\/div>\n<div><\/div>\n<div>17:45 &#8211; Now it doesn\u2019t work. No PWM from pin 9.<\/div>\n<div><\/div>\n<div>18:10 &#8211; It&#8217;s working now: Connected RST to VCC. Apparently RST pin was floating, causing the device to go into permanent reset. Keeping it at VCC prevents that. The reset button on the unit still works.<\/div>\n<div><\/div>\n<div>\n<hr \/>\n<\/div>\n<div>\n<p><iframe loading=\"lazy\" title=\"Servo-powered Frequency Display Experiment 1\" width=\"474\" height=\"267\" src=\"https:\/\/www.youtube.com\/embed\/KLhlBaoxnO4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Conclusions<\/h2>\n<ol>\n<li>Input voltages between 4 and 5 volts seem to make the servo hesitate and surge. This could be attributed to the 78L05&#8211;replacing it with a (higher current) 7805 regulator might fix this.<\/li>\n<li>Sometimes the servo hunts. It should be possible to turn off the servo once it has moved to the correct location.<\/li>\n<li>It&#8217;s difficult to calibrate the display. It may be possible to add trimmer resistors to the voltage divider that would permit better\u00a0calibration.<\/li>\n<li>The servo isn&#8217;t completely silent and may become annoying, especially when the listener is trying to copy weak signals out of the noise floor.<\/li>\n<li>Why use\u00a0a microcontroller? Is there a more \u201canalog\u201d circuit component that could be used instead?<\/li>\n<li>More experimentation is warranted\u2026<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Over the past year I&#8217;ve been playing\u00a0with radios. I started by\u00a0building oscillators, then\u00a0amplifiers, and then radios. Regens Radios come in all different shapes and sizes, and this\u00a0also holds true for the circuits inside the radio. One of the earliest radio receiver techniques\u00a0is called \u201cregeneration\u201d.\u00a0It was\u00a0devised by Edwin Armstrong in 1912 when he was still a &hellip; <a href=\"http:\/\/blog.generaleccentric.net\/?p=1904\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Experiments in Servo-actuated Radio Frequency Displays<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_links_to":"","_links_to_target":"","footnotes":""},"categories":[97,22,110],"tags":[],"class_list":["post-1904","post","type-post","status-publish","format-standard","hentry","category-amateur_radio","category-electronics","category-radio"],"_links":{"self":[{"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/posts\/1904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1904"}],"version-history":[{"count":22,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/posts\/1904\/revisions"}],"predecessor-version":[{"id":1938,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=\/wp\/v2\/posts\/1904\/revisions\/1938"}],"wp:attachment":[{"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1904"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.generaleccentric.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}