Bancs HIL : architecture, composants et mise en œuvre

Hardware-in-the-loop test bench installed in a 19-inch rack with cabled I/O modules in a test lab

L'équipe logiciel a lancé des milliers de simulations, le modèle est au vert, et la première fois que le vrai calculateur est branché au banc, son entrée lit 0,3 V de trop peu et la boucle de régulation oscille. Le modèle n'y était pour rien. Le problème se trouvait dans ce qui n'est pas dans le modèle : le faisceau, le conditionnement, le retour de masse et le cadencement des E/S. Le test hardware-in-the-loop (HIL) sert justement à mettre ce matériel réel dans la boucle tôt, pendant que le reste du système est encore simulé.

Ce guide décrit l'architecture d'un banc HIL, le rôle de chaque bloc, les contraintes temps réel et les étapes qui font d'un banc un outil auquel l'équipe d'essais peut se fier.

1. Ce que signifie vraiment « dans la boucle »

Dans un banc HIL, le calculateur réel exécute son logiciel de série (ou proche de la série). Tout ce qu'il verrait autour de lui (procédé, capteurs, actionneurs, autres calculateurs) est remplacé par une simulation temps réel reliée par de vraies interfaces électriques. Le calculateur lit des signaux capteurs simulés, calcule, et pilote des sorties que la simulation relit pour mettre à jour le procédé. La boucle se referme par des fils physiques.

1.1 HIL vs SIL : où commence le matériel

  • SIL (software-in-the-loop): le logiciel du calculateur est compilé et exécuté sur PC avec le modèle du procédé. Pas de matériel, pas d'interface électrique. Itérations rapides, adapté à la logique et aux algorithmes.
  • HIL (hardware-in-the-loop): le calculateur est réel ; le procédé est simulé en temps réel. On y découvre ce que le SIL ne montre pas : seuils d'entrée, filtrage, drivers, diagnostics, démarrage, cadencement.

Les deux sont complémentaires. En amont, la co-simulation basée sur le standard FMI (Functional Mock-up Interface) permet à des modèles issus d'outils différents d'échanger des données sous forme de FMU en SIL ; ces modèles peuvent ensuite être réutilisés sur la cible HIL, après vérification de leur faisabilité temps réel.

2. La chaîne type, bloc par bloc

2.1 Schéma de principe (décrit)

De la simulation au calculateur, une chaîne HIL type comprend :

  1. Cible temps réel exécutant le modèle à pas fixe.
  2. Cartes d'E/S: entrées et sorties analogiques, E/S numériques, génération et capture PWM, interfaces de communication (CAN, CAN FD, LIN, Ethernet selon le besoin).
  3. Conditionnement: adaptation de niveau, amplification, protection, parfois émulation de capteurs (capteurs résistifs, boucles de courant).
  4. Charges: charges réelles (l'actionneur lui-même, une vanne, un moteur) ou équivalentes (résistances, charges électroniques) pour que les drivers voient un courant réaliste.
  5. Breakout et injection de défauts: accès à chaque signal et possibilité de le perturber.
  6. Faisceau: faisceau du banc, idéalement proche du faisceau véhicule en connecteurs et en cheminement.
  7. Calculateur testé, avec son alimentation et, si besoin, une alimentation programmable pour reproduire démarrages et chutes de tension.
  8. PC hôte pour la configuration, l'automatisation, le diagnostic et les rapports.

2.2 Charges réelles ou simulées ?

Les charges réelles donnent un comportement électrique réaliste (inductance, appel de courant, force contre-électromotrice) mais coûtent de la place, de la chaleur et parfois des mesures de sécurité. Les charges équivalentes sont compactes et répétables mais doivent satisfaire les diagnostics des drivers. Compromis fréquent : charges réelles là où le calculateur diagnostique la charge dynamiquement, équivalents résistifs ailleurs.

2.3 Breakout et injection de défauts comme briques du banc

Une breakout box entre faisceau et calculateur donne accès à chaque broche sans couper de fil. Une matrice d'injection de défauts au même endroit permet de créer circuits ouverts, courts-circuits et défauts résistifs sous contrôle du séquenceur (Injection de défauts sur faisceaux et calculateurs). Les prévoir dès la conception évite de recâbler plus tard.

3. Contraintes temps réel

3.1 Pourquoi un OS de bureau ne peut pas fermer la boucle

Un système d'exploitation de bureau ordonnance les tâches selon ses propres priorités. Il peut être interrompu par des mises à jour, des pilotes ou d'autres logiciels : le temps entre deux itérations n'est pas garanti. Pour une boucle de régulation, cette variation (gigue) équivaut à un retard variable dans le procédé, qui peut modifier la stabilité et les résultats d'un essai à l'autre. La boucle du modèle doit donc tourner sur une cible temps réel déterministe; le PC sert à la configuration et à la supervision. La question de la base de temps est détaillée dans Temps d'acquisition et gigue.

3.2 Exemple de calcul : choisir le pas du modèle (valeurs d'illustration)

Exemple : le calculateur lit un capteur toutes les 1 ms et le procédé a une constante de temps dominante de 20 ms. Un pas de 1 ms donne 20 pas par constante de temps, ce qui suffit en général pour un procédé du premier ordre avec un solveur à pas fixe (les modèles électriques raides ou rapides demandent un pas plus petit ou une simulation sur FPGA), et s'aligne sur l'échantillonnage du calculateur. Si le calculateur doit voir un signal PWM à 10 kHz, un pas de 1 ms est bien trop lent pour le générer par logiciel : la PWM doit être produite ou capturée par du matériel dédié (timer ou E/S à base de FPGA), le modèle ne mettant à jour que le rapport cyclique.

Exemple : latence totale de la boucle = conversion d'entrée + pas du modèle + mise à jour de sortie + retard du conditionnement. Avec 50 µs + 1 ms + 50 µs + 10 µs (valeurs supposées), la latence est d'environ 1,11 ms. À comparer avec la marge temporelle de la fonction testée avant de se fier au résultat.

4. Les points électriques qui font ou défont un banc

  • Masses: définir une stratégie de référence unique. Masses capteurs, masse puissance du calculateur et masses des cartes d'E/S ne doivent pas créer de boucles qui décalent les signaux bas niveau.
  • Chute de tension dans le faisceau: Exemple : 3 m de cuivre 0,5 mm² (environ 36 mΩ/m, soit environ 0,11 Ω par conducteur, 0,22 Ω aller-retour) parcourus par 5 A chutent d'environ 1,1 V. Si la ligne de mesure d'alimentation n'est pas câblée comme dans le véhicule, le calculateur voit une autre tension que prévu.
  • Plages de signaux: les cartes d'E/S travaillent souvent en 0–10 V ou ±10 V, pas les signaux véhicule. Le conditionnement se conçoit signal par signal, pas carte par carte.
  • Protection: une sortie calculateur reliée directement à une entrée du banc ne doit pas pouvoir l'endommager, y compris dans les états d'injection de défauts.

5. Étapes de mise en œuvre

  1. Spécification: liste des broches, types de signaux, plages, charges, bus, cas de test, exigences temporelles.
  2. Architecture: choix de la cible temps réel, des E/S, du conditionnement, des charges, de la stratégie breakout et injection.
  3. Conception et revue: schémas électriques, plans de faisceau, implantation mécanique, structure logicielle.
  4. Fabrication et intégration: armoire, faisceau, conditionnement, logiciel.
  5. Validation du banc (avant toute campagne): voir section 6.
  6. Réception: réception usine puis sur site, et formation (Qualifier un banc de test avant la production (FAT/SAT)).
  7. Maintenance: étalonnage des instruments, pièces de rechange, mises à jour logicielles.

C'est la séquence que RAYNOV suit pour ses systèmes de validation sur mesure: cahier des charges, architecture, revue de conception, fabrication, FAT, livraison avec SAT et formation, puis maintenance.

6. Valider le banc avant de valider le calculateur

Un banc HIL est lui-même un instrument de mesure. Avant la première campagne, prouvez que :

  • chaque voie est câblée sur la bonne broche (contrôle du brochage, continuité du faisceau) ;
  • chaque sortie analogique délivre la valeur commandée dans la tolérance convenue au connecteur du calculateur, pas seulement sur la carte ;
  • chaque entrée mesure correctement face à une source de référence ;
  • la boucle tient le pas spécifié sans dépassement sur un essai long ;
  • les états d'injection se comportent comme prévu et l'état neutre est transparent ;
  • les instruments sont étalonnés, avec des certificats valides (RAYNOV travaille avec des laboratoires accrédités partenaires).

Rédigez ces contrôles comme une procédure de réception avec critères conforme/non conforme. La différence entre essais de réception et de qualification est expliquée dans notre article ATP vs QTP, et notre démarche sur la page Méthodologie ATP .

7. Erreurs fréquentes

  • Faire tourner la boucle du modèle sur un OS de bureau « parce que c'est assez rapide ».
  • Dimensionner les E/S au nombre de cartes plutôt qu'au conditionnement signal par signal.
  • Utiliser des charges équivalentes qui ne satisfont pas les diagnostics de charge ouverte ou de court-circuit : le calculateur lève au banc des défauts qui n'existent pas dans le véhicule.
  • Ignorer la chute de tension du faisceau et la stratégie de masse.
  • Ajouter breakout et injection de défauts après la construction du banc.
  • Lancer les campagnes avant la réception du banc lui-même.

8. Check-list

  • [ ] Liste des broches avec type de signal, plage et charge pour chaque broche
  • [ ] Cible temps réel et pas du modèle justifiés par la fonction la plus rapide
  • [ ] E/S matérielles pour les signaux rapides (PWM, codeurs, bus)
  • [ ] Conditionnement et protection par signal
  • [ ] Stratégie de masse et de mesure d'alimentation documentée
  • [ ] Breakout et injection de défauts prévus dès la conception
  • [ ] Procédure de réception du banc rédigée et passée
  • [ ] État d'étalonnage des instruments enregistré

Pour aller plus loin


Vous définissez un banc HIL pour votre calculateur ? Contactez notre équipe d'ingénierie.

Scroll jusqu'en haut