
Contrôle de mode de courant moyen synchrone à haute performance Contrôle de courant
Vue de haut niveau
Cet exemple de code démontre une implémentation moyenne de contrôle de mode actuel pour DSPIC33CK. Il a été spécifiquement développé pour le convertisseur de buck synchrone haute performance EPC9153.
La carte démarre automatiquement le convertisseur de buck lorsque l'alimentation est appliquée à la carte, augmentant donc la tension de sortie de 0 à sa valeur nominale. La procédure de démarrage est contrôlée et exécutée par la machine d'état du contrôleur d'alimentation et comprend une procédure de démarrage configurable avec un retard de mise sous tension, une période de renforcement et un bon délai avant de passer en mode de régulation constante. Une routine de gestionnaire de défaut supplémentaire surveille en continu les données ADC entrantes et les bits d'état périphérique et arrête l'alimentation d'alimentation si la tension d'entrée est en dehors de la plage maximale définie de 41,5 V à 59,5 V (UVLO / OVLO) ou si la tension de sortie est supérieure à +/- 0,5 V de la régulation de plus de 10 millisecondes.
Produits technologiques Microchip en vedette:
Produits de conversion de puissance efficace (EPC):
Le module de convertisseur Buck Synchronous Buck EPC9153 fournit toutes les interfaces requises pour programmer et déboguer le DSPIC33CK32MP102 DSC ainsi que les points de test et les connecteurs de prise banane pour une manipulation facile et sûre du kit lors des tests de banc. L'EPC9153 QSG fournit des instructions détaillées de procédure de fonctionnement.
La carte est programmée et prête à être utilisée lors du déballage. Aucune reprogrammation du périphérique cible n'est requise pour faire fonctionner la carte à moins que des fonctionnalités ou des paramètres tels que la tension de sortie nominale ou la synchronisation de démarrage ne doivent être modifiés.


Dans le cas où les fonctionnalités basées sur le micrologiciel doivent être modifiées, le contrôleur Microchip DSPIC33CK peut être ré-programmé à l'aide du port de programmation série en circuit (ICSP) disponible sur l'interface de programmation RJ-11 ainsi que l'en-tête à 5 broches. Ces interfaces prennent en charge tous les programmeurs / débogueurs en circuit de Microchip, tels que MPLAB® ICD4, MPLAB® Real Ice ou MPLAB® Pickit4 et les dérivés précédents. Voir EPC9153 Guide de démarrage rapide pour plus de détails.
Le convertisseur commence automatiquement lorsque plus de 41,5 V CC sont appliqués sur les bornes d'entrée de l'EPC9153. Veuillez lire le guide de démarrage rapide EPC9153 pour obtenir des informations détaillées sur les exigences de configuration et de fonctionnement de cette conception de référence.
La machine d'État passe par les étapes suivantes de l'ordre chronologique:
a) Initialisation
Dans cette étape, les paramètres de boucle de contrôle sont réinitialisés à leurs valeurs par défaut, les sorties PWM sont désactivées, mais le PWM est toujours en cours d'exécution, déclenchant en continu l'ADC pour conserver la tension d'entrée et de sortie d'échantillonnage ainsi que la température de la carte.
b) Réinitialisez ceci est l'état de «retour à la chute» à partir duquel le convertisseur de mâle sera redémarré une fois qu'il a été démarré avec succès et a été arrêté en raison d'une condition de défaut (par exemple, l'entrée sous / sur-tension ou sur la condition de température)
c) La vedette après réinitialisation, la machine d'état attend que tous les drapeaux de défaut soient effacés et que les bits Activer et go soient.
D) Détage de mise sous tension (POD) Une fois que le convertisseur de buck a été effacé, la machine d'état exécutera la procédure de démarrage à partir de la puissance sur le retard. Ce n'est qu'un simple retard pendant lequel le convertisseur restera inactif, mais le gestionnaire de défauts observera les valeurs générées par l'ADC pour les conditions de défaut qui se produisent.
e) Lancez la rampe de tension après l'expiration du retard de mise sous tension, la tension d'entrée et de sortie sera mesurée. Dans le cas où la sortie du convertisseur est pré-biaisée (tension = non nul), le contrôleur d'alimentation sera «pré-chargé» avec un historique de contrôle artificiel et une sortie PWM pour accélérer doucement la tension de sortie à partir de son plus récent niveau.
f) Rample de tension maintenant La boucle de rétroaction numérique et la PWM sont activées et la valeur de référence du système de boucle fermée est incrémentée à chaque exécution de la machine d'état (intervalle de 100 µSEC). La boucle de commande a été ajustée pour fonctionner avec une fréquence croisée de> 10 kHz correspondant à la fréquence de perturbation maximale autorisée pour maintenir le système de contrôle stable.
g) Power Bonne retard après l'augmentation de la tension de référence au niveau nominal prédéfini, la machine d'état passe dans la période de bon retard de puissance. Il s'agit d'un autre délai simple où la boucle de contrôle est en régime permanent en attendant l'expiration de la période de retard.
h) En ligne après l'expiration du bon délai de puissance, le convertisseur tombe en fonctionnement nominal. Dans cette condition, il observe en continu la valeur de référence pour les modifications. Si toute autre partie du micrologiciel modifie la référence du contrôleur, la machine d'état se connectera doucement sur le nouveau niveau au lieu de varier dur la référence.
i) Suspend/Error If the power controller is shut down and reset by external commands (eg fault handler detecting a fault condition or through user-interaction), the state machine is switching into the SUSPEND state, which disables the PWM outputs and control loop execution, clears the control histories and resets the state machine back to RESET
Ce firmware utilise deux contrôleurs numériques de type II pour fermer la boucle de rétroaction dans le contrôle moyen du mode actuel. Le contrôleur est composé de deux boucles en cascade. La boucle de rétroaction de la tension extérieure détermine l'erreur de tension de sortie et calcule la référence requise pour la boucle de rétroaction de courant moyen interne. La boucle de courant moyen interne détermine l'écart le plus récent entre la nouvelle référence et le signal de rétroaction le plus récent et ajuste le cycle de service PWM pour répondre à la demande de puissance et corriger l'erreur de tension de sortie. La sortie numérique de chaque boucle est vérifiée par rapport aux seuils définis minima et maxima et, si nécessaire, serré à ces seuils définis par l'utilisateur pour protéger le matériel et empêcher la saturation en boucle.
Cette boucle de contrôle peut être activée / désactivée en utilisant le bit Activer dans le mot d'état de la structure de données du contrôleur CNPNZ_T. La modulation de gain de boucle adaptative est en permanence active dès que la boucle de commande est activée.
Le code source de la boucle de contrôle est configuré et généré par le logiciel PowerSMART ™ - Digital Control Library Designer (DCLD).
Ce logiciel de conception supplémentaire est disponible en téléchargement sur les pages GitHub:
Une fois installé, la configuration du contrôleur peut être modifiée. La configuration la plus récente peut être ouverte à partir de l'ide MPLAB X® en cliquant avec le bouton droit sur le fichier de configuration de la boucle de contrôle respective 'XXX_LOOP.DCLD' Situé dans le dossier des fichiers importants du chef de projet. Chaque boucle de contrôle est configurée dans son fichier de configuration individuel nommé 'v_loop.dcld' pour les boucles de tension et 'i_loop.dcld' pour les boucles actuelles. Lorsque vous êtes avec le bouton droit sur le bouton droit, sélectionnez «Ouvrir dans le système» pour ouvrir la configuration dans PowerSmart ™ DCLD.
Veuillez vous référer au Guide de l'utilisateur de PowerSmart ™ DCLD qui est inclus dans le logiciel et peut être ouvert à partir du menu d'aide de l'application.
Aucune interface de contrôle utilisateur n'a été ajoutée au firmware. Toute modification du micrologiciel et le fonctionnement fondamental de la conception de référence, y compris la reprogrammation de la tension de sortie nominale, peut être effectué en modifiant les valeurs spécifiques au matériel dans le fichier d'en-tête de description du matériel 'EPC9153_R10_HWDESCR.H' Situé dans 'Project Manager => Files d'en-tête / config'
Les paramètres de convertisseur dans ce fichier sont définis comme des valeurs physiques telles que Volt, ampère, OHM, etc. Chaque valeur définie est convertie en nombres binaires par des macros dits, au moment de la compilation. Ainsi, les utilisateurs n'ont pas à convertir les valeurs manuellement.
Pour programmer le convertisseur pour fournir une tension de sortie nominale différente de l'ensemble DC 12 V par défaut, suivez ces étapes:
Le réglage de la tension de sortie nominale est défini en utilisant ces définies
#define BUCK_VOUT_NOMINAL (float)20.000 // Nominal output voltage
#define BUCK_VOUT_TOLERANCE_MAX (float)0.500 // Output voltage tolerance [+/-]
#define BUCK_VOUT_TOLERANCE_MIN (float)0.100 // Output voltage tolerance [+/-]
Les paramètres de tolérance ci-dessus incluent la réponse transitoire à une étape de charge maximale. La valeur de la tolérance de tension de sortie maximale 'Buck_Vout_Toleance_Max' est observée par le gestionnaire de défauts. Si la lecture de tension de sortie détourne de la valeur de tension de référence la plus récente de plus que la plage donnée, le convertisseur sera arrêté et une erreur de réglementation sera indiquée. L'alimentation se rétablira automatiquement dès que la condition de défaut a été effacée et la période de retard de récupération spécifiée par Buck_Regerr_Recovery_Delay, déclaré dans le fichier d'en-tête de la description du matériel EPC9148, a expiré. La sensibilité au déclenchement de défaut peut être ajustée en modifiant la déclaration buck_regerr_trip_delay.
(Les numéros de ligne donnés peuvent être sujets à modification)
Ces exemples de code comprennent une autre boucle de contrôle proportionnelle qui est couramment utilisée pendant les mesures de la réponse en fréquence de la centrale électrique. Lorsque la définition suivante est définie sur true, la boucle de commande principale commune est remplacée par le contrôleur proportionnel.
app_power_control.c, line 33: #define PLANT_MEASUREMENT false
Les contrôleurs proportionnels sont par défaut instables et non adaptés pour réguler la sortie d'une alimentation dans des conditions de fonctionnement normales. Pendant une mesure de l'usine, il est obligatoire que la tension et la charge d'entrée restent stables et ne changent pas.
Pour plus d'informations sur la façon d'effectuer une mesure de la centrale, veuillez vous référer à la section 6.1 du Guide de l'utilisateur PowerSmart ™ DCLD.
c) 2020, Microchip Technology Inc.