ग्रिड के बिजली बिलों से बचकर सीधे सूरज की धूप से माइनिंग सेटअप चलाने का आइडिया केवल वेंडर की पीपीटी (PPT) और कागजों पर ही अच्छा लगता है। असलियत में, जब आप किसी ASIC माइनर के SMPS (स्विचिंग पावर सप्लाई) को—जो एक स्थिर इंडस्ट्रियल प्योर साइन वेव (sine wave) खाने का आदी है—सोलर पीवी सिस्टम के साथ जबरदस्ती जोड़ने की कोशिश करते हैं, तब शुरू होता है इंजीनियरिंग का असली और कड़वा ड्रामा।
छह महीने पहले एक साइट पर हमने एक ही हफ्ते में तीन महंगे चाइनीज इनवर्टर फुंकवा दिए थे, तब जाकर हमें समझ आया कि माइनर की इलेक्ट्रॉनिक्स ऑफ-ग्रिड (off-grid) पावर जनरेशन से कितनी नफरत करती है।
आर्किटेक्चर का लोचा: Off-grid बनाम हाइब्रिड
अगर आपको लगता है कि आप कुछ सोलर पैनल, एक चार्ज कंट्रोलर, दो-चार बैटरियां लगाकर सीधे अपना Antminer S21 चालू कर लेंगे—तो भाई, आपके लिए एक बुरी खबर है। ASIC कोई घर का फ्रिज नहीं है। यह पूरी तरह से एक स्टैटिक और ढीट लोड है, जिसे बिना किसी ब्रेक के, लगातार 24/7 पूरे 3.5 кВт लोड की जरूरत होती है। धूप ऐसे काम नहीं करती। उसका जनरेशन कर्व एक घंटी (bell curve) की तरह होता है, जिसे ऊपर से गुजरने वाले बादल हर दो मिनट में टुकड़ों में काट देते हैं। उस पल में, सोलर जनरेशन महज कुछ ही सेकंड के भीतर 80% तक गिर जाता है।
बाहरी ग्रिड से बिना किसी कनेक्शन के पूरी तरह आत्मनिर्भर (Off-grid) होना शुद्ध रूप से अपने पैर पर कुल्हाड़ी मारना है। इस सिस्टम को जिंदा रखने के लिए आपको एक बहुत बड़ा LiFePO4 बैटरी बैंक बनाना पड़ेगा। और इस सब के बाद भी, "पैनल -> कंट्रोलर -> बैटरी -> इनवर्टर -> ASIC का पावर सप्लाई" की पूरी चेन का रियल एफिशिएंसी (efficiency) गिरकर करीब 75–83% रह जाएगा। बहुत सारी एनर्जी केवल पावर कन्वर्जन के दौरान हीट बनकर बर्बाद हो जाएगी।
हाइब्रिड स्कीम (Grid-tied с буфером) बहुत बेहतर ढंग से काम करती है। इसमें सरकारी बिजली ग्रिड एक असीमित बफर (buffer) की तरह काम करता है। धूप निकली—तो सोलर से पावर ली, बादल आए—तो इनवर्टर ने तुरंत ग्रिड की मेन लाइन से बची-खुची पावर खींच ली। यहाँ एफिशिएंसी भी बढ़िया मिलती है, लगभग 95% के पास, क्योंकि सीधे DC से AC कन्वर्जन होता है। लेकिन अगर आपके पास ग्रिड की लाइन ही नहीं है, तो आप पावर इलेक्ट्रॉनिक्स के इस खेल में अकेले फंस जाएंगे।
पावर सप्लाई के अंदर क्या होता है, जब इनवर्टर "हिचकी" लेने लगता है
माइनर्स के ओरिजिनल पावर सप्लाई (जैसे APW12 या APW17) मिनिमम हार्मोनिक डिस्टॉर्शन (THD < 3%) वाले प्योर साइन वेव के लिए डिजाइन किए जाते हैं। मार्केट के ज्यादातर बजट इनवर्टर, भले ही उन पर बड़े अक्षरों में Pure Sine Wave लिखा हो, असली लोड पड़ते ही कटी-फटी लहरें (trapezoidal wave) फेंकने लगते हैं।
- सबसे पहली मुसीबत जो आपके सामने आएगी, वह है ASIC के पावर सप्लाई के अंदर एक्टिव पावर फैक्टर करेक्शन (APFC) का काम करना। APFC का एल्गोरिदम वोल्टेज के शेप के हिसाब से करंट की खपत को एडजस्ट करने की कोशिश करता है। दूसरी तरफ, इनवर्टर लोड के हिसाब से वोल्टेज को सुचारू रखने की कोशिश करता है। जब ये दोनों आमने-सामने आते हैं, तो उनके PWM कंट्रोलर्स एक-दूसरे को डिस्टर्ब करने लगते हैं। नतीजा यह होता है कि पूरा सिस्टम सेल्फ-ऑसिलेटिंग रेजोनेंस में चला जाता है: इनवर्टर अजीब तरह से चिल्लाने लगता है, ASIC से सीटी जैसी आवाज आने लगती है, और कुछ ही मिनटों में इनवर्टर के पावर ट्रांजिस्टर (MOSFETs) ओवरहीट होकर धुंआ छोड़ देते हैं।
- दूसरा बड़ा सिरदर्द है—डायनेमिक लोड का अचानक से बढ़ जाना। जैसे ही ASIC का कंट्रोल बोर्ड हैशबोर्ड (hashboard) को स्टार्ट करने का कमांड देता है, पावर की खपत कुछ सौ वाट से सीधे तीन-चार किलोवाट तक पलक झपकते ही पहुंच जाती है। इनवर्टर इस अचानक आए लोड को संभाल नहीं पाता और आउटपुट वोल्टेज सीधे 180V से नीचे गिर जाता है। इससे पावर सप्लाई का अंडर-वोल्टेज प्रोटेक्शन (UVP) ट्रिगर हो जाता है और ASIC रीबूट मोड में चला जाता है। टेस्टिंग के दौरान हमारा सेटअप हर 10 मिनट में रीबूट लूप में फंस रहा था, जो दो-चार दिन के भीतर ही कंट्रोल बोर्ड की फ्लैश मेमोरी को पूरी तरह से डेड कर देता है।
इसीलिए बैटरी बफर की कैपेसिटी का कैलकुलेशन बहुत कड़ा होना चाहिए: E_bat >= P_asic * 0.5 часа। यह वह मिनिमम बैकअप है जो वोल्टेज को अचानक बैठने से रोकेगा, जब तक कि इनवर्टर पैनलों से आने वाले उतार-चढ़ाव को मैनेज कर रहा हो। साथ ही, इनवर्टर की रेटिंग आपके माइनिंग फार्म के मैक्सिमम लोड से कम से कम 35–50% ज्यादा होनी चाहिए। अगर आपका फार्म 10 kW का है, तो इनवर्टर कम से कम 15 kW का होना चाहिए, वरना छोटी सी गड़बड़ी पर भी उसका प्रोटेक्शन ट्रिप कर जाएगा।
RPC और Modbus के जरिए इस पूरे चिड़ियाघर को ऑटोमेट करना
अपने महंगे हार्डवेयर को स्वाहा होने से बचाने और उसके सामने 24 घंटे चौकीदारी न करने का एकमात्र तरीका यह है कि पैनलों पर आने वाली धूप के हिसाब से ASIC के हैशरेट (hashrate) को डायनेमिक रूप से कम या ज्यादा किया जाए।
नीचे इसके लिए एक वर्किंग पाइथन (Python) स्क्रिप्ट दी गई है। यह स्क्रिप्ट Modbus TCP के जरिए इनवर्टर से कनेक्ट होती है (रजिस्टर एड्रेस Deye/Sunways जैसे पॉपुलर चाइनीज हाइब्रिड इनवर्टर के हिसाब से हैं), करंट सोलर जनरेशन का डेटा उठाती है, और JSON-RPC के जरिए कस्टम फर्मवेयर (Braiins OS या VNISH) पर चल रहे ASICs के पावर प्रोफाइल को बदल देती है।
import time
import logging
import requests
from pymodbus.client import ModbusTcpClient
# लॉगिंग सेटअप (बिना किसी फालतू तामझाम के)
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 # Deye/Sunways के लिए सोलर पावर रजिस्टर
ASIC_IP = "192.168.1.100"
ASIC_URL = f"http://{ASIC_IP}:4028/api" # कस्टम फर्मवेयर के लिए स्टैंडर्ड एंडपॉइंट
SHUTDOWN_THRESHOLD = 1000 # 1kW से कम होने पर माइनिंग बंद करें
# प्रोफाइल्स (घटते क्रम में, ताकि लूप चलाना आसान हो)
POWER_PROFILES = [
{"min_watt": 3200, "profile": "Performance_3500W"},
{"min_watt": 2200, "profile": "Balanced_2400W"},
{"min_watt": 1100, "profile": "Eco_1200W"}
]
def get_solar_power():
"""pymodbus के जरिए इनवर्टर से डेटा रीड करना"""
client = ModbusTcpClient(INVERTER_IP, port=INVERTER_PORT)
try:
if client.connect():
# 1 रजिस्टर रीड करें (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"Modbus एरर: {res}")
except Exception as e:
logging.error(f"इनवर्टर से कनेक्शन टूटा: {e}")
finally:
client.close()
return 0
def send_asic_cmd(cmd, param=None):
"""ASIC को RPC रिक्वेस्ट भेजना"""
payload = {"command": cmd}
if param:
payload["parameter"] = param
try:
# आमतौर पर कस्टम फर्मवेयर (Vnish/Braiins) सिंपल JSON POST एक्सेप्ट करते हैं
r = requests.post(ASIC_URL, json=payload, timeout=3)
if r.status_code == 200:
return r.json()
except Exception as e:
logging.error(f"ASIC कमांड {cmd} फेल हो गया: {e}")
return {}
def main():
logging.info("सोलर-माइनिंग बैलेंसिंग स्क्रिप्ट चालू हो गई है।")
last_profile = None
while True:
solar_pwr = get_solar_power()
logging.info(f"सोलर जनरेशन: {solar_pwr}W")
if solar_pwr < SHUTDOWN_THRESHOLD:
if last_profile != "paused":
logging.warning("धूप बहुत कम है। हैशबोर्ड पॉज कर रहे हैं।")
send_asic_cmd("pause")
last_profile = "paused"
else:
# करंट पावर के हिसाब से सही प्रोफाइल ढूंढें
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"प्रोफाइल बदल रहे हैं: {selected_profile}")
send_asic_cmd("resume")
res = send_asic_cmd("setprofile", param=selected_profile)
# स्टेटस चेक (VNISH / Braiins के लिए)
if res.get("STATUS", [{}])[0].get("STATUS") == "S":
last_profile = selected_profile
logging.info("प्रोफाइल सफलतापूर्वक बदल गया।")
else:
logging.error(f"ASIC ने प्रोफाइल रिजेक्ट कर दिया: {res}")
# 30 सेकंड का गैप रखें ताकि बार-बार फ्रीक्वेंसी बदलने से ASIC का कंट्रोल बोर्ड डैमेज न हो
time.sleep(30)
if __name__ == "__main__":
main()सर्वाइवल गाइड: सिस्टम को कैसे सेट अप करें ताकि दिवाला न निकले
किताबों की थ्योरी और सुंदर लिस्ट्स को साइड में रखिए, यहाँ सीधे फील्ड का वो कड़वा निचोड़ दे रहा हूँ जिसके लिए हमने भारी नुकसान और कीमती कंपोनेंट्स जलाकर कीमत चुकाई है।
- पहली बात, हाई-फ्रीक्वेंसी (बिना ट्रांसफार्मर वाले) इनवर्टर का ख्याल दिमाग से निकाल दें अगर आप पूरी तरह से ऑफ-ग्रिड सिस्टम बना रहे हैं। आपको भारी-भरकम लो-फ्रीक्वेंसी वाले इनवर्टर चाहिए होंगे जिनके आउटपुट पर मजबूत टोरॉइडल ट्रांसफार्मर (जैसे Victron MultiPlus या हैवी इंडस्ट्रियल सीरीज) लगे हों। वे अपनी हाई इंडक्टेंस के कारण ASIC के गंदे पावर फैक्टर और अचानक आने वाले करंट स्पाइक्स को आसानी से झेल जाते हैं।
- दूसरी बात, अर्थिंग (grounding) पूरी तरह अलग होनी चाहिए। हैशबोर्ड्स बॉडी पर बहुत ज्यादा हाई-फ्रीक्वेंसी नॉइज और लीकेज पैदा करते हैं। अगर आपने सोलर पैनल के स्ट्रक्चर, ट्रैकर और माइनिंग रैक्स को एक ही कॉमन ग्राउंड वायर से जोड़ दिया, तो यह नॉइज सोलर चार्ज कंट्रोलर (MPPT) के दिमाग को हिला देगा। एक दिन ऐसा आएगा कि वे ओपन स्टेट में ही हैंग हो जाएंगे और इनवर्टर पर सीधे पैनलों का मैक्सिमम वोल्टेज फेंक देंगे।
- तीसरी बात, SPD (सर्ज प्रोटेक्टिव डिवाइस) लगाना बिल्कुल न भूलें। पैनल के स्ट्रिंग्स वाली DC साइड और इनवर्टर के बाद वाली AC साइड, दोनों जगह B+C क्लास के प्रोटेक्टर लगाएं। वोल्टेज ड्रॉप होने पर माइनर के पावर सप्लाई ग्रिड में बैक-इलेक्ट्रोमोटिव पल्स (रिवर्स करंट स्पाइक्स) फेंकना पसंद करते हैं। अच्छे प्रोटेक्शन के बिना, समय के साथ आपका इनवर्टर बिना किसी खास लोड के भी बार-बार ओवर-करंट एरर (Overcurrent) देकर बंद होने लगेगा।
असली इकॉनमी: पारंपरिक ROI कैलकुलेशन सिर्फ एक किताबी कहानी क्यों है
अगर आप कोई भी सोलर सिस्टम कैलकुलेटर खोलेंगे, तो वे आपको लगभग 3-4 साल का पेबैक पीरियड (ROI) दिखा देंगे। मार्केटर्स पैनल्स की कुल इंस्टॉल्ड कैपेसिटी लेते हैं, उसे इलाके के एवरेज धूप वाले घंटों (solar hours) से मल्टीप्लाई करते हैं, और दावा ठोक देते हैं कि बिजली बिलकुल "फ्री" है। लेकिन क्रिप्टो माइनिंग में, यह पूरी गणित जनरेशन के उतार-चढ़ाव (intermittency) की कड़वी सच्चाई से टकराकर चूर-चूर हो जाती है।
मान लेते हैं एक स्टैंडर्ड सेटअप: 15 kW का सोलर पैनल एरे और कुल 10.5 kW की कैपेसिटी वाले तीन ASIC माइनर्स। अब देखिए कि गर्मियों के एक परफेक्ट दिन में 24 घंटे के दौरान एनर्जी का असली यूटिलाइजेशन कैसे डिवाइड होता है:
| टाइम इंटरवल | PV जनरेशन (एवरेज) | माइनिंग रिग का कंजम्पशन | एनर्जी फ्लो की दिशा |
|---|---|---|---|
| 00:00 – 06:00 | 0 kW | 0 kW (या ग्रिड से 10.5 kW) | माइनिंग रिग या तो खाली बैठा है, या फिर ग्रिड की महंगी कमर्शियल बिजली खा रहा है। इस समय बैटरी बैंक को खाली नहीं किया जा सकता — वरना 300 साइकिल्स में ही बैटरियों का दम निकल जाएगा। |
| 06:00 – 09:00 | 3 – 6 kW | 3.5 kW (1 ASIC) | ऑटोमेशन स्क्रिप्ट पहले माइनर को स्टार्ट करती है। बचा हुआ जनरेशन रात के सेल्फ-डिस्चार्ज के बाद बैटरी बैंक को धीरे-धीरे चार्ज करने में जाता है। |
| 09:00 – 15:00 | 12 – 14 kW | 10.5 kW (3 ASIC) | पीक एफिशिएंसी का टाइम। तीनों मशीनें फुल थ्रॉटल पर हैशिंग कर रही हैं। 1.5–3.5 kW का जो भी एक्स्ट्रा पावर है, वो बफर बैटरियों को टॉप-अप करता है। |
| 15:00 – 18:00 | 5 – 8 kW | 7.0 kW (2 ASIC) | धूप ढलने लगती है। स्क्रिप्ट तुरंत एक ASIC को बंद कर देती है ताकि इन्वर्टर बैटरियों को निचोड़ना शुरू न कर दे। |
| 18:00 – 24:00 | 0 – 2 kW | 0 kW (या ग्रिड से 10.5 kW) | ऑफ-ग्रिड सिस्टम पूरी तरह शटडाउन। |
नतीजा: दिन के 24 घंटों में से आपके ASIC सिर्फ 6 घंटे ही 100% कैपेसिटी पर काम कर पाते हैं। बाकी के 6 घंटे वे अपनी कैपेसिटी के 30-60% पर चलते हैं। बाकी पूरे समय यह महंगा हार्डवेयर बस कबाड़ की तरह खाली बैठा रहता है और आउटडेटेड होता जाता है (क्योंकि नेटवर्क डिफिकल्टी तो रोज रॉकेट की तरह बढ़ रही है)।
अगर आप प्योर Off-grid मोड में माइनिंग कर रहे हैं, तो आपका इक्विपमेंट यूटिलाइजेशन रेट (Capacity Factor) गिरकर सीधे 35–40% पर आ जाएगा। इसका मतलब है कि खुद ASICs का पेबैक पीरियड सीधे 2.5 गुना बढ़ जाएगा। आपका हार्डवेयर अपनी कीमत वसूलने से पहले ही कबाड़ (outdated) बन जाएगा।
छिपे हुए लोचे (वो बातें जिन पर वेंडर्स चुप्पी साध लेते हैं)
पैनल्स और ASICs का थर्मल ड्रिफ्ट (तापमान का खेल)
माइनर्स भयंकर मात्रा में हीट जेनरेट करते हैं। वहीं सोलर पैनल सबसे बेस्ट तब काम करते हैं जब सेल का टेम्परेचर 25°C हो। इस बेसलाइन से ऊपर हर 1°C बढ़ने पर, सिलिकॉन का जनरेशन लगभग 0.4% घट जाता है।
अगर आपने ASICs का हॉट-एयर एग्जॉस्ट ऐसे सेट किया कि उसकी गर्म हवा घूमकर सोलर पैनल्स के नीचे जा रही है, तो बिना बात के सीधे-सीधे 15-20% का जनरेशन लॉस हो जाएगा। हमारे एक प्रोजेक्ट में हम परेशान थे कि दोपहर में जनरेशन एस्टिमेट से इतना कम क्यों आ रहा है, फिर समझ आया कि रिग के कूलिंग फैन्स की हवा को छत पर लगे PV-एरे की अपोजिट डायरेक्शन में मोड़ना पड़ेगा। तब जाकर बात बनी।
वोल्टेज ड्रॉप होने पर हैशबोर्ड्स में करंट लूप बनना
जब इन्वर्टर ओवरलोड होता है और वोल्टेज ड्रॉप करता है, तो ASIC के हैशबोर्ड पर लगा इन-बिल्ट DC-DC कनवर्टर चिप्स के लिए सेट वोल्टेज (जैसे 0.36V) को मेंटेन करने की कोशिश करता है। इसके लिए वह इनपुट वोल्टेज की कमी को पूरा करने के लिए इनपुट करंट (एम्पीयर) को खींचकर बढ़ा देता है।
अगर आपका इन्वर्टर हाई-फ्रीक्वेंसी रिपल्स (pulsations) दे रहा है, तो करंट के ये झटके सीधे हैशबोर्ड के पावर फेज (MOSFETs) को फूंकना शुरू कर देते हैं। फिर वही घिसा-पिटा सीन दिखता है: पावर सप्लाई (PSU) चकाचक है, इन्वर्टर एरर कोड दिखा रहा है, लेकिन हैशबोर्ड के पावर सर्किट्स उड़ चुके हैं और चिप्स शॉर्ट-सर्किट हो गए हैं।
इंजीनियर का फाइनल वर्डिक्ट
सोलर पैनल्स पर पूरी तरह ऑफ-ग्रिड माइनिंग सेटअप करने का फायदा सिर्फ दो ही सूरतों में है:
- आपके पास पुरानी जनरेशन का फ्री या कौड़ियों के भाव मिला सेकेंड-हैंड हार्डवेयर हो (जैसे पुराने Antminer T17/S19, जिन्हें अगर दिन में सिर्फ 8 घंटे भी चलाया जाए तो कलेजा न दुखे)। सोलर पर चलाने के लिए महंगे हाइड्रो-माइनर्स या टॉप-टियर S21 खरीदना सीधे-सीधे फाइनेंशियल सुसाइड है, क्योंकि रात में वे सिर्फ धूल खाएंगे।
- आपके पास एक तगड़ा हाइब्रिड सिस्टम हो, जहां सोलर का इस्तेमाल सिर्फ दिन के पीक लोड और बिजली बिल को कम करने के लिए किया जाए, और रात होते ही रिग किसी सस्ते या सब्सिडाइज्ड टैरिफ वाले ग्रिड पर शिफ्ट हो जाए।
इसके अलावा "हरे-भरे खेतों के बीच ईको-फ्रेंडली माइनिंग" वाली बाकी सारी बातें सुनने में ही रोमैंटिक लगती हैं। हकीकत में गेम अक्सर जले हुए ट्रांजिस्टर, दम तोड़ चुकी बैटरियों और एक ऐसी ऑटोमेशन स्क्रिप्ट पर जाकर खत्म होता है जो 24 घंटे इस ताश के महल जैसे स्ट्रक्चर को रीबूट होने से बचाने के लिए छटपटाती रहती है।