{"id":14986,"date":"2022-02-28T06:07:16","date_gmt":"2022-02-28T11:07:16","guid":{"rendered":"https:\/\/embedded-lab.com\/blog\/?p=14986"},"modified":"2023-09-06T01:34:05","modified_gmt":"2023-09-06T05:34:05","slug":"a-simple-solar-irradiation-measurement-technique","status":"publish","type":"post","link":"https:\/\/embedded-lab.com\/blog\/a-simple-solar-irradiation-measurement-technique\/","title":{"rendered":"A Simple Solar Irradiation Measurement Technique"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"> A pyranometer or solar irradiation tester is measurement tool that is a must-have for every professional in renewable energy sector. However, owing one is not easy because it is both expensive and rare. It is expensive because it uses highly calibrated components and it is rare because it is not an ordinary multi-meter that is available in common hardware shops.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"398\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image.png\" alt=\"\" class=\"wp-image-14987\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image.png 783w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-580x295.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-768x390.png 768w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<p class=\"wp-block-paragraph\">Personally, I\nhave a long professional career in the field of LED lighting, renewable energy\n(mainly solar), Lithium and industrial battery systems, electronics and\nembedded-systems. I have been at the core of designing, testing, commissioning\nand analyzing some of the largest solar power projects of my country \u2013 a\nprivilege that only a few enjoyed. In many of my solar-energy endeavors, I\nencountered several occasions that required me to estimate solar isolation or\nsolar irradiation. Such situations included testing solar PV module\nefficiencies, tracking solar system performance with seasons, weather, sky\nconditions, dust, Maximum Power Point Tracking (MPPT) algorithms of solar\ninverters, chargers, etc. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I wanted a\nsimply way with which I can measure solar irradiance with some degree of\naccuracy. Having the advantage of working with raw solar cells, tools that test\ncells and complete PV modules combined with theoretical studies, I found out a\nrudimentary method of measuring solar irradiation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In simple terms, solar insolation&nbsp;is defined as the amount of solar radiation incident on the surface of the earth in a day and is measured in kilowatt-hour per square meter per day (kWh\/m\u00b2\/day).&nbsp;Solar irradiation, on the other hand, is the&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Power_(physics)\">power<\/a>&nbsp;per unit area received from the&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Sun\">Sun<\/a>&nbsp;in the form of&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Electromagnetic_radiation\">electromagnetic radiation<\/a>&nbsp;as measured in the&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Wavelength\">wavelength<\/a>&nbsp;range of the measuring instrument. It is measured in&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Watt\">watt<\/a>&nbsp;per square meter (W\/m\u00b2). The solar insolation is, therefore, an aggregate of solar irradiance over a day. &nbsp; Sun energy collection by solar photovoltaic (PV) modules is depended on solar irradiance and this in turn has impact on devices using this energy. For example, in a cloudy day a solar battery charger may not be able to fully charge a battery attached to it. Likewise, in a sunny day the opposite may come true. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Solar PV Cells<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For making a solar irradiation meter we would obviously need a solar cell. In terms of technology, there are three kinds of cells commonly available in the market and these are shown below. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"639\" height=\"586\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-1.png\" alt=\"\" class=\"wp-image-14988\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-1.png 639w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-1-580x532.png 580w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/figure><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Basic Solar Math<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Typically, Earth-bound solar irradiation is about 1350 W\/m\u00b2. About 70 &#8211; 80% of this irradiation makes to Earth\u2019s surface and rest is absorbed and reflected. Thus, the average irradiation at surface is about 1000 W\/m\u00b2. Typical cell surface area of a poly crystalline cell having dimensions 156 mm x 156 mm x 1mm is:  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"40\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-2.png\" alt=\"\" class=\"wp-image-14989\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The theoretical or ideal wattage of such a cell should be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"538\" height=\"35\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-3.png\" alt=\"\" class=\"wp-image-14990\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">However, the present-day\ncell power with current technology somewhere between 4 \u2013 4.7 Wp. It is safe to\nassume an average wattage of a typical poly crystalline cell to be 4.3 Wp.\n\n\n\nTherefore, cell efficiency is calculated to be: \n\n\n\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"490\" height=\"67\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-4.png\" alt=\"\" class=\"wp-image-14991\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">72 cells of 4.3 Wp capacity will\nform a complete solar PV module of 310Wp.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"502\" height=\"34\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-5.png\" alt=\"\" class=\"wp-image-14992\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Likewise, the approximate area of a 310 Wp solar panel having dimensions (1960 mm x 991 mm x 40 mm) is:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"31\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-6.png\" alt=\"\" class=\"wp-image-14993\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The theoretical wattage that we should be getting with 1.942 m\u00b2 area panel is found to be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"29\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-7.png\" alt=\"\" class=\"wp-image-14994\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, module\/panel efficiency is calculated to be: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"50\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-8.png\" alt=\"\" class=\"wp-image-14995\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"> Cell efficiency is always higher than module efficiency because in a complete PV module there are many areas where energy is not harvested. These areas include bus-bar links, cell-to-cell gaps, guard spaces, aluminum frame, etc. As technology improves, these efficiencies also improve.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Monocrystalline cells have same\nsurface are but more wattage, typically between 5.0 to 5.5 Wp. We can assume an\naverage cell wattage of 5.2 Wp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, cell efficiency is calculated to be: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"501\" height=\"59\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-9.png\" alt=\"\" class=\"wp-image-14997\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Typically, monocrystalline PV modules consist of 60 cells and so 60 such cells are arranged then the power of a complete PV module is calculated to be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"232\" height=\"23\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-10.png\" alt=\"\" class=\"wp-image-14998\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The area of that PV module having dimensions 1650 mm x 991 mm x 38 mm would be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"229\" height=\"29\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-11.png\" alt=\"\" class=\"wp-image-14999\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The theoretical wattage that we should be getting with 1.635 m\u00b2 area panel is found to be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"49\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-12.png\" alt=\"\" class=\"wp-image-15000\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, module\/panel efficiency is calculated to be: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"60\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-13.png\" alt=\"\" class=\"wp-image-15001\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">These calculations prove the\nfollowing points:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Monocrystalline PV modules can harvest the same amount of energy as their polycrystalline counterparts with lesser area.<\/li><li>Monocrystalline cells are more efficient than poly crystalline cells.<\/li><li>Monocrystalline PV modules are more efficient than polycrystalline PV modules. <\/li><li>156 mm x 156 mm cell dimension is typical but there are also cells of other dimensions like 125 mm x 125 mm x 1 mm.<\/li><li>Though I compared monocrystalline and polycrystalline cells and modules here the same points are true for thin film or amorphous cells.<\/li><li>Currently, there are more efficient cells and advanced technologies, and thus higher power PV modules with relatively smaller area. For instance, at present there are PV modules from Tier 1 manufacturers that have powers well above 600W but their physical dimensions are similar to 300Wp modules. <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Solar PV modules can be generally categorized in four categories based on the number of solar cells in series and they usually have the following characteristics:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>36 Cells <\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>36\nx 0.6 V = 21.6V (i.e., 12V Panel)<\/li><li>VOC\n= 21.6V<\/li><li>VMPP\n= 16 \u2013 18V<\/li><li>For\nmodules from 10 &#8211; 120 Wp <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>60 Cells<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>60\nx 0.6 V = 36V <\/li><li>VOC\n= 36V<\/li><li>VMPP\n= 25 \u2013 29V<\/li><li>For\nmodules from 50 \u2013 300+ Wp <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>72 Cells<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>72\nx 0.6 V = 43.2V (i.e., 24V Panel)<\/li><li>VOC\n= 43.2V<\/li><li>VMPP\n= 34 \u2013 38V<\/li><li>For\nmodules from 150 \u2013 300+ Wp <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>96 Cells<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>96\nx 0.6 V = 57.6V (i.e., 24V Panel)<\/li><li>VOC\n= 57.6V<\/li><li>VMPP\n= 42 \u2013 48V<\/li><li>For\nmodules from 250 \u2013 300+ Wp <\/li><li>Rare<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">One cell may not be fully used and could be cut with laser scribing machines to meet voltage and power requirements. Usually, the above-mentioned series connections are chosen because they are the standard ones. Once a cell series arrangement is chosen, the cells are cut accordingly to match required power. A by-cut cell has lesser area and therefore lesser power. Cutting a cell reduces its current and not its voltage. Thus, power is reduced.  36 cell modules are also sometimes referred as 12V panels although there is no 12V rating in them and this is because such modules can directly charge a 12V lead-acid battery but cannot charge 24V battery systems without the aid of battery chargers. Similarly, 72 cell modules are often referred as 24V panels.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Important Parameters of a Panel\/Cell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Open Circuit Voltage (Voc)<\/strong> \u2013no load\/open-circuit voltage of cell\/panel.&nbsp; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Short Circuit Current (Isc)<\/strong> \u2013 current that will flow when the panel\/cell is shorted in full sunlight.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Maximum Power Point Voltage (VMPP)<\/strong> &#8211; output voltage of a panel at maximum power point or at rated power point of the cell\u2019s\/panel\u2019s characteristics curve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Maximum Power Point Current (IMPP)<\/strong> &#8211; output current of a panel at maximum power point or at rated power point of the cell\u2019s\/panel\u2019s characteristics curve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Peak Power (Pmax)<\/strong> \u2013 the product of VMPP and IMPP. It is the rated power of a cell\u2019s\/PV module at STC. Its unit is watt-peak (WP) and not watts because this is the maximum or peak power of a cell\/module. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Power Tolerance<\/strong> \u2013 percentage deviation of power. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>STC <\/strong>stands for Standard Temperature Condition or simply lab conditions (25\u00b0C).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>AM<\/strong> stands for Air Mass \u2013 This can be used to help characterize the solar spectrum after&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Solar_radiation\">solar radiation<\/a>&nbsp;has traveled through the atmosphere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>E<\/strong> stands for Standard Irradiation of 1000 W\/m\u00b2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shown below is the technical specification sticker of a 320 Wp JA Solar PV Module:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"538\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-14.png\" alt=\"\" class=\"wp-image-15002\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">According to the sticker the PV module has the following\nspecs at STC and irradiation, E = 1000 W\/m\u00b2:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>V<\/strong><strong>OC = 46.12 V <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>V<\/strong><strong>MPP = 37.28 V<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Isc = 9.09 A<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>I<\/strong><strong>MPP = 8.58 A<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pmax = 320 W<\/strong><strong>P<\/strong><strong><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From these specs we can estimate and deduce the followings:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VMPP-by-VOC ratio:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"269\" height=\"56\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-15.png\" alt=\"\" class=\"wp-image-15003\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This value is always between 76 \u2013 86%.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Similarly, IMPP-by-ISC ratio:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"251\" height=\"48\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-16.png\" alt=\"\" class=\"wp-image-15004\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This value is always between 90 &#8211; 96%.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The product of these ratios should be as high as possible. Typical values range between 0.74 \u2013 0.79. This figure represents fill-factor (FF) of a PV module or a PV cell.&nbsp; <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"347\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-17.png\" alt=\"\" class=\"wp-image-15005\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-17.png 679w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-17-580x296.png 580w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">An ideal\nPV cell\/module should have a characteristics curve represented by the green\nline. However, the actual line is represented by the blue one. Fill-Factor is\nbest described as the percentage of ideality. Thus, the greater it is or the\ncloser it is to 100 % the better is the cell\/module.&nbsp;&nbsp; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, the FF is calculated to be <strong><em>0.94 x 0.81 = 0.76 or 76%.<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Number of cells is calculated to be:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"456\" height=\"50\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-18.png\" alt=\"\" class=\"wp-image-15006\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, each cell has an open circuit voltage (VOC) of:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"98\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-19.png\" alt=\"\" class=\"wp-image-15007\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-19.png 423w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-19-420x98.png 420w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><em>I<\/em><em>MPP<\/em> is 8.58 A and<em>\nI<\/em><em>SC<\/em><em> <\/em>is 9.09 A. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cell power is calculated as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"247\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-20.png\" alt=\"\" class=\"wp-image-15008\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-20.png 650w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-20-580x220.png 580w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Efficiencies are deduced as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"546\" height=\"178\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-21.png\" alt=\"\" class=\"wp-image-15009\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"536\" height=\"130\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-22.png\" alt=\"\" class=\"wp-image-15010\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The I-V curves of the PV module shown below show the effect of solar irradiation on performance. It is clear that with variations in solar irradiation power production varies. The same is shown by the power curve. Voltage and current characteristics follow a similar shape.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"468\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-23.png\" alt=\"\" class=\"wp-image-15011\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-23.png 609w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-23-580x446.png 580w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"441\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-24.png\" alt=\"\" class=\"wp-image-15012\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-24.png 591w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-24-580x433.png 580w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The I-V curve shown below demonstrates the effect of temperature on performance. We can see that power production performance deteriorates with rise in temperature. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"456\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-25.png\" alt=\"\" class=\"wp-image-15013\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-25.png 650w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-25-580x407.png 580w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The characteristics curves of the\n320 Wp JA Solar PV module are shown above. From the curves above we can clearly\nsee the following points:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Current changes with irradiation but voltage changes slightly and so power generation depends on irradiation and current. <\/li><li>Current changes slightly with temperature but voltage changes significantly. At high temperatures, PV voltage decreases and this leads to change in Maximum Power Point (MPP) point. Thus, at high temperatures power generation decreases and vice-versa. <\/li><li>Vmpp-by-Voc ratio remains pretty much the same at all irradiation levels. <\/li><li>The curves are similar to that of a silicon diode and this is so because a cell is essentially a light sensitive silicon diode. <\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Impacts of Environment on PV<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Effect of Temperature<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Let us now see how temperature affects solar module performance. Remember that a solar cell is just like a silicon diode and we know that a silicon diode\u2019s voltage changes with temperature. This change is about -2 mV\/\u00b0C. Thus, the formula below demonstrates the effect of temperature:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"634\" height=\"45\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-26.png\" alt=\"\" class=\"wp-image-15014\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-26.png 634w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-26-580x41.png 580w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose the ambient temperature is 35\u00b0C and let us consider the same 320 Wp PV module having:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"text-align:center\"><strong>V<\/strong><strong>OC<\/strong><strong> at STC = 46.12V<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"text-align:center\"><strong>V<\/strong><strong>MPP<\/strong><strong> at STC = 37.28V<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Therefore, the temperature difference from STC is:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"80\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-64.png\" alt=\"\" class=\"wp-image-15061\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Under such\ncircumstance the VMPP\nshould be about 35V but it gets decreased more and fill-factor is ultimately\naffected. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So clearly there is a shift in VMPP which ultimately affects output power. This is also shown in the following graph:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"506\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-27.png\" alt=\"\" class=\"wp-image-15015\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-27.png 698w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-27-580x420.png 580w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Effect of Shading, Pollution and Dust<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Power generation is also affected by shades, i.e., obstruction of\nsunlight. Obstacles can be anything from a thin stick to a large tree. Dust and\npollution also contribute to shading on microscopic level. However, broadly\nspeaking, shading can be categorized in two basic categories \u2013 Uniform Shading\nand Non-uniform Shading. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uniform shading is best described as complete shading of all PV modules\nor cells of a solar system. This form of shading is mainly caused by dust,\nclouds and pollution. In such shading conditions, PV current is affected\nproportionately with the amount of shading, yielding to decreased power\ncollection. However, fill-factor and efficiencies are literally unaffected. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non-uniform shading, as its name suggests, is partial shading of some PV modules or cells of a solar system. Causes of such shading include buildings, trees, electric poles, etc. Non-uniform shading must be avoided because cells that receive less radiation than the others behave like loads, leading to formation of hotspots in long-run. Shadings as such result in decreased efficiency, current and power generation because of multiple wrong MPP points.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Effect of Other Variables<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">There are several other variables that have effect on solar energy collection. Variables and weather conditions like rain, humidity, snow, clouds, etc. affect energy harvest while cool, windy and sunny conditions have positive impact on energy harvest. These factors are region and weather dependent and cannot be generalized. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Solar Geometry<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Some basics of solar geometry is needed to be realized to efficiently design solar systems and how sun rays are reach earth. Nature follows a mathematical pattern that it never suddenly or abruptly alters. The movement of the sun and its position on the sky at any instance can be described by some simple trigonometric functions.  The Earth not just orbits the Sun but it tilts and revolves about its axis. The daily rotation of the Earth about the axis through its North and South poles (also known as celestial poles) is perpendicular to the equator point, however it is not perpendicular to the plane of the orbit of the Earth. In fact, the measure of tilt or obliquity of the axis of the Earth to a line perpendicular to the plane of its orbit is currently about 23.5\u00b0.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"670\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-28.png\" alt=\"\" class=\"wp-image-15017\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-28.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-28-580x399.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-28-768x528.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>The plane of the Sun <\/em><\/strong>is the plane parallel to the Earth\u2019s celestial equator and through the center of the sun. The Earth passes alternately above and below this plane making one complete elliptic cycle every year. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In summer solstice, the Sun shines down most directly on the Tropic of Cancer in the northern hemisphere, making an angle \u03b4 = 23.5\u00b0 with the equatorial plane. Likewise, in winter solstice, it shines on the Tropic of Capricorn, making an angle \u03b4 = -23.5\u00b0 with the equatorial plane. In equinoxes, this angle \u03b4 is 0\u00b0. Here \u03b4 is called the angle of declination. In simple terms the angle of declination represents the amount of Earth\u2019s tilt or obliquity.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"323\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-29.png\" alt=\"\" class=\"wp-image-15018\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-29.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-29-580x192.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-29-768x254.png 768w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-29-420x140.png 420w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The angle of declination, <strong><em>\u03b4<\/em><\/strong>, for Nth day of a year can be deduced using the following formula:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"39\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-30.png\" alt=\"\" class=\"wp-image-15019\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here, N = 1\nrepresents 1<sup>st<\/sup> January. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The angle of\ndeclination has effect on day duration, sun travel path and thus it dictates\nhow we should tilt PV modules with respect to ground with seasonal\nchanges.&nbsp; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next most important thing to note is the geographical location in terms of GPS coordinates (longitude, <strong><em>\u03bb<\/em><\/strong> East and latitude, <strong><em>\u03d5<\/em><\/strong> North). This is because geo location also has impact on the aforementioned. Northern and Southern Hemispheres have several differences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shown below is\na graphical representation of some other important solar angles. Here:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The angle of solar elevation, <strong><em>\u03ac<\/em><\/strong>,\nis the angular measure of the Sun\u2019s rays above the horizon. <\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>The&nbsp;solar zenith angle, <strong><em>Z<\/em><\/strong>,&nbsp;is\nthe angle between an imaginary point directly above a given location, on the\nimaginary&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Celestial_sphere\">celestial\nsphere<\/a>. and the center of the&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Sun\">Sun<\/a>&#8216;s disc. This is\nsimilar to tilt angle.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\n\n\n\nThe azimuth angle, <strong><em>A<\/em><\/strong>, is a local\nangle between the direction of due North and that of the perpendicular projection\nof the Sun down onto the horizon line measured clockwise.\n\n\n\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"613\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-31.png\" alt=\"\" class=\"wp-image-15020\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-31.png 1006w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-31-580x353.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-31-768x468.png 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The angle of solar elevation, <strong><em>\u03ac<\/em><\/strong>, at noon for location on Northern Hemisphere can be deduced as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"144\" height=\"31\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-32.png\" alt=\"\" class=\"wp-image-15021\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Similarly, for location on Southern Hemisphere, the angle of solar elevation at noon can be deduced as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"143\" height=\"33\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-33.png\" alt=\"\" class=\"wp-image-15022\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here <strong><em>\u03d5<\/em><\/strong> represents latitude and <strong><em>\u03b4<\/em><\/strong> represents angle of declination. Zenith\/Tilt angle is found to be: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"105\" height=\"30\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-34.png\" alt=\"\" class=\"wp-image-15023\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Determining azimuth angle is not simple as additional info are needed. The first thing that we will need is to the sunrise equation. This is used to determine the local time of sunrise and sunset at a given latitude, \u03d5 at a given solar declination angle, \u03b4. The sunrise equation is given by the formula below:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"202\" height=\"34\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-35.png\" alt=\"\" class=\"wp-image-15024\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Here \u03c9 is the hour angle. \u03c9 is between -180\u00b0 to 0\u00b0 at\nsunrise and between 0\u00b0 to 180\u00b0 at sunset. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>If [tan(\u03d5).tan(\u03b4)] <\/em><em>\u2265\n1, there is no sunset on that day. Likewise, if [tan(\u03d5).tan(\u03b4)] <\/em><em>\u2264\n-1, there is no sunrise on that day.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hour angle, \u03c9 is the\nangular distance between the meridian of the observer and the meridian whose<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">plane contains the sun. When the sun reaches its highest point in the sky at noon, the hour angle is zero. At this time the Sun is said to be \u2018due south\u2019 (or \u2018due north\u2019, in the Southern Hemisphere) since the meridian plane of the observer contains the Sun. On every hour the hour angle increases by 15\u00b0.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"974\" height=\"606\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-36.png\" alt=\"\" class=\"wp-image-15025\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-36.png 974w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-36-580x361.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-36-768x478.png 768w\" sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From hour angle, we can determine the local sunrise and sunset times as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"368\" height=\"132\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-37.png\" alt=\"\" class=\"wp-image-15026\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">For a given location, hour angle and date the angle of solar elevation can be expressed as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"396\" height=\"36\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-38.png\" alt=\"\" class=\"wp-image-15027\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Since we have the hour angle info along with sunrise and sunset times, we can now determine the azimuth angle. It is expressed as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"35\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-39.png\" alt=\"\" class=\"wp-image-15028\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Solving the above equation for <strong><em>A <\/em><\/strong>will yield in azimuth angle.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"398\" height=\"61\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-40.png\" alt=\"\" class=\"wp-image-15029\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Knowing azimuth and solar elevation angles help us determine the length and location of the shadow of an object. These are important for solar installations.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"685\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-41.png\" alt=\"\" class=\"wp-image-15030\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-41.png 1000w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-41-580x397.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-41-768x526.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The length of the shadow is as in the figure above is found to be: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"118\" height=\"64\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-42.png\" alt=\"\" class=\"wp-image-15031\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From the geometric analysis, it can be shown that solar energy harvest will increase if PV modules can be arranged as such to follow the Sun. This is the concept of solar tracking system. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"731\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-43.png\" alt=\"\" class=\"wp-image-15032\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-43.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-43-580x435.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-43-768x576.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If the Sun can be tracked according to these math models, the maximum possible harvest can be obtained. However, some form of solar-tracking structures will be needed. An example of sun tracking system is shown above. This was designed by a friend of mine and myself back in 2012. He designed the mechanical section while I added the intelligence in form of embedded-system coding and tracking controller design. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a photo of the sun tracking controller that I designed. It used a sophisticate algorithm to track the sun.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"848\" height=\"1024\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-44-848x1024.png\" alt=\"\" class=\"wp-image-15033\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-44-848x1024.png 848w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-44-538x650.png 538w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-44-768x928.png 768w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-44.png 975w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Building the Device<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In order to\nbuild the solar irradiance meter, we will need a solar cell or a PV module of\nknown characteristics. Between a single cell and module, I would recommend for\na cell because:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cells have lower power than complete modules.<\/li><li>Cells have almost no framing structure.<\/li><li>Cells are small and light-weight.<\/li><li>Cells are individual and so there is no need to\ntake account of series-parallel combination. <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We would see\nwhy these are important as we move forward.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the project, I used a cheap amorphous solar cell as shown in the photo below. It looks like a crystalline cell under my table lamp but actually it is an amorphous one. It can be purchased from AliExpress, Amazon or similar online platform.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"541\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-45.png\" alt=\"\" class=\"wp-image-15034\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-45.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-45-580x322.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-45-768x426.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">With a cell test machine, it gave a characteristic curve and data as shown below:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"618\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-46.png\" alt=\"\" class=\"wp-image-15035\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-46.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-46-580x368.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-46-768x487.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From this I-V characteristics curve, we can see its electrical parameters. The cell has a physical dimension of 86mm x 56mm and so it has an area of 0.004816m\u00b2.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"479\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-47.png\" alt=\"\" class=\"wp-image-15036\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-47.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-47-580x285.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-47-768x377.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"568\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-48.png\" alt=\"\" class=\"wp-image-15037\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-48.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-48-580x338.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-48-768x447.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From the calculation which I\nalready discussed, irradiation measurement needs two known components \u2013 the\ntotal cell area and the maximum power it can generate. We know both of these\ndata. Now we just have to formulate how we can use these data to measure\nirradiation. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Going back to a\ntheory taught in the first year of electrical engineering, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Maximum_power_transfer_theorem#:~:text=In%20electrical%20engineering%2C%20the%20maximum,viewed%20from%20its%20output%20terminals.\">the\nmaximum power transfer theorem<\/a>, we know that to\nobtain&nbsp;maximum&nbsp;external power from a source with a finite&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Internal_resistance\">internal resistance<\/a>, the resistance of the load\nmust equal the resistance of the source as viewed from its output terminals.\nThis is the theory behind my irradiation measurement. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the cell\nelectrical characteristics data, we can find the ideal resistance that is\nneeded to make this theory work. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is important to note that we would just be focusing on maximum power point data only and that is because this is the maximum possible output that the cell will provide at the maximum irradiation level of 1000W\/m\u00b2. The ideal resistance is calculated as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"237\" height=\"118\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-49.png\" alt=\"\" class=\"wp-image-15038\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">and so does the electric current. The voltage that would be induced across RMPP is proportional to this current because according to Ohms law:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"110\" height=\"43\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-50.png\" alt=\"\" class=\"wp-image-15039\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The equivalent circuit is as shown below:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/schema-1-1024x563.jpg\" alt=\"\" class=\"wp-image-15040\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/schema-1-1024x563.jpg 1024w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/schema-1-580x319.jpg 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/schema-1-768x422.jpg 768w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/schema-1.jpg 1123w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The boxed\nregion is the electrical equivalent of a solar cell. At this point it may look\ncomplicated but we are not digging inside the box and so it can be considered\nas a mystery black box.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We know that:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"138\" height=\"51\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-51.png\" alt=\"\" class=\"wp-image-15041\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">We know the value of resistance and all we have to do is to measure the voltage (V) across the cell. We also know the area of the cell and so we can deduce the value of irradiation, E incident on the cell according to the formula:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"77\" height=\"52\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-52.png\" alt=\"\" class=\"wp-image-15042\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schematic<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"451\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-53.png\" alt=\"\" class=\"wp-image-15043\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-53.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-53-580x268.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-53-768x355.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Code<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">#include \"N76E003.h\"<br>#include \"SFR_Macro.h\"<br>#include \"Function_define.h\"<br>#include \"Common.h\"<br>#include \"Delay.h\"<br>#include \"soft_delay.h\"<br>#include \"LCD_2_Wire.h\"<br><br>#define Vmpp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5.162F<br>#define Impp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.056F<br>#define R_actual &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Vmpp \/ Impp)<br>#define R_fixed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100.0F \/\/ &nbsp; &nbsp;<br>#define R_Error &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (R_fixed \/ R_actual)<br>#define ADC_Max &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4095.0F<br>#define VDD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.3F<br>#define scale_factor &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.0F<br><br>#define cell_efficiency &nbsp; &nbsp; &nbsp; &nbsp; 0.065F \/\/ 6.5% (Typical Amorphous Cell Efficiency)<br>#define cell_length &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.0854F \/\/ 85.4mm as per inscription on the cell<br>#define cell_width &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0563F \/\/ 56.3mm as per inscription on the cell<br>#define effective_area_factor &nbsp; 0.90F \/\/ Ignoring areas without cell, i.e. boundaries, frames, links, etc<br>#define cell_area &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (cell_length * cell_width) \/\/ 0.004816 sq.m &nbsp;<br>#define effective_cell_area &nbsp; &nbsp; (cell_area * effective_area_factor * cell_efficiency) \/\/ 0.000281736 sq.m<br><br>void setup(void);<br>unsigned int ADC_read(void);<br>unsigned int ADC_average(void);<br>void lcd_print(unsigned char x_pos, unsigned char y_pos, unsigned int value);<br><br>void main(void)<br>{<br>&nbsp; unsigned int ADC = 0;<br>&nbsp; float v = 0;<br>&nbsp; float V = 0;<br>&nbsp; float P = 0;<br>&nbsp; float E = 0;<br>&nbsp; <br>&nbsp; setup();<br>&nbsp; <br>&nbsp; while(1)<br>&nbsp; {<br>&nbsp; &nbsp; &nbsp; ADC = ADC_average();<br>&nbsp; &nbsp; &nbsp; v = ((VDD * ADC) \/ ADC_Max); &nbsp; &nbsp; &nbsp; &nbsp;<br>&nbsp; &nbsp; &nbsp; V = (v * scale_factor);<br>&nbsp; &nbsp; &nbsp; P = (((V * V) \/ R_fixed) * R_Error);<br>&nbsp; &nbsp; &nbsp; E = (P \/ effective_cell_area);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; lcd_print(12, 0, (unsigned int)(P * 1000.0));<br>&nbsp; &nbsp; &nbsp; lcd_print(12, 1, (unsigned int)E);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; delay_ms(100);<br>&nbsp; };<br>}<br><br>void setup(void)<br>{ <br>&nbsp; LCD_init();<br>&nbsp; LCD_clear_home(); <br>&nbsp; LCD_goto(0, 0); <br>&nbsp; LCD_putstr(\"PV PWR mW:\");<br>&nbsp; LCD_goto(0, 1); <br>&nbsp; LCD_putstr(\"E. W\/sq.m:\");<br>&nbsp; <br>&nbsp; Enable_ADC_AIN0;<br>}<br><br>unsigned int ADC_read(void)<br>{<br>&nbsp; register unsigned int value = 0x0000;<br>&nbsp; <br>&nbsp; clr_ADCF;<br>&nbsp; set_ADCS; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; while(ADCF == 0);<br>&nbsp; <br>&nbsp; value = ADCRH;<br>&nbsp; value &lt;&lt;= 4;<br>&nbsp; value |= ADCRL;<br>&nbsp; <br>&nbsp; return value;<br>}<br><br>unsigned int ADC_average(void)<br>{<br>&nbsp; &nbsp; signed char samples = 16;<br>&nbsp; &nbsp; unsigned long value = 0;<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; while(samples &gt; 0)<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; value += ((unsigned long)ADC_read());<br>&nbsp; &nbsp; &nbsp; &nbsp; samples--;<br>&nbsp; &nbsp; };<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; value &gt;&gt;= 4;<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; return ((unsigned int)value);<br>}<br><br>void lcd_print(unsigned char x_pos, unsigned char y_pos, unsigned int value)<br>{ &nbsp;<br>&nbsp; unsigned char ch = 0;<br><br>&nbsp; &nbsp; if((value &gt; 999) &amp;&amp; (value &lt;= 9999))<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 10000) \/ 1000) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto(x_pos, y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 1000) \/ 100) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 1), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 100) \/ 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 2), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = ((value % 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 3), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; else if((value &gt; 99) &amp;&amp; (value &lt;= 999))<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto(x_pos, y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 1000) \/ 100) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 1), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 100) \/ 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 2), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = ((value % 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 3), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; else if((value &gt; 9) &amp;&amp; (value &lt;= 99))<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto(x_pos, y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 1), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = (((value % 100) \/ 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 2), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = ((value % 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 3), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; }<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; else<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto(x_pos, y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 1), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = 0x20;<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 2), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; ch = ((value % 10) + 0x30);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_goto((x_pos + 3), y_pos);<br>&nbsp; &nbsp; &nbsp; &nbsp; LCD_putchar(ch);<br>&nbsp; &nbsp; } &nbsp; <br>}<br><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Explanation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This project is\ncompleted with a Nuvoton N76E003 microcontroller. I chose this microcontroller because\nit is cheap and features a 12-bit ADC. The high-resolution ADC is the main reason\nfor using it because we are dealing with low power and thus low voltage and\ncurrent. The solar cell that I used is only about 300mW in terms of power. If\nthe reader is new to Nuvoton N76E003 microcontroller, I strongly suggest going\nthrough my tutorials on this microcontroller <a href=\"https:\/\/embedded-lab.com\/blog\/tag\/n76e003\/\">here<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let us first see what definitions have been used in the code. Most are self-explanatory.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#define Vmpp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5.162F<br>#define Impp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.056F<br>#define R_actual &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Vmpp \/ Impp)<br>#define R_fixed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100.0F \/\/ &nbsp; &nbsp;<br>#define R_Error &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (R_fixed \/ R_actual)<br>#define ADC_Max &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4095.0F<br>#define VDD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.3F<br>#define scale_factor &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.0F<br><br>#define cell_efficiency &nbsp; &nbsp; &nbsp; &nbsp; 0.065F \/\/ 6.5% (Typical Amorphous Cell Efficiency)<br>#define cell_length &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.0854F \/\/ 85.4mm as per inscription on the cell<br>#define cell_width &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0563F \/\/ 56.3mm as per inscription on the cell<br>#define effective_area_factor &nbsp; 0.90F \/\/ Ignoring areas without cell, i.e. boundaries, frames, links, etc<br>#define cell_area &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (cell_length * cell_width) \/\/ 0.004816 sq.m &nbsp;<br>#define effective_cell_area &nbsp; &nbsp; (cell_area * effective_area_factor * cell_efficiency) \/\/ 0.000281736 sq.m <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Obviously VMPP and IMPP are needed to calculate RMPP and this is called here as <strong><em>R_actual<\/em><\/strong>. <strong><em>R_fixed<\/em><\/strong> is the load resistor that is put in parallel to the solar cell and this is the load resistor needed to fulfill maximum power transfer theorem. Practically, it is not possible to get 92.18\u03a9 easily and so instead of 92.18\u03a9 ,a 100\u03a9 (1% tolerance) resistor is placed in its place. The values are close enough and the difference between these values is about 8%. This difference is also taken into account in the calculations via the definition <strong><em>R_Error<\/em><\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"347\" height=\"62\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-54.png\" alt=\"\" class=\"wp-image-15044\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Thus, during calculation this amount of difference should be compensated for.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"237\" height=\"66\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-55.png\" alt=\"\" class=\"wp-image-15045\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>ADC_Max<\/em><\/strong> and <strong><em>VDD<\/em><\/strong> are maximum ADC count and supply voltage values respectively. These would be needed to find the voltage resolution that the ADC can measure.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"54\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-56.png\" alt=\"\" class=\"wp-image-15046\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Since 806\u00b5V\nis a pretty small figure, we can rest assure that very minute changes in solar\nirradiance will be taken into account during measurement. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>scale_factor<\/em><\/strong> is the voltage divider ratio. The cell gives a maximum voltage output of 5.691V but N76E003 can measure up to 3.3V. Thus, a voltage divider is needed. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"298\" height=\"68\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-57.png\" alt=\"\" class=\"wp-image-15047\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This\nis the maximum voltage that N76E003 will see when the cell reaches open-circuit\nvoltage. Thus, the ADC input voltage needs to be scaled by a factor of 2 in\norder to back-calculate the cell voltage, hence the name <strong><em>scale_factor<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next definitions are related to the cell that is used in this project. Cell length and width are defined and with these the area of the cell is calculated. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"478\" height=\"123\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-58.png\" alt=\"\" class=\"wp-image-15048\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The physical\ncell area does not represent the total area that is sensitive to solar irradiation.\nThere are spaces within this physical area that contain electrical links, bezels\nor frame, etc. Thus, a good estimate of effective solar sensitive cell area is\nabout 90% of the physical cell area. This is defined as the <strong><em>effective_area_factor<\/em><\/strong>.\n&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lastly, we have to take account of cell efficiency because we have seen that in a given area not all solar irradiation is absorbed and so the <strong><em>cell_efficiency<\/em><\/strong> is also defined. Typically, a thin film cell like the one I used in this project has an efficiency of 6 \u2013 7% and so a good guess is 6.5%. All of the above parameters lead to effective cell area and it is calculated as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"111\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-59.png\" alt=\"\" class=\"wp-image-15049\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-59.png 623w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-59-580x103.png 580w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">So now the aforementioned equation becomes as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"324\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-60.png\" alt=\"\" class=\"wp-image-15050\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The equations\nsuggest that only by reading ADC input voltage we can compute both the power\nand solar irradiance. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The code initializes by initializing the I2C LCD, printing some fixed messages and enabling ADC pin 0. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">void setup(void)<br>{ <br>&nbsp; LCD_init();<br>&nbsp; LCD_clear_home(); <br>&nbsp; LCD_goto(0, 0); <br>&nbsp; LCD_putstr(\"PV PWR mW:\");<br>&nbsp; LCD_goto(0, 1); <br>&nbsp; LCD_putstr(\"E. W\/sq.m:\");<br>&nbsp; <br>&nbsp; Enable_ADC_AIN0;<br>} <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The core components of the code are the functions related to ADC reading and averaging. The code below is responsible for ADC reading.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">unsigned int ADC_read(void)<br>{<br>&nbsp; register unsigned int value = 0x0000;<br>&nbsp; <br>&nbsp; clr_ADCF;<br>&nbsp; set_ADCS; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; while(ADCF == 0);<br>&nbsp; <br>&nbsp; value = ADCRH;<br>&nbsp; value &lt;&lt;= 4;<br>&nbsp; value |= ADCRL;<br>&nbsp; <br>&nbsp; return value;<br>}  <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The following code does the ADC averaging part. Sixteen samples of ADC reading are taken and averaged. Signal averaging allows for the elimination of false and noisy data. The larger the number of samples, the more is the accuracy but having a larger sample collection lead to slower performance.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">unsigned int ADC_average(void)<br>{<br>&nbsp; &nbsp; signed char samples = 16;<br>&nbsp; &nbsp; unsigned long value = 0;<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; while(samples &gt; 0)<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; value += ((unsigned long)ADC_read());<br>&nbsp; &nbsp; &nbsp; &nbsp; samples--;<br>&nbsp; &nbsp; };<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; value &gt;&gt;= 4;<br>&nbsp; &nbsp; <br>&nbsp; &nbsp; return ((unsigned int)value);<br>} &nbsp;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"> In the main, the ADC average is read and this is converted to voltage. The converted voltage is then upscaled by applying the <strong><em>scale_factor<\/em><\/strong> to get the actual cell voltage. With the actual voltage, power and irradiation are computed basing on the math aforementioned. The power and irradiation values are displayed on the I2C LCD and the process is repeated every 100ms.  <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ADC = ADC_average();<br>v = ((VDD * ADC) \/ ADC_Max); &nbsp; &nbsp; &nbsp;  <br>V = (v * scale_factor);<br>P = (((V * V) \/ R_fixed) * R_Error);<br>E = (P \/ effective_cell_area);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>lcd_print(12, 0, (unsigned int)(P * 1000.0));<br>lcd_print(12, 1, (unsigned int)E);<br>&nbsp; &nbsp; &nbsp; &nbsp; <br>delay_ms(100); <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">I have tested the device against a SM206-Solar solar irradiation meter and the results are fairly accurate enough for simple measurements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Demo<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"518\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-61.png\" alt=\"\" class=\"wp-image-15051\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-61.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-61-580x308.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-61-768x408.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"531\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-62.png\" alt=\"\" class=\"wp-image-15052\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-62.png 975w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-62-580x316.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-62-768x418.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Demo video links: <br><\/h3>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Solar Pyranometer with N76E003 and Mini Solar Cell\" width=\"860\" height=\"484\" src=\"https:\/\/www.youtube.com\/embed\/j86mO_6Vdmc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Solar Insolation Measurement with Nuvoton N76E003 and a Mini Solar Cell\" width=\"860\" height=\"484\" src=\"https:\/\/www.youtube.com\/embed\/X3ipnicPN6U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Improvements and Suggestions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Though this device is not a professional solar irradiation measurement meter, it is fair enough for simple estimations. In fact, SMA \u2013 a German manufacturer of solar inverter, solar charger and other smart solar solution uses a similar method with their <strong><em>SMA Sunny Weather Station<\/em><\/strong>. This integration allows them to monitor their power generation devices such as on-grid inverters, multi-cluster systems, etc. and optimize performances. &nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"607\" height=\"607\" src=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-63.png\" alt=\"\" class=\"wp-image-15053\" srcset=\"https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-63.png 607w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-63-150x150.png 150w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-63-580x580.png 580w, https:\/\/embedded-lab.com\/blog\/wp-content\/uploads\/2022\/02\/image-63-90x90.png 90w\" sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">There are rooms for lot of improvements\nand these are as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A temperature sensor can be mounted on the backside of the solar cell. This sensor can take account of temperature variations and thereby compensate readings. We have seen that temperature affects solar cell performance and so temperature is a major influencing factor.<\/li><li>A smaller cell would have performed better but it would have needed additional amplifiers and higher resolution ADCs. A smaller cell will have lesser useless areas and weight. This would make the device more portable. <\/li><li>Using filters to filter out unnecessary components of solar spectrum. <\/li><li>Adding a tracking system to scan and align with the sun would result in determining maximum irradiation. <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Project Code can be found <a href=\"https:\/\/github.com\/sshahryiar\/Nuvoton-8-bit-MCU-Projects\/tree\/main\/Solar%20Irradiation%20Meter\">here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Happy coding.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Author: Shawon M. Shahryiar<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.facebook.com\/groups\/microarena\">https:\/\/www.facebook.com\/groups\/microarena<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.facebook.com\/MicroArena?ref=hl\"><em>https:\/\/www.facebook.com\/MicroArena<\/em><\/a><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>28.02.2022<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A pyranometer or solar irradiation tester is measurement tool that is a must-have for every professional in renewable energy sector. However, owing one is not easy because it is both expensive and rare. It is expensive because it uses highly calibrated components and it is rare because it is not an ordinary multi-meter that is available in common hardware shops. Personally, I have a long professional career in the field of LED lighting, renewable energy (mainly solar), Lithium and industrial battery systems, electronics and embedded-systems. I have been at the core of designing, testing, commissioning and analyzing some of the<\/p>\n","protected":false},"author":5,"featured_media":15057,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1464,1723,939,1450],"tags":[1722,1749,1721,1720,1750,872],"class_list":["post-14986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-nuvoton","category-sensor-watch","category-solar-power","tag-1722","tag-irradiation","tag-n76e003","tag-nuvoton","tag-renewable-energy","tag-solar"],"_links":{"self":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/14986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/comments?post=14986"}],"version-history":[{"count":12,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/14986\/revisions"}],"predecessor-version":[{"id":15404,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/posts\/14986\/revisions\/15404"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media\/15057"}],"wp:attachment":[{"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/media?parent=14986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/categories?post=14986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/embedded-lab.com\/blog\/wp-json\/wp\/v2\/tags?post=14986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}