Appuyez sur ESC pour fermer

Minage Crypto Solaire : Risques Réels, Ondulateurs & ROI

L'idée de s'affranchir des tarifs du réseau pour alimenter son installation de mining direct au solaire, c'est super joli sur le papier dans les slides des commerciaux. En réalité, quand tu essaies de faire cohabiter l'alim à découpage d'un ASIC, habituée à bouffer du signal sinusoïdal indus ultra-stable, avec un système photovoltaïque, tu te prends un violent retour à la réalité hardware.

Il y a six mois, sur l'un de nos sites, on a réussi à cramer trois onduleurs chinois haut de gamme en une semaine avant de piger à quel point l'électronique d'un mineur déteste le hors-réseau.

Pièges d'architecture : Off-grid vs Hybride

Si vous pensez qu'il suffit de poser des panneaux, un régulateur de charge, deux batteries et de brancher direct un Antminer S21 au cul du système — j'ai une mauvaise nouvelle pour vous. Un ASIC, c'est pas le frigo de la cuisine. C'est une charge purement statique et totalement bête, qui réclame par exemple ses 3.5 kW là, tout de suite, en continu et H24. Le soleil ne sait pas faire ça. Sa courbe de production ressemble à une cloche, constamment hachée menu par le moindre nuage qui passe. À ce moment-là, la prod PV s'effondre de 80% en l'espace de deux secondes.

L'autonomie totale (Off-grid) sans aucun raccordement au réseau, c'est du pur masochisme. Pour que le système tienne la route, vous allez devoir assembler un parc de batteries LiFePO4 absolument gigantesque. Sans compter que le rendement réel de la chaîne « panneaux — régulateur — parc batterie — onduleur — alim de l'ASIC » va s'écrouler autour des 75–83%. Une tonne d'énergie va bêtement se dissiper en chaleur pendant les phases de conversion.

La configuration hybride (Grid-tied avec stockage tampon) est bien plus viable. Le réseau électrique sert ici de tampon infini. Le soleil donne ? On pompe dessus. Un nuage passe ? L'onduleur compense instantanément (ou presque) le delta sur le réseau. Là, le rendement est correct, pas loin des 95%, car on est sur de la conversion directe DC/AC. Mais si vous n'avez pas de réseau du tout, vous vous retrouvez seul face à l'électronique de puissance.

Ce qui se passe dans l'alim quand l'onduleur commence à bégayer

Les blocs d'alimentation d'origine des mineurs (comme les APW12 ou APW17) sont taillés pour une sinusoïde pure avec un taux de distorsion harmonique minimal (THD < 3%). La plupart des onduleurs low-cost, même avec un joli sticker Pure Sine Wave dessus, balancent un signal trapézoïdal tout pété dès qu'on leur colle une vraie charge au cul.

  • Le premier truc sur lequel vous allez trébucher, c'est le correcteur actif du facteur de puissance (APFC) intégré à l'alim de l'ASIC. L'algorithme de l'APFC tente d'ajuster la consommation de courant sur la forme de la tension. De son côté, l'onduleur essaie de réguler la tension en fonction de la charge. Quand les deux se rencontrent, leurs contrôleurs PWM respectifs commencent à entrer en résonance et à s'auto-osciller la gueule. Résultat : l'onduleur se met à hurler la mort, l'ASIC siffle, et en deux minutes les transistors de puissance de l'onduleur partent en fumée à cause de la surchauffe.
  • Le deuxième problème, c'est l'impact des sauts de charge dynamiques. Dès que la control board de l'ASIC envoie l'ordre de lancer les hashboards, la consommation grimpe de quelques centaines de watts à 3 ou 4 kilowatts de manière quasi instantanée. L'onduleur n'a pas le temps d'encaisser ce pic, et la tension de sortie s'effondre sous les 180V. La sécurité sous-tension (UVP) de l'alimentation se déclenche direct, et l'ASIC reboot. En phase de test, on se bouffait un reboot cyclique toutes les 10 minutes : le meilleur moyen de flinguer la mémoire flash de la control board en deux jours.

C'est pourquoi la capacité du parc batterie doit être calculée de façon stricte : E_bat >= P_asic * 0.5 heure. C'est le minimum syndical pour lisser la chute de tension le temps que l'onduleur digère la variation de prod des panneaux. Quant à la puissance nominale de l'onduleur, elle doit être supérieure d'au moins 35–50% à la conso max de votre ferme. Si vous tournez à 10 kW, il vous faut un onduleur de 15 kW, sinon la sécurité va sauter au moindre éternuement.

Automatisation de ce joyeux bordel via RPC et Modbus

La seule option pour éviter de cramer le matos sans devoir camper devant l'install H24, c'est de brider dynamiquement le hashrate des ASIC en fonction de la puissance solaire disponible en temps réel.

Voici un script Python fonctionnel pour ça. Il va interroger l'onduleur en Modbus TCP (les adresses des registres correspondent aux onduleurs hybrides chinois ultra-courants type Deye/Sunways), récupère la prod PV actuelle et bascule les profils de consommation des ASIC via JSON-RPC sur les machines équipées de firmwares customs (Braiins OS ou VNISH).

import time
import logging
import requests
from pymodbus.client import ModbusTcpClient
# Configuration du logging (straight to the point)
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  # Registre de puissance PV pour Deye/Sunways
ASIC_IP = "192.168.1.100"
ASIC_URL = f"http://{ASIC_IP}:4028/api"  # Endpoint standard pour les firmwares customs
SHUTDOWN_THRESHOLD = 1000  # Sous 1kW — on coupe le mining
# Profils (triés par ordre décroissant pour faciliter l'itération)
POWER_PROFILES = [
    {"min_watt": 3200, "profile": "Performance_3500W"},
    {"min_watt": 2200, "profile": "Balanced_2400W"},
    {"min_watt": 1100, "profile": "Eco_1200W"}
]
def get_solar_power():
    """On ping l'onduleur proprement via pymodbus"""
    client = ModbusTcpClient(INVERTER_IP, port=INVERTER_PORT)
    try:
        if client.connect():
            # Lecture d'un registre (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"Erreur Modbus : {res}")
    except Exception as e:
        logging.error(f"Connexion onduleur perdue : {e}")
    finally:
        client.close()
    return 0
def send_asic_cmd(cmd, param=None):
    """Envoi de la commande RPC à l'ASIC"""
    payload = {"command": cmd}
    if param:
        payload["parameter"] = param
        
    try:
        # En général, les OS customs (Vnish/Braiins) acceptent un simple POST avec du JSON
        r = requests.post(ASIC_URL, json=payload, timeout=3)
        if r.status_code == 200:
            return r.json()
    except Exception as e:
        logging.error(f"La requête RPC {cmd} a crashé : {e}")
    return {}
def main():
    logging.info("Script de régulation Solar-Mining démarré.")
    last_profile = None
    
    while True:
        solar_pwr = get_solar_power()
        logging.info(f"Le soleil donne : {solar_pwr}W")
        
        if solar_pwr < SHUTDOWN_THRESHOLD:
            if last_profile != "paused":
                logging.warning("Pas assez de soleil. Mise en pause des hashboards.")
                send_asic_cmd("pause")
                last_profile = "paused"
        else:
            # Recherche du profil adapté à la puissance actuelle
            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"Bascule vers le profil : {selected_profile}")
                send_asic_cmd("resume")
                res = send_asic_cmd("setprofile", param=selected_profile)
                
                # Vérification du statut (spécifique à VNISH / Braiins)
                if res.get("STATUS", [{}])[0].get("STATUS") == "S":
                    last_profile = selected_profile
                    logging.info("Profil appliqué avec succès.")
                else:
                    logging.error(f"L'ASIC a jeté le profil : {res}")
                    
        # Pause de 30 sec pour éviter de spammer la control board de l'ASIC avec des changements de fréquence
        time.sleep(30)
if __name__ == "__main__":
    main()

Retour d'expérience : comment monter son install sans finir de sa poche

Au lieu des belles listes théoriques des manuels scolaires, voilà un retour d'expérience brut de fonderie, payé au prix fort en heures de galère et en puces de silicium cramées.

  • Premièrement, oubliez les onduleurs haute fréquence (sans transformateur) si vous montez un vrai système off-grid. Il vous faut du matos lourd en basse fréquence, équipé de gros transfos toroïdaux en sortie (type Victron MultiPlus ou des gammes indus bien robustes). Grâce à leur inductance, ils encaissent sans broncher le facteur de puissance dégueulasse des alims d'ASIC et leurs violents pics de courant.
  • Deuxièmement, séparez impérativement les mises à la terre. Les hashboards balancent une quantité phénoménale de parasites haute fréquence dans le châssis. Si vous connectez les structures des panneaux solaires, les trackers et le rack des mineurs sur la même boucle de terre physique, ces interférences vont rendre complètement fous les régulateurs de charge des panneaux (MPPT). Un beau jour, ils vont se figer en position ouverte et balancer la tension max des panneaux direct dans la gueule de l'onduleur.
  • Troisièmement, blindez l'install avec des parafoudres/parafoudres de surtension (SPD) de classe B+C (Type 1+2), aussi bien côté DC sur les strings de panneaux que côté AC en sortie d'onduleur. Quand la tension flanche, les alims de mineurs adorent renvoyer des pics d'induction dans le réseau. Sans une vraie protection, votre onduleur va finir par se mettre systématiquement en sécurité pour surcharge de courant (Overcurrent), même quand il n'y a presque pas de charge.

La vraie tech éco : pourquoi le calcul classique du ROI est un pur mythe

Si vous ouvrez n'importe quel simulateur de projet solaire, on va vous promettre un retour sur investissement en 3 ou 4 ans max. Les marketeux prennent la puissance crête installée, la multiplient par l'ensoleillement moyen de la région et vous sortent que le « jus » est gratuit. Sauf qu'en crypto-mining, cette belle théorie se prend de plein fouet le mur de la réalité : l'intermittence de la production.

Prenons un setup standard : un pool de panneaux de 15 kW et trois ASICs qui tirent un total de 10.5 kW. Voici comment se découpe l'utilisation réelle de l'énergie sur 24 heures lors d'une journée d'été parfaite :

Tranche horaireProduction PV (moyenne)Consommation du rigFlux d'énergie et comportement
00:00 – 06:000 kW0 kW (ou 10.5 kW sur le réseau)Soit le rig est à l'arrêt complet, soit il pompe sur le réseau au tarif plein pot de la nuit. Interdit de vider les batteries (parc de stockage), sinon vous les flinguez en moins de 300 cycles.
06:00 – 09:003 – 6 kW3.5 kW (1 ASIC)Le script d'automatisation réveille la première machine. Le surplus de production sert à recharger tranquillement les batteries après leur autodécharge nocturne.
09:00 – 15:0012 – 14 kW10.5 kW (3 ASICs)Le pic d'efficacité. Les trois bécanes hachent à plein régime (full throttle). L'excédent de 1.5 à 3.5 kW finit de doper les batteries tampons.
15:00 – 18:005 – 8 kW7.0 kW (2 ASICs)Le soleil décline. Le script cut un ASIC pour éviter que l'onduleur ne commence à siphonner les batteries.
18:00 – 24:000 – 2 kW0 kW (ou 10.5 kW sur le réseau)Stop complet pour l'installation en mode autonome.

En gros : sur 24 heures, vos ASICs ne tournent à 100% de leur capacité que pendant à peine 6 heures. Et pendant 6 autres heures, ils tournent en mode dégradé entre 30 et 60%. Le reste du temps, le matos dort et s'obsolétise gentiment (pendant que la difficulté du réseau, elle, grimpe tous les jours).

Si vous tournez en mode 100% autonome (Off-grid), votre facteur de charge (Capacity Factor) s'effondre aux alentours des 35–40%. Résultat : la durée d'amortissement du hardware pur est multipliée par 2.5. Vos machines seront obsolètes et bonnes pour la benne avant même d'avoir remboursé leur prix d'achat.

Les "vices cachés" du système (Ce que les vendeurs oublient de vous dire)

La dérive thermique des panneaux et des ASICs

Un mineur, c'est un radiateur géant. Problème : les panneaux solaires sont au top de leur rendement quand les cellules restent à 25°C. Pour chaque degré supplémentaire, la production du silicium baisse d'environ 0.4%.

Si vous callez l'extraction d'air chaud des ASICs de manière à ce qu'elle soit ne serait-ce que partiellement aspirée sous les panneaux, vous perdez 15 à 20% de production sans comprendre pourquoi. Sur un setup qu'on a checké dans le Sud, on a galéré un moment à capter pourquoi la prod s'effondrait à midi par rapport aux specs, jusqu'à ce qu'on réoriente le flux des ventilos du rig à l'opposé de la toiture PV.

Les boucles de courant dans les hashboards sur baisse de tension

Quand l'onduleur est à genoux et que la tension chute, le convertisseur DC-DC intégré à la hashboard de l'ASIC tente de maintenir le voltage configuré pour les puces (par exemple, 0.36V). Pour compenser la baisse de tension d'entrée, il se met à tirer un max d'ampères.

Si votre onduleur génère des harmoniques ou des ondulations haute fréquence, ces pics d'intensité vont littéralement cramer les phases d'alimentation (les MOSFETs) sur la carte de hachage elle-même. C'est le cas d'école : le bloc d'alim est intact, l'onduleur remonte une erreur, mais les circuits de la hashboard sont grillés et les puces sont en court-circuit total.

Le verdict de l'ingénieur

Monter un projet de mining autonome sur panneaux solaires n'a de sens que dans deux cas bien précis :

  • Vous touchez du matos d'ancienne génération d'occasion gratuit ou quasi gratuit (genre des vieux Antminer T17/S19 que vous pouvez vous permettre de faire tourner seulement 8 heures par jour). Acheter des flagships hydro ou des S21 hors de prix pour du solaire, c'est un suicide financier à cause de leur temps d'arrêt chaque nuit.
  • Vous êtes sur un setup hybride synchrone, où le solaire sert uniquement à gommer le pic de consommation en journée, tandis que la ferme bascule la nuit sur un tarif réseau ultra-compétitif ou subventionné.

Tout le reste, le délire romantique du « green mining en plein champ », ça se termine généralement par un tas de transistors carbonisés, des batteries rincées jusqu'à l'os et un script d'automatisation qui essaie tant bien que mal d'éviter au château de cartes de rebooter toutes les deux heures.


FAQ

Il te faut au moins 30 à 35 panneaux standard de 450W pour une seule bécane de 3,5 kW genre S19 ou S21. Ça veut dire qu'il faut surdimensionner ton champ photovoltaïque à environ 14–16 kW. Ça a l'air overkill, mais pendant les 5 ou 6 heures de soleil au zénith, le système doit assumer le mining à fond tout en balançant un max d'ampères dans le parc LiFePO4 pour que les hashboards tiennent toute la nuit et encaissent les passages nuageux. Si tu mets moins, le BMS de la batterie va couper pour sous-tension à la moindre ombre sur le toit.

L'onduleur dégage parce que l'APFC (le correcteur de facteur de puissance actif) de l'alim d'origine et le CPU de l'onduleur se livrent une guerre sans merci. Au moment où la control board lance les hashboards, la charge bondit instantanément de 200W à 3,5 kW. Ce coup de fusil fait s'effondrer la tension AC. L'APFC panique et pompe le courant comme un sourdingue pour compenser, l'onduleur essaie de répliquer, les deux circuits entrent en résonance grave, et les MOSFET de l'onduleur crament ou sortent une erreur overcurrent en quelques millisecondes. Il te faut un onduleur lourd à basse fréquence (avec un vrai transfo torique) calibré à au moins 1,5 fois la puissance max de la machine pour encaisser ce pic.

Oui, mais tu vas devoir désosser la machine et bypasser l'alim d'origine. Les hashboards fonctionnent nativement en DC basse tension, généralement entre 12V et 15V. Pour faire ça propre, tu récupères la haute tension du string de panneaux (autour de 400V DC) et tu la fais descendre vers un gros busbar DC en 12V–14V via des convertisseurs buck de qualité industrielle et des gros contrôleurs MPPT reliés au parc de batteries. Tu grattes environ 15% d'efficacité normalement perdus dans la double conversion et tu t'épargnes la galère de la synchro de la sinusoïde AC, mais ça demande du gros jeu de barres en cuivre custom et un réglage manuel de la tension pour pas griller les puces des boards.
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....

Partager votre avis

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués *