Difference between revisions of "Solar Logic Circuits Guide"
From Unofficial Stationeers Wiki
Wgairborne (talk | contribs) (Updated the outdated IC Version with proper instruction and new code.) |
(Replaced outdated 12-component two-axis solar tracker with lean 9-component two-axis solar-tracker) |
||
Line 16: | Line 16: | ||
</gallery> | </gallery> | ||
β | == | + | == 8-chip two-axis Solar Tracking == |
β | '''Author:''' | + | '''Author:''' It's all over YouTube, so honestly, who knows...<br> |
β | '''Stationeers Version:''' 0.2. | + | '''Stationeers Version:''' 0.2.2768.13597 and up<br> |
β | '''Number of Components:''' | + | '''Number of Components:''' 9<br> |
β | + | '''Accuracy:''' At least 98% (I've seen it go as low as 98.35% for a brief time during sunrise) | |
=== Design === | === Design === | ||
β | * | + | * 1 [[Sensors|Kit (Sensors)]] |
* 4 [[Kit (Logic I/O)]] | * 4 [[Kit (Logic I/O)]] | ||
β | * | + | * 2 [[Kit (Logic Memory)]] |
β | * | + | * 2 [[Kit (Logic Processor)]] ("Math Unit") |
β | |||
β | |||
β | + | This is about as lean as it gets for a two-axis setup. Here are the major points for why the old "12-component, two-sensor" setup is outdated: | |
+ | * The Daylight Sensor has been improved to deliver both horizontal and vertical data via variables, there's no need for two sensors | ||
+ | * Changes to the solar panels has made the horizontal angle absolute, so you don't need to have circuits for correcting the horizontal angle | ||
β | [[File: | + | [[File:2-Axis-Solar-Logic.png]] |
β | + | *Daylight Sensor (Face data-port north for maximum efficiency) | |
β | * | + | *Horizontal Reader ('''A''') (IN: Daylight Sensor - VAR: Horizontal) |
+ | *Horizontal Batch Writer ('''B''') (IN: Horizontal Reader - OUT: Solar Panel (Dual) - VAR: Horizontal) | ||
+ | *Math Processor 2 ('''C''') (IN1: Math 1 - IN2: Memory 1.5 - OUT: Divide) | ||
+ | *Vertical Reader ('''D''') (IN: Daylight Sensor - VAR: Vertical) | ||
+ | *Vertical Batch Writer ('''E''') (IN: Solar Sensor - OUT: Solar Panel (Dual) - VAR: Vertical) | ||
+ | *Math Processor 1 ('''F''') (IN1: Memory 75 - IN2: Vertical Reader - OUT: Add/Subtract) (Depends on whether the solar-panels' data-ports face east or west.) | ||
+ | *Memory 75 ('''G''') (75) | ||
+ | *Memory 1.5 ('''H''') (1.5) | ||
β | + | If you want this setup to be a one-axis tracker, just skip the green chips, and manually wrench the panels to face the sun. | |
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
β | |||
=== Horizontal sensor orientation === | === Horizontal sensor orientation === | ||
Line 53: | Line 51: | ||
The reason for this transition is that the horizontal angle goes from -179 degrees to +180 degrees. As the sun moves from +180 to -179 degrees, the solar panels do a time-consuming -359 degree move instead of an efficient +1 degree move. | The reason for this transition is that the horizontal angle goes from -179 degrees to +180 degrees. As the sun moves from +180 to -179 degrees, the solar panels do a time-consuming -359 degree move instead of an efficient +1 degree move. | ||
β | |||
<small>Credit for alternatives: PoolSharkFOG, Elusid1</small> | <small>Credit for alternatives: PoolSharkFOG, Elusid1</small> | ||
β | This setup can be also programmed in an IC10 chip which saves power because you need only 5 chips instead of | + | === Two-axis IC alternative=== |
+ | This setup can be also programmed in an IC10 chip which saves power because you need only 5 chips instead of 8. | ||
'''Required:'''<br> | '''Required:'''<br> |
Revision as of 11:05, 12 March 2021
Contents
Disclaimer
Due to the frequency of game updates, all solutions are subject to change and may or may not be functional.
Geometry Of Solar Panels and Daylight Sensors
8-chip two-axis Solar Tracking
Author: It's all over YouTube, so honestly, who knows...
Stationeers Version: 0.2.2768.13597 and up
Number of Components: 9
Accuracy: At least 98% (I've seen it go as low as 98.35% for a brief time during sunrise)
Design
- 1 Kit (Sensors)
- 4 Kit (Logic I/O)
- 2 Kit (Logic Memory)
- 2 Kit (Logic Processor) ("Math Unit")
This is about as lean as it gets for a two-axis setup. Here are the major points for why the old "12-component, two-sensor" setup is outdated:
- The Daylight Sensor has been improved to deliver both horizontal and vertical data via variables, there's no need for two sensors
- Changes to the solar panels has made the horizontal angle absolute, so you don't need to have circuits for correcting the horizontal angle
- Daylight Sensor (Face data-port north for maximum efficiency)
- Horizontal Reader (A) (IN: Daylight Sensor - VAR: Horizontal)
- Horizontal Batch Writer (B) (IN: Horizontal Reader - OUT: Solar Panel (Dual) - VAR: Horizontal)
- Math Processor 2 (C) (IN1: Math 1 - IN2: Memory 1.5 - OUT: Divide)
- Vertical Reader (D) (IN: Daylight Sensor - VAR: Vertical)
- Vertical Batch Writer (E) (IN: Solar Sensor - OUT: Solar Panel (Dual) - VAR: Vertical)
- Math Processor 1 (F) (IN1: Memory 75 - IN2: Vertical Reader - OUT: Add/Subtract) (Depends on whether the solar-panels' data-ports face east or west.)
- Memory 75 (G) (75)
- Memory 1.5 (H) (1.5)
If you want this setup to be a one-axis tracker, just skip the green chips, and manually wrench the panels to face the sun.
Horizontal sensor orientation
Orientation of the data-port on the horizontal sensor matters! Depending on where the data-port points, the solar-panels will will do a horizontal reorientation at either midnight (north, 000), dawn (east, 090), noon (south, 180), or dusk (west, 270). The worst position is to have the data-port pointing south, as efficiency drops from 99% to ~70% during the transition. North is the position with the least impact, because the solar panels aren't generating any power when the panels transition.
The reason for this transition is that the horizontal angle goes from -179 degrees to +180 degrees. As the sun moves from +180 to -179 degrees, the solar panels do a time-consuming -359 degree move instead of an efficient +1 degree move.
Credit for alternatives: PoolSharkFOG, Elusid1
Two-axis IC alternative
This setup can be also programmed in an IC10 chip which saves power because you need only 5 chips instead of 8.
Required:
1 IC10 Chip plus IC housing
2 sensors setup as shown above
2 memory
2 Batch Writers that read from memory
Connect VertSensor to d0, HozSensor to d1, VertMemory to d2, HozMemory to d3.
BatchWriter Horizontal should read from HozMemory and BatchWriter Vertical should read from VertMemory and both of course 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.
Here is the code for the ic10 chip: [1]
Code rewritten for newer update by Elusid1
9-chip 1-sensor 1-axis Solar Tracking
Authors: Wooodiii, Corvus_bkgk, Enfantcool, Baksch
Properties: Accurate (average error 1.3Β°), Auto-reset (variant), Power conserving (variant)
Number of Components: 10-12
Math Formula: f(x) = min((x-min(x,15))/1.5, 100)
where x is the solar angle.
Note: With the introduction of ecliptic solar angles, this setup no longer works well on worlds such as Vulkan and Europa which have the sun at an angle. This setup will still work on the Moon and in Space, and will be acceptable on Mars and Loulan.
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.
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.
This setup produces the equivalent of 274W averaged over a whole day/night cycle.
Design
- 1 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")
- The Daylight Sensor should face the sunrise.
- Solar panels should be rotated such that 0% vertical faces the sunrise.
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 |
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) |
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. |
Math Unit (C) | A-B | Adjusted solar angle |
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 |
Auto-Reset Variant
For panels that automatically reset their facing upon sunset, use two more components, and adjust the final min/max unit:
Component (Name) | Settings | Explanation |
---|---|---|
Logic Reader (L) | Daylight sensor, Activation | 1 while daytime, 0 while nighttime |
Math Unit (F) | 100*L | Maximum panel elevation, now 100 during day and 0 at night |
(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.
Component (Name) | Settings | Explanation |
---|---|---|
Logic Reader (L) | Daylight sensor, Activation | As in the auto-reset variant above |
Logic Writer | L -> Transformer, On | Transformer powers main logic network |
IC Chip Version
- 1 Kit (IC Housing)
- 1 Kit (Logic I/O) ("Batch Writer")
- 1 Kit (Sensors) ("Daylight Sensor")
Daylight Sensor should point at sunrise, Batch Writer's input is IC Housing, Output is to all Solar Panels, Output Variable is Vertical.
IC Housing's pins are set with "00" being set to the Daylight Sensor.
Link to IC Code: [1]
4-chip 1-sensor 1-axis Approximate Solar Tracking
Author: Evie
Stationeers Version: 0.1.1068.5451
Properties: Simple, Inaccurate (Average error: 7.5Β°)
Number of Components: 5
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 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.
This setup produces the equivalent of 239W averaged over a whole day/night cycle.
Design
- 1 Kit (Sensors)
- 2 Kit (Logic I/O)
- 1 Kit (Logic Memory)
- 1 Kit (Logic Processor) ("Math Unit")
Notes
- 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.
- Make sure that the math unit is set to "Divide" operation.
- 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.
Solar Logic Cable Golf
An interesting engineering challenge is to wire up the logic with the minimum amount of cabling. The goal would be to get solar tracking (or whatever) working as early as possible by minimizing the amount of copper that must be gathered and smelted.
The rules of Cable Golf are:
- The score is the number of Cable Coils used to correctly wire the functionality. (Straight and corner count as 1 cable; T and + count as 2 cables)
- Chips may be placed in any orientation (upside-down math chips might conserve cables)
- The single-plane category requires all the chips to be on coplanar faces of all frames. The multi-plane category allows the chips to be on frame faces that are at different angles (crossing an edge or surrounding a corner).
- The number of frames needed to mount the components is part of the category (2-frame scores are separate from 3-frame scores)
- If a component that can not be placed on the edge of a lone frame is placed on the edge between two frames, both those frames must be counted in the category.
- If a component must be placed on a frame, that frame's surface is part of its category, even if the frame is removed afterward.
- There must be a connection to the feed from the Power Controller, but the cables leading from the power controller (to a *single* connection point; once it branches the junction and cables are counted) that are not required for the logic to function are not counted. This power feed connection will almost certainly be a T or +, since a corner or straight section is strictly a feed and not needed to connect the logic components.
- Cables needed to propagate the output of the Batch/Logic Writers to the top edge of a frame are counted in the score