81 changed files with 104 additions and 0 deletions
@ -1,2 +1,49 @@ |
|||
# Mjoelnir |
|||
 |
|||
|
|||
(SV) |
|||
Det här elektr. lagert innehåller alla dokumentations-datafiler för en självförsörjande PV-system utan förbinding till elnätet på Tyska och Svenska. |
|||
|
|||
**Drag** |
|||
|
|||
* Maximal generator-utgångseffekt: **6.56 kW** |
|||
* Fyra PV-strängar à fyra paneler med 410 W |
|||
* Två batteristrängar à fyra batterier med 120 Ah @12 V = **11.5 kWh solackumulatorkapacitet** |
|||
* Maximla ladström: 60 A = 2.88 kW |
|||
* Helt självförsörjande, ingen (integrerad) återfallgenerator |
|||
* Yppighet av el. energi mellan mars och september |
|||
* 3 kW växelriktare |
|||
* 48 V / 24 V omvandling inkl. säkringssats för LED-lampor och andra apparater, vilka kan bedrivas med likström |
|||
|
|||
(DE) |
|||
Diese elektr. Lagerstätte enhält alle Dokumentations-Dateien für ein autarkes PV-System |
|||
ohne Verbidung zum Stromnetz auf Deutsch und Schwedisch. |
|||
|
|||
**Charakteristika** |
|||
|
|||
* Maximale Ausgangsleistung d. Generators: **6.56 kW** |
|||
* Vier PV-Stränge à vier Panele mit 410 W |
|||
* Zwei Batteriestränge à vier Batterien mit 120 Ah @12 V = **11.5 kWh Speicherkapazität** |
|||
* Maximaler Ladestrom: 60 A = 2.88 kW |
|||
* Komplett autark, kein (integrierter) Rückfallgenerator |
|||
* Überfluss an elektr. Energie zw. März und September |
|||
* 3 kW Wecheselrichter |
|||
* 48 V / 24 V Umwandlung inkl. Sicherungskasten für LED-Lichter und andere |
|||
Geräte, welche mit Gleichstrom betrieben werden können |
|||
|
|||
|
|||
## Kopplingsschema / Stromlaufplan |
|||
(SE) |
|||
Viktigaste filen är [kopplingsschemat](https://git.stiefel.tech/m3x1m0m/Mjoelnir/src/branch/master/sv/pdfs/SE_Kopplingsschema.pdf), vilken tillsammans med stycklistan levererar en komplett översikt över systemet. |
|||
|
|||
(DE) |
|||
Die wohl wichtigste Datei ist der [Stromlaufplan](https://git.stiefel.tech/m3x1m0m/Mjoelnir/src/branch/master/de/pdfs/DE_Stromlaufplan.pdf), welcher mit der Stückliste |
|||
eine komplette Übersicht über das System liefert. |
|||
|
|||
## rand_num_gen.py |
|||
(SE) |
|||
Den här skripten frambringar tillfälliga nummer, vilka används för komponentidentifiering. |
|||
|
|||
(DE) |
|||
Diese kleine Skript erzeugt zufällig Nummern, welche zur Komponentenidentifikation |
|||
verwendet werden. |
|||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@ |
|||
["0xB6DD", "0x1673", "0xEF71", "0x9C5D", "0xBED8", "0xA300", "0xC4C7", "0xBCC8", "0x86FE", "0x21AC", "0x2C51", "0x392C", "0x64b1", "0xb8b9", "0x839a", "0X7350", "0XA810", "0X2B25", "0X2162", "0X3D09", "0X3046", "0X3D02", "0X88A1", "0XE512", "0XB5E6", "0X48E7", "0XC8A3", "0XBB02", "0X1682", "0XC8AF", "0XBE79", "0X53C1", "0X46FE", "0XB96F", "0X85E", "0X2F9F", "0XA854", "0XDA46", "0X723D", "0X5BA4", "0XC4C7", "0X341", "0XA287", "0XF4F8", "0X4BE6", "0X9B2D", "0XB540", "0X408E", "0X475F", "0XFB0A", "0XEA0A", "0X803F", "0XE4DA", "0XA0B1", "0X1D2B", "0X43EE", "0X3C79", "0X9572", "0X52AC", "0X167A", "0X2E41", "0XEB70", "0X3352", "0XCD5A", "0X42BF", "0X3A2C", "0XC523", "0XB30A", "0X4461", "0XEC28", "0X43F7", "0XFB02", "0X73B7", "0X6C6A", "0X54F", "0X4270", "0XC0B4", "0X72C4", "0X7858", "0X93EA", "0XBBC5", "0X366E", "0XB745", "0XC08A", "0XA5E1"] |
@ -0,0 +1,44 @@ |
|||
import sys |
|||
import argparse |
|||
import json |
|||
import random |
|||
__author__ = 'm3x1m0m' |
|||
|
|||
class c_num_gen: |
|||
def __init__(self, imax_num, ifname): |
|||
self.max_num = imax_num |
|||
self.fname = ifname |
|||
self.__nums = [] |
|||
def __del__(self): |
|||
# Save on object destruction. |
|||
self.__write() |
|||
def __read(self): |
|||
with open(self.fname, "r") as rf: |
|||
self.__nums = json.load(rf) |
|||
def __write(self): |
|||
with open(self.fname, "w") as wf: |
|||
json.dump(self.__nums, wf) |
|||
def __rand_num(self): |
|||
num = random.randint(0, self.max_num) |
|||
return hex(num).upper() |
|||
def create_new_number(self): |
|||
if len(self.__nums) == 0: |
|||
self.__read() |
|||
rand_num = self.__rand_num() |
|||
while rand_num in self.__nums: |
|||
rand_num = self.__rand_num() |
|||
self.__nums.append(rand_num) |
|||
return rand_num |
|||
|
|||
def main(): |
|||
parser = argparse.ArgumentParser(description='Random number generator w/ memory.') |
|||
parser.add_argument('-f','--file', help='File name for memory.', required=True) |
|||
parser.add_argument('-c','--create', help='Create a new number.', action='store_true') |
|||
args = parser.parse_args() |
|||
max_num = (1<<16) |
|||
generator = c_num_gen(max_num, args.file) |
|||
if (args.create): |
|||
print("New number: {}".format(generator.create_new_number())) |
|||
|
|||
if __name__ == "__main__": |
|||
main() |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue