Académique Documents
Professionnel Documents
Culture Documents
PARIS 2015/2016
RAPPORT ALTERNANCE
1ère Année
Dates du contrat
28 Septembre 2015 au 31 Aout 2018
d’apprentissage
Patrice VOLBERG
Tuteurs Entreprise
Xavier VELLO
Claire LEROUX
Tuteurs Esiea Sylvie BOURCIER
OPHELIE LEVY
TABLE DES MATIERES
Table des matières ....................................................................................................................... 2
Introduction ................................................................................................................................. 4
Glossaire ...................................................................................................................................... 5
A. Le Groupe Allio ..................................................................................................................... 6
I. Structure et environnement ............................................................................................. 6
1. Présentation générale de l’entreprise ................................................................................................. 6
a) L’histoire .......................................................................................................................................... 6
b) Les chiffres ...................................................................................................................................... 7
c) Les principaux clients ...................................................................................................................... 7
d) L’organisation .................................................................................................................................. 7
II. Savoir faire....................................................................................................................... 8
1. Les produits .......................................................................................................................................... 8
2. La prestation type ................................................................................................................................ 8
3. Les ateliers de production .................................................................................................................... 9
4. L’Environnement ................................................................................................................................ 11
a) Le SWOT ........................................................................................................................................ 11
III. Gestion Lighting ............................................................................................................. 12
1. Principe général ................................................................................................................................. 12
2. Le projet X .......................................................................................................................................... 13
a) Les attentes du client .................................................................................................................... 13
b) La nécessité d’un produit générique ............................................................................................. 13
B. Ma mission ........................................................................................................................ 14
I. Présentation Alternance ................................................................................................. 14
1. Début de l’alternance ........................................................................................................................ 14
2. Prise en main du matériel .................................................................................................................. 15
3. Premiers programmes ....................................................................................................................... 17
4. Réflexions et pistes d’amélioration .................................................................................................... 18
II. Le projet LAO ................................................................................................................. 19
1. Les critères attendus .......................................................................................................................... 19
2. Définition d’une nouvelle architecture .............................................................................................. 20
a) Le Schéma ..................................................................................................................................... 21
b) La logique ...................................................................................................................................... 21
C. Analyse .............................................................................................................................. 22
I. Comportement............................................................................................................... 22
1. Global ................................................................................................................................................. 22
2. Personnel ........................................................................................................................................... 22
II. Communication .............................................................................................................. 22
III. Relationnel .................................................................................................................... 23
Conclusion.................................................................................................................................. 24
Bibliographie.............................................................................................................................. 25
Annexes ..................................................................................................................................... 26
Page 2
Projet d'entreprise
Nathan Hue | Allio Group
RESUME
Français :
Ma première année d’alternance se réalise au sein du service Gestion Lighting chez Allio group
sur le site de Tremblay-En-France. Le principal objectif du service Gestion Lighting est de
pourvoir la disposition des éclairages véhicule destinés à la validation du style et design. Ce
service s’appuie sur les dernières technologies pour garantir un pilotage intuitif d’une
maquette véhicule en ayant recours au protocole CAN de communication. Pour mener ma
mission j’ai pris connaissances des méthodes de l’entreprise, me suis renseigné sur les
différents partenaires et clients et leurs attentes, me suis plongé dans la bibliothèques de
programmes déjà réalisés avec la plateforme Arduino et enfin ai demarré la réalisation d’un
nouveau soft applicatif générique et rapidement paramétrable sur une architecture ARM à
cortex M7. Le système aura pour fonction la gestion Lighting d’un véhicule sur les
périphériques projecteurs, feux et leds Neopixels d’ambiance depuis les commandes
physiques du véhicule ou par l’intermédiaire d’une interface tactile connecté en wifi, ou en
Bluetooth.
English :
For my first year in Engineering School i am working half time in the Gestion Lighting service
in Allio Group company situated in Tremblay-En-France. The main goal of this service is to
provide and dispose the automotive lighting system before the style customer’s checking. This
service uses the latest technology to guarantee intuitive vehicle’s leads communication using
the CAN communication protocol. Before starting coding, and do my mission i had learn some
knowledges of the company’s methods, and about the different partners, customers and their
respective expectations. After that, I immersed myself in the Arduino library program to
understand the logic. Finally, I started coding a new generic and quickly configurable soft on
the ARM cortex m7 controller. The system will feature the lighting management of a vehicle,
and especially the projectors, led Neopixel, and general mood light. The general light
management will be control by the physical interface of the vehicle or through a smartphone
connected to Wi-Fi or Bluetooth
Page 3
Projet d'entreprise
Nathan Hue | Allio Group
INTRODUCTION
Page 4
Projet d'entreprise
Nathan Hue | Allio Group
GLOSSAIRE
AGG Ateliers Gilbert Garcia
CAN Controller Area Network
CAO Conception Assistée par Ordinateur
CFAO Conception et Fabrication Assistées par Ordinateur
I2C Inter-Integrated Circuit
IoT Internet Of Things
PCB Logiciel libre de conception de circuit imprimé
PIC Programmable Intelligent Computer
PSA Peugeot Société Anonyme
PWM Pulse Width Modulation
SNPMR Société Nouvelle Prototypes Masters Reproduction
SWOT Strengths (forces), Weaknesses (faiblesses), Opportunities (opportunités), Threats
(menaces).
UART Universal Asynchronous Receiver Transmitter
Page 5
Projet d'entreprise
Nathan Hue | Allio Group
A. LE GROUPE ALLIO
I. Structure et environnement
1. Présentation générale de l’entreprise
a) L’histoire
L’entreprise familiale Allio a été créée en 1904 et porte ce nom depuis 1928. A cette époque
l’entreprise de modelage industriel était basée à Malville en Loire Atlantique avant de diversifier ses
activités à partir des années 80 dans les domaines de l’outillage pour automobile, aéronautique,
ferroviaire, armement, génie civil, des énergies et du luxe.
Aujourd’hui le groupe Allio contient deux nouvelles entités, Société Nouvelle PMR et Ateliers Gilbert
Garcia et développe des activités d’impression 3D, usinage, assemblage, peinture, contrôle
électronique, scelleries mais aussi des études et réalisations d’outillages fonderie aluminium et
ajustage. Des prototypes de pièces, maquettes, et démonstrateurs de véhicule sont réalisés puis
destinés à la validation de type style et technique.
Regroupement et
ouverture de studio à
proximité des centres de
design à Magny-Les-
Hameaux
En 2014
Vente de la branche
aéronautique située à
Malville
En 2015
Page 6
Projet d'entreprise
Nathan Hue | Allio Group
b) Les chiffres
En 2015, suite à la vente de la branche aéronautique et ancien siège social située à Maville
(ALLIO Nantes) l’entreprise opère principalement sur le marché du prototypage en style
automobile et c’est en effet une entreprise majeure et reconnue dans ce secteur.
PSA et Renault représentent à eux seul 85 % du chiffre d’affaire et Dassault Aviation représente 10 %.
d) L’organisation
G.ALLIO
Directeur Général
Page 7
Projet d'entreprise
Nathan Hue | Allio Group
II. Savoir faire
L’entreprise dispose d’un savoir-faire industriel et œuvre dans la réalisation des optiques de véhicules,
du prototypage rapide et de la fabrication directe, mais également dans la fabrication de style et
maquettage et outillage aluminium.
1. Les produits
Dans le domaine de l’automobile l’entreprise opère sur tous les fronts en mettant à
contribution les différentes filiales dont elle dispose pour produire des barges de voiture ou
des véhicules entiers.
2. La prestation type
AVANT APRES
PROJET
PROJET PROJET
CONSULTATION LIVRAISON
PLANNING
CAO
MONTAGE SUR
SITE CLIENT
PRODUCTION
ETUDE
SUR SITE ALLIO
FAISABILITE
PARIS
ACCOMPA-
DEVIS GNEMENT
CONTRÔLE
VALIDDATION
PROJET
Ces opérations sont menées de bout en bout ce qui nécessite la multiplicité des techniques.
Page 8
Projet d'entreprise
Nathan Hue | Allio Group
3. Les ateliers de production
Dans cette partie vous trouverez la présentation des ateliers et des divers procédés utilisés
agrémentés par quelques explications.
CAO
Synthèse additive
La synthèse additive englobe plusieurs types de
fabrication. La plus courante est la stéréolitographie et
consiste à polymériser par laser une résine époxy. La
stéréolitographie s’applique à la fabrication de petites
pièces translucides telles que les vérines montées dans
les projecteurs et feux.
Page 9
Projet d'entreprise
Nathan Hue | Allio Group
Finitions modelage et peinture
Métrologie et contrôle 3D
Electronique et Informatique
En bref le groupe Allio recèle de nombreux savoir-faire, et la gamme des produits fabriqués
n’est pas vraiment fixe, puisqu’il s’agit avant tout de prototypage, la rapidité de fabrication
étant exigée.
Page 10
Projet d'entreprise
Nathan Hue | Allio Group
4. L’Environnement
a) Le SWOT
Forces Faiblesses
•Capacité d'innovation •Dépend du marché automobile
•Rapidité d'exécution •Prix
•Qualité des produits
SWOT
Opportunités Menaces
•Marchés à l'étranger. •Entreprises sous-traitantes qui sont aussi
•Diversification. des entreprises concurrentes.
L’entreprise est reconnue comme un leader sur le marché, si ce n’est le leader du marché,
français voire international. Elle doit cette place à la qualité de ses produits ainsi qu’à la rapidité
d’exécution des commandes qui affluent des plus grands constructeurs automobiles mondiaux
et qui attendent par conséquent un service d’excellence dans des délais courts. Cela
n’empêche pas l’entreprise de faire preuve d’innovation ce qui lui donne un net avantage par
rapport à ses concurrents. Ses clients savent qu’ils peuvent donc compter sur une prise en
charge complète et la livraison d’un service de ce niveau assure par ailleurs la bonne image de
la marque ainsi que sa pérennité.
Toutefois, pour les mêmes raisons que l’entreprise doit assurer un service optimal, elle se
retrouve à faire face à des défis et des aléas importants. Tout d’abord, étant donné la nature
de ses clients, c'est-à-dire des constructeurs automobiles, les commandes sont peu
nombreuses et dépendent énormément de l’évolution du secteur automobile. Ensuite, les prix
pratiqués par l’entreprise pour assurer les services susmentionnés qui font sa force font aussi
sa faiblesse car ils obligent l’entreprise à pratiquer des prix supérieurs à la moyenne des prix
pratiqués par des entreprises concurrentes.
Page 11
Projet d'entreprise
Nathan Hue | Allio Group
III. Gestion Lighting
Dans un véhicule la gestion des fonctions doit être fiable et sécurisante pour les passagers, que ce soit
pour le freinage, la fermeture centralisée des portes, la mise en marche des essuies glaces, ou même
le feu stop. Aujourd’hui toute l’électronique qui alimente ces fonctionnalités d’usage est commandée
de manière informatique, même le frein. Pour garantir un telle fiabilité le protocole de communication
qui existe entre l’ordonnanceur et les récepteurs doit être univoque. En fait le protocole qui pilote ses
différents modules se nomme CAN. Il s’agit d’un protocole spécifique et sécurisé de communication
numérique bidirectionnel à travers deux fils.
Dans cette partie vous trouverez les explications concernant le service Gestion Lighting, et notamment
l’une des réalisations que l’entreprise attend de cet apprentissage.
1. Principe général
Une dizaine d’années auparavant l’éclairage du véhicule était contrôlé de manière analogique.
Les animations étaient plutôt limitées et l’ensemble du système prenait beaucoup de place
sans parler des effets de bord, dimensionnement, dégagement de chaleur, alimentation
importante.
Le principe du service Gestion Lighting émis au travers du projet X par le groupe Allio fin 2014
est donc de répondre en temps et en heure aux besoins du client en procédant notamment a
la mise en place de ces nouvelles fonctionnalités. Dans un premier temps, l’éclairage
fonctionnel, et dans un deuxième temps la gestion de fonctionnalité plus complexes d’audio
et de vidéo.
Page 12
Projet d'entreprise
Nathan Hue | Allio Group
2. Le projet X
Le client soumet ses attentes dans le cahier des charges du projet. Suite à cela, la
mission est déléguée au responsable électronique qui décidera de la faisabilité du
projet. Dans le cahier des charges figure l’ensemble des séquences d’animation
attendues. Pour le client l’issue d’une telle réalisation sera la validation ou la
reformulation du cahier des charges.
Pour des raison pratiques, il a été convenu de rassembler l’ensemble des attentes du
clients dans un seul et unique programme entièrement paramétrable. Le programme
doit être pensé de manière à exploiter l’ensembles des technologies de
communication et d’éclairage dans le cas où le besoin serai présent.
Comme il s’agit d’électronique embarquée, le choix de la plateforme qui abrite le
programme est fondamental et son inter-compatibilité doit perdurer dans le temps.
Page 13
Projet d'entreprise
Nathan Hue | Allio Group
B. MA MISSION
I. Présentation Alternance
Cette Alternance est prévue pour une durée de 3 ans. Durant ces quelques années je dois reprendre
le travail et les recherches effectuées en amont sur le projet X pour me les réapproprier et développer
le programme cité précédemment.
Dans cette partie je présente l’ensemble du travail effectué et les activités entreprises pour répondre
à cette mission
1. Début de l’alternance
Page 14
Projet d'entreprise
Nathan Hue | Allio Group
De cet accord réciproque, sont nés des séances de brainstorming visant à établir un plan
d’action, et une étude chiffrée sur le cout et la technicité de différentes technologies que nous
allions utiliser.
Quantités
Produits Fournisseurs Références Quantités Magny Prix U.T Prix
Tremblay
TOTAL 342,88
Durant cette période j’ai pu bénéficier d’un bon apprentissage du métier d’ingénieur et
notamment du raisonnement par lequel ce dernier passe pour faire adopter à son entreprise
tel ou tel outil.
La programmation des sorties leds du projet X a été développé en langage objet sur la
plateforme Arduino par le biais du protocole i2c et l’IHM réalisée sur tablette a été développée
à l’aide de l’environnement Android studio et du framework Qt.
C’est sur cette architecture que j’ai réalisé mes premiers programmes d’éclairage véhicule. J’ai
notamment lu un bon nombre de documentations sur les possibilités de cette dernière et la
manière dont l’électronique se porte sur cette plateforme.
Les programmes que j’ai réalisés sont pour la plupart ciblés sur les animations de l’éclairage et
m’ont permis de déceler certaines difficultés à venir, notamment dû à une réinitialisation
matérielle incontrôlée de l’arduino au bout de 50 jours et sur la difficulté de personnalisation
des librairies de compatibilité matérielle. En effet nous avons inclus dans le routage des cartes
PCB des drivers externe de types PCA9685 délivrant des valeurs de pwm allant de 0 à 4095
pour la gestion de l’intensité de l’éclairage et ces drivers nécessitent d’être initialisés avec des
paramètres spécifiques à rentrer dans les registres pour pouvoir être reconnus et exploités par
la plateforme.
Page 15
Projet d'entreprise
Nathan Hue | Allio Group
Au début de mon apprentissage, je rencontrai quelques difficultés pour réaliser ces taches de
création de librairie, j’ai donc voulu argumenter en ce sens auprès de mon tuteur et maitre
d’apprentissage pour bénéficier d’un support plus populaire et de la documentation disponible
sur les forums de développement.
D’un autre coté à l’école, à cette période nous avons reçu des cours d’architecture à
microcontrôleurs qui ont eu pour effet de renforcer mon intéressement dans ce domaine et
ainsi faciliter mon apprentissage avec l’environnement de l’électronique embarquée.
Passionné par la matière j’en ai d’ailleurs profité pour me lancer dans des projets personnels
a bases d’électronique. A cette période j’ai pris conscience des concepts de l’open source et
de la retro-ingénierie, très présent dans l’informatique. Et c’est sans doute pour cela que la
technologie évolue si vite.
Ces quelques réalisations se sont soldés par le constat qu’il nous fallait plus de puissance de
calculs, une nouvelle gestion du temps facilité par l’utilisation de timer-compteurs, une
meilleure cadence d’horloge, et la présence de sorties CAN.
Deux plateformes ont alors été sélectionnées, il s’agissait d’une part de la plateforme atmel
samv71 et du pic32 de chez Microchip, tous deux étant des systèmes 32 bits doté des même
prix et spécificités techniques, il a fallu tester les deux plateformes, faire un choix, et
l’argumenter sans forcément prendre parti.
A la fin de la réunion de présentation le choix s’est porté vers la technologie Atmel, bénéficiant
d’une vaste librairie d’exemples codée en C, à défaut d’une implémentation orientée objet,
d’une bonne documentation et d’un engouement populaire pour la plateforme comme nous
pouvions l’avoir sur Arduino.
Page 16
Projet d'entreprise
Nathan Hue | Allio Group
3. Premiers programmes
Après réception de la maquette j’ai implémenté différents modes d’éclairage paramétrables par le
biais d’une interface de communication UART sur port Série. Les actions réalisables étaient la
possibilité de faire un dégradé, un défilement Leds, une montée descente d’intensité, activer les feux
stop, clignotants, DRL et la possibilité de pouvoir interrompre une action en état de fonctionnement
lors d’un appui sur Bouton poussoir.
Page 17
Projet d'entreprise
Nathan Hue | Allio Group
4. Réflexions et pistes d’amélioration
Le programme était fonctionnel mais manquait de propreté, n’était pas assez générique et n’utilisait
pas les 12 timers/compteurs que nous avions à disposition. Ces raisons nous ont amenés à repenser
de manière générale l’implémentation des drivers et des acteurs sur la base d’une conception orientée
objet en passant par des pointeurs sur structure.
Pour déterminer les pistes d’amélioration les questions que nous nous sommes posées sont les
suivantes :
Cadence d’horloge matérielle ?
Réalisation de fonctions spécifiques : pwm, gestion du temps par timer compteur,
communications multiples (uart, i2c, spi) ?
Langage de programmation : C (simple à apprendre), Java (simple à apprendre, gestion
de l’objet mais déploiement machine difficile), C++ (nécessite de bonnes bases, pas
forcément judicieux de commencer par ce langage, gère le langage objet, arduino
compatible)
Plateforme (Arduino, Atmel, Microchip, STM)
Popularité (bonne, moyenne, mauvaise)
Fiabilité du support
Cout matériel
Compatibilité véhicule – Communication toutes plateforme (IOS, android,
télécommande)
Environnement de programmation IDE (Visual studio, Eclipse, Arduino IDE)
La plateforme Atmel est puissante, capable de gérer le CAN véhicule et de plus elle permet la
programmation C.
Son architecture matérielle est complexe mais intéressante dans un but d’apprentissage.
Il est temps de définir une nouvelle architecture avec un réel cahier des charges. De l’expression de
ses attentes est né le projet LAO.
Le but de ce projet est de pouvoir réaliser ces animations sur commande
Animations :
- Allumage progressif chenillards
- Basculement DRL/ID
- Effet vague
- Effet poumonage
- Effet degradé
- Rotation servomoteurs
Page 18
Projet d'entreprise
Nathan Hue | Allio Group
II. Le projet LAO
Le projet LAO est né de la suite de ce recadrement et doit regrouper l’ensemble des fonctionnalités
suscitées.
Générique
Le critère fondamental est la portabilité du programme. Le but ultime est de réduire le temps
de programmation, en intégrant des fonctions préconfigurées et en pensant à une interface
semi-configurable en temps réel par l’utilisateur
Performant
La performance est attendue, pour cela le processeur cadencé à 300 mhz
Adaptable
La technologie Atmel est l’une des plus présente sur le marché et particulièrement dans
l’industrie, il est indispensable que ce choix de technologie puisse perdurer dans le temps et
notamment l’environnement de programmation.
Page 19
Projet d'entreprise
Nathan Hue | Allio Group
2. Définition d’une nouvelle architecture
Le domaine d’application :
Projecteurs et feux
/!\ Modularité exigée pour d’autres applications
Page 20
Projet d'entreprise
Nathan Hue | Allio Group
a) Le Schéma
Le setup permet :
Setup() { L’initialisation des acteurs et drivers.
…
Compteur[0] = competeur_setup(…) ;
Le Loop permet :
Chenillard[0] = chenillard_setup(compteur[0], Bloc,…) ;
La modification de leurs états au cours du
Poumonage[0] = poumonage_setup(compteur[0], Bloc,…) ;
Servo[0] = servo_setup(compteur[1], …) ; temps grâce aux IRQs
… - La modification des paramètres des
} acteurs en fonction des évènements
Loop() { extérieurs (IRQs, lecture directe
While(1) { d’entrées, TO, timer…)
Lecture des IRQs
-> modification des acteurs - Pour tous les acteurs => envoi d’un
Update() ; signal de mise a jour « Update » :
…
chaque acteur recalcule son état, que
}
ses param aient été changés ou pas.
}
La nouvelle interface de programmation inclus la présence d’éléments paramétrés que l’on appelle
Acteurs s’il s’agit d’animation ou Driver s’il s’agit de périphériques.
Le fait de déclarer un acteur ou un driver en début de programme lui permet d’initialiser des
paramètres tel que le temps de montée en intensité d’une led, ou le temps de rotation d’un
servomoteur. La position cible, la direction horaire ou anti horaire, et la position d’arrivée.
En effet la boucle « Loop » contient les fonctions de mise a jour de ces drivers/acteur ainsi, si ces
derniers ont été initialisés leurs mises à jour se fera de façon automatique. Durant l’exécution de ces
programmes, si une interruption apparait, par exemple lors de l’envoi d’une nouvelle instruction
dans le terminal de type CHE1,000,000,000 le programme doit être capable de déclencher en vecteur
d’interruption de la même manière qu’un ordinateur est capable de lire la position d’une souris, et
l’état du clavier pendant qu’il recharge une page internet. Le programme doit pouvoir lire plusieurs
instructions simultanées.
On déclare donc des acteurs et driver type qui hériterons de certains paramètres.
Page 21
Projet d'entreprise
Nathan Hue | Allio Group
C. ANALYSE
I. Comportement
Voici le parallèle du comportement que j’ai pu observer en entreprise avec celui que j’ai dû adopter.
1. Global
Chez Allio group, le comportement généralement attendu va de pair avec les activités de
fabrication de pièces unique destinées à l’exposition. Une certaine précaution est donc exigée
tout au long du processus de création, de l’usinage à l’assemblage. De plus la confidentialité
des projets doit rester secrète pour la pérennité des contrats avec le client. Les traits de
comportement responsables de la réussite de l’entreprise sont la rapidité d’exécution,
l’implication, la responsabilité devant les problèmes, et une attention toute particulière pour
les phases de finition. Pour ce qui est de l’attitude à adopter, la tolérance est exigée,
notamment en cas de problème. La faute est permissible par tous mais la capacité à rebondir
doit être infaillible.
2. Personnel
Le comportement qui me caractérise le plus est celui du papillon. D’une part le début de cette
alternance fut une véritable transformation. Notamment dans ma manière de travailler et
d’affronter la difficulté. Ensuite par rapport aux autres insectes j’ai une vision moyenne mais
qui a tendance à mieux différencier les couleurs notamment dans le domaine de l’ultraviolet,
cette vision colorée est bénéfique puisqu’elle permet de ressortir le meilleurs de chacun tout
en apportant un jugement « sceptique » indispensable dans le domaine des sciences dû au
champs relativement restreint et a la nécessité de valider une direction. Etant quasiment seul
dans mon domaine, j’associe la vision ultraviolette au domaine de l’informatique qui est
imperceptible pour la plupart des employés mais comporte un potentiel et une force de frappe
non négligeable.
II. Communication
Ces quelques mois passés sur le site de Tremblay ont été pour moi révélateur d’une grande implication,
ce qui nous fait un point commun mon tuteur et moi.
La communication est ici excellente et c’est en effet l’une des composantes fondamentales de
l’entreprise. J’estime cependant que l’on doit mesurer son langage et veille bien à cela, ce qui me situe
dans un rapport de cordialité avec l’ensemble du personnel et plus particulièrement avec mes
supérieurs hiérarchiques. D’une autre part j’imagine que cette cordialité tendra à s’adoucir avec le
temps puisqu’elle est nécessaire à la gestion humaine notamment dans la conduite de projets de type
Agile.
Page 22
Projet d'entreprise
Nathan Hue | Allio Group
La nécessité d’une bonne communication intervient dans plusieurs domaines, notamment celui de
l’échange technique. Pour communiquer de l’informatique, il faut pouvoir se faire comprendre et ainsi
adapter très largement son discours.
Ce processus de vulgarisation a d’ailleurs été réalisé tout au long de ce rapport pour la bonne
compréhension du lecteur.
En bref les échanges que j’ai pu avoir ont eu lieu dans des contextes de recherche, d’échanges de
connaissances, de présentation d’idées, de résultats, de remise en question par rapport aux
technologies, d’argumentaire.
III. Relationnel
Au service Electronique-Informatique nous sommes deux, ce qui restreint les difficultés de type
managériales en interne. Le projet LAO est un travail de collaboration entre mon tuteur et moi, lui
réalise l’électronique et moi l’informatique. En revanche avec nos clients dans la conduite de projet la
proximité s’impose et la multiplicité des échanges agit tel un vecteur de confiance. D’une manière
générale cela renforce la productivité et contribue à l’humanité du métier.
Page 23
Projet d'entreprise
Nathan Hue | Allio Group
CONCLUSION
L’objectif principal de mon apprentissage est de réaliser un programme gérant la communication entre
un Atmel de tête recevant des commandes spécifiques via une communication tablette et des esclaves
gérant le calcul des animations d’éclairage sur maquette.
Cet objectif a été en parti rempli : L’implémentation des Drivers et Acteurs dans le programme a été
en rempli, il reste toutefois la gestion d’une communication bidirectionnelle CAN entre les différents
Atmel.
Sans parler des difficultés rencontrées, j’apprécie énormément cet apprentissage et ce pour plusieurs
raisons. D’une part je pense qu’il me permet d’avoir une bonne vision sur l’univers de la
programmation en langage objet, et le domaine de la robotique me passionne tout particulièrement
depuis. J’aime la notion de projet, car cela implique que malgré les compétences et rôles de chacun,
l’entente sois rendu possible grâces aux échanges multiples. Les phases de résolutions d’erreurs sont
justement des moments de réflexion et de partage qui me plaisent particulièrement durant cet
apprentissage. Grâce à cela j’ai appris beaucoup de choses non seulement dans la démarche de
réalisation d’un programme mais également dans la conception et la mise en œuvre d’un produit
initialement conçu sur papier. Je suis ravi de pouvoir utiliser les compétences acquises à l’ESIEA, je
pense notamment aux cours d’architecture a microcontrôleur, cours de programmation orientée
objet, et cours de génie logiciel.
En bref cette alternance m’ouvre les yeux sur ce qu’est le monde l’entreprise et contribue largement
à mon envie de venir y travailler.
Page 24
Projet d'entreprise
Nathan Hue | Allio Group
BIBLIOGRAPHIE
http://www.allio-group.com/fr/
http://www.societe.com/societe/societe-nouvelle-p-m-r-413837030.html
http://www.societe.com/societe/ateliers-gilbert-garcia-722004652.html
Page 25
Projet d'entreprise
Nathan Hue | Allio Group
ANNEXES
Avantages Inconvénients
Visuel : Visuel :
- Maquette déjà compatible - Animation simplistes (non NeoPixel)
- Leds de bonne qualité Technologique :
Technologique : - Communication Télécommande
- Portabilité Atmel Matériel :
- Utilisation Can-FD - Débordements i2c
Matériel : - Câblage
- Routage pré-établi - Prix
- Nombreux protocoles (UART, USART, SPI, CAN-FD, i2c) Programmation :
- Possibilité d’ajouter un écran LCD, Slot Carte SD, AUX (3,5mm) - Peu de ressources
Programmation : - Implémentation driver « IRQ » et « i2c » difficiles
- Générique => implémentation acteurs aisée - Documentation peu pratique
- Langage C => prise en main facile - Communication CAN unidirectionnelle samv71 -> samc21
Long terme : Long terme :
- Bonne maitrise framework ASF - Rétrocompatibilité non garantie
- Fusion Atmel-Microchip => Développement imminent
- Architecture éclairage indépendant de l’architecture
communication
Page 26
Projet d'entreprise
Nathan Hue | Allio Group
Les Drivers
Les drivers sont une couche d’abstraction permettant aux acteurs de définir leurs états dans la
logique métier.
1. Partie commune
L’interface doit rester commune, processus aidé par l‘implémentation de pointeurs sur structures.
Les fonctions communes des drivers sont :
- Driver_init() (renvoie un pointeur vers une structure de donnée)
- Driver_isValid() (renseigne sur la validité)
Les acteurs doivent donc s’y référer avant de lancer un set_init qui :
- Démarre le matériel
- Initialise une structure de données
- Effectue les vérifications
- Stocke leurs états dans le main.c
2. PCA9685
Led_start = 235 ;
Led_nb = 158 ;
If (led_nb < 1 || led_start > (NOOBP * NOPPB*NOBPT-led_nb) || led_start + led_nb > NOOBP * NOPPB * NOBPT){
Erreur et affichage message
} sinon
Id_first_led = (Led_start % (NOOBP) - 1 = 10 ;
Pca_first_led = led_start / NOOBP = 14.652 = 14 ;
Block_first_led = pca_first_led / NOPPB = 3 ;
Page 27
Projet d'entreprise
Nathan Hue | Allio Group
3. Les compteurs
Ils mettent à disposition des acteurs, une valeur évolutive du temps [0 – valMaxRC], permettant de
définir une base de temps pour les animations.
CH1
RC=100
0
P1 Cpt1
IV. 32KHz/32
CL1
PCK6 SLCK (32KHz)
1kHz
S1
RC=500
0
S2 Cpt2
S3
Les Compteurs auront des Booléens de mode(UP/UPDOWN) et valeurs de RC, RB et RA définies dans le
setup, néanmoins l’accès à ces paramètres doit être rendu possible depuis le loop.
La solution est de construire un acteur par pointeur sur structure et d’initialiser ses paramètres (grâce
au setup) en renseignant le n° compteur.
Quand le chenillard démarre il met a 0 la valeur du Curent value pour avoir une belle animation.
Par exemple :
chenillard_param_t* che1 = malloc(sizeof(…)) ; //Dans la classe acteur chenillard.c
che[1] = chenillard_setup(compteur[1], bloc[1], …, …, …, …) ; //Dans le Setup Logique Metier
if (IRQ_Che == true) { //Dans le Loop Logique metier
start(che1) ;
}
pwm[0- 4095]
4500
4000
UP_DOWN 3500 UP
3000
2500
2000
1500
1000
500
0
0 0,5 1 1,5 2 2,5
t(s)
RC RC RC RC
Page 28
Projet d'entreprise
Nathan Hue | Allio Group
Les acteurs
4. Partie commune
Matérialisation ou représentation informatique d’une fonctionnalité du démonstrateur. L’acteur
peut être démaré ou récupéré à la volée en fonction de la logique métier.
5. Respect du périmètre
Les variables globales des acteurs sont protégées => accessibles uniquement par les fonctions de la
classe acteur.c correspondante.
Page 29
Projet d'entreprise
Nathan Hue | Allio Group
Test des entrées/sorties:
Les paramètres des structures doivent vérifier certains ordres de grandeurs spécifiques, pour
s’affranchir de tout dépassement, et éviter d’obtenir des comportements inattendus.
Réaliser un check dans l’_init avant l’allocation mémoire d’un acteur sur une structure.
Bool nbLed_isValid(){
If (che->nbLed > (availlablePca()*16) - che->led_depart){ //15sorties/pca
Return true ;
}
} => le nbLed choisi est correct
Bool periode_isValid(){
If (che->periode == che->ta + che->tb + che->tc) { //periode = ta + tb + tc
Return true ;
}
} => le période d’animation est cohérente avec les temps de transition
Page 30
Projet d'entreprise
Nathan Hue | Allio Group
Avant Gauche véhicule Avant Droit véhicule
0 1 2 3 8 9 10 11
0x40 0x41 0x42 0x43 Atmel IO Pin Atmel IO 0x48 0x49 0x4A 0x4B
ID_AVG1 ID_AVG17 DRL_AVG1 DRL_AVG17 0 1 0 ID_AVD1 ID_AVD17 DRL_AVD1 DRL_AVD17
ID_AVG2 ID_AVG18 DRL_AVG2 DRL_AVG18 1 2 1 ID_AVD2 ID_AVD18 DRL_AVD2 DRL_AVD18
ID_AVG3 ID_AVG19 DRL_AVG3 DRL_AVG19 2 3 2 ID_AVD3 ID_AVD19 DRL_AVD3 DRL_AVD19
ID_AVG4 ID_AVG20 DRL_AVG4 DRL_AVG20 4 ID_AVD4 ID_AVD20 DRL_AVD4 DRL_AVD20
3 3
NC NC NC NC 5 NC NC NC NC
ID_AVG5 ID_AVG21 DRL_AVG5 DRL_AVG21 4 6 4 ID_AVD5 ID_AVD21 DRL_AVD5 DRL_AVD21
ID_AVG6 ID_AVG22 DRL_AVG6 DRL_AVG22 5 7 5 ID_AVD6 ID_AVD22 DRL_AVD6 DRL_AVD22
ID_AVG7 ID_AVG23 DRL_AVG7 DRL_AVG23 6 8 6 ID_AVD7 ID_AVD23 DRL_AVD7 DRL_AVD23
ID_AVG8 ID_AVG24 DRL_AVG8 DRL_AVG24 9 ID_AVD8 ID_AVD24 DRL_AVD8 DRL_AVD24
7 7
NC NC NC NC 10 NC NC NC NC
ID_AVG9 ID_AVG25 DRL_AVG9 DRL_AVG25 8 11 8 ID_AVD9 ID_AVD25 DRL_AVD9 DRL_AVD25
ID_AVG10 ID_AVG26 DRL_AVG10 DRL_AVG26 9 12 9 ID_AVD10 ID_AVD26 DRL_AVD10 DRL_AVD26
ID_AVG11 ID_AVG27 DRL_AVG11 DRL_AVG27 10 13 10 ID_AVD11 ID_AVD27 DRL_AVD11 DRL_AVD27
ID_AVG12 Lant_AVG DRL_AVG12 14 ID_AVD12 Lant_AVD DRL_AVD12
11 11
NC NC NC NC 15 NC NC NC NC
ID_AVG13 DRL_AVG DRL_AVG13 R_AVG 12 16 12 ID_AVD13 DRL_AVD DRL_AVD13 R_AVD
ID_AVG14 Code_AVG DRL_AVG14 V_AVG 13 17 13 ID_AVD14 Code_AVD DRL_AVD14 V_AVD
ID_AVG15 Route_AVG DRL_AVG15 B_AVG 14 18 14 ID_AVD15 Route_AVD DRL_AVD15 B_AVD
ID_AVG16 Antib_AVG DRL_AVG16 19 ID_AVD16 Antib_AVD DRL_AVD16
15 15
NC NC NC Lum_AVG 20 NC NC NC Lum_AVD
Intérieur véhicule
16 17 18 19 Nom Total
0x50 0x51 0x52 0x53 Atmel IO Pin ID 108
R1 R5 R9 R13 0 1 DRL 54
V1 V5 V9 V13 1 2 RVB 16+4
B1 B5 B9 B13 2 3 Lanterne 4
NC NC NC NC 4 Stop 4
3
Lum1 Lum5 Lum9 Lum13 5 Recul 2
R2 R6 R10 R14 4 6 Antibrouillard AR 2
V2 V6 V10 V14 5 7 Antibrouillard AV 2
B2 B6 B10 B14 6 8 DRL/HB/LB 2
NC NC NC NC 9 Code 2
7
Lum2 Lum6 Lum10 Lum14 10 Route 2
R3 R7 R11 R15 8 11 Sortie utilisées 202
V3 V7 V11 V15 9 12 total sorties 400
B3 B7 B11 B15 10 13 Sorties restantes 198
NC NC NC NC 14
11
Lum3 Lum7 Lum11 Lum15 15
R4 R8 R12 R16 12 16
V4 V8 V12 V16 13 17
B4 B8 B12 B16 14 18
NC NC NC NC 19
15
Lum4 Lum8 Lum12 Lum16 20
Page 31
Projet d'entreprise
Nathan Hue | Allio Group