Calculateur de rapport cyclique
Une impulsion de 2 ms sur une période de 10 ms donne un rapport cyclique de 20 %, avec 8 ms à l'état bas. Saisissez les deux durées dans la même unité, sans tension ; une impulsion plus large que sa période est refusée. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Largeur d'impulsion
- 2
- Période
- 10
- Temps d'arrêt
- 8 %
- Rapport cyclique
- 20
- Rapport cyclique (%)
- 20
- Fraction du rapport cyclique
- 0,2
Un calculateur de rapport cyclique convertit deux durées — la largeur d’impulsion de l’intervalle actif et la période du cycle complet qui se répète — en le pourcentage de temps pendant lequel une forme d’onde reste haute. La formule fermée est le pourcent de duty égal à la largeur d’impulsion divisée par la période, fois cent. Utilisateurs d’oscilloscope, auteurs de micrologiciel, ingénieurs radar et étudiants rencontrent ce rapport lorsqu’ils décrivent une onde carrée, une validation d’horloge, un tir laser ou un stroboscope numérique, sans avoir besoin d’une tension d’alimentation ni d’un modèle de tension moyenne. La largeur d’impulsion ne doit pas dépasser la période : une impulsion trop large sort d’un seul cycle, et ce point d’accès échoue plutôt que de signaler en silence plus de cent pour cent.
Ce que le rapport cyclique signifie et comment le pourcent est défini
Le rapport cyclique est la fraction d’un intervalle répétitif pendant laquelle un signal, un interrupteur ou une impulsion est à l’état actif. Pour une forme d’onde à deux niveaux qui reste haute pendant une largeur d’impulsion tau puis basse jusqu’au prochain front identique, la période T est le temps d’un début de cycle au suivant, et le rapport cyclique en pourcent est cent fois tau divisé par T. Le temps bas complémentaire est T moins tau, et la fréquence de répétition est l’inverse de T.
Le rapport est adimensionnel, donc tau et T doivent partager une unité de temps — tous deux en microsecondes, tous deux en millisecondes ou tous deux en secondes — avant de diviser ; mélanger les unités mettrait le pourcent à l’échelle en silence.
Les nombres de cours sont immédiats : une impulsion de deux millisecondes dans une période de dix millisecondes fait vingt pour cent ; une impulsion de cinq microsecondes dans une période de huit microsecondes fait soixante-deux virgule cinq pour cent ; une impulsion qui remplit toute la période fait cent pour cent ; une impulsion de largeur nulle fait zéro pour cent. La période doit être strictement positive car un cycle de longueur nulle ne laisse aucun dénominateur fini, et une durée négative n’est pas une période physique.
Cette dernière règle est l’inverse d’un assistant PWM de tension moyenne qui peut signaler un duty au-dessus de l’unité pour qu’un carnet de labo voie un compare-match trop large ; ici l’intention de recherche est le pourcent de manuel, qui vit sur l’intervalle fermé de zéro à cent. Utilisez la même formule sur une validation d’horloge, un train d’impulsions radar, un Q-switch laser ou un stroboscope numérique : la définition ne dépend pas de l’amplitude, et cette page ne demande pas de volts.
Enseignants et correcteurs automatiques soignent le domaine autant que l’arithmétique : un étudiant qui met T égal à zéro a quitté la formule, et un Infinity silencieux masquerait cette erreur.
Conseils pratiques, limites et recherches associées
Gardez la largeur d’impulsion et la période dans la plage absolue publiée pour que le rapport reste fini sous le plafond de magnitude. Utilisez la même unité de temps pour les deux champs avant d’appeler si vous voulez un duty déjà adimensionnel et une fréquence déjà dans le réciproque de cette unité sans rescaling mental ensuite.
Cette page vise qui cherche un calculateur de rapport cyclique, une largeur d’impulsion sur période ou un pourcent de duty en ligne ; ce n’est ni un outil PWM de tension moyenne, ni un dimensionneur RC astable 555, ni un programmeur de registres de timer microcontrôleur, ni un simulateur SPICE transitoire complet.
Préférez cette capacité lorsque vous avez déjà largeur d’impulsion et période scalaires et n’avez besoin que du pourcent de manuel de zéro à cent ; si votre source est un compare-match et un diviseur d’horloge, convertissez d’abord en secondes ou ticks pour que les deux intervalles partagent une unité.
Cas d’usage
Contrôles d’oscilloscope et de laboratoire
Convertissez les mesures de curseur de largeur d’impulsion et de période en pourcent de rapport cyclique de manuel, sans tableur ni calculateur qui autorise en silence un duty au-dessus de l’unité.
Configuration de micrologiciel et de timers
Transformez le temps haut prévu et la période complète en le pourcent de duty qu’une fiche technique, un commentaire ou un test unitaire doivent citer avant de programmer un registre compare-match.
Oracles radar, communications et devoirs
Calculez le duty d’un train d’impulsions pour des problèmes radar ou stroboscope numérique, et rejetez les périodes nulles ou impulsions trop larges comme un correcteur devrait marquer ces erreurs de domaine.
Questions fréquentes
Comment calcule-t-on le rapport cyclique à partir de la largeur d’impulsion et de la période ?
Conservez les deux durées dans la même unité de temps pour que le rapport soit adimensionnel et le résultat un pourcent sur l’intervalle fermé de 0 à 100.
Et si la largeur d’impulsion est plus grande que la période ?
Une impulsion plus large qu’une période sort du modèle de manuel, donc ce calculateur n’émet pas un pourcentage au-dessus de 100.
Quelles unités doivent utiliser la largeur d’impulsion et la période ?
Toute unité de temps partagée : secondes, millisecondes, microsecondes ou ticks d’horloge. Seul le rapport compte. Mélanger les unités (ms avec µs) met le pourcent à l’échelle en silence, donc convertissez d’abord.
Le calculateur de rapport cyclique est-il gratuit ?
L’outil du navigateur est gratuit et s’exécute en local.
Qu'affiche le résultat en plus du pourcentage ?
Il donne aussi le rapport sous forme de fraction simple, le temps à l'état bas et la fréquence de répétition. Pour une impulsion de 2 ms sur 10 ms, cela fait 0,2, 8 ms à l'état bas et 0,1 cycle par milliseconde.
Outils associés
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/duty-cycle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pulse_width":2,"period":10}'const res = await fetch("https://api.kit.forhosting.com/elec/duty-cycle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pulse_width": 2,
"period": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/duty-cycle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pulse_width": 2,
"period": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/duty-cycle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pulse_width":2,"period":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pulse_width":2,"period":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/duty-cycle", 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
{
"pulse_width": 2,
"period": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.duty_cycle",
"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.
Limites
max_abs | 1000000000000 |
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. |
Notes techniques
Saisissez pulse_width et period dans la même unité de temps ; l’outil renvoie le rapport cyclique en pourcent avec la fraction adimensionnelle, le temps bas complémentaire et la fréquence réciproque. La période doit être strictement positive : une période nulle diviserait par zéro, donc l’API renvoie invalid_input au lieu d’Infinity. Le chemin est une arithmétique déterministe pure — pas de réseau, pas de graines aléatoires, pas d’horloge murale — de sorte que l’exécuteur gratuit du navigateur et l’API prépayée coïncident après l’arrondi fixe. Les appels API réussis utilisent le tarif de base publié $0.002 ; une entrée invalide n’est pas facturée.
Ce que le rapport cyclique signifie et comment le pourcent est défini
La largeur d’impulsion doit être non négative et ne pas dépasser la période : une impulsion plus longue qu’un cycle ne peut pas s’exprimer comme duty à l’intérieur de ce cycle, et ce calculateur rejette ce cas avec invalid_input plutôt que d’inventer un pourcentage au-dessus de cent.
Comment appeler l’API et ce qui revient
La largeur d’impulsion doit être non négative et pas plus grande que la période ; une impulsion trop large échoue avec un message indiquant que la largeur d’impulsion dépasse la période. Champs manquants, chaînes vides, jetons non numériques, NaN et infinis échouent en nommant le champ. Associez la réponse à votre propre tracé si vous avez besoin d’un croquis de l’onde carrée ; ce point d’accès calcule le duty scalaire et n’émet ni images d’oscilloscope ni bitfields de registres de timer. Envoyez un corps JSON avec deux nombres finis obligatoires : pulse_width (alias pw, t_pulse, width, ton, t_on, high_time et pulse) pour l’intervalle actif, et period (alias T, t_period, cycle_time et t) pour la longueur complète du cycle dans la même unité de temps. Les valeurs absolues doivent rester dans la limite publiée d’un billion pour que les rapports intermédiaires restent finis en double précision IEEE sur le Worker et dans le navigateur. La période doit être strictement positive ; les valeurs dont la magnitude absolue est inférieure ou égale à 1e-15 sont traitées comme zéro et rejetées, et toute période strictement négative est aussi invalid_input. En cas de succès, la réponse renvoie pulse_width et period arrondis, fixe duty_cycle et duty_percent à la même valeur en pourcent, duty_fraction au rapport adimensionnel, off_time à period moins pulse_width, frequency à un sur period, formula à la chaîne documentée de pourcent, equation à une ligne de substitution lisible, unit au signe pour cent, message à un court résumé en anglais de l’implémentation, et steps à un tableau ordonné de valeurs données, formule, fraction, pourcent, temps bas, fréquence et résumé. Une validation échouée renvoie invalid_input et n’est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item. Préférez envoyer des nombres JSON plutôt que des chaînes préformatées lorsque vous contrôlez le client ; les chaînes numériques ne sont acceptées que si elles correspondent à un motif numérique fini strict incluant une notation scientifique optionnelle.
Conseils pratiques, limites et recherches associées
En enseignement, couplez des exemples : largeur d’impulsion deux et période dix donnent vingt pour cent ; largeur d’impulsion cinq et période huit donnent soixante-deux virgule cinq pour cent ; largeur d’impulsion égale à la période donne cent pour cent ; largeur d’impulsion zéro avec période positive donne zéro pour cent ; mettre la période à zéro démontre le chemin dur invalid_input ; et une impulsion de douze avec période dix démontre le rejet pour excès de largeur qui distingue cette page des assistants PWM qui autorisent un duty au-dessus de cent pour cent. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires bon marché lorsque les apprenants mettent volontairement la période à zéro. Les contrôles aller-retour sont faciles : recalculez la largeur d’impulsion divisée par la période fois cent à la main et confirmez que le duty_cycle publié correspond dans le même arrondi à douze décimales, et confirmez que mettre les deux durées à l’échelle par le même facteur positif laisse le pourcent inchangé comme la formule le prédit.
Questions techniques
Que se passe-t-il lorsque la période est nulle ?
Le rapport pulse_width / period n’est pas défini. Cet outil renvoie invalid_input au lieu d’Infinity ou NaN, et la tâche échouée n’est pas facturée.