{"id":256,"date":"2019-01-13T08:33:59","date_gmt":"2019-01-13T08:33:59","guid":{"rendered":"http:\/\/fenneclabs.net\/?p=256"},"modified":"2019-01-14T22:23:47","modified_gmt":"2019-01-14T22:23:47","slug":"solar-tracking","status":"publish","type":"post","link":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/","title":{"rendered":"Solar Tracking"},"content":{"rendered":"<p>This post is a follow-up to the former blog post about the solar cooker. The mirror array can now track the sun and rotate toward it. Here I will give a full description of the design and building process, alongside with explanation about the tracking algorithm.<\/p>\n<figure id=\"attachment_98\" aria-describedby=\"caption-attachment-98\" style=\"width: 532px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-98 \" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/11\/IMG-20180428-WA0001-2-300x271.jpg\" alt=\"\" width=\"532\" height=\"481\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/11\/IMG-20180428-WA0001-2-300x271.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/11\/IMG-20180428-WA0001-2-768x693.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/11\/IMG-20180428-WA0001-2.jpg 862w\" sizes=\"auto, (max-width: 532px) 100vw, 532px\" \/><figcaption id=\"caption-attachment-98\" class=\"wp-caption-text\">Focusing lens array<\/figcaption><\/figure>\n<p>The tracking device is quite easy to build (though challenging to design), it is made out of three stainless steel rods, two stepper motors, a solar sensing device, a RAMPS\/MKS controller, ball bearings and 3D printed parts for the frame and torque transmission.<\/p>\n<figure id=\"attachment_274\" aria-describedby=\"caption-attachment-274\" style=\"width: 462px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-274 \" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/motorized-focusing-lens-2.jpg\" alt=\"\" width=\"462\" height=\"534\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/motorized-focusing-lens-2.jpg 748w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/motorized-focusing-lens-2-259x300.jpg 259w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><figcaption id=\"caption-attachment-274\" class=\"wp-caption-text\">Overview of the solar tracking cooker<\/figcaption><\/figure>\n<h1>Skeleton<\/h1>\n<p>The base of the device is 3D printed and shaped like a cone, it has small ears that are meant to be fastened to a wide wooden base with countersink self-tapping screws. Two bearings (6000Z) are pressure inserted to the base, providing low friction for azimuth rotation of the shaft (10X415mm stainless steel) and stiffness against bending moments on the other axis of rotation.<\/p>\n<figure id=\"attachment_269\" aria-describedby=\"caption-attachment-269\" style=\"width: 452px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-269 \" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis.jpg\" alt=\"\" width=\"452\" height=\"363\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis.jpg 725w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis-300x241.jpg 300w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><figcaption id=\"caption-attachment-269\" class=\"wp-caption-text\">The base of the solar cooker<\/figcaption><\/figure>\n<p>The base also mounts a stepper motor and hides a larger gear attached to the azimuth shaft. The larger gear is glued with Loctite to the azimuth shaft and is driven by a smaller gear mounted on the stepper motor, providing the motor with additional torque.<\/p>\n<figure id=\"attachment_270\" aria-describedby=\"caption-attachment-270\" style=\"width: 481px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-270 \" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis-transparent.jpg\" alt=\"\" width=\"481\" height=\"316\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis-transparent.jpg 928w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis-transparent-300x197.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/azimuth-axis-transparent-768x504.jpg 768w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><figcaption id=\"caption-attachment-270\" class=\"wp-caption-text\">Gear transmission is based inside the base. The two bearings can also be seen.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_278\" aria-describedby=\"caption-attachment-278\" style=\"width: 525px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-278 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-base-1024x825.png\" alt=\"\" width=\"525\" height=\"423\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-base-1024x825.png 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-base-300x242.png 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-base-768x619.png 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-base.png 1085w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><figcaption id=\"caption-attachment-278\" class=\"wp-caption-text\">The zenith base<\/figcaption><\/figure>\n<p>The zenith shaft is mounted on the <span style=\"color: #ff6600;\">zenith base<\/span>, which is a 3D printed part with two functions:\u00a0 first, it mounts the zenith shaft (8x90mm stainless\/aluminum) on two bearings which provide rigidity and freedom of rotation, and second, it provides additional torque for the stepper motor by a pulley gear transmission.<\/p>\n<p>The zenith base is composed of two parts &#8211; a body, and a cover. The zenith shaft is fitted inside of the two bearings, one at the cover and the other on the body, where it is also glued with Loctite (though superglue is just as appropriate). A transmission mechanism is hidden inside the zenith base, and is implemented using two pulley gears and a rubber pulley.<\/p>\n<figure id=\"attachment_281\" aria-describedby=\"caption-attachment-281\" style=\"width: 525px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-281 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-Axis-exploded-2-1024x474.jpg\" alt=\"\" width=\"525\" height=\"243\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-Axis-exploded-2-1024x474.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-Axis-exploded-2-300x139.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-Axis-exploded-2-768x356.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/zenith-Axis-exploded-2.jpg 1920w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><figcaption id=\"caption-attachment-281\" class=\"wp-caption-text\">Exploded view of the zenith base<\/figcaption><\/figure>\n<p>I have used a pulley transmission instead of gear transmission because zenith rotation requires some extra torque in comparing with the azimuth axis, as it needs to overcome small torque imbalance of the mirror array and the counterweight. The explanation is such that small pulley can be 3D printed much smaller than a spur gear, providing much higher torque for the zenith rotation.<\/p>\n<p>The pulley is 3D printed using TPU filament by Creozole (widely sold on Amazon and Aliexpress), and it is both functional and very durable. In fact, I was very surprised that I couldn&#8217;t find anyone else who has printed their own custom TPU pulley. It saves the trouble of loop closing stock pulley, which requires A LOT of technique.<\/p>\n<p>Even with the transmission, the stepper motor is still too weak to overcome the torque of the weight of the mirror array. This was solved by adding a\u00a0 \u00a0 \u00a0 900 gr counter-weight, strapped to a slider with zip ties. The slider is clamped to the balancing shaft (8&#215;350 mm stainless) in a position where it balances the torque.<\/p>\n<figure id=\"attachment_282\" aria-describedby=\"caption-attachment-282\" style=\"width: 525px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-282 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/balancing-1024x474.jpg\" alt=\"\" width=\"525\" height=\"243\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/balancing-1024x474.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/balancing-300x139.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/balancing-768x356.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/balancing.jpg 1920w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><figcaption id=\"caption-attachment-282\" class=\"wp-caption-text\">The balancing mechanism<\/figcaption><\/figure>\n<h1>Solar Tracking sensor<\/h1>\n<p>To track the sun I&#8217;ve used stepper motor and feedback from a solar sensor. Any diversion from the main source of light in the azimuth or zenith angle would result in a correction signal from the sensor for the corresponding motor.<\/p>\n<figure id=\"attachment_301\" aria-describedby=\"caption-attachment-301\" style=\"width: 994px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-301 size-full\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-tracker-2.jpg\" alt=\"\" width=\"994\" height=\"501\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-tracker-2.jpg 994w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-tracker-2-300x151.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-tracker-2-768x387.jpg 768w\" sizes=\"auto, (max-width: 994px) 100vw, 994px\" \/><figcaption id=\"caption-attachment-301\" class=\"wp-caption-text\">On the left an image of the solar sensor, it\u00a0 is made of 4 LDRs (Light Dependent Resistors), and a cross that shadows them indiscriminately. On the right, the solar sensor is depicted from above, where light is projected from the left side to the right side. The cross makes a shadow to the right, and the LDRs are differentially lighten.<\/figcaption><\/figure>\n<p>The LDRs are pulled up with ~600 Ohms, providing good sensitivity under direct sunlight (the resistor value should be about the same as the LDR under sunlight). When an LDR is shadowed or even partly shadowed, the voltage drops drastically. by comparing the LDR signal on two opposite sides we can get a very strong correction signal.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-359 size-full\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/LDR-pullup.png\" alt=\"\" width=\"104\" height=\"285\" \/><\/p>\n<p>The sensor is aligned so that 2,3 and 4,1 are displaced along the zenith rotation, and 1,4 and 3,4 are displaced along the azimuth rotation. Using this calibration we can write:<\/p>\n<p><img decoding=\"async\" id=\"equationview\" title=\"This is the rendered form of the equation. You can not edit this directly. Right click will give you the option to save the image, and in most browsers you can drag the image onto your desktop or another program.\" src=\"https:\/\/latex.codecogs.com\/gif.latex?azimuth%20Correction%20%5Csim%20%28V_1&amp;plus;V_4%29-%28V_2&amp;plus;V_3%29\" name=\"equationview\" \/><\/p>\n<p><img decoding=\"async\" id=\"equationview\" title=\"This is the rendered form of the equation. You can not edit this directly. Right click will give you the option to save the image, and in most browsers you can drag the image onto your desktop or another program.\" src=\"https:\/\/latex.codecogs.com\/gif.latex?zenith%20Correction%20%5Csim%20%28V_1&amp;plus;V_2%29-%28V_3&amp;plus;V_4%29\" name=\"equationview\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-360 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/solar-sensor2-1024x474.jpg\" alt=\"\" width=\"525\" height=\"243\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/solar-sensor2-1024x474.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/solar-sensor2-300x139.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/solar-sensor2-768x355.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/solar-sensor2.jpg 1912w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>P.S &#8211; I don&#8217;t know the proper model name for the LDR I used, but you can try buying one that has the same slithering geometry as seen in the images above. These should probably produce similar results, as most sensors use the same semi-conductors materials.<\/p>\n<h1>Motors<\/h1>\n<p>The motors used in this project are 12V stepper motors with an internal gear (<a href=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/28BYJ-48.pdf\">28BYJ-48<\/a>). These motors are very easy to find in Aliexpress and are very cheap. Although they are originally designed as a unipolar stepper motor, incompatible with the RAMPS style stepper modules, they can be modified to a bipolar stepper motor very easily, as I will show in the assembly section. For those who are curious about stepper motors, the difference between unipolar and bipolar motors, and the implications of the modification,\u00a0 check out <a href=\"http:\/\/www.jangeox.be\/2013\/10\/change-unipolar-28byj-48-to-bipolar.html\">this<\/a> article.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-294 size-full\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/24BYJ48-12V-e1545610551133.png\" alt=\"\" width=\"451\" height=\"313\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/24BYJ48-12V-e1545610551133.png 451w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/24BYJ48-12V-e1545610551133-300x208.png 300w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><\/p>\n<h1>Controller<\/h1>\n<p>The solar tracking cooker is controlled with an ATMEGA2560 with a RAMPS 1.4 shield (or MKS gen 1.4 which is fully compatible).\u00a0 It makes connecting the stepper drivers and motor very standard and easy, and requires soldering a small pull-up board for the 4 LDRs of the solar sensor.<\/p>\n<figure style=\"width: 400px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0586\/8617\/products\/1_7f59bb6d-d788-4b34-8ff4-18ae4378b3b0_large.jpeg?v=1414115312\" alt=\"\" width=\"400\" height=\"224\" \/><figcaption class=\"wp-caption-text\">ATMEGA2560 with a RAMPS 1.4 on top of it<\/figcaption><\/figure>\n<p>Alternatively, you can use an Arduino nano, only needing to change the pin names in the Arduino code. Also, I recommend buying stepper driver modules so you can save yourself the trouble of soldering or wiring breadboards (been there done that, its a waste of time).<\/p>\n<figure id=\"attachment_299\" aria-describedby=\"caption-attachment-299\" style=\"width: 300px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-299 size-medium\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module-300x300.png 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module-150x150.png 150w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module-768x768.png 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module-100x100.png 100w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/driver-module.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-299\" class=\"wp-caption-text\">Driver Module<\/figcaption><\/figure>\n<h1>Fabrication and Assembly<\/h1>\n<p>I really do hope that you find this project interesting enough that you would actually want to build it, or at least use the azimuth-zenith axis system, because it is quite cheap and easy to build and can be used for other uses (such as a radio telescope).<\/p>\n<p>This is why I&#8217;ve uploaded the MCAD design and the code files to <a href=\"https:\/\/grabcad.com\/library\/solar-tracking-cooker-2\">GrabCAD<\/a>. The project folder is separated into three subfolders:<\/p>\n<ul>\n<li>Solidworks (version 2017) &#8211; with the original mechanical design files.<\/li>\n<li>Arduino code file &#8211; covers the program for controlling the motor and light tracking.<\/li>\n<li>3D print files &#8211; contains the files that need to be 3D printed.<\/li>\n<\/ul>\n<h2>3D Printing the parts<\/h2>\n<p>All skeletal parts were 3D printed with mechanical strength in mind, I have 3D printed them using PETG plastic at the 250<span class=\"ILfuVd\">\u00b0<\/span>C, 0.16mm layer height, 1.2mm shell, and ~30% infill.<\/p>\n<p>The gears, the pulleys, and the solar sensor body are not stressed as much and can be printed using settings that benefit geometric accuracy over strength.<\/p>\n<p>The belt is printed from a TPU filament (I&#8217;ve used Creozole&#8217;s TPU). I want to point out that I had also printed a belt from the very popular Ninja-Flex plastic and found it much more flexible than the belts sold on the marker, so I think it would be a bad choice of material.<\/p>\n<h2>Stepper motor modification<\/h2>\n<p>As mentioned before, the stepper motor is unipolar\u00a0and should be modified to work with the common ramps driver module, as they are designed to drive bipolar stepper motors.<\/p>\n<p>All we need to do is to cut the conductor that connects the middle of the two poles in the motor, and more specifically, cut a trace on a small PCB that hides behind the plastic cover of the motor. We begin with revealing the PCB and the trace:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-343 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022002-e1546094990838-1024x286.jpg\" alt=\"\" width=\"525\" height=\"147\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022002-e1546094990838-1024x286.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022002-e1546094990838-300x84.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022002-e1546094990838-768x215.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>I have used my old Hakko soldering iron (replaced by the godly TS100) with low-temperature settings (~200<span class=\"ILfuVd\">\u00b0<\/span>C) to reveal the PCB, and made a vertical cut with crafting knife to the copper trace:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-345 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022521-e1546095944789-1024x496.jpg\" alt=\"\" width=\"525\" height=\"254\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022521-e1546095944789-1024x496.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022521-e1546095944789-300x145.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_022521-e1546095944789-768x372.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>And that&#8217;s it! we now have a bipolar motor! keep in mind that the red wire is now useless and the coil poles are now connected to red-purple, and orange-blue. If you find this subsection confusing, just go to the <a href=\"http:\/\/www.jangeox.be\/2013\/10\/change-unipolar-28byj-48-to-bipolar.html\">blog post<\/a> mentioned before, where the photos are better and the explanation more elaborate.<\/p>\n<h2>Azimuth base<\/h2>\n<p>After printing all the parts, we shall start by snapping in the two 10mm bearings at the top and the bottom of the <span style=\"color: #800000;\">azimuth base<\/span>, and gluing the azimuth shaft to the two bearings using Loctite glue:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-303\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020027-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020027-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020027-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020027-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>We then mount the <span style=\"color: #800000;\">azimuth drive gear<\/span> on the stepper motor. It requires some manual force but is quite easy with the help of a locking plier or a vice. The next step is to fasten the stepper motor to the base using two M4 screws\u00a0(8-14mm long):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-304\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020857-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020857-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020857-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_020857-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>We then glue the <span style=\"color: #800000;\">azimuth gear<span style=\"color: #000000;\"> to the azimuth shaft using Loctite:<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-305\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021234-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021234-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021234-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021234-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Now we shall fasten the <span style=\"color: #800000;\">azimuth base<\/span> to a wide wooden base:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-306 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021513-e1546024518670-857x1024.jpg\" alt=\"\" width=\"525\" height=\"627\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021513-e1546024518670-857x1024.jpg 857w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021513-e1546024518670-251x300.jpg 251w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021513-e1546024518670-768x918.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_021513-e1546024518670.jpg 1836w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Zenith base<\/h2>\n<p>First, a stepper motor is press-fitted with the <span style=\"color: #993300;\">zenith motor pulley<span style=\"color: #000000;\">, and then it is mounted to the <\/span><\/span><span style=\"color: #993300;\">zenith base<span style=\"color: #000000;\"> using M4 (longer than 6mm) screws and nuts:<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-308\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_025829-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_025829-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_025829-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_025829-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>The 8mm bearing is press-fitted to the <span style=\"color: #993300;\">zenith base<span style=\"color: #000000;\">, the 8mm shaft is inserted (it is far too long than it should be, I was too lazy to cut stainless steel), and the two are glued together with Loctite, in such a way that the far end of the zenith shaft is 40mm away from the azimuth shaft to the direction of the back of the stepper motor (you are right to be confused, so just go ahead look at the assembly file on GrabCAD).<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-309\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030500-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030500-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030500-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030500-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>next, we slide in the <span style=\"color: #993300;\">zenith pulley<span style=\"color: #000000;\"> and clamp it to the shaft with M3x20mm plastic tapping screw (I highly recommend using these screws, as machine screws do a terrible job at self-tapping to plastic): <\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-310\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030805-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030805-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030805-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030805-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-312\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031535-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031535-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031535-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031535-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Afterward, the <span style=\"color: #993300;\">belt<span style=\"color: #000000;\"> is stretched\u00a0over the two pulleys:<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-313 \" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_215827-e1546027574896-688x1024.jpg\" alt=\"\" width=\"385\" height=\"573\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_215827-e1546027574896-688x1024.jpg 688w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_215827-e1546027574896-202x300.jpg 202w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_215827-e1546027574896-768x1143.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_215827-e1546027574896.jpg 1738w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/p>\n<p>Then the <span style=\"color: #993300;\">azimuth base cover\u00a0<\/span>is press-fitted with another 8mm bearing<span style=\"color: #993300;\">:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-311 size-medium\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030525-e1546026624169-271x300.jpg\" alt=\"\" width=\"271\" height=\"300\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030525-e1546026624169-271x300.jpg 271w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030525-e1546026624169-768x850.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030525-e1546026624169-925x1024.jpg 925w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_030525-e1546026624169.jpg 1305w\" sizes=\"auto, (max-width: 271px) 100vw, 271px\" \/><\/p>\n<p>The\u00a0\u00a0<span style=\"color: #993300;\">azimuth base cover<span style=\"color: #000000;\"> is then slid on the zenith shaft and screwed tightly in place\u00a0with M3.5x12mm plastic self-tapping screws:<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-315\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031636-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031636-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031636-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_031636-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Now that the zenith base is fully assembled, it is to be clamped to the top of the azimuth shaft using M4 machines screws (longer than 22mm) and nuts:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-316 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_221939-e1546029257684-764x1024.jpg\" alt=\"\" width=\"525\" height=\"704\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_221939-e1546029257684-764x1024.jpg 764w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_221939-e1546029257684-224x300.jpg 224w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_221939-e1546029257684-768x1029.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_221939-e1546029257684.jpg 1370w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Balancing weight<\/h2>\n<p>We then strap the weight to the <span style=\"color: #993300;\">weight holder<span style=\"color: #000000;\"> with zip ties. I recommend covering the zip ties with a silicone tube (sold cheaply as a fish tank air bubble tube) to add friction against the weight slipping off.<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-318\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033436-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033436-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033436-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033436-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>We then clamp<span style=\"color: #993300;\"><span style=\"color: #000000;\"> the zenith shaft to the balancing shaft (8mm), using the <span style=\"color: #993300;\">zenith-balancing shaft clamp<\/span>, and proceed with clamping the <span style=\"color: #993300;\">weight holder <span style=\"color: #000000;\">to the balancing shaft (later we will reposition it to balance the Fresnel mirror array):<\/span><\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-319 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033613-e1546030679687-656x1024.jpg\" alt=\"\" width=\"525\" height=\"820\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033613-e1546030679687-656x1024.jpg 656w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033613-e1546030679687-192x300.jpg 192w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033613-e1546030679687-768x1198.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181220_033613-e1546030679687.jpg 1166w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Fresnel mirror array<\/h2>\n<p>Lastly, we clamp the <span style=\"color: #993300;\">balancing shaft-fresnel mirror adapter<span style=\"color: #000000;\"> to the <span style=\"color: #993300;\">balancing shaft<span style=\"color: #000000;\"> and glue a broomstick end on top of it, and to the thread of the broomstick, we screw in the Fresnel mirror array. <\/span><\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-320 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230525-e1546031652443-1024x1004.jpg\" alt=\"\" width=\"525\" height=\"515\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230525-e1546031652443-1024x1004.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230525-e1546031652443-300x294.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230525-e1546031652443-768x753.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230525-e1546031652443.jpg 1821w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Solar Sensor<\/h2>\n<p>The solar sensor is made out of the <span style=\"color: #993300;\">solar sensor body,<span style=\"color: #000000;\"> the<span style=\"color: #993300;\"> solar sensor cover<span style=\"color: #000000;\">, and four LDRs. We glue the LDRs to their place, and solder their legs &#8211; four legs are soldered together, and a 5 wire band is soldered to the four free legs and to the common junction. You should also make sure that the wire is long enough to reach the controller.<\/span><\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-324 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-sensor-exploded-2-e1546034221318-1024x464.jpg\" alt=\"\" width=\"525\" height=\"238\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-sensor-exploded-2-e1546034221318-1024x464.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-sensor-exploded-2-e1546034221318-300x136.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-sensor-exploded-2-e1546034221318-768x348.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/solar-sensor-exploded-2-e1546034221318.jpg 1473w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>To avoid a\u00a0short circuit between the legs, we pot the bottom of the <span style=\"color: #993300;\">solar sensor body <span style=\"color: #000000;\">with silicone and snap in the <span style=\"color: #993300;\">solar sensor cover<span style=\"color: #000000;\">,\u00a0 and proceed<\/span><\/span><\/span><\/span> by gluing the sensor to the Fresnel mirror array:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-325 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230549-e1546033901493-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230549-e1546033901493-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230549-e1546033901493-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/20181228_230549-e1546033901493-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>and we are pretty much done with the mechanical part!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-365\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-1017x1024.jpg\" alt=\"\" width=\"525\" height=\"529\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-1017x1024.jpg 1017w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-150x150.jpg 150w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-298x300.jpg 298w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-768x773.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821-100x100.jpg 100w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/IMG_20190113_103821.jpg 1796w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Controller<\/h2>\n<p>We now need to connect the two motors to the RAMPS MEGA2560 shield. The azimuth should be connected to the x-axis headers, and the zenith should be connected to the y-axis headers. Both stepper drivers are configured to micro-stepping to 1\/8 of a step.<\/p>\n<p>Connecting the solar sensor is a bit more co<span style=\"color: #000000;\">mplicated, as we need to pull up the four signal lines with e<\/span>xternal resistors (the internal pull-up resistor is of a much too high value) and connect it to the analog inputs of the controller.<\/p>\n<p>My solution was to solder a small breakout board that connects to AUX-2 header group on the RAMPS board, using 5&#215;2 female headers:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-335 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002855-e1546036318975-947x1024.jpg\" alt=\"\" width=\"525\" height=\"568\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002855-e1546036318975-947x1024.jpg 947w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002855-e1546036318975-277x300.jpg 277w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002855-e1546036318975-768x830.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002855-e1546036318975.jpg 1811w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>and to solder on a jst-xh 5 pin connector, alongside with 4 pull-up resistors. The result is very messy:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-334 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002610-e1546036104311-1005x1024.jpg\" alt=\"\" width=\"525\" height=\"535\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002610-e1546036104311-1005x1024.jpg 1005w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002610-e1546036104311-294x300.jpg 294w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002610-e1546036104311-768x783.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_002610-e1546036104311.jpg 1729w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>It doesn&#8217;t really matter how you solder the board, as long as it follows the schematic:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-336\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/Solar-sensor-breakout-board-schematic.png\" alt=\"\" width=\"502\" height=\"285\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/Solar-sensor-breakout-board-schematic.png 502w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/Solar-sensor-breakout-board-schematic-300x170.png 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/p>\n<h2>Power source<\/h2>\n<p>To power the motors and the controller I used a custom made pack of 3 lithium-ion batteries (with a protection circuit):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-337\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-1024x1024.jpg\" alt=\"\" width=\"525\" height=\"525\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-1024x1024.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-150x150.jpg 150w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-300x300.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-768x768.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483-100x100.jpg 100w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_010905-e1546038758483.jpg 1689w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>and added a step-up adjusted to 18V. This adds extra torque to the motors which are rated for 12V. I found that it is totally fine to go up to 30V as long as you don&#8217;t let the motor run for many minutes without rest (should not happen under normal circumstances of sun tracking), and I must say that the additional torque is very rewarding!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-338\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_011932-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_011932-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_011932-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2018\/12\/IMG_20181229_011932-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h1>Firmware<\/h1>\n<p>The firmware can be found on the GrabCAD project page. We will now discuss the relevant parts of the code.<\/p>\n<p>Notice that you will need to install the Streaming and AccelStepper libraries, both are available on the Arduino library manager.<\/p>\n<h2>Configuration<\/h2>\n<p>The code starts with configuring the pins of the two motors and the LDRs. If for some reason you want to use another micro-controller or other headers on the RAMPS board, go ahead, just don&#8217;t forget to update your choices in the code.<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">const uint8_t azimuthMotorEnPin = 38;\r\nconst uint8_t azimuthMotorStpPin = 54;\r\nconst uint8_t azimuthMotorDirPin = 55;\r\n\r\nconst uint8_t zenithMotorEnPin = 56;\r\nconst uint8_t zenithMotorStpPin = 60;\r\nconst uint8_t zenithMotorDirPin = 61;\r\n\r\nconst uint8_t LDRpins[] = {A11, A9, A10, A5};\r\nconst uint8_t numberOfLightSensors = 4;<\/pre>\n<p>It continues with calculating the angle per step, using mechanical constants, alongside with an optional empirical correction factor. It is not very important for this project, but I&#8217;m planning to make a radio telescope in the future with the skeleton, where precise spatial angle determination is crucial.<\/p>\n<p>A more important configuration that must be addressed is the LDR identification, as the firmware needs to know the positions of the sensor:<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">const uint8_t topRightLDR = 0;\r\nconst uint8_t topLeftLDR = 1;\r\nconst uint8_t bottomLeftLDR = 2;\r\nconst uint8_t bottomRightLDR = 3;<\/pre>\n<p>The convention is such that the sensor is viewed from above. To validate that the positions are indeed correct, use the reportSolarReading() function, and shade each sensor, one by one, to see that it is rightfully placed. If not, then modify the indexes above to the correct position.<\/p>\n<p>Additional configurations for the tracking algorithm are the following:<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">const uint32_t azimuthCorrectionFator = 1000;\r\nconst uint32_t zenithCorrectionFator = 1000;\r\nconst uint16_t trackerAccuracyThreshold = 20;\r\nconst float trackerHysteresisFactor = 2;<\/pre>\n<p>The first two, determine the response strength to the correction signal. They multiply the error signal coming out of the solar sensor. While higher values will make the mirror array move faster toward the sun, they would also jitter more around it. Smaller values will make it lock more slowly but would reduce jitter as well. Try these values as a starting point, and then fine-tune them if you dislike the response of the mirror array.<\/p>\n<p>The purpose of the two other constants is to avoid jitter and to define a &#8220;stop tracking&#8221; condition. When the correction signal is under a certain threshold, and the tracker is directed at the sun at a satisfactory precision, it stops the stepper motors. It turns them on only when the threshold goes higher than the stop tracking value by a factor. This provides hysteresis, to prevent the motors from turning on and off when the value is close to the threshold. Turning off the motors is crucial as it saves a lot of battery life, and prevents the motors from overheating if they are over-voltaged by much.<\/p>\n<h2>Solar readings<\/h2>\n<p>In each reading cycle of the solar sensor, we read the voltage over the LDRs, which is the response of the voltage divider of the LDR with the pull-up resistor. The higher the light intensity is, the higher the reading value.<\/p>\n<pre class=\"lang:c++ decode:true\">void updateSolarReadings()\r\n{\r\n\tfor (uint8_t i = 0; i &lt; numberOfLightSensors; i++)\r\n\t\tlightIntensities[i] = analogRead(LDRpins[i]);\r\n\r\n\tazimuthLightIntensityGradient = (lightIntensities[0] + lightIntensities[3]) - (lightIntensities[1] + lightIntensities[2]);\r\n\tzenithLightIntensityGradient = (lightIntensities[0] + lightIntensities[1]) - (lightIntensities[2] + lightIntensities[3]);\r\n\tlightIntensitySum = lightIntensities[0] + lightIntensities[1] + lightIntensities[2] + lightIntensities[3];\r\n}<\/pre>\n<p>Right after reading the four intensity values, the\u00a0intensity of the two left sensors is subtracted from that of the\u00a0two right sensors. This value is named &#8220;azimuthLightIntensityGradient&#8221;.<\/p>\n<p>The sum of all signals together is also calculated, and is used to normalize the response signal (as we will see in the next section) to adapt to different light intensities (such as cloudy days vs. sunny days).<\/p>\n<h2>Tracking algorithm<\/h2>\n<p>The algorithm is actually very simple, it begins with calculating the correction signal for the zenith and the azimuth:<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">float correctionSignal()\r\n{\r\n\treturn -(float)correctionFator * lightIntensityGradient \/ lightIntensitySum;\r\n}<\/pre>\n<p>The signal is just the normalized gradient of the light intensity for the azimuth\/zenith, multiplied by the preconfigured factor we discussed earlier.<\/p>\n<p>The algorithm then checks if the mirror array is directed to an acceptable margin. If so, it turns off the motors, and turns them on only when the mirrors\u00a0are astray by an\u00a0additional value (providing hysteresis).<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">if (motorEnabled &amp;&amp; (abs(correctionSignal) &lt; trackerAccuracyThreshold))\r\n\tdisableMotor();\r\nelse if (!motorEnabled &amp;&amp; (abs(correctionSignal) &gt; trackerHysteresisFactor * trackerAccuracyThreshold))\r\n\tenableMotor();<\/pre>\n<p>Finally, the correction signal is fed into the motor driver handler:<\/p>\n<pre class=\"font:consolas lang:c++ decode:true\">motor.move(correctionSignal);<\/pre>\n<p>Where the command &#8216;move&#8217; tells the motor to move by &#8216;correctionSignal&#8217; steps, where positive values rotate\u00a0the motor in one way, and negative in the other.<\/p>\n<h1>Testing it out<\/h1>\n<p>Now that everything is assembled, wired and programmed, we are ready to evaluate how well it tracks light.<\/p>\n<p>My first test was simple, it was evening at twilight, the lamp in the living was turned on and the solar array was initially locked to it. When I turned off the lamp, the solar array began in searching the next prominent light source &#8211; the setting sun:<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/mq6GfDx0eYw\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>I devised a simple test where a laser was attached to the mirror array, right next to the solar sensor, marking the direction of the sensor, and a headlamp was strapped to my forehead so that the mirror array would follow me (as I was the brightest light source in the room). To avoid getting blinded by the laser I wore a blank paper on my face:<\/p>\n<figure id=\"attachment_351\" aria-describedby=\"caption-attachment-351\" style=\"width: 525px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-351 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_163409-1-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_163409-1-1024x576.jpg 1024w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_163409-1-300x169.jpg 300w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_163409-1-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><figcaption id=\"caption-attachment-351\" class=\"wp-caption-text\">Laser pointer attachment<\/figcaption><\/figure>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/uS_kGv9tjKY\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>And it performed nicely!!!<\/p>\n<p>Being happy with the result, I woke up the next day, powered up the solar cooker and let it find the sun outside the window:<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/E8UZb8YjtZo\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>and here is an image of the focused light, scattered on a piece of paper:<\/p>\n<figure id=\"attachment_352\" aria-describedby=\"caption-attachment-352\" style=\"width: 525px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-352 size-large\" src=\"http:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_140517-e1547310696377-576x1024.jpg\" alt=\"\" width=\"525\" height=\"933\" srcset=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_140517-e1547310696377-576x1024.jpg 576w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_140517-e1547310696377-169x300.jpg 169w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_140517-e1547310696377-768x1365.jpg 768w, https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/20190112_140517-e1547310696377.jpg 1836w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><figcaption id=\"caption-attachment-352\" class=\"wp-caption-text\">The focused light scattered off a paper<\/figcaption><\/figure>\n<h1>Conclusion<\/h1>\n<p>In this post I have shared a design for a moving a solar device that uses cheap common parts. The design is also light-weight and easy to disassemble, so it can be packed up and reassembled somewhere else (besides the Fresnel mirror array showed here, but there are lighter and less cumbersome solar devices that you can build yourself and attach to the tracking design).<\/p>\n<p>I&#8217;ve also demonstrated a very simple solar sensor alongside a simple algorithm for tracking the sun, and made a rough demonstration of its accuracy.<\/p>\n<p>In the\u00a0future I plan to build a device that can hold a pan and move alongside the mirror array, and hopefully cook an egg =D<br \/>\nI am also planning to use the device for something much more exciting! I want to build a radio telescope and overlay panorama images of my neighborhood with radio images!!! This will probably be my next book-long post, and I hope it will be interesting enough for people to make it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is a follow-up to the former blog post about the solar cooker. The mirror array can now track the sun and rotate toward it. Here I will give a full description of the design and building process, alongside with explanation about the tracking algorithm. The tracking device is quite easy to build (though [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":374,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[13,19,22,21,20,1],"tags":[],"class_list":["post-256","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-3d-printing","category-green-technology","category-radio-telescope","category-solar-cooker","category-solar-tracking","category-uncategorized","post_format-post-format-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Solar Tracking - FennecLabs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solar Tracking - FennecLabs\" \/>\n<meta property=\"og:description\" content=\"This post is a follow-up to the former blog post about the solar cooker. The mirror array can now track the sun and rotate toward it. Here I will give a full description of the design and building process, alongside with explanation about the tracking algorithm. The tracking device is quite easy to build (though [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/\" \/>\n<meta property=\"og:site_name\" content=\"FennecLabs\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-13T08:33:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-14T22:23:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"595\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"tuval\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tuval\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/\"},\"author\":{\"name\":\"tuval\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/#\\\/schema\\\/person\\\/8fa0b593db8821fbba7cf968ce4bd084\"},\"headline\":\"Solar Tracking\",\"datePublished\":\"2019-01-13T08:33:59+00:00\",\"dateModified\":\"2019-01-14T22:23:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/\"},\"wordCount\":3234,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fenneclabs.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/thumbnail-2.jpg\",\"articleSection\":[\"3D printing\",\"Green Technology\",\"Radio Telescope\",\"solar cooker\",\"solar tracking\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/\",\"url\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/\",\"name\":\"Solar Tracking - FennecLabs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fenneclabs.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/thumbnail-2.jpg\",\"datePublished\":\"2019-01-13T08:33:59+00:00\",\"dateModified\":\"2019-01-14T22:23:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/#\\\/schema\\\/person\\\/8fa0b593db8821fbba7cf968ce4bd084\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fenneclabs.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/thumbnail-2.jpg\",\"contentUrl\":\"https:\\\/\\\/fenneclabs.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/01\\\/thumbnail-2.jpg\",\"width\":595,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/2019\\\/01\\\/13\\\/solar-tracking\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fenneclabs.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solar Tracking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/#website\",\"url\":\"https:\\\/\\\/fenneclabs.net\\\/\",\"name\":\"FennecLabs\",\"description\":\"A place to share our projects and ideas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fenneclabs.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fenneclabs.net\\\/#\\\/schema\\\/person\\\/8fa0b593db8821fbba7cf968ce4bd084\",\"name\":\"tuval\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g\",\"caption\":\"tuval\"},\"url\":\"https:\\\/\\\/fenneclabs.net\\\/index.php\\\/author\\\/tuval\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Solar Tracking - FennecLabs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/","og_locale":"en_US","og_type":"article","og_title":"Solar Tracking - FennecLabs","og_description":"This post is a follow-up to the former blog post about the solar cooker. The mirror array can now track the sun and rotate toward it. Here I will give a full description of the design and building process, alongside with explanation about the tracking algorithm. The tracking device is quite easy to build (though [&hellip;]","og_url":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/","og_site_name":"FennecLabs","article_published_time":"2019-01-13T08:33:59+00:00","article_modified_time":"2019-01-14T22:23:47+00:00","og_image":[{"width":595,"height":600,"url":"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg","type":"image\/jpeg"}],"author":"tuval","twitter_card":"summary_large_image","twitter_misc":{"Written by":"tuval","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#article","isPartOf":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/"},"author":{"name":"tuval","@id":"https:\/\/fenneclabs.net\/#\/schema\/person\/8fa0b593db8821fbba7cf968ce4bd084"},"headline":"Solar Tracking","datePublished":"2019-01-13T08:33:59+00:00","dateModified":"2019-01-14T22:23:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/"},"wordCount":3234,"commentCount":0,"image":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#primaryimage"},"thumbnailUrl":"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg","articleSection":["3D printing","Green Technology","Radio Telescope","solar cooker","solar tracking"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/","url":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/","name":"Solar Tracking - FennecLabs","isPartOf":{"@id":"https:\/\/fenneclabs.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#primaryimage"},"image":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#primaryimage"},"thumbnailUrl":"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg","datePublished":"2019-01-13T08:33:59+00:00","dateModified":"2019-01-14T22:23:47+00:00","author":{"@id":"https:\/\/fenneclabs.net\/#\/schema\/person\/8fa0b593db8821fbba7cf968ce4bd084"},"breadcrumb":{"@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#primaryimage","url":"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg","contentUrl":"https:\/\/fenneclabs.net\/wordpress\/wp-content\/uploads\/2019\/01\/thumbnail-2.jpg","width":595,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/fenneclabs.net\/index.php\/2019\/01\/13\/solar-tracking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fenneclabs.net\/"},{"@type":"ListItem","position":2,"name":"Solar Tracking"}]},{"@type":"WebSite","@id":"https:\/\/fenneclabs.net\/#website","url":"https:\/\/fenneclabs.net\/","name":"FennecLabs","description":"A place to share our projects and ideas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fenneclabs.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/fenneclabs.net\/#\/schema\/person\/8fa0b593db8821fbba7cf968ce4bd084","name":"tuval","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b3490250a039bd75465e65841410f47d97d30fd02ad212040a9dab70e98ef31?s=96&d=identicon&r=g","caption":"tuval"},"url":"https:\/\/fenneclabs.net\/index.php\/author\/tuval\/"}]}},"_links":{"self":[{"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/posts\/256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/comments?post=256"}],"version-history":[{"count":34,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":414,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/posts\/256\/revisions\/414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/media\/374"}],"wp:attachment":[{"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fenneclabs.net\/index.php\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}