Naciśnij ESC, aby zamknąć

Solarny mining ASIC: Czy fotowoltaika do kopalni ma sens?

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ł czasowyGeneracja PV (średnia)Pobór kopalniKierunek przepływu energii i zachowanie systemu
00:00 – 06:000 kW0 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:003 – 6 kW3.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:0012 – 14 kW10.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:005 – 8 kW7.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:000 – 2 kW0 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.


FAQ

Musisz wrzucić minimum 30 do 35 standardowych paneli 450W na jedną koparkę pokroju S19 czy S21, co daje przewymiarowanie instalacji do jakichś 14kW–16kW. Wygląda to na totalny overkill, ale podczas tych marnych 5–6 godzin pełnego słońca w południe system musi uciągnąć cały pobór asica i jednocześnie wpompować tyle amperów w bank LiFePO4, żeby hashboardy przeżyły noc i nagłe chmury. Dasz mniej i BMS akumulatora odetnie zasilanie przy lada cieniu.

Inwerter zrzuca zabezpieczenia, bo układ APFC (aktywna korekcja współczynnika mocy) w fabrycznym zasilaczu asica i elektronika falownika zaczynają ze sobą brutalną walkę. W momencie, gdy kontrolka odpala hashboardy, pobór z miejsca skacze z 200W do 3.5kW. Ten potężny strzał zaniża napięcie na linii AC. APFC wpada w panikę i agresywnie ciągnie więcej prądu, żeby nadrobić stratę, falownik próbuje to skontrować, oba układy wchodzą w dzikie rezonanse i tranzystory MOSFET w inwerterze płoną albo wywalają overcurrent w ułamku sekundy. Żeby to przeżyć, potrzebujesz ciężkiego, niskoczęstotliwościowego inwertera transformatorowego o mocy minimum 1.5 raza większej niż maks pobór koparki.

Tak, ale czeka cię totalne prucie maszyny i obejście fabrycznego zasilacza. Hashboardy natywnie pracują na niskim napięciu DC, zazwyczaj między 12V a 15V. Żeby to spiąć, musisz zbić wysokie napięcie ze stringu paneli (jakieś 400V DC) do grubej szyny DC 12V–14V za pomocą przemysłowych przetwornic step-down (buck) i mocnych kontrolerów MPPT podpiętych pod akumulatory. Oszczędzasz jakieś 15% energii marnowanej na podwójną konwersję i masz z głowy problem z synchronizacją sinusoidy AC, ale zabawa wymaga solidnych miedzianych szynoprzewodów i ręcznego ustawiania napięcia, żeby nie upiec chipów na płytach.
Sying Yu

I am a blockchain developer specializing in building secure, scalable, and innovative decentralized solutions. My expertise covers smart contracts, payment systems, and integrating crypto with fiat to optimize financial workflows. I thrive on creating modern, efficient tools for the evolving digital economy....

Dodaj opinię

Twój adres e-mail nie zostanie opublikowany. Obowiązkowe pola są oznaczone*