Calcolatore dell’equazione di Shockley per diodi
Il calcolatore dell’equazione di Shockley determina la corrente in un modello di diodo ideale usando la tensione applicata, la corrente inversa di saturazione e la tensione termica.
Esegui gratis nel browser
Valuta I = Is × (exp(Vd / Vt) − 1), restituisce la corrente in ampere e indica anche la tensione normalizzata impiegata nell’esponenziale. Il calcolo è deterministico e non usa la rete, quindi è adatto a verifiche rapide, lezioni, sostituzione di fogli elettronici e procedure di ingegneria riproducibili.
Comprendere l’equazione di Shockley
L’equazione di Shockley descrive la relazione fortemente non lineare fra la tensione ai capi di una giunzione ideale e la corrente risultante. In questo calcolatore Vd è la tensione applicata in volt, Is è la corrente inversa di saturazione in ampere e Vt è la tensione termica in volt. Il calcolo è I = Is × (exp(Vd / Vt) − 1). Una tensione positiva moderata può produrre una corrente diretta elevata perché compare in un esponenziale; con una tensione abbastanza negativa, l’esponenziale tende a zero e la corrente modellata si avvicina a meno Is. Tale comportamento rappresenta la saturazione inversa prima della rottura, non la valanga o la rottura Zener. In prossimità della temperatura ambiente Vt è circa 25.85 millivolt, ma Lei può fornire il valore coerente con le proprie ipotesi. Questa forma assume un fattore di idealità pari a uno. Se contano resistenza serie, ricombinazione, autoriscaldamento, variazioni della dispersione o rottura, utilizzi un modello del dispositivo o SPICE più completo.
Inserire parametri con unità coerenti
Indichi voltage e thermal_voltage in volt, e saturation_current in ampere. La polarizzazione diretta richiede una tensione positiva; quella inversa una tensione negativa. Tutti e tre i valori devono essere finiti, mentre corrente di saturazione e tensione termica devono essere anche strettamente positive. Per esempio, inserisca 0.6 V, 1e-12 A e 0.02585 V per stimare una giunzione al silicio semplificata. Per rappresentare 25.85 mV scriva 0.02585 V, non 25.85. Analogamente, un nanoampere corrisponde a 1e-9 A. La risposta contiene diode_current, gli ingressi ripuliti e normalized_voltage, cioè Vd diviso Vt. Tale rapporto chiarisce il rapido cambiamento del risultato. L’implementazione usa expm1 per mantenere precisione vicino allo zero. Gli ingressi che causerebbero un overflow vengono rifiutati anziché restituire Infinity, così i client automatici ricevono un errore chiaro invece di JSON inutilizzabile.
Usare il risultato entro i limiti del modello
Consideri la corrente restituita come il risultato di un modello analitico compatto, non come una corrente garantita per uno specifico diodo reale. Is può variare molto tra componenti e al cambiare della temperatura; Vt dipende a sua volta dalla temperatura assoluta. I circuiti reali comprendono inoltre resistenza della sorgente, resistenza interna del diodo, collegamenti e limiti di potenza che vincolano la corrente prevista da un esponenziale privo di limitazioni. Lo strumento è particolarmente indicato per didattica, analisi di sensibilità, stime preliminari e test di regressione. In un progetto hardware confronti il risultato con il datasheet e includa il circuito circostante. In polarizzazione inversa non applichi questa equazione nella regione di rottura. Il browser esegue il calcolo localmente; l’automazione API costa $0.002 per richiesta riuscita. Entrambi i canali condividono lo stesso risolutore puro, quindi gli stessi ingressi producono lo stesso JSON senza orologio, casualità, servizi esterni o dipendenze nascoste. Gli errori di validazione sono comunicati prima di generare un risultato.
Casi d'uso
Verificare un esercizio sui diodi
Valuti il modello ideale e controlli la tensione normalizzata senza riscrivere continuamente l’espressione esponenziale in una calcolatrice generica.
Eseguire analisi di sensibilità
Richiami l’API con tensioni, correnti di saturazione o tensioni termiche diverse per osservare la variazione della corrente modellata.
Creare test deterministici
Generi correnti stabili per esempi e prove software che richiedono una formula trasparente priva di dipendenze di rete.
Domande frequenti
Quale formula usa questo calcolatore?
Usa I = Is × (exp(Vd / Vt) − 1), dove Vd è la tensione del diodo, Is la corrente di saturazione e Vt la tensione termica.
L’equazione include un fattore di idealità?
No. Questa capacità implementa la forma richiesta a tre parametri, equivalente a un fattore di idealità pari a uno.
La tensione applicata può essere negativa?
Sì. Una tensione negativa rappresenta la polarizzazione inversa, nella quale la corrente tende al valore negativo della corrente di saturazione prima della rottura.
Viene modellata la rottura Zener o a valanga?
No. L’espressione adottata non comprende rottura inversa, resistenza serie o autoriscaldamento.
Quanto costa?
Il calcolatore nel browser è gratuito. Le richieste automatizzate tramite API costano $0.002 per elemento elaborato correttamente.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/elec/shockley-diode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"voltage":0.6,"saturation_current":1e-12,"thermal_voltage":0.02585}'const res = await fetch("https://api.kit.forhosting.com/elec/shockley-diode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"voltage": 0.6,
"saturation_current": 1e-12,
"thermal_voltage": 0.02585
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/shockley-diode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"voltage": 0.6,
"saturation_current": 1e-12,
"thermal_voltage": 0.02585
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/shockley-diode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"voltage":0.6,"saturation_current":1e-12,"thermal_voltage":0.02585}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"voltage":0.6,"saturation_current":1e-12,"thermal_voltage":0.02585}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/shockley-diode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"voltage": 0.6,
"saturation_current": 1e-12,
"thermal_voltage": 0.02585
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.shockley_diode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |