Calculateur de courant pull-up et d'absorption à l'état bas
Ce calculateur applique la loi d'Ohm à une entrée numérique ou à une sortie à drain ouvert reliée à une alimentation positive par une résistance pull-up.
Lancer gratuitement
Saisissez la tension d'alimentation et la résistance pour déterminer le courant lorsque le signal est forcé à l'état bas, le courant d'absorption équivalent en ampères et milliampères, ainsi que la dissipation idéale de la résistance. Le calcul suppose un niveau bas parfait de zéro volt et constitue une première vérification claire pour choisir les composants, évaluer la charge d'un GPIO et prévoir la consommation.
Comprenez la signification du courant de pull-up
Une résistance pull-up relie un nœud de signal à une alimentation positive afin de lui donner un état haut défini lorsqu'aucun composant ne le pilote. Lorsqu'une sortie à drain ouvert, à collecteur ouvert ou numérique ordinaire impose un état bas, elle crée un chemin vers la masse. Le courant part alors de l'alimentation, traverse la résistance et entre dans la broche de sortie. Le calculateur assimile l'état bas idéal à zéro volt : toute la tension d'alimentation se trouve donc aux bornes de la résistance. Il applique I = V / R. Ce même courant est indiqué comme courant absorbé à l'état bas, puisque la sortie doit l'absorber en permanence tant qu'elle maintient le nœud bas. Les résultats en ampères et milliampères facilitent la comparaison avec la fiche technique. Vérifiez que la résistance choisie n'exige pas davantage que la sortie ne peut absorber en sécurité et rappelez-vous que chaque signal maintenu bas consomme ce courant.
Choisissez la résistance selon le courant, la vitesse et la puissance
Une résistance plus élevée réduit le courant à l'état bas et la puissance statique, tandis qu'une valeur plus faible renforce le rappel. Le choix ne concerne toutefois pas uniquement l'énergie. La résistance doit charger toute la capacité du signal, y compris les pistes, connecteurs, broches et sondes. Une valeur excessive peut rendre le front montant trop lent pour le bus ou l'entrée réceptrice. Une valeur trop faible peut dépasser le courant d'absorption garanti ou empêcher la sortie de conserver un niveau bas valide. Utilisez le résultat avec les valeurs maximales absolues et les conditions recommandées de la broche, sans les remplacer. La puissance affichée suit P = V² / R, soit la dissipation idéale pendant l'état bas. Choisissez une puissance nominale avec une marge thermique confortable. Si le signal n'est bas qu'une partie du temps, la puissance moyenne diminue avec le rapport cyclique, mais le courant instantané reste identique.
Transposez l'hypothèse idéale au circuit réel
Les transistors de sortie réels n'abaissent généralement pas le signal jusqu'à exactement zéro volt. La fiche technique donne une tension de sortie basse maximale, souvent appelée VOL, pour un courant d'absorption précis. Dans le circuit, la résistance reçoit environ la tension d'alimentation moins VOL ; le courant réel est donc légèrement inférieur à la valeur idéale affichée. Considérez ce résultat comme une estimation prudente lorsque VOL reste faible devant l'alimentation. Confirmez ensuite la conception de façon itérative : comparez le courant à la condition d'essai, consultez la garantie de VOL et vérifiez que le récepteur reconnaît encore un état bas. Tenez aussi compte des résistances pull-up en parallèle, dont les conductances additionnées peuvent fortement accroître le courant. Enfin, examinez le démarrage, les convertisseurs de niveau, la tolérance en tension et les fuites. La loi d'Ohm répond au courant, mais une interface sûre dépend des limites et seuils de tous les composants.
Cas d’usage
Vérifiez un GPIO de microcontrôleur
Confirmez qu'un GPIO peut absorber sans risque le courant demandé lorsque le micrologiciel force la ligne à l'état bas.
Estimez la charge d'un bus à drain ouvert
Comparez des valeurs de pull-up pour une interruption, un reset, un bus I²C ou un autre signal avant de contrôler le temps de montée.
Établissez le budget de puissance statique
Calculez la dissipation et le courant consommé tant qu'une commande active à l'état bas reste affirmée.
Questions fréquentes
Combien coûte le calcul ?
Il s'exécute gratuitement dans le navigateur. Une exécution par API coûte $0.002 par requête.
Le courant pull-up est-il identique au courant absorbé ?
Oui, avec l'hypothèse idéale d'un état bas à zéro volt. Le dispositif absorbe tout le courant traversant la résistance.
Quelle unité faut-il utiliser pour la résistance ?
Saisissez des ohms. Pour 4.7 kΩ, saisissez 4700 ; pour 10 kΩ, saisissez 10000.
Un courant circule-t-il lorsque le signal est haut ?
Idéalement, aucun courant permanent ne circule si les deux extrémités sont à la tension d'alimentation. Un circuit réel présente parfois des fuites.
Pourquoi le courant mesuré peut-il être inférieur ?
Une sortie réelle possède une tension basse non nulle ; la résistance reçoit l'alimentation moins VOL, et non sa totalité.
Ce calculateur choisit-il une résistance pull-up I²C ?
Il vérifie seulement courant et puissance à l'état bas. I²C exige aussi la capacité, le temps de montée, la fréquence et les limites de tension.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"supply_voltage": 5,
"resistance_ohms": 10000
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.pull_up_resistor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |