L'architecture matérielle est répartie sur quatre cartes distinctes : la carte de contrôle, la carte de pilotage, la carte d'alimentation et la carte de filtrage. La carte de contrôle intègre le DSP F28069 en tant que noyau, accompagné d'un étage analogique avec l'amplificateur isolé AMC1300 de Texas Instruments, spécialement conçu pour la plage d'entrée de ±250 mV, idéal pour l'échantillonnage de courant dans les systèmes de servomoteur. La carte de pilotage utilise six sources d'alimentation isolées indépendantes avec un circuit de protection contre la désaturation, et la disposition maintient les traces de signal PWM en dessous de 25 mm, réduisant les pertes de commutation de 13 % par rapport à certains concurrents. La carte d'alimentation adopte une topologie PFC entrelacée, exploitant le module HRPWM intégré du F28069 pour générer deux signaux déphasés de 180 degrés, abaissant la distorsion harmonique totale (THD) à moins de 3 %.
Le code firmware, bien que peu documenté, contient des routines cruciales. L'exemple suivant illustre la configuration du module PWM :
void InitialisationPWM(void) {
RegistresPWM1.PeriodeBase = FrequenceHorloge * 2; //Réglage empirique du temps mort
RegistresPWM1.ValeurComparateur = RapportCyclique * 0.95; //Marge de sécurité de 5 %
RegistresPWM1.ConfigurationMort.Bits.POLSEL = ActifHautBas; //Technique d'optimisation éprouvée
}
Cette configuration, bien que simple en apparence, inclut des coefficients et paramètres affinés au fil de mois de réglages. Le réglage du registre DBCTL permet de combiner des fronts actifs hauts et bas pour réduire les surtensions de désactivation des IGBT de 0,7 V.
La section algorithmique est centrale, avec l'implémentation du contrôle vectoriel des champs (FOC) :
void CalculControleVectoriel(void) {
TransformationClark(courantA, courantB, &Ialpha, &Ibeta);
TransformationPark(Ialpha, Ibeta, angleRotor, &Id, &Iq);
// Vingt lignes de code pour le contrôleur PI avec anti-saturation omises
TransformationParkInverse(Vd, Vq, angleRotor, &Valpha, &Vbeta);
ModulationParVecteurSpatial(Valpha, Vbeta); //Méthode avancée de modulation
}
Bien que les noms de fonctions soient standards, le mécanisme de limitation de sortie du contrôleur PI comporte des astuces : lorsque l'erreur de la boucle de courant dépasse un seuil, il bascule automatiquement en mode de contrôle par mode glissant. Cette stratégie hybride assure une stabilité exemplaire lors de charges soudaines, avec des fluctuations de vitesse inférieures à ±0,2 %.
Les annotations du code sont minimlaes. Par exemple, le code d'étalonnage de l'ADC se résume à :
AutoCalibrationDecalageADC(); //Résultat d'un développement prolongé
Sans consulter les notes d'application du composant, il est difficile de savoir qu'un délai manuel de 50 µs est nécessaire ici. Il est recommmandé aux débutants de s'exercer avec les exemples officiels de Texas Instruments avant de tenter cette solution.
La conception du PCB est remarquable. La carte de pilotage utilise un bus de puissance à faible inductance, formé par des plans de cuivre sur les deux faces. Une technique ingénieuse consiste à placer un réseau symétrique de six vias sous le module IGBT, combiné avec une épaisseur de cuivre de 2 oz, réduisant l'inductance parasite en dessous de 7 nH. Sur la carte de filtrage, l'angle d'orientation de l'inductance en mode commun, par rapport à une disposition verticale, diminue les interférences électromagnétiques de 6 dB, un détail qui requiert une expertise profonde en conception de circuits imprimés.
Lors des tests en conditions réelles avec une charge de 30 N·m, le moteur produit un son audible avec un amortissement. L'analyse des formes d'onde PWM révèle que l'algorithme de compensation du temps mort passe en mode d'ajustement dynamique à basse vitesse. Cependant, pour maîtriser cette solution, un imageur thermique infrarouge est recommandé : lors d'un paramétrage incorrect, la température des transistors MOS peut atteindre 120 °C en un instant.