Test hipot et de rigidité diélectrique avec TofuPilot
Le test hipot (haute tension) vérifie que l'isolation électrique d'un produit peut résister à une contrainte de tension sans claquage. Il est exigé par les normes UL, IEC et la plupart des normes de sécurité pour tout produit connecté au secteur. TofuPilot enregistre chaque résultat hipot pour la traçabilité en production et la conformité.
Ce que vérifie le test hipot
Le test hipot applique une haute tension entre des circuits isolés (typiquement ligne-terre ou primaire-secondaire) et mesure le courant de fuite. Si le courant reste en dessous du seuil et qu'aucun claquage ne survient, l'isolation est adéquate.
| Paramètre | Valeur typique | Norme |
|---|---|---|
| Tension de test (AC) | 1000-3000 Vrms | IEC 60950, IEC 62368 |
| Tension de test (DC) | 1414-4243 Vdc | IEC 60601 (médical) |
| Durée | 1-60 secondes | Variable selon la norme |
| Limite de courant de fuite | 0,5-10 mA | Variable selon la classe de produit |
| Temps de rampe | 0,5-3 secondes | Évite les pics de tension |
Automatisation des tests hipot
Connexion à un testeur hipot
La plupart des testeurs hipot programmables (Chroma, Associated Research, GW Instek) supportent les commandes SCPI via GPIB, RS-232 ou LAN.
import pyvisa
from tofupilot import TofuPilotClient
rm = pyvisa.ResourceManager()
hipot = rm.open_resource("GPIB::5::INSTR")
client = TofuPilotClient()
def run_hipot_test(serial, test_voltage_v=1500, duration_s=60, leakage_limit_ma=5.0):
# Configurer le testeur hipot
hipot.write(f"VOLT {test_voltage_v}")
hipot.write(f"TIME {duration_s}")
hipot.write(f"CURR:LIM {leakage_limit_ma}")
hipot.write("RAMP 2") # Rampe de 2 secondes
# Exécuter le test
hipot.write("TEST")
hipot.query("*OPC?") # Attendre la fin
# Lire les résultats
result = hipot.query("MEAS:RES?") # "PASS" ou "FAIL"
leakage = float(hipot.query("MEAS:CURR?")) * 1000 # Convertir en mA
passed = result.strip() == "PASS"
client.create_run(
procedure_id="HIPOT-SAFETY-TEST",
unit_under_test={"serial_number": serial},
run_passed=passed,
steps=[{
"name": "Dielectric Withstand",
"step_type": "measurement",
"status": passed,
"measurements": [
{"name": "test_voltage_v", "value": test_voltage_v, "unit": "V"},
{"name": "duration_s", "value": duration_s, "unit": "s"},
{"name": "leakage_current_ma", "value": leakage, "unit": "mA", "limit_high": leakage_limit_ma},
{"name": "breakdown", "value": 0 if passed else 1, "unit": "bool", "limit_high": 0},
],
}],
)
hipot.write("VOLT 0") # Décharger
return passedTest hipot multi-points
Certains produits nécessitent des tests hipot entre plusieurs frontières d'isolation.
# Tester plusieurs frontières d'isolation
isolation_tests = [
{"name": "Line-to-Ground", "voltage": 1500, "limit_ma": 5.0},
{"name": "Line-to-Secondary", "voltage": 3000, "limit_ma": 5.0},
{"name": "Secondary-to-Ground", "voltage": 500, "limit_ma": 1.0},
]
steps = []
for test in isolation_tests:
# Configurer et exécuter chaque test
leakage = run_hipot_measurement(test["voltage"])
passed = leakage < test["limit_ma"]
steps.append({
"name": test["name"],
"step_type": "measurement",
"status": passed,
"measurements": [
{"name": f"voltage_{test['name'].lower().replace('-', '_')}", "value": test["voltage"], "unit": "V"},
{"name": f"leakage_{test['name'].lower().replace('-', '_')}", "value": leakage, "unit": "mA", "limit_high": test["limit_ma"]},
],
})
all_pass = all(s["status"] for s in steps)
client.create_run(
procedure_id="HIPOT-MULTI-POINT",
unit_under_test={"serial_number": serial},
run_passed=all_pass,
steps=steps,
)Tendance du courant de fuite
Même pour les unités conformes, suivez le courant de fuite sur l'ensemble de la production. Un processus sain montre des valeurs de fuite cohérentes. Les changements indiquent :
| Tendance | Cause possible |
|---|---|
| Augmentation progressive | Accumulation de contamination sur le PCB, résidus de flux |
| Augmentation brusque | Nouvelle révision de carte, revêtement conforme différent |
| Variance élevée | Fabrication incohérente (projections de soudure, débris) |
| Distribution bimodale | Deux fournisseurs de PCB ou lignes de fabrication différents |
L'histogramme de mesure du courant de fuite de TofuPilot révèle ces tendances sur l'ensemble de votre production.
Dossiers de conformité
Les organismes de sécurité exigent des enregistrements de test hipot par unité. TofuPilot stocke :
- Le numéro de série de l'unité testée
- La tension de test appliquée
- La durée du test
- Le courant de fuite mesuré
- Le résultat réussite/échec
- L'horodatage
- L'identification du poste/testeur
Quand un auditeur demande les enregistrements hipot pour un numéro de série ou une plage de dates spécifique, récupérez-les depuis TofuPilot en quelques secondes.
Considérations de sécurité
Le test hipot implique des tensions mortelles. Toujours :
- Utiliser des interverrouillages de sécurité appropriés sur le banc de test
- S'assurer que le DUT est complètement déchargé après le test
- Ne jamais contourner les mécanismes de sécurité du testeur hipot
- Enregistrer les dates de calibration des équipements de test
- Former les opérateurs aux procédures de sécurité hipot
TofuPilot est la couche de gestion des données. La sécurité de la configuration de test est de votre responsabilité.
Test de continuité de terre
Le test de continuité de terre est souvent réalisé conjointement au test hipot. Il vérifie que la connexion de terre de sécurité a une résistance suffisamment faible pour supporter un courant de défaut.
# Test de continuité de terre (typiquement 25 A pendant 2 secondes)
ground_resistance = measure_ground_resistance(current_a=25, duration_s=2)
client.create_run(
procedure_id="GROUND-CONTINUITY",
unit_under_test={"serial_number": serial},
run_passed=ground_resistance < 0.1,
steps=[{
"name": "Ground Bond",
"step_type": "measurement",
"status": ground_resistance < 0.1,
"measurements": [
{"name": "ground_resistance_ohm", "value": ground_resistance, "unit": "ohm", "limit_high": 0.1},
{"name": "test_current_a", "value": 25, "unit": "A"},
],
}],
)La plupart des flux de test de sécurité exécutent d'abord la continuité de terre, puis le hipot. Si la liaison de terre est défectueuse, il est inutile d'exécuter le test hipot. TofuPilot relie les deux résultats au même numéro de série pour un enregistrement complet des tests de sécurité.