Projet Altium : LED 60 ans INSA
Introduction
Dans le cadre de notre cursus a l'INSA Toulouse en specialite Automatique et Electronique, nous avons realise un projet complet de conception electronique avec Altium Designer. Le projet, intitule "LED 60 ans INSA", visait a celebrer le 60e anniversaire de l'ecole avec un dispositif d'eclairage innovant et esthetique, comprenant des LEDs RGB controlees via un microcontroleur STM32.
Ce projet couvrait de nombreux aspects techniques, de la conception du PCB a la conception mecanique et logicielle, nous permettant de pratiquer des competences cles en ingenierie electronique et systemes embarques.
Objectifs du projet
Les objectifs de ce projet etaient multiples :
- Concevoir un circuit electronique capable de controler des LEDs RGB suivant un diagramme fonctionnel specifique.
- Creer un PCB avec Altium Designer repondant aux contraintes electriques et mecaniques tout en optimisant le routage.
- Concevoir un boitier 3D pour abriter le circuit imprime et les composants electroniques avec Fusion 360.
- Programmer un microcontroleur STM32 pour controler les LEDs RGB via un bus SPI.
- Assurer l'integration de l'ensemble en un systeme robuste, fonctionnel et esthetique.
Altium Project: LED 60 Years INSA
Introduction
As part of our curriculum at INSA Toulouse in the Automatic and Electronic specialty, we completed a comprehensive electronic design project using Altium Designer. The project, titled "LED 60 Years INSA," aimed to celebrate the school's 60th anniversary with an innovative and aesthetic lighting device, featuring RGB LEDs controlled via an STM32 microcontroller.
This project covered many technical aspects, from PCB routing to mechanical and software design, allowing us to practice key skills in electronic engineering and embedded systems.
Project Objectives
The objectives of this project were multiple:
- Design an electronic circuit capable of controlling RGB LEDs following a specific functional diagram.
- Create a PCB with Altium Designer that meets electrical and mechanical constraints while optimizing routing.
- Design a 3D enclosure to house the printed circuit board and electronic components using Fusion 360.
- Program an STM32 microcontroller to control the RGB LEDs via an SPI bus.
- Ensure the integration of the whole system into a robust, functional, and aesthetically pleasing system.
Conception et routage avec Altium Designer
Selection des composants
La premiere etape du projet etait de selectionner les composants appropries pour la conception. Nous avons choisi :
- LEDs WS2812B : LEDs RGB adressables pouvant etre controlees individuellement via un bus SPI.
Design and Routing with Altium Designer
Component Selection
The first step of the project was to select the appropriate components for the design. We chose:
- WS2812B LEDs: Addressable RGB LEDs that can be individually controlled via an SPI bus.
- STM32F103C8T6 : Un microcontroleur base sur ARM Cortex-M3, compatible avec le protocole SPI et offrant de bonnes performances pour les applications embarquees.
- STM32F103C8T6: An ARM Cortex-M3 based microcontroller, compatible with the SPI protocol and offering good performance for embedded applications.
- Composants d'alimentation, notamment des regulateurs de tension et des convertisseurs DC-DC pour gerer les differentes alimentations (USB et batteries).
- Power supply components, including voltage regulators and DC-DC converters to manage different power supplies (USB and batteries).
Schema du circuit
L'etape suivante etait de creer les schemas electroniques dans Altium Designer. Les principaux sous-systemes du circuit comprennent :
- Alimentation : Gestion de differentes sources d'energie (USB ou batteries) et regulation de la tension pour alimenter les LEDs et le microcontroleur.
- Commande des LEDs : Utilisation du bus SPI pour envoyer des donnees aux LEDs afin de gerer leur couleur et leur intensite.
- Gestion de la programmation : Integration d'une interface pour programmer le STM32 via un bootloader USB.
Circuit Schematic
The next step was to create the electronic schematics in Altium Designer. The main subsystems of the circuit include:
- Power supply: Managing different energy sources (USB or batteries) and regulating the voltage to power the LEDs and the microcontroller.
- LED control: Using the SPI bus to send data to the LEDs to manage their color and intensity.
- Programming management: Integrating an interface to program the STM32 via a USB bootloader.
Routage et optimisation
Apres la conception des schemas, nous avons route le PCB dans Altium Designer, en tenant compte du placement des composants et des contraintes de pistes. Les etapes cles du processus de routage comprennent :
- Placement strategique des composants : Positionnement des LEDs pres des bords pour une diffusion uniforme de la lumiere et du microcontroleur au centre pour faciliter les connexions.
- Minimisation des interferences : Suivi des bonnes pratiques de routage pour eviter les interferences electromagnetiques, comme l'optimisation de la largeur des pistes d'alimentation et des pistes de donnees du bus SPI.
- Respect des contraintes mecaniques : Optimisation du placement des connecteurs d'alimentation et de programmation pour correspondre aux ouvertures du boitier 3D.
Routing and Optimization
After designing the schematics, we routed the PCB in Altium Designer, considering component placement and track constraints. Key steps in the routing process include:
- Strategic component placement: Positioning the LEDs near the edges for uniform light diffusion and the microcontroller in the center for easy connections.
- Minimizing interference: Following best practices in routing to avoid electromagnetic interference, such as optimizing the width of power tracks and SPI bus data tracks.
- Meeting mechanical constraints: Optimizing the placement of power and programming connectors to match the openings in the 3D enclosure.
Resultats du routage
Le routage final a ete realise sur une carte double couche, permettant la separation des signaux critiques (bus SPI) et des alimentations pour reduire les interferences. Le respect des contraintes de fabrication etait essentiel, avec des pistes suffisamment larges pour supporter le courant requis par les LEDs RGB.
Conception mecanique avec Fusion 360
Modelisation du boitier
Le boitier, concu avec Fusion 360, etait destine a proteger et mettre en valeur l'electronique. Les caracteristiques principales comprennent :
- Corps principal : Supporte le PCB et offre de l'espace pour les batteries et l'alimentation USB.
- Couvercle transparent : Un panneau en plexiglas pour exposer les LEDs tout en les protegeant des elements exterieurs.
- Compartiment batterie : Une section amovible pour un acces facile aux batteries.
Routing Results
The final routing was done on a double-layer board, allowing separation of critical signals (SPI bus) and power supplies to reduce interference. Adhering to manufacturing constraints was essential, with tracks wide enough to support the current required by the RGB LEDs.
Mechanical Design with Fusion 360
Enclosure Modeling
The enclosure, designed with Fusion 360, was intended to protect and showcase the electronics. Key features include:
- Main body: Supports the PCB and provides space for batteries and USB power.
- Transparent cover: A plexiglass panel to expose the LEDs while protecting them from external elements.
- Battery compartment: A removable section for easy access to the batteries.
Nous avons utilise l'impression 3D pour creer le boitier, en tenant compte de tolerances precises pour assurer un assemblage sans friction.
Assemblage du systeme
Une fois le boitier imprime, nous avons assemble les differentes parties du projet. Le PCB a ete solidement fixe au boitier, les connexions electriques ont ete verifiees et les LEDs ont ete testees pour s'assurer qu'elles repondaient correctement aux signaux SPI envoyes par le STM32.
Programmation du microcontroleur STM32
Utilisation du bus SPI pour controler les LEDs
Le STM32F103 a ete programme pour controler les LEDs WS2812B via le bus SPI. Ce protocole de communication permet d'envoyer des donnees RGB pour chaque LED, controlant individuellement leur couleur et leur intensite.
L'algorithme que nous avons implemente prend en charge la conversion des donnees RGB dans un format comprehensible par les LEDs. Nous avons utilise les interruptions SPI du STM32 pour gerer efficacement la transmission des donnees, obtenant un eclairage fluide et sans decalage.
We used 3D printing to create the enclosure, considering precise tolerances to ensure a frictionless assembly.
System Assembly
Once the enclosure was printed, we assembled the different parts of the project. The PCB was securely fixed to the enclosure, electrical connections were verified, and the LEDs were tested to ensure they responded correctly to SPI signals sent by the STM32.
STM32 Microcontroller Programming
Using the SPI Bus to Control the LEDs
The STM32F103 was programmed to control the WS2812B LEDs via the SPI bus. This communication protocol allows sending RGB data for each LED, individually controlling their color and intensity.
The algorithm we implemented supports converting RGB data into a format understandable by the LEDs. We used the STM32's SPI interrupts to efficiently manage data transmission, achieving smooth and lag-free lighting.
Fonctionnalites ajoutees
En plus du controle de base des LEDs, nous avons ajoute plusieurs modes d'affichage :
- Mode degrade de couleurs : Les LEDs changent progressivement de couleur.
- Mode clignotement : Les LEDs s'allument et s'eteignent de maniere rythmique.
- Mode interaction : Les LEDs reagissent en fonction des donnees recues par le microcontroleur, simulant des evenements dynamiques (ex : changement de couleur sur appui de bouton).
Added Features
In addition to basic LED control, we added several display modes:
- Color gradient mode: LEDs gradually change color.
- Blinking mode: LEDs turn on and off rhythmically.
- Interaction mode: LEDs react based on data received by the microcontroller, simulating dynamic events (e.g., color change on button press).
Resultats et analyse
Le projet "LED 60 ans INSA" a ete un succes technique et esthetique. Nous avons concu un systeme electronique robuste, entierement controle par un microcontroleur STM32 et presente dans un boitier concu sur mesure. L'utilisation d'Altium Designer nous a permis de produire un PCB fonctionnel et optimise, tandis que la programmation du microcontroleur a offert une large gamme de fonctionnalites pour les LEDs RGB.
Ameliorations futures
Quelques pistes d'amelioration pourraient etre explorees :
- Optimisation du routage : Reduction de la longueur des pistes SPI pour une communication plus rapide.
- Ajout de capteurs : Inclusion de capteurs de lumiere pour ajuster l'intensite des LEDs en fonction de l'environnement.
- Mises a jour logicielles : Developpement de modes d'affichage supplementaires et amelioration de l'efficacite de la gestion des interruptions.
Conclusion
Ce projet nous a permis de developper des competences essentielles en conception de PCB avec Altium Designer, modelisation 3D avec Fusion 360 et programmation embarquee avec le STM32. Grace a une approche pluridisciplinaire, nous avons cree un produit fonctionnel, robuste et esthetique qui repond aux objectifs du projet tout en celebrant le 60e anniversaire de l'INSA Toulouse.
Results and Analysis
The "LED 60 Years INSA" project was a technical and aesthetic success. We designed a robust electronic system, fully controlled by an STM32 microcontroller and showcased in a custom-designed enclosure. Using Altium Designer allowed us to produce a functional and optimized PCB, while microcontroller programming provided a wide range of features for the RGB LEDs.
Future Improvements
Some areas for improvement could be explored:
- Routing optimization: Reducing the length of SPI tracks for faster communication.
- Adding sensors: Including light sensors to adjust LED intensity based on the environment.
- Software updates: Developing additional display modes and improving interrupt management efficiency.
Conclusion
This project allowed us to develop essential skills in PCB design with Altium Designer, 3D modeling with Fusion 360, and embedded programming with the STM32. Through a multidisciplinary approach, we created a functional, robust, and aesthetically pleasing product that meets the project's objectives while celebrating the 60th anniversary of INSA Toulouse.