Calcolo corrente pull-up e assorbimento a livello basso
Questo calcolatore applica la legge di Ohm a un ingresso digitale o a un'uscita open-drain collegata all'alimentazione positiva mediante un resistore pull-up.
Esegui gratis nel browser
Inserisca tensione di alimentazione e resistenza per ottenere la corrente quando il segnale viene portato a livello basso, la corrente di assorbimento equivalente in ampere e milliampere e la dissipazione ideale del resistore. Il calcolo presume un livello basso perfetto di zero volt e offre una verifica preliminare chiara per scegliere i componenti, valutare il carico del GPIO e stimare il consumo energetico.
Comprenda che cosa rappresenta la corrente di pull-up
Un resistore pull-up collega un nodo di segnale a un'alimentazione positiva affinché abbia uno stato alto definito quando nessun dispositivo lo pilota. Quando un'uscita open-drain, open-collector o digitale normale impone il livello basso, crea un percorso verso massa. La corrente scorre dall'alimentazione, attraversa il resistore ed entra nel pin di uscita. Il calcolatore considera il livello basso ideale pari a zero volt, quindi l'intera tensione di alimentazione cade sul resistore. La corrente si ricava con I = V / R. Lo stesso valore viene indicato come corrente assorbita a livello basso, perché il dispositivo deve assorbirlo continuamente mentre mantiene basso il nodo. I risultati in ampere e milliampere agevolano il confronto con la scheda tecnica. Li usi come verifica iniziale: accerti che il resistore scelto non richieda più corrente di quella che l'uscita può assorbire in sicurezza e consideri che ogni segnale mantenuto basso consuma tale corrente dall'alimentazione.
Scelga il resistore considerando corrente, velocità e potenza
Una resistenza maggiore riduce la corrente a livello basso e la potenza statica, mentre una resistenza minore rende il pull-up più forte. La scelta, tuttavia, non riguarda soltanto il risparmio energetico. Il resistore deve caricare tutta la capacità del segnale, comprese piste, connettori, pin e sonde. Un valore troppo alto può produrre un fronte di salita troppo lento per la frequenza del bus o per l'ingresso ricevente. Un valore troppo basso può superare la corrente di assorbimento garantita oppure impedire una tensione bassa valida. Confronti il risultato con i limiti massimi assoluti e le condizioni operative raccomandate del pin, senza sostituirli. La potenza riportata usa P = V² / R, cioè la dissipazione ideale durante il livello basso. Scelga un componente con adeguato margine termico. Se il segnale resta basso solo per parte del tempo, la potenza media diminuisce con il duty cycle, ma la corrente istantanea non cambia.
Interpreti l'ipotesi ideale nel circuito reale
I transistor di uscita reali normalmente non portano il segnale esattamente a zero volt. La scheda tecnica specifica una tensione massima di uscita bassa, spesso chiamata VOL, a una determinata corrente assorbita. Nel circuito il resistore riceve circa la tensione di alimentazione meno VOL, perciò la corrente effettiva è leggermente inferiore al valore ideale mostrato. Consideri il risultato una stima prudenziale quando VOL è piccola rispetto all'alimentazione. Confermi poi il progetto in modo iterativo: confronti la corrente con la condizione di prova, controlli la garanzia VOL e verifichi che il ricevitore riconosca ancora il livello basso. Consideri anche i pull-up in parallelo, la cui conduttanza complessiva può aumentare molto la corrente. Infine verifichi avvio, topologia dei convertitori di livello, tolleranza di tensione e dispersioni. La legge di Ohm risponde alla domanda sulla corrente, ma un'interfaccia digitale sicura dipende dai limiti e dalle soglie di ogni componente collegato.
Casi d'uso
Verifichi un GPIO del microcontrollore
Confermi che il GPIO possa assorbire in sicurezza la corrente richiesta quando il firmware porta bassa la linea.
Stimi il carico di un bus open-drain
Confronti valori di pull-up per interrupt, reset, I²C o altri segnali prima di verificare il tempo di salita.
Calcoli il budget di potenza statica
Determini dissipazione e corrente assorbita mentre un comando attivo basso rimane asserito.
Domande frequenti
Quanto costa il calcolo?
Viene eseguito gratuitamente nel browser. L'esecuzione tramite API costa $0.002 per richiesta.
La corrente di pull-up coincide con quella assorbita?
Sì, nell'ipotesi ideale di livello basso a zero volt. Il dispositivo deve assorbire tutta la corrente che attraversa il resistore.
Quale unità devo usare per la resistenza?
Inserisca ohm. Per 4.7 kΩ inserisca 4700; per 10 kΩ inserisca 10000.
Scorre corrente quando il segnale è alto?
Idealmente non scorre corrente continua se entrambe le estremità sono alla tensione di alimentazione. Nei circuiti reali possono esistere dispersioni.
Perché la corrente misurata può essere minore?
Un'uscita reale ha una tensione bassa non nulla; sul resistore cade l'alimentazione meno VOL, non l'intera alimentazione.
Il calcolatore sceglie un pull-up per I²C?
Verifica soltanto corrente e potenza a livello basso. Per I²C servono anche capacità, tempo di salita, frequenza e limiti di tensione.
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/pull-up-resistor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"supply_voltage":5,"resistance_ohms":10000}'const res = await fetch("https://api.kit.forhosting.com/elec/pull-up-resistor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"supply_voltage": 5,
"resistance_ohms": 10000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/pull-up-resistor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"supply_voltage": 5,
"resistance_ohms": 10000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/pull-up-resistor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"supply_voltage":5,"resistance_ohms":10000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"supply_voltage":5,"resistance_ohms":10000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/pull-up-resistor", 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
{
"supply_voltage": 5,
"resistance_ohms": 10000
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.pull_up_resistor",
"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. |