{"id":1578,"date":"2024-06-25T21:39:19","date_gmt":"2024-06-25T19:39:19","guid":{"rendered":"https:\/\/hb9iiu.synology.me\/mla\/?page_id=1578"},"modified":"2024-07-05T17:22:05","modified_gmt":"2024-07-05T15:22:05","slug":"control-systems","status":"publish","type":"page","link":"https:\/\/mla.hb9iiu.ch\/?page_id=1578","title":{"rendered":"Control Systems"},"content":{"rendered":"\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">The core of the control system integrates a Raspberry Pi 4 running a dedicated Python application. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">This setup interfaces with an ESP32 microcontroller, programmed in C++, to precisely control stepper motors responsible for adjusting both the vacuum capacitor\u2019s position and the azimuthal orientation of the magnetic loop antenna.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">Additionally, the system includes a low-cost Vector Network Analyzer (VNA) to acquire antenna characteristics continuously during sweeping operations.<\/p>\n\n\n\n<div class=\"wp-block-responsive-lightbox-gallery\"><div class=\"rl-gallery-container rl-loading\" id=\"rl-gallery-container-1\" data-gallery_id=\"1754\"> <div class=\"rl-gallery rl-basicgrid-gallery \" id=\"rl-gallery-1\" data-gallery_no=\"1\"> <div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/19_MLA.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/19_MLA-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/exploded-controller.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/exploded-controller-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/6_MLA.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/6_MLA-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/14_MLA.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/14_MLA-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/3_MLA.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/3_MLA-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/9_MLA.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/9_MLA-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/units.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/units-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/relay-1.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/relay-1-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div> <\/div> <\/div><\/div>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">Communication between the Raspberry Pi and the ESP32 is facilitated through a 2.4 GHz WiFi link in Access Point (AP) mode, suitable for field operations without the need for a router.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">For antenna tuning, two methods have been implemented. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">The first method allows manual tuning by entering the desired operating frequency via a keypad, providing flexibility and precision in frequency selection.<\/p>\n\n\n\n<figure class=\"blockart-image blockart-image-e15921a0\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1761 hover-effect-static filter-none mask mask-none\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/manual-tuning.png\" alt=\"\" height=\"2176\" width=\"3840\"\/><\/figure>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">The second tuning method utilizes Bluetooth communication with an Icom IC-705 transceiver for semi-automatic tuning. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">This method allows the control system to communicate with the transceiver to continuously optimize antenna settings based on the selected operating frequency, simplifying the tuning process during operations.<\/p>\n\n\n\n<figure class=\"blockart-image blockart-image-1fa5237a\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1895 hover-effect-static filter-none mask mask-none\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/semi.png\" alt=\"\" height=\"2022\" width=\"3594\" srcset=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/semi.png 3594w, https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/semi-300x169.png 300w, https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/semi-2000x1125.png 2000w\" sizes=\"auto, (max-width: 3594px) 100vw, 3594px\" \/><\/figure>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">To switch between the transceiver (or receiver) and the VNA, an RF relay has been implemented.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">This relay enables seamless switching between antenna operations for transmission or reception with the transceiver and antenna analysis with the VNA. <\/p>\n\n\n\n<div class=\"wp-block-responsive-lightbox-gallery\"><div class=\"rl-gallery-container rl-loading\" id=\"rl-gallery-container-2\" data-gallery_id=\"1767\"> <div class=\"rl-gallery rl-basicgrid-gallery \" id=\"rl-gallery-2\" data-gallery_no=\"2\"> <div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/relay-2.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/relay-2-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6865.jpeg\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6865-300x214.jpeg\" width=\"300\" height=\"214\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6862.jpeg\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6862-300x150.jpeg\" width=\"300\" height=\"150\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6861.jpeg\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/IMG_6861-300x183.jpeg\" width=\"300\" height=\"183\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/TOKYO-Relay.jpeg\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-2\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/TOKYO-Relay-212x300.jpeg\" width=\"212\" height=\"300\" alt=\"\" \/><\/a><\/div> <\/div> <\/div><\/div>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">To enhance monitoring capabilities further, a small ESP32 cam is integrated for remote visual inspection of the vacuum capacitor positioning, providing real-time feedback during adjustments.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">I am fully aware that this is a gadget with no real added value, but I found this camera in my junk box and thought it would be a good opportunity to use it, especially to manage it from a software point of view. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">Likewise, the ESP32 unit was upgraded with a small OLED display providing basic information on the communication link, battery level, temperature, and humidity, which are obtained via an I2C DHT sensor.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">The ESP32 unit installed on the antenna supporting structure is powered by means of a 22Volts RC model battery, complete with a minimum voltage detection system to protect it from total discharging.<\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">Additionally, a WSPR (Weak Signal Propagation Reporter) reporting system is integrated to monitor and analyze signal reception from the antenna, providing insights into propagation conditions and antenna performance over time.<\/p>\n\n\n\n<div class=\"wp-block-responsive-lightbox-gallery\"><div class=\"rl-gallery-container rl-loading\" id=\"rl-gallery-container-3\" data-gallery_id=\"1777\"> <div class=\"rl-gallery rl-basicgrid-gallery \" id=\"rl-gallery-3\" data-gallery_no=\"3\"> <div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_10_min.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_10_min-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_60_min.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_60_min-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_600_min.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_600_min-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/since_midnight.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/since_midnight-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_four_pane_image.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_four_pane_image-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/since_ever.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/since_ever-300x157.png\" width=\"300\" height=\"157\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_top_15.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_top_15-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div><div class=\"rl-gallery-item\"><a href=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_country_summary.png\" title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-3\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mla.hb9iiu.ch\/wp-content\/uploads\/wspr_country_summary-300x169.png\" width=\"300\" height=\"169\" alt=\"\" \/><\/a><\/div> <\/div> <\/div><\/div>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">The Python application on the Raspberry Pi serves as the central control hub, managing all aspects of the system, including VNA data acquisition, WSPR reporting, user interface operations, communication protocols, coordination of tuning methods, and RF relay control. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">Conversely, the ESP32 microcontroller specializes in real-time control of the stepper motors, ensuring precise adjustment of the capacitor position and antenna azimuth. <\/p>\n\n\n\n<p style=\"font-size:clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.625), 20px);\">This division of tasks optimizes system performance by dedicating real-time control tasks to the ESP32, while the Raspberry Pi focuses on higher-level processing and overall system management.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\"  id=\"_ytid_96999\"  width=\"950\" height=\"534\"  data-origwidth=\"950\" data-origheight=\"534\" src=\"https:\/\/www.youtube.com\/embed\/PooOWw205aI?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>The core of the control system integrates a Raspberry Pi 4 running a dedicated Python application. This setup interfaces with an ESP32 microcontroller, programmed in C++, to precisely control stepper motors responsible for adjusting both the vacuum capacitor\u2019s position and the azimuthal orientation of the magnetic loop antenna. Additionally, the system includes a low-cost Vector &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mla.hb9iiu.ch\/?page_id=1578\" class=\"more-link\">Read more<span class=\"screen-reader-text\"> &#8220;Control Systems&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1578","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/pages\/1578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1578"}],"version-history":[{"count":17,"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/pages\/1578\/revisions"}],"predecessor-version":[{"id":1896,"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=\/wp\/v2\/pages\/1578\/revisions\/1896"}],"wp:attachment":[{"href":"https:\/\/mla.hb9iiu.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}