Accueil Instrumentación Du PIC16F877 au PIC16F18877, vingt ans d'évolution PIC

Du PIC16F877 au PIC16F18877, vingt ans d'évolution PIC

« La grande polyvalence des produits NI a été essentielle pour s'adapter aux besoins du projet. La solution dote le système d'un contrôle automatisé des mouvements intégré au suivi des données acquises, répondant ainsi aux objectifs fixés en début de projet. – Iván Torrano, Université de Mondragon  


Le défi   

Développer un système de capture et de suivi des données aérodynamiques combiné à un contrôle de positionnement 4 axes. Les informations sont surveillées en temps réel pendant qu'elles sont stockées pour une analyse ultérieure. Le positionnement du capteur de vitesse doit être commandé dans trois directions et le modèle à analyser doit tourner, faisant ainsi varier l'angle d'incidence par rapport à la direction du vent.   


La solution
  

L'utilisation du contrôleur NI cRIO-9031 conjointement avec le module d'interface 4 axes SISU 1004 s'est avérée être une solution efficace pour effectuer le contrôle du système de positionnement. De plus, l'utilisation d'une architecture de projet NI LabVIEW a permis l'intégration de l'acquisition de données effectuée dans un châssis NI cDAQ-9174 avec contrôle de mouvement dans le même environnement graphique.   


Introduction   

Les souffleries sont la technique expérimentale la plus courante dans le domaine de l'aérodynamique et sont utilisées pour étudier le comportement d'un corps sous l'action du vent. Il existe de nombreux systèmes de mesure qui permettent d'obtenir des données sur la pression, la vitesse et les forces de résistance exercées par le vent sur l'objet d'étude. Le positionnement correct des capteurs de vitesse et de pression et du modèle lui-même est d'une importance vitale pour garantir la répétabilité et la précision des données obtenues. La solution adoptée à l'aide des logiciels et du matériel NI offre robustesse et fiabilité au système de contrôle de mouvement. De plus, la facilité et la rapidité de configuration de l'équipement d'acquisition de données réduisent les temps de configuration de chaque test.   


Objectifs  

L'objectif principal est de développer un système répondant à deux conditions : 1. Contrôler le positionnement des capteurs et/ou du modèle pour étudier rapidement et précisément différentes positions et configurations. 2. Surveillez et enregistrez les données des capteurs de vitesse, de pression, de température et de la balance dynamométrique. Enfin, il est prévu d'intégrer ces deux fonctionnalités dans un même environnement pour faciliter l'utilisation du système d'acquisition et de contrôle.   


Description du système d'acquisition et de contrôle  
 

La figure 1 donne un aperçu de la soufflerie. Dans la partie centrale, vous pouvez voir la zone de test où le modèle est installé. Dans la partie supérieure, il y a un système de guidage à 3 axes. Chaque axe est piloté par un moteur pas à pas Nema 23 avec un driver intégré de la série NI ISM 7400 qui permet de positionner le capteur de vitesse (sonde de Pitot ou anémomètre à fil chaud) en tout point (x,y,z) de l'espace. Dans la partie inférieure de la zone de test, un quatrième moteur entraîne une plaque de séparation qui permet de faire pivoter le modèle selon différents angles d'incidence. Le balancier dynamométrique est monté sur le plateau indexeur qui mesure les forces de résistance transmises à travers le support du modèle.   


Matériel
  

Il montre schématiquement le système d'acquisition et de contrôle. Le contrôleur embarqué NI cRIO-9031 est responsable du contrôle en temps réel des moteurs avec le module d'interface 4 axes SISU 1004. Chaque moteur est alimenté par une alimentation NI PS-12 et est connecté au SISU 1004 via des bornes SISU RJ-45 De plus, il existe un châssis NI cDAQ-9174 à 4 emplacements qui se connecte via USB au PC. Pour acquérir les signaux provenant des capteurs qui utilisent les modules suivants ; NI 9215 pour la sonde Pitot, NI 9201 pour l'équilibre de couple et NI 9219 pour le capteur de température RTD et l'anémomètre.   


Logiciels
 

Les programmes suivants ont été utilisés : – NI LabVIEW : la structure du projet a permis au cDAQ et au cRIO de communiquer avec le PC, générant un environnement graphique unique à partir duquel le mouvement est contrôlé pendant que les résultats sont surveillés. La programmation du code par l'utilisation d'une machine d'état permet la synchronisation des tâches. Par exemple, la figure 3 montre le projet généré dans lequel différents états sont synchronisés tels que ; Lire la coordonnée à partir d'un fichier texte, se déplacer vers ladite coordonnée, acquisition de données, etc. Ainsi, le procédé peut être automatisé pour réaliser des contours de vitesse 2D, des études de couche limite, mesurer l'évolution de la turbulence de sillage développée par l'objet d'étude ou tout autre balayage dans l'espace. – NI LabVIEW Real-Time et NI Lab-VIEW FPGA : Ces plates-formes sont essentielles pour compiler les trajectoires générées et effectuer le contrôle et le retour en temps réel des moteurs. – NI SoftMotion : La bibliothèque de mouvements programmés pour le développement simplifié du profil de mouvement a été très utile pour le développement de trajectoires prédéfinies.

Il facilite grandement la configuration des axes, ce qui signifie une configuration simple du système. De plus, la possibilité de simuler ces trajectoires dans des axes virtuels Solidworks permet de vérifier à l'avance qu'il n'y a pas de collisions avec le modèle ou avec les parois de la soufflerie.   


Conclusions  
 

La grande polyvalence des produits NI a été essentielle pour s'adapter aux besoins du projet. La solution dote le système d'un contrôle automatisé des mouvements intégré au suivi des données acquises, remplissant ainsi les objectifs fixés pour la majorité des développeurs PIC en langage C ; après tout, c'est précisément le genre de détails que les compilateurs doivent faire abstraction. C'est l'une des raisons pour lesquelles les numéros MIPS de l'ancien microcontrôleur '877 ne peuvent pas être directement comparés aux numéros MIPS des nouveaux cœurs F1 du tableau 1.  


Modifications des interruptions  

L'autre élément de l'architecture qui a fait l'objet d'améliorations significatives est le système de gestion des pannes. Alors que le nouveau cœur PIC16F1 conserve la conception originale d'interruption à vecteur unique, un nouvel ensemble de quatre registres fantômes a été ajouté pour rationaliser les séquences de sauvegarde et de rappel du contexte d'interruption. La liste 1 montre le prologue/épilogue traditionnel du PIC16 : le prologue et l'épilogue d'interruption standard utilisés pour prendre jusqu'à 56 cycles d'horloge. Avec le nouveau mécanisme de registre fantôme du PIC16F1, le besoin de deux séquences est complètement éliminé et le coût d'une interruption est réduit aux quatre cycles de base requis pour le contournement du CPU. Le résultat est une augmentation considérable de la vitesse de réponse du microcontrôleur ou de ses capacités en temps réel pouvant atteindre un ordre de grandeur.  


Flexibilité  

Si vous regardez attentivement le bas du tableau 1, vous pouvez voir un autre fait intéressant : le nombre d'E/S d'application générale disponibles pour les deux appareils est différent malgré la prétendue compatibilité entre les broches. Il s'avère que les nouveaux appareils multiplexent trois broches supplémentaires, auparavant réservées à un oscillateur à cristal et à une réinitialisation externe, et désormais disponibles en option en tant qu'E/S à usage général. Mais ce n'est qu'en fouillant plus profondément dans la fiche technique que l'on trouve la véritable pépite : TOUTES les entrées/sorties numériques des périphériques sont désormais multiplexées sur chaque broche de l'appareil ! Cette fonctionnalité s'appelle Peripheral Pin Select (PPS) et offre un énorme saut de flexibilité aux appareils PIC16F18877 et à certaines familles PIC16F1 similaires.

De même, le module de conversion A/N des nouveaux appareils PIC16F1 est désormais associé à un [très] grand multiplexeur d'entrées analogiques qui convertit jusqu'à 35 des mêmes broches en entrées analogiques possibles. Cela signifie en pratique que chaque signal analogique et/ou numérique dirigé vers/depuis le microcontrôleur peut désormais être acheminé de manière optimale sur le circuit imprimé pour contrôler le bruit, augmenter la robustesse, simplifier et accélérer le traçage, et éventuellement réduire le nombre de couches et voies, contribuant ainsi à terme à réduire les coûts.  


Périphériques indépendants du noyau  

Malheureusement, l'analyse de chaque ligne du tableau 1 ne révélera jamais l'étendue réelle du changement de fonctionnalité apporté aux dispositifs PIC16F1 de dernière génération : la présence de périphériques indépendants du cœur (CIP). Plus que chacune des fonctions périphériques (SMT, HLT, CWG, NCO, CLC, etc.), sur lesquelles nous pourrions (et avons) écrit des livres entiers et qui dans la nouvelle fiche technique occupent la majorité des 400 pages ajoutées, ce qui compte, c'est la philosophie de conception qui la sous-tend.  

Les nouveaux périphériques sont différents car ils sont conçus pour s'interfacer directement les uns avec les autres et pour exécuter des fonctions autonomes indépendantes du noyau. La figure 1 montre un exemple dans lequel un certain nombre de périphériques analogiques sont configurés pour s'interconnecter pour former une fonction d'alimentation (topologie élévatrice CC/CC de 500 kHz) capable de piloter une chaîne de LED appliquant un contrôle de courant constant. Signal de gradation PWM sans l'intervention du cœur du microcontrôleur ajouté à la configuration initiale.

Les CIP fournissent une assistance matérielle au microcontrôleur afin d'éviter les goulots d'étranglement du système causés par le CPU. Lorsque les CIP sont connectés les uns aux autres pour exécuter une fonction, les interruptions sont non seulement exécutées plus rapidement, mais sont complètement supprimées de l'application. Le résultat est une conception plus équilibrée dans laquelle le parallélisme et l'efficacité du matériel configurable rencontrent la flexibilité du logiciel. De plus, il existe d'autres CIP (non représentés sur la figure) qui sont disponibles sur d'autres microcontrôleurs PIC et permettent aux concepteurs de choisir la solution la mieux adaptée à leurs besoins.


La robustesse

Une partie importante des nouveaux modules matériels du PIC16F18877 est dédiée à l'amélioration de la robustesse du microcontrôleur. Le circuit de supervision traditionnel est remplacé par un système fenêtré qui offre de nombreuses options évolutives. Le circuit de réinitialisation de la baisse de tension (BOR) possède plusieurs seuils, des modes basse consommation et un circuit CRC SCAN dédié qui peut être utilisé pour surveiller en permanence, en arrière-plan, l'intégrité du contenu de la mémoire, sans que cela n'affecte les performances du microcontrôleur. .


Faible consommation d'énergie

En plus de conserver la possibilité de travailler en 5V et de fournir des courants continus encore plus élevés à ses E/S (jusqu'à 50mA), les caractéristiques électriques du dispositif PIC16F18877 nous permettent d'obtenir des chiffres de consommation bien inférieurs en mode actif (environ un facteur de quatre) lorsque vous travaillez dans toute la plage de tension (1,8 V – 5,5 V).

Les consommations de courant en mode passif (veille) sont d'autant plus impressionnantes qu'elles promettent une réduction de près de deux ordres de grandeur (100x). Encore une fois, seule une analyse détaillée de la fiche technique de l'appareil révélera des nouvelles sur les fonctionnalités qui étendent la capacité de contrôler la consommation avec beaucoup plus de précision, offrant de nombreux modes intermédiaires (dont le ralenti et la somnolence). De plus, un nouvel ensemble de registres (PMD) augmente la capacité de contrôler la consommation afin que chaque périphérique atteigne le niveau maximum de flexibilité.


Tout dépend des outils

Cependant, toutes les nouvelles fonctionnalités décrites ci-dessus peuvent ne pas être pertinentes dans le monde de la conception moderne, où le coût de conception est déterminé par le délai de mise sur le marché, les cycles de conception sont continus et toutes les applications sont connectées. La caractéristique la plus importante des nouveaux dispositifs PIC16F18877 pourrait être la disponibilité d'outils de développement rapide pour automatiser et accélérer la génération de code d'un ordre de grandeur par rapport à ce qui était auparavant possible.

Les microcontrôleurs PIC de dernière génération sont pris en charge par le MPLAB® Code Configurator (MCC). C'est un outil qui peut accélérer le processus fastidieux d'initialisation du périphérique de chaque appareil de quelques minutes au lieu d'heures, et certains prétendent qu'il peut éliminer complètement le besoin de lire la fiche technique (ou au moins une bonne partie de ce temps). ). Ajoutez à cela une suite complète d'outils basés sur le cloud, MPLAB Xpress, disponible pour les tests et le prototypage, ce qui le rend aussi simple et rapide que l'ouverture d'un navigateur et le chargement d'une seule page Web. Fini le besoin de télécharger un environnement de développement intégré (IDE) et un compilateur, ce qui représente des centaines de mégaoctets. Le temps nécessaire à leur installation et à leur maintenance a également disparu pour qu'ils soient correctement configurés et mis à jour. N'importe qui peut évaluer un nouveau modèle de microcontrôleur en ouvrant, personnalisant et créant un projet (échantillon) en quelques minutes au lieu de plusieurs heures.


Vous allez rater une belle opportunité !

L'engagement de Microchip à ne pas abandonner les produits tant qu'il existe une demande donne aux concepteurs la possibilité de prendre le contrôle de leur cycle d'innovation. Chaque développeur est en mesure de décider si et quand réviser une conception existante, ou simplement de la conserver telle quelle et de se concentrer plutôt sur la création de nouveaux produits qui peuvent apporter de nouvelles opportunités commerciales et de nouveaux revenus.

Cependant, lors du lancement d'une nouvelle conception, il est important d'être conscient que la sélection du même microcontrôleur fiable et authentique (populaire) pourrait signifier passer à côté de nombreuses nouvelles fonctionnalités et capacités. La cohérence de l'entreprise au fil des ans et son engagement obsessionnel envers la compatibilité [vers l'arrière] pourraient vous amener à croire que les architectures de microcontrôleurs PIC n'ont pas beaucoup changé au fil des décennies, mais cela ne pourrait pas être plus éloigné de la réalité.

Les CIP ont bouleversé l'ancien paradigme du contrôle embarqué, et de nouveaux outils de génération de code et de cloud peuvent grandement améliorer l'efficacité du processus de conception. La prochaine fois que vous aurez l'occasion de sélectionner un microcontrôleur pour une nouvelle application, prenez quelques minutes pour en savoir plus sur la dernière famille de microcontrôleurs PIC* ou vous manquerez certainement quelque chose de très important ! (*Astuce : le numéro de pièce commence par PIC16F1 suivi de quatre chiffres)


Mots clés
photo 16f877