Pomysł na odcięcie się od taryf dystrybucyjnych i zasilenie koparek bezpośrednio ze słońca wygląda pięknie tylko na papierze w prezentacjach handlowców. W rzeczywistości, kiedy próbujesz ożenić zasilacz impulsowy ASIC-a, przyzwyczajony do stabilnej, przemysłowej sinusoidy, z instalacją fotowoltaiczną, zaczyna się brutalna inżynierska rzeczywistość.
Pół roku temu na jednym z obiektów potrafiliśmy uwalić trzy drogie chińskie falowniki w tydzień, zanim w pełni dotarło do nas, jak bardzo elektronika koparki nienawidzi pracy w trybie wyspowym.
Architektoniczne miny: Off-grid kontra hybryda
Jeśli myślicie, że wrzucicie panele, regulator ładowania, parę akumulatorów i z marszu wepniecie tam takiego Antminera S21 – mam dla was złe wiadomości. ASIC to nie jest domowa lodówka. To całkowicie liniowe, tępe obciążenie, które wymaga np. 3.5 кВт tu i teraz, bez przerwy, 24/7. Słońce tak nie działa. Jego krzywa generacji to sinusoida, którą przelatujące chmury bez przerwy szatkują na kawałki. W takich momentach produkcja z PV potrafi tąpnąć o 80% w zaledwie kilka sekund.
Pełna autonomia (Off-grid) bez podpięcia do sieci to czysty masochizm. Żeby ten system w ogóle żył, musicie zbudować potężny bank akumulatorów LiFePO4. Przy czym realna sprawność na całym łańcuchu „panele – regulator – aku – falownik – zasilacz ASIC-a” spadnie gdzieś do 75–83%. Masa energii pójdzie w gwizdek jako ciepło na samym etapie konwersji.
Układ hybrydowy (Grid-tied с буфером) działa znacznie sensowniej. Sieć energetyczna robi tutaj za nieskończony bufor. Jest słońce – ciągniemy z paneli, wchodzi chmura – falownik błyskawicznie (albo i nie) dobiera brakującą deltę z gniazdka. Tutaj sprawność jest w porządku, blisko 95%, bo mamy bezpośrednią konwersję DC na AC. Ale jeśli gniazdka nie ma w ogóle, zostajecie sam na sam z elektroniką mocową.
Co dzieje się w zasilaczu, kiedy falownik dostaje zadyszki
Fabryczne zasilacze dedykowane do koparek (weźmy takie APW12 czy APW17) są zaprojektowane pod czysty sinus o minimalnym współczynniku zawartości harmonicznych (THD < 3%). Większość budżetowych falowników, even jeśli mają na obudowie dumny napis Pure Sine Wave, pod realnym obciążeniem pluje pociętym trapezem.
- Pierwsza rzecz, na której się wyłożycie, to działanie aktywnego układu korekcji współczynnika mocy (APFC) w zasilaczu ASIC-a. Algorytm APFC próbuje dostosować pobór prądu do kształtu napięcia. Falownik z kolei próbuje wyrównać napięcie pod obciążenie. Kiedy te dwa światy się spotykają, ich kontrolery PWM zaczynają się wzajemnie rozbujać. W efekcie układ wpada w rezonans: falownik zaczyna niemiłosiernie wyć, koparka piszczy, a po paru minutach klucze tranzystorowe w falowniku po prostu idą z dymem z przegrzania.
- Drugi problem to dynamiczny skok obciążenia. Kiedy płytka sterująca ASIC-a daje sygnał do startu hashboardów, pobór mocy w ułamku sekundy wystrzeliwuje z kilkuset watów do trzech-czterech kilowatów. Falownik nie nadąża skompensować tego tąpnięcia i napięcie na wyjściu spada poniżej 180V. W zasilaczu natychmiast odpala się zabezpieczenie podnapięciowe (UVP) i koparka leci w restart. Podczas testów łapaliśmy pętlę rebootu co 10 minut, co w kilka dni potrafi dokumentnie zajechać pamięć flash na płytce sterującej.
Dlatego pojemność bufora akumulatorów trzeba liczyć sztywno: E_bat >= P_asic * 0.5 часа. To jest absolutne minimum, które pozwoli wygładzić zapad i da falownikowi czas na przetrawienie zmian w generacji z paneli. Z kolei moc znamionowa samego falownika musi być o co najmniej 35–50% wyższa niż maksymalny pobór kopalni. Jeśli macie setup na 10 kW, potrzebujecie falownika 15 kW, inaczej zabezpieczenie będzie wywalać przy byle kichnięciu.
Automatyzujemy ten zwierzyniec przez RPC i Modbus
Jedynym sposobem, żeby nie puścić sprzętu z dymem i nie siedzieć przy nim 24/7, jest dynamiczne skręcanie hashrate'u koparek w zależności od tego, ile słońca akurat wpada na panele.
Poniżej znajdziecie działający skrypt w Pythonie. Odpytuje on falownik po Modbus TCP (adresy rejestrów podane dla popularnych chińskich hybryd typu Deye/Sunways), wyciąga aktualną produkcję z PV i przez JSON-RPC przerzuca profile poboru mocy w koparkach działających na alternatywnym sofcie (Braiins OS lub VNISH).
import time
import logging
import requests
from pymodbus.client import ModbusTcpClient
# Konfiguracja logowania (bez zbędnych wodotrysków)
logging.basicConfig(level=logging.INFO, format='%(asctime)s [%(levelname)s] %(message)s')
# Config
INVERTER_IP = "192.168.1.50"
INVERTER_PORT = 502
REG_SOLAR_POWER = 40082 # Rejestr mocy PV dla Deye/Sunways
ASIC_IP = "192.168.1.100"
ASIC_URL = f"http://{ASIC_IP}:4028/api" # Standardowy punkt końcowy dla niestandardowego softu
SHUTDOWN_THRESHOLD = 1000 # Poniżej 1kW — gasimy kopanie
# Profile (sortujemy malejąco, żeby łatwiej było iterować)
POWER_PROFILES = [
{"min_watt": 3200, "profile": "Performance_3500W"},
{"min_watt": 2200, "profile": "Balanced_2400W"},
{"min_watt": 1100, "profile": "Eco_1200W"}
]
def get_solar_power():
"""Odpytujemy falownik po ludzku przez pymodbus"""
client = ModbusTcpClient(INVERTER_IP, port=INVERTER_PORT)
try:
if client.connect():
# Czytamy 1 rejestr (holding register = 3)
res = client.read_holding_registers(REG_SOLAR_POWER, 1, slave=1)
if not res.isError():
return res.registers[0]
logging.error(f"Błąd Modbus: {res}")
except Exception as e:
logging.error(f"Falownik odpiął wrotki: {e}")
finally:
client.close()
return 0
def send_asic_cmd(cmd, param=None):
"""Leci zapytanie RPC do ASIC-a"""
payload = {"command": cmd}
if param:
payload["parameter"] = param
try:
# Zazwyczaj alternatywny soft (Vnish/Braiins) łyka zwykły POST z JSON-em
r = requests.post(ASIC_URL, json=payload, timeout=3)
if r.status_code == 200:
return r.json()
except Exception as e:
logging.error(f"Zapytanie do ASIC-a {cmd} wywaliło się: {e}")
return {}
def main():
logging.info("Skrypt balansowania Solar-Mining uruchomiony.")
last_profile = None
while True:
solar_pwr = get_solar_power()
logging.info(f"Słońce daje: {solar_pwr}W")
if solar_pwr < SHUTDOWN_THRESHOLD:
if last_profile != "paused":
logging.warning("Mało słońca. Zatrzymujemy hashboardy.")
send_asic_cmd("pause")
last_profile = "paused"
else:
# Szukamy odpowiedniego profilu pod aktualną moc
selected_profile = None
for p in POWER_PROFILES:
if solar_pwr >= p["min_watt"]:
selected_profile = p["profile"]
break
if selected_profile and selected_profile != last_profile:
logging.info(f"Przełączamy na profil: {selected_profile}")
send_asic_cmd("resume")
res = send_asic_cmd("setprofile", param=selected_profile)
# Weryfikacja statusu (dla VNISH / Braiins)
if res.get("STATUS", [{}])[0].get("STATUS") == "S":
last_profile = selected_profile
logging.info("Profil zmieniony pomyślnie.")
else:
logging.error(f"ASIC odrzucił profil: {res}")
# 30 sekund pauzy, żeby nie zajechać kontrolera ASIC-a częstymi zmianami
time.sleep(30)
if __name__ == "__main__":
main()Szkoła przetrwania: jak spiąć system i nie popłynąć finansowo
Zamiast ładnych list rodem z pedagogicznych podręczników, rzucam wam suchą esencję z praktyki, opłaconą masą zmarnowanego czasu i upalonego krzemu.
- Po pierwsze, zapomnijcie o falownikach wysokiej częstotliwości (beztransformatorowych), jeśli budujecie czysty off-grid. Potrzebujecie ciężkich kloców niskiej częstotliwości z potężnymi transformatorami toroidalnymi na wyjściu (typu Victron MultiPlus albo ciężkich serii przemysłowych). One dzięki swojej indukcyjności wybaczają zasilaczom ASIC-ów ich koślawy współczynnik mocy i ostre szpilki prądowe.
- Po drugie, uziemienie musi być odseparowane. Hashboardy generują potworne ilości zakłóceń wysokiej częstotliwości na obudowę. Jeśli wepniecie ramy paneli, trackery i regał z koparkami w jeden fizyczny obwód szpili uziemiającej, te zakłócenia zaczną doprowadzać do szału regulatory ładowania paneli (MPPT). Któregoś pięknego dnia po prostu zawieszą się w stanie otwartym, puszczając na falownik maksymalny woltaż bezpośrednio ze stringów.
- Po trzecie, bezwzględnie montujcie ochronniki przepięciowe (SPD) klasy B+C zarówno po stronie DC ze stringów, jak i na AC za falownikiem. Zasilacze koparek przy spadkach napięcia uwielbiają pluć w sieć impulsami wstecznymi. Bez dobrej ochrony falownik z czasem zacznie regularnie sypać błędami przeciążenia prądowego (Overcurrent), nawet przy znikomym obciążeniu.
Realna ekonomia: dlaczego klasyczne wyliczenia zwrotu z inwestycji to bajki
Jeśli odppalicie jakikolwiek kalkulator instalacji fotowoltaicznych, wyjdzie wam zwrot w granicach 3–4 lat. Marketerzy biorą łączną moc zainstalowaną paneli, mnożą przez średnią liczbę godzin słonecznych w regionie i pompują narrację, że „prąd z gniazdka” jest za darmo. W miningu ta cała matematyka rozbija się o brutalną rzeczywistość nieregularnej generacji.
Wyobraźmy sobie standardowy setup: zestaw paneli o mocy 15 кВт i trzy ASIC-i o łącznym poborze 10.5 кВт. Oto jak wygląda realne wykorzystanie energii w ciągu doby w idealny letni dzień:
| Przedział czasowy | Generacja PV (średnia) | Pobór kopalni | Kierunek przepływu energii i zachowanie systemu |
|---|---|---|---|
| 00:00 – 06:00 | 0 kW | 0 kW (lub 10.5 kW z sieci) | Kopalnia albo stoi pusta, albo ciągnie drogi prąd z sieci. Akumulatorów nie wolno drenować — zajedziecie je po 300 cyklach. |
| 06:00 – 09:00 | 3 – 6 kW | 3.5 kW (1 ASIC) | Skrypt automatyzacji odpala pierwszą koparkę. Reszta generacji idzie na leniwe podładowanie banku energii po nocnym samorozładowaniu systemu. |
| 09:00 – 15:00 | 12 – 14 kW | 10.5 kW (3 ASIC-i) | Szczyt efektywności. Wszystkie trzy maszyny haszują na pełnych obrotach. Nadwyżka rzędu 1.5–3.5 kW doładowuje baterie buforowe. |
| 15:00 – 18:00 | 5 – 8 kW | 7.0 kW (2 ASIC-i) | Słońce siada. Skrypt gasi jednego ASIC-a, żeby inwerter nie zaczął agresywnie doić akumulatorów. |
| 18:00 – 24:00 | 0 – 2 kW | 0 kW (lub 10.5 kW z sieci) | Całkowity stop systemu off-grid. |
Podsumowując: z 24 godzin w ciągu doby wasze ASIC-i pracują na 100% możliwości tylko przez około 6 godzin. Przez kolejne 6 godzin działają na pół gwizdka (30–60% mocy). Przez resztę czasu drogi sprzęt po prostu stoi bezczynnie i traci na aktualności — w końcu trudność sieci rośnie z dnia na dzień.
Jeśli działacie w trybie czystego Off-grid, wasz współczynnik wykorzystania sprzętu (Capacity Factor) leci na łeb do okolic 35–40%. To oznacza, że czas zwrotu z samych koparek wydłuża się dokładnie 2.5-krotnie. Sprzęt się zestarzeje i zmieni w przestarzały złom, zanim w ogóle na siebie zarobi.
Mało znane „miny” (To, o czym producenci wolą milczeć)
Dryf termiczny paneli i ASIC-ów
Koparki generują monstrualne ilości ciepła. Panele słoneczne działają najbardziej wydajnie, gdy temperatura ogniwa wynosi 25°C. Na każdy 1°C powyżej tej wartości generacja z krzemu spada o około 0.4%.
Jeśli dacie ciała z ułożeniem wyrzutu gorącego powietrza z koparek i będzie ono chociaż częściowo zaciągane pod konstrukcję z panelami, fundujecie sobie spadek generacji o 15–20% na własne życzenie. Na jednym z obiektów długo nie mogliśmy dojść ładu, dlaczego w południe uzyski lecą poniżej założeń — pomogło dopiero przekierowanie strumienia z wentylatorów kopalni w zupełnie drugą stronę, z dala od dachu z PV.
Pętle prądowe w hashboardach przy spadkach napięcia
Gdy inwerter jest przeciążony i napięcie siada, wbudowana przetwornica DC-DC na karcie haszującej ASIC-a próbuje utrzymać zadane napięcie na chipach (np. 0.36V). Żeby skompensować spadek napięcia wejściowego, zaczyna podbijać prąd wejściowy.
Jeśli wasz inwerter sieje tętnieniami o wysokiej częstotliwości, takie skoki prądu momentalnie palą sekcje zasilania (mosfety) na samej karcie. Kończy się to klasycznym scenariuszem: zasilacz jest cały, inwerter sypie błędami, a na hashboardzie poleciały klucze zasilania i chipy mają pełne zwarcie do masy.
Ostateczny werdykt inżyniera
Budowanie autonomicznej kopalni na solorach ma sens tylko w dwóch przypadkach:
- Macie darmowy lub półdarmowy, używany sprzęt poprzedniej generacji (np. stare Antminer T17/S19, których nie żal wam katować po 8 godzin na dobę). Kupowanie pod fotowoltaikę flagowych maszyn z chłodzeniem wodnym (hydro) czy topowych S21 to ekonomiczne samobójstwo przez gigantyczny przestój w nocy.
- Jedziecie na ostrym hybrydzie spiętym z siecią, gdzie słońce służy wyłącznie do ścięcia dziennego szczytu poboru, a w nocy kopalnia przełącza się na tanią, dotowaną taryfę nocną.
Cała reszta tej romantycznej gadki o „zielonym miningu w szczerym polu” kończy się zazwyczaj stertą upalonych tranzystorów, skatowanymi akumulatorami i skryptem automatyzacji, który dwoi się i troi 24/7, żeby utrzymać tę chwiejną konstrukcję przed kolejnym twardym restartem.