Actions

Editing Solar Logic Circuits Guide

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
βˆ’
[[Category:Tutorials]][[Category:Solar power]]
+
[[Category:Tutorials]]
 
<languages />
 
<languages />
 +
<translate>
 +
 
== Disclaimer ==
 
== Disclaimer ==
  
 
Due to the frequency of game updates, all solutions are subject to change and may or may not be functional.
 
Due to the frequency of game updates, all solutions are subject to change and may or may not be functional.
  
βˆ’
The designs on this page are valid as of v0.2.3304.16432 (2022-06-06)
+
== Ecliptic Solar Tracking ==
 +
'''Author:''' Eearslya, Neouni, π•½π–˜π–†πŸ—πŸ• and everyone of the #logic-circuit-discussion<br>
 +
'''Stationeers Version:''' 0.1.1510.7155 and up<br>
 +
'''Number of Components:''' 10
 +
 
 +
=== Design ===
 +
* 2 [[Sensors|Kit (Sensors)]]
 +
* 4 [[Kit (Logic I/O)]]
 +
* 2 [[Kit (Logic Memory)]]
 +
* 2 [[Kit (Logic Processor)]] ("Math Unit")
 +
 
 +
This setup takes advantage of the new Horizontal Mode of the [[Sensors#Daylight_Sensor|Daylight Sensor]], and as such, is a very compact setup. It provides 99% efficiency during the day, only dropping below when the sun is beyond the solar panel's vertical range (less than 15 degrees above the horizon).
 +
 
 +
To set the second sensor into Horizontal mode, you will need to use a [[Kit (Logic I/O)|Logic Writer]] and a [[Kit (Logic Memory)|Logic Memory]]. Set the Memory to 1, and set the Writer to write to the Daylight Sensor's Mode variable. Once the mode is written to the sensor, you can deconstruct and re-use the I/O and Memory units. They do not need to be left in place to keep the mode set.
 +
 
 +
[[File:Tilted Solar Tracking.png|full|Diagram]]
 +
 
 +
=== Notes ===
 +
* Sensor 1: MUST be facing upwards, Mode 0 (Default)
 +
* Sensor 2:  MUST be facing up-side-down, rotated so the power input is facing north, Mode 1 (Horizontal)
 +
* '''Don't forget to write the mode to Sensor 2''' ''once written it will remember it''
 +
 
 +
==== Rotations ====
 +
We use specific rotations for the daylight sensor and solar panels in this setup to save a Logic Math and a Logic Memory. Refer to this table below to see how your daylight sensor and panels should be rotated. (Note: Sunrise is in the East.)
 +
{| class="wikitable"
 +
! If the solar panel's power connector points: !! West !! North !! East !! South
 +
|-
 +
| Then rotate Sensor 2's power input: || North || East || South || West
 +
|}
 +
You can also remember how Sensor 2 has to be rotated by remembering that when the power port for the solar panel is facing forward, then the data port for the daylight sensor is facing to the left.
 +
 
 +
<small>Credit for alternatives: PoolSharkFOG</small>
 +
 
 +
This setup can be also programmed in an IC10 chip which saves power because you need only 5 chips instead of 8.
 +
 
 +
'''Required:'''<br>
 +
1 IC10 Chip plus IC housing<br>
 +
2 sensors setup as shown above<br>
 +
2 memory<br>
 +
2 Batch Writers that read from memory<br>
 +
<br>
 +
Connect '''Sensor1''' to '''d0''', '''Sensor2''' to '''d1''', '''Memory1''' to '''d2''', '''Memory2''' to '''d3'''.
 +
BatchWriter Horizontal should read from '''Memory1''' and BatchWriter Vertical should read from '''Memory2''' and both ofcourse write to the solar panels.  
 +
Use the same setup for the power connector directions as shown above. You do not have to write the mode, this is done in code.
 +
<br><br>
 +
Here is the code for the ic10 chip: [https://stationeering.com/tools/ic#eyJwcm9ncmFtIjoiLy8gU2Vuc29yMSBmYWNlcyB1cCB0byBkMFxuLy8gU2Vuc29yMiBmYWNlcyBkb3duIHRvIGQxXG4vLyB7cG93ZXIgc29sYXIgcGFuZWwsIHBvd2VyIFNlbnNvcjJ9XG4vLyB7V2VzdCwgTm9ydGh9XG4vLyB7Tm9ydGgsIEVhc3R9XG4vLyB7RWFzdCwgU291dGh9XG4vLyB7U291dCwgV2VzdH1cbi8vIENvbm5lY3QgTWVtb3J5MSB0byBkMiBhbmQgTWVtb3J5MiB0byBkM1xuLy8gQmF0Y2ggV3JpdGVycyBtdXN0IHdyaXRlIHRvIFNvbGFyIFBhbmVsOlxuLy8gICAgQmF0Y2hXcml0ZXIxOmluO01lbW9yeTE7dmFyOkhvcml6b250YWxcbi8vICAgIEJhdGNoV3JpdGVyMjppbjtNZW1vcnkyO3ZhcjpWZXJ0aWNhbFxuLy8gZG8gbm90IGluY2x1ZGUgdGhlc2UgY29tbWVudHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuYWxpYXMgU2Vuc29yMSBkMFxuYWxpYXMgU2Vuc29yMiBkMVxuYWxpYXMgQmF0Y2hIIGQyIFxuYWxpYXMgQmF0Y2hWIGQzXG5cbnNldHVwOlxucyBTZW5zb3IxIE1vZGUgMFxucyBTZW5zb3IyIE1vZGUgMVxuXG5sb29wOlxubCByMCBTZW5zb3IxIFNvbGFyQW5nbGVcbmwgcjEgU2Vuc29yMiBTb2xhckFuZ2xlXG5zdWIgcjAgNzUgcjBcbmRpdiByMCByMCAxLjVcbnMgQmF0Y2hWIFNldHRpbmcgcjBcbnMgQmF0Y2hIIFNldHRpbmcgcjFcbnlpZWxkXG5qIGxvb3BcbiIsInJlZ2lzdGVycyI6eyJpbyI6W3siU29sYXJBbmdsZSI6NTAsIk1vZGUiOjB9LHsiU29sYXJBbmdsZSI6NDUsIk1vZGUiOjF9LHsiU2V0dGluZyI6NDV9LHsiU2V0dGluZyI6MTYuNjY2NjY2NjY2NjY2NjY4fSx7fSx7fSx7fV0sImlvQ29ubmVjdGVkIjpbdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZV0sImludGVybmFsIjpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSwicnVuQWZ0ZXJSZWdpc3RlckNoYW5nZSI6ZmFsc2UsInJ1bldpdGhFcnJvcnMiOmZhbHNlfQ== Simulator @ stationeering.com]
 +
 
 +
== Accurate Solar Setup ==
 +
'''Authors:''' Wooodiii, Corvus_bkgk, Enfantcool, Baksch<br>
 +
'''Properties:''' Accurate (average error 1.3Β°), Auto-reset (variant), Power conserving (variant)<br>
 +
'''Number of Components:''' 10-12
 +
<br>'''Math Formula:''' <code>f(x) = min((x-min(x,15))/1.5, 100)</code> where '''x''' is the solar angle.
 +
 
 +
'''Note: With the introduction of ecliptic solar angles, this setup no longer works at peak efficiency on worlds such as Mars and Europa which have the sun at an angle. This setup will still work on the Moon and in Space.'''
  
βˆ’
While this specific Guide calls out the sensor being place a specific direction(north), its not necessary to orient your sensors to a specific direction.
+
This setup is accurate, giving 495-500W throughout the day, with lower output only when the sun is lower than the panels can physically aim at.  
βˆ’
If you find your panels don't point at the sun, you can add either 0,90,180 or 270 to the horizontal until they point at the sun. This guide is an attempt
 
βˆ’
to simplify the setup by removing an extra math, and memory chip(6 chips instead of 8).  
 
  
βˆ’
== Geometry Of Solar Panels and Daylight Sensors ==
+
This setup adjusts for the fact that solar panels rotate through only 150 degrees. Instead of converting using 180/100, this setup converts by doing 150/100. It then clips the value at the edges, where the prior calculation would give elevations that are negative or greater than 100 (representing the fact that we would prefer the panel to track past 0 or 100, aiming all the way down to the horizon instead of stopping 15Β° short). The listed average error is nonzero only because of this completely unavoidable portion; the error is 0 throughout the 15Β°-165Β° portion of the day.
  
βˆ’
<gallery>
+
This setup produces the equivalent of 274W averaged over a whole day/night cycle.
βˆ’
daylight sensor horizontal.png|Geometry of values measured by daylight sensor in horizontal (yaw) mode
 
βˆ’
daylight sensor vertical.png|Geometry of values measured by daylight sensor in vertical (pitch) mode
 
βˆ’
solar panel yaw-Horizontal setting.png|Effect of setting horizontal rotation of a solar panel
 
βˆ’
solar-horiz-formulas.svg|Equations relating horizontal sensor measurements from various orientations to solar panel horizontal rotation
 
βˆ’
</gallery>
 
  
βˆ’
==Solar tracking using Logic Chips ==
+
Link to IC Programm : [https://stationeering.com/tools/ic/_14WyiGwVaP1]
  
βˆ’
=== Six-chip dual-axis tracking ===
+
=== Design ===
βˆ’
To get a "100%" accurate solar tracker on planets with an offset solar arc, you need to include the Horizontal component to the solar angle.
+
* 1 [[Sensors |Kit (Sensors)]] ("Daylight Sensor")
 +
* 2 [[Kit (Logic I/O)]] (1 "Logic Reader", 1 "Batch Writer")
 +
* 3 [[Kit (Logic Memory)]]
 +
* 4 [[Kit (Logic Processor)]] (2 "Math Unit", 2 "Min/Max Unit")
  
βˆ’
'''What you need:'''
+
* The [[Sensors#Daylight_Sensor|Daylight Sensor]] should face the sunrise.
βˆ’
* Kit (Logic I/O) x4
+
* Solar panels should be rotated such that 0% vertical faces the sunrise.
βˆ’
* Kit (Logic Processor)
 
βˆ’
* Kit (Logic Memory)
 
βˆ’
* Kit (Sensor) > Daylight Sensor
 
  
βˆ’
Place the Daylight Sensor facing up, with the Data Port facing north.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
βˆ’
! '''Horizontal'''
+
! Component (Name) !! Settings !! Explanation
 +
|-
 +
| Logic Reader (A) || Daylight sensor, Solar angle || Sun's angle above the horizon
 +
|-
 +
| Memory (15) || 15 || True angle of solar panels at 0 elevation
 
|-
 
|-
βˆ’
! '''Chip''' !! '''Chip label''' !! '''IN''' !! '''VAR''' !! '''OUT'''
+
| Memory (1.5) || 1.5 || 150/100, the conversion constant from solar angle (range:15-165, i.e. 150) to panel elevation (range:0-100)
 
|-
 
|-
βˆ’
| Logic Reader || Horizontal Reader || Daylight Sensor || Horizontal ||  
+
| Min/Max Unit (B) || min(A,15) || Adjustment amount: 15, unless that would take A-B negative, in which case only enough to reach 0  (low edge case). Equivalent to min(A-B,0) but doesn't require storing 0.
 
|-
 
|-
βˆ’
| Batch Writer || Horizontal Writer || Horizontal Reader || Horizontal || Solar Panel
+
| Math Unit (C) || A-B || Adjusted solar angle
 
|-
 
|-
βˆ’
! '''Vertical'''
+
| Math Unit (D) || C/1.5 || Conversion from solar angle to panel elevation
 +
|-
 +
| Memory (100) || 100 || Maximum possible panel elevation
 +
|-
 +
| Min/Max Unit (E) || min(D,100) || Cap elevation to 100 for solar angles past 165Β° (high edge case). Equivalent to doing min(A-B,165) before step D, but 100 is easier to set in memory than 165.
 +
|-
 +
| Batch Writer || E -> Solar panels, Vertical angle || Send elevation to solar panels
 +
|}
 +
 
 +
[[File:Accurate Solar Control.png]]
 +
 
 +
=== Auto-Reset Variant ===
 +
For panels that automatically reset their facing upon sunset, use two more components, and adjust the final min/max unit:
 +
{| class="wikitable"
 
|-
 
|-
βˆ’
! '''Chip''' !! '''Chip label''' !! '''IN''' !! '''VAR''' !! '''OUT'''
+
! Component (Name) !! Settings !! Explanation
 
|-
 
|-
βˆ’
| Logic Reader || Vertical Reader || Daylight Sensor || Vertical ||  
+
| Logic Reader (L) || Daylight sensor, Activation || 1 while daytime, 0 while nighttime
 
|-
 
|-
βˆ’
| Batch Writer || Vertical Writer || Vertical Correction Math || Vertical || Solar Panel
+
| Math Unit (F)  || 100*L || Maximum panel elevation, now 100 during day and 0 at night
 
|-
 
|-
βˆ’
! '''Chip''' !! '''Chip label''' !! '''Value'''
+
| (from above) Min/Max Unit (E) || min(D,'''F''') || Adjusted panel elevation (high edge adjustment)
 +
|}
 +
 
 +
=== Power-Conserving Variant ===
 +
To conserve power, it's possible to avoid running the entire circuit at night. A transformer can be controlled to power the main logic network above. In this way, only the two new components need to remain powered at all times.
 +
 
 +
{| class="wikitable"
 
|-
 
|-
βˆ’
| Logic Memory || Vertical Correction Memory || 90
+
! Component (Name) !! Settings !! Explanation
 
|-
 
|-
βˆ’
! '''Chip''' !! '''Chip label''' !! '''IN 1''' !! '''IN 2''' !! '''OUT'''
+
| Logic Reader (L) || Daylight sensor, Activation || As in the auto-reset variant above
 
|-
 
|-
βˆ’
| Logic Math || Vertical Correction Math || Vertical Reader || Vertical Correction Memory || Add
+
| Logic Writer || L -> Transformer, On  || Transformer powers main logic network
 
|}
 
|}
  
βˆ’
[[File:2022-10-02 Two-axis solar tracking.png|Accurate two-axis solar tracking]]
+
----
  
βˆ’
The panels should align themselves to the sun if you make sure to put the Power Port on the panels facing east (90 degrees). If you've already built the panels and logic with the Power Port facing west, swapping the direction of the sensor so that its Data Port faces south will allow the setup to work with no additional changes.
+
== Easy/Compact Solar Setup ==
 +
'''Author:''' Evie<br>
 +
'''Stationeers Version:''' 0.1.1068.5451<br>
 +
'''Properties:''' Simple, Inaccurate (Average error: 7.5Β°)<br>
 +
'''Number of Components:''' 5
  
βˆ’
== Solar tracking using Integrated Circuits ==
+
'''Note: With the introduction of ecliptic solar angles, this setup no longer works at peak efficiency on worlds such as Mars and Europa which have the sun at an angle. This setup will still work on the Moon and in Space.'''
βˆ’
This is the most powerful way to track the sun, but the implementation might be a bit daunting at first.
 
  
βˆ’
'''What you need:'''
+
This imperfect setup is a common starting point. It starts off at 375w of power in the morning, builds up to 500w at zenith (noon) then back to 375. This is due to the fact that solars rotate through only 150 degrees of elevation and that this setup's math is correct only if they rotated through all 180 degrees of solar angle.
βˆ’
* Integrated Circuit (IC10)
 
βˆ’
* Kit (IC Housing)
 
βˆ’
* Kit (Sensor) > Daylight Sensor
 
  
βˆ’
And if you don't already have one set up:
+
This setup produces the equivalent of 239W averaged over a whole day/night cycle.
βˆ’
* Kit (Computer)
 
βˆ’
* IC Editor Motherboard
 
  
βˆ’
Place the Daylight Sensor facing up, note which direction the Data Port is facing, and which direction the solar panel Power Port is facing. These two directions are needed in the code. The Daylight Sensor is connected to the d0 screw, that's all you need.
+
=== Design ===
 +
* 1 [[Sensors |Kit (Sensors)]]
 +
* 2 [[Kit (Logic I/O)]]
 +
* 1 [[Kit (Logic Memory)]]
 +
* 1 [[Kit (Logic Processor)]] ("Math Unit")
  
βˆ’
A simple code example can be found here: https://stationeering.com/tools/ic/_2FpmwojGnBq<br>
+
[[File:Evie's Solar Circuit Setup.jpg|none|Solar Setup Diagram]]
βˆ’
This code is considered "inefficient" since it's hard-coded to spam all types of solar panels, even if you don't have them.
+
[[File:Stationeers-compact solar logic.png|none|A super compact version]]
  
βˆ’
A better code example can be found here: https://stationeering.com/tools/ic/_2FpoBEcd3QK<br>
+
=== Notes ===
βˆ’
It targets the solar-panel types on d2 and (optionally) d3, so it's less spammy. It also has an option for a display (Kit (Console)) on d1 that shows the sum of power output from both types of panels
+
* The [[Daylight Sensor]] MUST be facing East (Sunrise), but its rotation doesn't matter.
 +
* Solar panels should be rotated such as that 0% VERTICAL rotation faces East/Sunrise, and 100% VERTICAL faces West/Sunset.  
 +
* The [[Area Power Control]] is necessary for the circuit to stay powered during the night. It also hides all the modules from the rest of your system.
 +
* Importantly, the solar input power doesn't directly connect to any of the logic writers. This not only ensures your system doesn't lose power but also prevents short-circuiting that would burn cables.
 +
* Using 1.7 instead of 1.8 reduces the average error of this design to 6.5Β° and increases overall power generation, particularly in the afternoon.
 +
</translate>

Please note that all contributions to Unofficial Stationeers Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Unofficial Stationeers Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)