Rapport PFE Définitif
Rapport PFE Définitif
N° du projet : 23/2019
i
Dédicaces
N’étant pas bavard de coutume, c’est avec grande joie que je
prends ma plume afin de dédier le fruit de mes travaux :
Aux deux êtres les plus chers à mon cœur, ceux-là même qui ont
toujours été là pour moi et qui n’ont cessé de me guider de mes
premiers pas à nos jours afin que je devienne une meilleure version
de moi-même :
A ma tendre mère qui ne manque pas d’admirations,
d’encouragements, de bénédictions et de prière à mon égard ;
A mon très cher père qui me motive à le surpasser et qui met tout en
œuvre afin que j’y arrive,
Je prie l’éternel afin qu’il puisse vous garder encore longtemps à mes
côtés !
Boris KIEMA
ii
Remerciements
Avant de rentrer dans le vif du sujet, je tiens à adresser mes remerciements à Monsieur
ZORGAT qui a bien voulu m’accueillir dans sa société.
A Monsieur FRAD Mhamed, je lui adresse toute ma gratitude pour la passion qu’il a su faire
naître en moi pour l’électronique et l’informatique embarquées.
A mon très cher encadrant Monsieur CHATMEN Fehmi je lui adresse mes respects et ma
considération pour son engagement et sa disponibilité inconditionnelle durant cette période et
bien avant. Il a su se montrer toujours disponible peu importe le moment. Il a permis à cette
graine de bien germer.
Je remercie les autorités de ma mère patrie le Burkina Faso et de mon pays d’accueil la Tunisie
pour cette bourse de coopération, le corps professoral et administratif de l’Institut Supérieur des
Etudes Technologiques de Mahdia (ISET Mahdia) pour m’avoir permis de passer dans de
bonnes conditions mes années licences.
A toutes les personnes qui de près ou de loin m’ont permis de mener à bien ce projet et que
malheureusement je n’ai pas pu citer, tout d’abord je vous prie de bien vouloir m’excuser et
d’accepter mes remerciements pour votre aide.
Je ne saurai terminer cette partie dédiée aux remerciements sans témoigner à mes parents ma
profonde gratitude pour leur soutien inconditionnel et au Créateur, des actions de grâce pour la
vie et le bon déroulement de ce projet.
iii
Table des Matières
Introduction générale ............................................................................................................... 1
iv
2.11 Différents composants électroniques utilisés ......................................................... 36
3.3 Programmation........................................................................................................... 53
Conclusion générale................................................................................................................ 67
Bibliographie ........................................................................................................................... 69
Webographie ........................................................................................................................... 70
Glossaire .................................................................................................................................. 71
Annexes .................................................................................................................................... 75
v
Liste des Figures
Figure 1-1: Logo de l'entreprise ................................................................................................. 3
Figure 1-2: Renault Trucks T High ............................................................................................ 4
Figure 1-3: Renault Truck K ...................................................................................................... 4
Figure 1-4: Renault Truck C....................................................................................................... 5
Figure 1-5: Renault Truck D Wide ............................................................................................. 5
Figure 1-6: Renault Truck Master Red Edition .......................................................................... 6
Figure 1-7: Organigramme de la société Zorgati Véhicules....................................................... 7
Figure 1-8: Plan de la société ZVI .............................................................................................. 8
Figure 1-9: Système de transmission……………………..…………………………………....9
Figure 1-10: Moteur à Courant Continu ..................................................................................... 9
Figure 1-11: Châssis de la Trottinette....................................................................................... 10
vi
Figure 2-21: Présentation MIT App Inventor IDE partie Design ............................................. 34
Figure 2-22: Logo Altium Designer ......................................................................................... 35
Figure 2-23: Image et représentation symbolique d'une résistance .......................................... 36
Figure 2-24: Image et représentation symbolique d'un potentiomètre ..................................... 36
Figure 2-25: Image et représentation symbolique d'une photorésistance ................................. 36
Figure 2-26: Image et représentation symbolique d'une diode de Schottky ............................. 37
Figure 2-27: Image et représentation symbolique d'une Led Infrarouge ................................. 37
Figure 2-28: Image et représentation symbolique d'une photodiode........................................ 38
Figure 2-29: Image et représentation symbolique d'un transistor Mosfet ................................ 38
Figure 2-30 : Radiateur ............................................................................................................. 39
Figure 2-31 : Image et représentation symbolique d’un optocoupleur ..................................... 40
Figure 2-32 : Image et représentation symbolique d’un Amplificateur Opérationnel ............. 40
Figure 2-33 : Borniers à vis ...................................................................................................... 40
vii
Liste de Tableaux
Tableau 2-1: Tableau comparatif Arduino Nano, Uno, Mega2560 .......................................... 14
Tableau 2-2: Tableau comparatif des prix des Raspberry avec connectivité Bluetooth .......... 15
Tableau 2-3: Tableau récapitulatif des broches SPI ................................................................. 20
Tableau 2-4 : Tableau récapitulatif des différents modes de fonctionnement de la carte ........ 24
Tableau 2-5: Tableau récapitulatif sur certains réseaux basés sur Radio Fréquence ............... 30
Tableau 2-6: Critères de choix d'une diode .............................................................................. 37
Tableau 2-7: Critères de choix d'une diode .............................................................................. 38
Tableau 2-8 : Critères de choix d’un optocoupleur .................................................................. 39
viii
Introduction générale
Pour vivre, nous avons besoin de nous mouvoir, de nous déplacer. Nous devons nous
déplacer pour assurer les tâches élémentaires du quotidien : se nourrir, se soigner, travailler.
Se déplacer d’un point A à un point B est donc primordial. Et le faire le plus vite possible est
plus qu’important.
Cette préoccupation majeure, l’Homme a tenté d’y répondre durant ces derniers siècles. En
effet, cette réponse s’est faite ressentir par le passage de l’utilisation des pieds, aux hypercars
en passant par la traction animale. Mais dans un monde où tout va de plus en plus vite, nous
assistons à la multiplication des moyens de transports dont ceux terrestres. Cette multiplication
entraine malheureusement des bouchons. Des bouchons qui malheureusement, ralentissent la
rapidité avec laquelle nous nous déplaçons. Malgré la possession d’une hypercar, nous ne
pouvons pas aller plus vite lors des heures de pointes.
Afin de pouvoir faire face à cela, nous avons les engins à deux roues tels que les vélos et les
motos. Ces engins nous permettent de nous déplacer plus aisément car occupant moins de place
et étant plus maniables. C’est dans cette optique qu’au cours de mon stage dans l’entreprise
‘’Zorgati Véhicules’’ spécialisée dans la vente et la réparation de camion trucks, il m’a été
confié le projet de « Conception et Réalisation d’une trottinette électrique intelligente ».
La trottinette à concevoir devra être smart. En effet, elle devra assurer à l’utilisateur la
visualisation de certains paramètres en temps réel et aussi permettre une communication avec
la centrale de surveillance.
Afin de vous relater fidèlement le déroulement des différentes étapes du projet, ce rapport va
être subdivisé en trois parties.
Tout d’abord, le chapitre 1 traitera du Cadre général du projet. Il s’agira dans ce chapitre de
faire une brève présentation de la société hôte et du cadre général du projet.
Il sera suivi du chapitre 2 dédié aux études théoriques. En effet dans ce chapitre, nous
évoquerons les buts du projet et justifierons le choix des différentes solutions utilisées.
Enfin, le chapitre 3 sera consacré à la réalisation de la solution.
Après avoir étayé toutes ces différentes parties, nous procéderons à une synthèse de notre travail
qui fera office de conclusion générale de ce rapport.
1
1 Chapitre 1
Cadre général du projet
2
Chapitre 1 : Cadre général du Projet
1.1 Introduction
Au cours de ce chapitre, nous allons d’une part vous faire une présentation de notre société
hôte ; et d’autre part nous évoquerons la problématique tout en vous exposant le cahier des
charges.
La société Zorgati Véhicules S.A dont le sigle est ZVI est un agent officiel de Renault Trucks.
Elle représente ce groupe dans la zone Sud de la Tunisie. ZVI est rattaché à Renault Trucks par
l’intermédiaire de la société ‘’LOUKIL’’ basée à Tunis. Cette dernière se charge de tout ce qui
est importation de véhicules.
Créée en Juin 2004, Zorgati Véhicules avec à sa tête Monsieur Jawhar Zorgat a un capital
d’environ 900.000 dinars tunisiens. Elle se situe dans la ville de Sousse, aux abords de la route
Msaken KM1, Sousse 4003. La figure 1-1 illustre le logo de la société.
Les prestations de services qu’elle offre sont diverses. En effet, elles couvrent la vente de
véhicules neufs, de pièces détachées ; la formation de chauffeurs, l’entretien des engins, et aussi
la réparation de véhicules. ZVI ne se veut pas être seulement qu’un vendeur de trucks et de
pièces détachées ; mais elle se veut également être un conseiller pour sa clientèle. De cette
vision est né son slogan :« Plus qu’un vendeur, … un conseiller ».
La gamme d’engins proposés par ZVI est assez large et vont être présentées dans les lignes qui
suivent.
3
Chapitre 1 : Cadre général du Projet
Les véhicules de marque Renault Trucks proposés par Zorgati se subdivisent en cinq grands
groupes qui sont :
Ces camions sont adaptés pour les longues distances entre pays par exemple. Ils sont idéals
pour les personnes qui exercent dans le domaine de transport avec citernes, et aussi les
transports de lots. Ces trucks possèdent des cabines très confortables pour les conducteurs. Nous
avons dans la gamme T (camion de longue distance) le ‘’Renault Trucks T High’’ (figure 1-2)
Cette catégorie de camions est adaptée aux chantiers où les conditions de vie et de travail sont
extrêmes. Par exemple les chantiers aux terrains accidentés (dans les carrières), contenant
beaucoup de boue et aussi dans les forêts. C’est un outil idéal pour les charges lourdes. On
rencontre ce Truck dans les domaines comme le transport de béton, de grumes, dans les mines
et carrières. Dans cette gamme dénommée K, il y a les ‘’Renault Trucks K (figure 1-3) et
Renault Truck KERAX’’.
4
Chapitre 1 : Cadre général du Projet
Outre la gamme de construction lourde, il existe aussi la gamme de construction. Cette catégorie
de camions est adaptée pour les usages citadins et/ou hors agglomération notamment dans les
domaines tels que les secours d’urgences et incendies, dans le transport de marchandises, de
bétons, de matériaux. Ils sont multi-usages. A la différence des camions de construction lourde,
ces camions ne peuvent supporter que des charges moins lourdes que ceux de la gamme K. Les
Renault Truck C (figure 1-4), Master et Maxity sont des exemples de trucks que nous trouvons
dans cette gamme.
Les camions de distribution forment la gamme D. Ils sont prisés pour le transport frigorifique,
celui des collectivités c’est-à-dire la collecte de déchets et les dépannages. Ils interviennent
aussi dans le transport de véhicules. Les Renault ‘’Trucks D Wide (figure 1-5) et le Trucks D’’
sont des exemples de camion appartenant à cette gamme.
5
Chapitre 1 : Cadre général du Projet
Toujours dans la gamme de distribution, les véhicules que l’on peut observer sur la figure 1-6
sont des Renault Trucks Master Red Edition. Ce type de camion peut être utilisé pour le
transport en commun, ou tout simplement pour le transport de marchandises. Tout dépend de
l’utilisation que l’on veut en faire. Ainsi, en fonction de nos besoins, nous pouvons passer de
deux (02) à dix-sept (17) sièges.
En somme, tous ces engins sont du constructeur Renault Trucks qui développe, assemble et
vend des camions utilitaires et industriels à la fois très confortables et robustes. Ils sont fournis
avec des systèmes de géolocalisation et beaucoup d’autres choses en option. En rappel, Renault
Trucks appartient au groupe suédois AB Volvo.
La société ZVI est une société qui se subdivise en trois (03) départements. Chaque département
est dirigé par une direction. Ainsi, nous avons le service Administratif et Financier, le service
Commercial, le service Technique. Ces 03 directions sont coiffées par la direction générale.
La société LOUKIL se charge de l’importation des trucks et de leur dédouanement. Elle assure,
pour ainsi dire, l’approvisionnement de Zorgati en véhicules. LOUKIL est donc en relation
directe avec le service commercial. Le service commercial se charge également de la vente des
engins et des pièces détachées.
Le service administratif et financier a pour mission la gestion des comptes de l’entreprise.
Quant au service technique, il assure tout ce qui est maintenance et réparations.
L’organigramme sur la figure 1-7 présente de manière plus explicite l’organisation hiérarchique
de la société avec les différents responsables.
6
Chapitre 1 : Cadre général du Projet
Sur la figure 1-8 l’organisation architecturale de la zone que recouvre ZVI est décrite. Ce plan
est le suivant :
7
Chapitre 1 : Cadre général du Projet
Après la présentation de la société dans laquelle j’ai effectué mon stage de fin d’études, de ces
divers produits et prestations proposés, nous allons maintenant procéder à la présentation
générale du projet tout en étayant la problématique.
Il s’agit dans cette partie de donner un aperçu général sur la problématique ayant abouti à ce
projet de trottinettes électriques.
1.3.1 Problématique
Le projet qui m’a été confié « Conception et Réalisation d’une trottinette électrique
intelligente » vient d’un constat de l’insuffisance de moyens de transport. Cette insuffisance se
fait ressentir surtout lors des heures de pointes et des jours de culte dans les grandes
agglomérations. Le déplacement massif de personnes est la cause principale de cette
insuffisance. En effet, lors des heures de pointes et des jours de culte, une grande partie des
citadins se déplace tous et au même dans un seul sens. De ce fait, nous manquons vite de moyens
8
Chapitre 1 : Cadre général du Projet
Pour pallier le problème de manque de transport, la réalisation d’un prototype de trottinette est
plus que nécessaire. Afin d’y parvenir, un cahier de charge nous a été proposé :
• Concevoir une carte de contrôle
• Visualiser les paramètres suivants sur écran LCD ou sur un smartphone :
o Niveau de batterie,
o Vitesse de la trottinette,
o Distance parcourue,
o Géolocalisation
• Communication avec une centrale
Sur la base d’un tel cahier de charge, nous avons procédé à la réalisation de ces différentes
tâches afin d’aboutir aux buts de notre projet.
9
Chapitre 1 : Cadre général du Projet
Tout au long de ce premier chapitre intitulé « Cadre général du Projet », nous avons tout d’abord
fait la présentation de notre société d’accueil, la société ZVI. Cette présentation s’est faite au
travers de la date de création de ZVI, sa situation géographique, son organigramme, ses locaux
et enfin les différentes offrent de prestations de service.
Puis, nous avons abordé la problématique avant d’étayer le cahier de charge qui correspond de
facto aux buts de ce projet. Enfin, dans la seconde partie de ce chapitre, une brève présentation
des matériaux existants a été faite à savoir le châssis, la motorisation et les deux batteries.
Dans la partie qui suit, nous passerons à l’étude théorique. Cette étude va permettre entre autres
de savoir pourquoi telle solution a été préférée à une autre.
10
2 Chapitre 2
Etudes théoriques
11
Chapitre 2 : Etudes théoriques
2.1 Introduction
Dans ce deuxième chapitre, nous allons d’une part et de manière particulière, nous attarder sur
les notions théoriques. A la suite de ces notions théoriques, nous allons d’autre part parler des
motivations qui nous ont poussés à faire le choix d’une solution par rapport à une autre.
Les trottinettes ont depuis peu conquis le monde. Elle passe d’un engin uniquement destiné aux
enfants et adolescents, à un outil utilisable par tout le monde. Les constructeurs comme Xiaomi,
SXT Scooter, Speedtrott, Speedway, GoBoard font partir des constructeurs les plus répandus.
La trottinette la plus puissante pour adulte de l’année 2020 selon le site ‘’2roueselectriques.fr’’a
pour caractéristiques une autonomie de 100 km et une vitesse maximale de 85 km/h. A ce titre,
elle est à même de rivaliser avec les motos. Les trottinettes proposées coûtent chères. Plus elles
sont performantes, plus le prix augmente. La Tunisie importe les trottinettes qu’elle vend. Il
n’existe malheureusement pas de trottinettes made in Tunisie à nos jours.
Notre projet a trois principaux objectifs. Le premier et le plus important est de pouvoir, grâce
à la carte de contrôle, commander le moteur.
Le second quant à lui est de permettre la communication entre la trottinette et l’homme à travers
un écran LCD ou un Smartphone fonctionnant grâce à un système Android.
Enfin, le dernier objectif est d’assurer une liaison entre la trottinette et la centrale de contrôle.
Afin de réaliser les objectifs de notre projet, nous devons concevoir une carte de contrôle du
moteur. Cette carte doit également assurer une liaison entre la trottinette et le téléphone
Android. Pour ce faire, le Bluetooth semble être la meilleure solution car ne nécessitant pas de
frais supplémentaires à l’utilisateur.
Il existe une multitude de solutions et protocoles permettant une communication longue
distance. En général tous ces protocoles sont sans fils. Dans la suite de ce rapport, une
discussion sur ces différents protocoles sera faite afin de nous permettre de faire le choix le
mieux adaptés.
12
Chapitre 2 : Etudes théoriques
Connaissant les objectifs du projet, il est impératif de procéder à la réalisation du schéma bloc
de la solution. Ce schéma permettra d’avoir une idée globale sur le travail à faire.
Nous pouvons ainsi représenter le schéma bloc comme suit :
Visualisation
Carte de
des
contrôle Centrale de
paramètres
de la contrôle
par
Trottinette
l’utilisateur
Pour assurer ces différentes fonctions, nous devons alors procéder au choix des cartes
adéquates pour le projet. Ces cartes conditionnent l’atteinte des buts du projet. Une étude sur
les différentes cartes de programmation sera faite dans la suite de ce présent rapport. Cette
étude, permettra de faire le choix de notre solution.
Le choix de la carte de programmation est une tâche très critique car tout notre travail repose
sur ses performances. Avec la multitude de cartes de développement qui existe de nos jours, le
choix n’a pas été aisé.
Les principaux critères sur lesquels nous nous sommes basés pour faire notre choix sont :
• Le coût de la carte ;
• Les performances qu’elle offre ;
• La facilité d’utilisation.
Ainsi, nous avons hésité entre une carte des familles Arduino, Raspberry Pi ou celle des Esp.
Cartes Arduino
Arduino est un projet né de Massimo Banzi. Ce projet allie à la fois Software et Hardware. Créé
en 2005, Arduino a depuis lors agrandi sa famille de cartes de développement. Ainsi, les cartes
13
Chapitre 2 : Etudes théoriques
les plus connues sont l’Arduino Nano, Uno et Méga. La famille arduino rencontre un franc
succès car accessible à tous de par son interface de développement et les coûts relativement bas.
Une comparaison des différentes caractéristiques des trois cartes est faite dans le tableau 2-1.
Mémoires Flash : 32 Ko (dont 2 pour Flash : 32 Ko (0,5 utilisé par Flash : 256 Ko (dont 8 par
l’USB) l’USB) l’USB)
SRAM : 2 Ko SRAM : 2 Ko SRAM: 8 KB
EEPROM : 1 Ko EEPROM : 1 Ko EEPROM: 4 Ko
Entrées/ Sorties 8 analogiques 6 analogiques 16 analogiques
22 numériques (dont 6 PWM) 14 numériques (dont 6 PWM) 54 numériques (dont 15 PWM)
Bluetooth, Wi-Fi - - -
Port USB Micro USB Standard A/B USB Standard A/B USB
Prix1 28 Dt 39 Dt 65 Dt
A l’exception de l’Arduino nano, les deux autres cartes sont compatibles avec des Shields 2.
Ainsi, aux Méga et Uno, nous pouvons ajouter des cartes Bluetooth comme par exemple le
HC-05 ou le HC-06 ou une carte Wi-Fi notamment l’Esp8266MOD. Ces modules
supplémentaires sont coûteux, environ 18 Dt (Dinars tunisiens) pour le module Wi-Fi et 20 Dt
pour le HC-05.
Cartes Raspberry Pi
1
Le prix donné est celui trouvé sur la boutique en ligne seli.tn durant le mois de juillet 2020, période à laquelle ce
rapport est écrit.
2
Ces cartes se branchent sur d’autres cartes sans soudure
14
Chapitre 2 : Etudes théoriques
Cartes Esp32
L’Esp32 est une carte de développement créée par Espressif Systems et fabriquée par Taïwan
Semiconductor Manufacturing Company. C’est une puce assez récente. Elle a vu le jour en
septembre 2016. Contrairement à son prédécesseur (ESP8266) qui n’avait que le Wi-Fi, l’Esp32
allie à la fois le Wi-Fi et le Bluetooth (classic et Low Energy). Il existe des Esp32 à un seul
cœur, et d’autres multicœurs. Ces puces sont intégrés à des kits de développement comme par
exemple les Dev Modules, Wrover Modules et Pico Kit.
Les ESP 32 Dev Modules ne coûtent qu’environ 45 Dt.
En faisant un tour assez rapide sur les trois grandes familles de carte de développement
que l’on peut utiliser, notre choix s’est vite penché sur la famille des ESP32 car offrant de
3
Les prix référencés sont disponibles sur la plateforme seli.tn durant le mois de juillet 2020, période durant laquelle
est écrit ce rapport.
15
Chapitre 2 : Etudes théoriques
grandes performances et à moindre coût par rapport aux autres cartes (Arduino et Raspberry).
Dans la section qui suit, les caractéristiques détaillées de la carte retenue à savoir l’ESP
WROOM 32 sont décrites.
Le Dev Module Esp WROOM 32 (figure 2-2) est un kit de développement dont la puce a été
créée par Espressif Systems. Elle a de nombreuses spécificités :
La puce sur laquelle repose l’ESP WROOM 32 est l’ESP32-D0WDQ6. Composée de deux
cœurs, cette puce possède une mémoire Flash variable entre 4 et 16 MB.
L’antenne qu’elle embarque (figure 2-3) est une antenne MIFA (Meandered Inverted F
Antenna) qui assure sa connectivité Wi-Fi et Bluetooth. Le Wi-Fi se caractérise par une bande
de norme4 IEEE 802.11 b/g/n. Quant au Bluetooth, les derniers modèles possèdent la version
4.2. En plus du Bluetooth classique, cette puce offre le Bluetooth Low Energy (BLE) version
5.0 pour certains et le 5.1 pour d’autres. De fréquence d’horloge maximum égale à 240GHz et
possédant deux timers, elle embarque également un DSP et possède un bus de données sur 32
bits. Sur la figure 2-4, un schéma fonctionnel simplifié de la puce ESP32-D0WDQ6.
4
Cette norme définit le débit Wi-Fi, sa portée, la fréquence de sa porteuse, la largeur de la bande
16
Chapitre 2 : Etudes théoriques
Le Bluetooth (figure 2-5) est une norme de communication dans les deux sens (émission et
réception) basée sur la radio fréquence. Il a pour but de rendre plus facile la connexion entre
divers appareils électroniques en supprimant les fils de connexion. La fréquence à laquelle elle
est pulsée est de 2,4GHz. Les Bluetooth embarqués sur la puce sont différents. Et cette
différence majeure se fait ressentir sur la consommation d’énergie. En effet, le Bluetooth Low
Energy (BLE) consomme moins d’énergie que le classic. Le BLE est moins énergivore parce
qu’il n’est pas actif à chaque instant. Les terminaux qu’il utilise n’échangent pas de données à
tout instant. Ils le font seulement lorsque c’est nécessaire. Le BLE est utilisé dans les moniteurs
cardiaques par exemple avec les montres connectées, les capteurs cardiaques et même dans
certains terminaux de musique (lecteur de musique Bluetooth).
17
Chapitre 2 : Etudes théoriques
La puce utilisée pour faire le développement de cette carte possède 48 broches GPIO. Mais,
avec le kit, seulement 36 sont accessibles (18 de chaque côté). Chaque GPIO peut avoir
plusieurs fonctionnalités. Pour utiliser un GPIO, il faut faire les configurations adéquates à
l’aide des registres spécifiques.
Toutes les broches de l’Esp32 (confère figure 2-6) peuvent être définies comme des
entrées/sorties numériques à l’exception des broches d’alimentation (Vin, 3V3, GND) et de la
broche Enable (En).
Mais certaines broches ne peuvent qu’être configurées qu’en entrée uniquement et ne sont pas
reliées aux résistances de pull-up ou pull-down. Ces broches sont au nombre de 4 et ce sont :
GPIO34, GPIO35, GPIO36, GPIO39.
Certaines broches sont reliées à l’interne aux résistances de tirage vers le haut (pull-up). Ce
sont : GPIO14, GPIO16, GPIO17, GPIO18, GPIO19, GPIO21, GPIO22 et GPIO23.
Quant aux broches GPIO13, GPIO25, GPIO26, GPIO27, GPIO32, GPIO33, elles sont sans
résistances de pull-up interne.
Les broches numériques pouvant être utilisées comme sorties peuvent fournir un signal PWM
(Pulse Width Modulation) en français MLI (Modulation de Largeur d’Impulsion). En d’autres
termes toutes les GPIO numériques à l’exceptions des GPIO 34, 35, 36 et 39 peuvent fournir
un signal PWM. Mais il est important de noter que l’ESP32 ne possède que 16 canaux PWM.
Cela veut dire que l’on ne peut qu’utiliser 16 broches simultanément pour fournir des signaux
PWM.
Les GPIO d’entrées analgiques (confère figure 2-6) sont reliés à des convertisseurs analogiques
numériques (CAN). L’Esp32 en possède 2. Et seulement certaines de ces broches sont exposées.
Ces broches sont :
• ADC1 CH0 (ou le GPIO36), • ADC1 CH5 (GPIO33),
• ADC1 CH3 (GPIO39), • ADC1 CH6 (GPIO14),
• ADC1 CH4 (GPIO32), • ADC1 CH7 (GPIO35).
Les autres broches du CAN (en anglais ADC) si on veut les utiliser, nous devons télécharger
et installer un pilote afin de faire la réattribution des pins.
18
Chapitre 2 : Etudes théoriques
Dans l’ESP32, la conversion de la valeur analogique en entrée se fait soit sur 8 bits (0 à 255)
ou soit sur 12 bits (0 à 4095). Le choix revient à l’utilisateur qui doit préciser le nombre de bits
sur lesquels la conversion se fera lors de l’utilisation des entrées analogiques.
L’esp32 possède deux broches (voir figure 2-6) reliées au convertisseur CNA qui convertit sur
8 bits les signaux numériques en analogiques. Ces broches sont : DAC1 (GPIO25) et le DAC2
(GPIO26).
Les broches tactiles à effet capacitif (figure 2-6) sont au nombre de 10. Pouvant être utilisées
pour réveiller l’esp32 lors du mode de fonctionnement « Deep Sleep » (ou sommeil profond),
ces entrées tactiles peuvent également détecter tout ce qui contient une variation de charge
électrique comme la peau humaine par exemple. Ces entrées sont :
• T0 (GPIO4), • T4 (GPIO13), • T8 (GPIO33),
• T1 (GPIO0), • T5 (GPIO12), • T9 (GPIO32)
• T2 (GPIO2), • T6 (GPIO14),
• T3 (GPIO15), • T7 (GPIO27),
Les GPIO RTC (figure 2-6) sont des broches reliées au processeur Ultra Low Power (ULP).
Malgré le mode « Deep Sleep » ces broches sont fonctionnelles. Tout comme les broches
tactiles, elles peuvent faire sortir l’Esp32 de ce mode de fonctionnement. Elles sont nombreuses
et ce sont :
• RTC_GPIO0 (GPIO36), • RTC_GPIO10 (GPIO4),
• RTC_GPIO3 (GPIO39), • RTC_GPIO11 (GPIO0),
• RTC_GPIO4 (GPIO34), • RTC_GPIO12 (GPIO2),
• RTC_GPIO5 (GPIO35), • RTC_GPIO13 (GPIO15),
• RTC_GPIO6 (GPIO25), • RTC_GPIO14 (GPIO13),
• RTC_GPIO7 (GPIO26), • RTC_GPIO15 (GPIO12),
• RTC_GPIO8 (GPIO33), • RTC_GPIO16 (GPIO14),
• RTC_GPIO9 (GPIO32), • RTC_GPIO17 (GPIO27).
Sur la figure 2-6, elles se caractérisent par le préfixe RTC.
19
Chapitre 2 : Etudes théoriques
Ces broches sont reliées aux modules permettant la communication asynchrone. Les UART de
l’anglais signifie Universal Asynchronous Receiver Transmetter sont au nombre de trois (03)
dans l’esp32. De ce fait 6 broches sont reliées aux UART de l’Esp32. Ces broches peuvent être
observées sur la figure 2-6 avec l’indication UART et sont :
• UART 0 TX (GPIO1), UART 0 RX (GPIO3) reliées à l’UART 0, ces broches sont utilisées
pour téléverser le programme dans la carte, et sont disponibles une fois le téléversement
terminé.
• UART 2 TX (GPIO17) et UART 2 RX (GPIO16) sont reliés à l’UART 2.
Pour utiliser les broches reliées à l’UART 1, des configurations supplémentaires sont
nécessaires.
Les GPIO rattachés au bus de communication I2C sont au nombre de deux : SDA (GPIO 21),
SCL (GPIO 22). Avec le protocole de communication I2C, le SDA permet de faire l’envoie
bidirectionnel de données entre le maître et les esclaves. Le SCL quant à lui est relié au signal
d’horloge et cadence l’envoi de données. I2C a pour signification Inter-Integrated Circuit.
Le SPI qui est l’abréviation de Serial Peripheral Interface est une interface de communication
utilisant un bus de données en série. Elle utilise quatre sorties (ou entrée, tout dépend d’où l’on
regarde) pour assurer la communication. Ces quatre sorties sont :
• MOSI (Master Output, Slave Input) en français entrée de l’exclave et sortie du maître,
• MISO (Master Input, Slave Output) ce qui signifie en français entrée du maître et sortie de
l’esclave
• SCLK signal d’horloge
• CS permet de savoir quel esclave est sélectionné.
Tout comme la communication I2C, le SPI permet de connecter plusieurs esclaves au maître.
Sur l’ESP32, 2 interfaces SPI sont intégrées. Le tableau 2-5 fait le mapping de ces broches :
20
Chapitre 2 : Etudes théoriques
Sur la figure 2-6, les pins observées ont les inscriptions suivantes :
• HSPI Clk • VSPI Clk
• HSPI MISO • VSPI MISO
• HSPI MOSI • VSPI MOSI
• HSPI CSO • VSPI CSO
Notre kit de développement peut être alimenté de trois manières. La première se fait grâce au
câble micro-USB. La deuxième, à l’aide de la broche Vin qui supporte une entrée de courant
strictement inférieure ou égale à 12v. Mais pour des raisons de sécurité et de durabilité de la
carte, il est vivement conseillé de connecter cette broche avec une alimentation de 5v.
La troisième option est celle de la broche 3v3. Sur cette entrée, on ne doit qu’utiliser une
alimentation de même valeur.
Les broches d’alimentation sont recapitulées comme suit :
• Le câble micro-USB
• Vin
• 3v3
• Et la masse ou GND
21
Chapitre 2 : Etudes théoriques
Lorsque l’esp32 n’est pas alimenté à l’aide des broches Vin et 3v3, nous pouvons les utiliser
comme source de courant. En ce moment, ces pins délivrent un courant maximal de 40mA et
une tension d’environ 5v pour le Vin et de 3,3v pour le 3v3.
Le Dev Module possède deux boutons physiques. Ces boutons (figure 2-6) sont nommés Boot
et EN (pour enable). Le bouton EN est une source de reset externe et le bouton Boot permet
après appui de booster le téléversement du programme vers la carte lorsque celui-ci se fait
lentement.
Un des GPIO est nommé EN. En effet, grâce à cette broche, nous pouvons connecter un bouton
poussoir externe et l’utiliser peut faire un reset lorsque nous n’avons pas accès à la carte. Il peut
aussi être utilisé comme source de réveil de l’Esp32. Lorsqu’on le connecte à la masse, il active
le régulateur de tension interne qui donne donc une tension de 3v3.
Les kits de développement n’offrent pas de pins reliés au capteur à effet de Hall. Mais sous le
couvercle métallique (figure 2-7) de la puce se trouve ce capteur. Nous pouvons grâce à lui,
détecter et même lire le champ magnétique. A l’aide de ce capteur, nous pouvons donc mesurer
le courant.
L’Esp32 est un module bien garni en ce qui concerne les périphériques. Mais le
constructeur ne s’est pas limité à cela. Des mises à jour à distance sont possibles. De ce fait, si
une nouvelle version logicielle de la puce est disponible, pas besoin de changer toute la carte.
22
Chapitre 2 : Etudes théoriques
Une simple mise à jour suffit. Le constructeur a également permis à l’Esp de fonctionner sous
divers modes que nous décrirons dans le point suivant.
L’ESP32 peut fonctionner sous 5 modes différents. Chaque mode fait varier la consommation
de la carte. Ainsi, avec le mode le plus économique, la batterie par laquelle la carte est alimentée
peut durer des années. En ces lignes qui suivront, nous aborderons ces différents modes :
Ce mode est le plus énergivore. Cette forte consommation d’énergie s’explique par le fait que
le Wi-Fi, le Bluetooth et les processeurs sont alimentés en permanence. Ainsi, la consommation
varie entre 190 mA à 240 mA (selon le constructeur) mais selon ‘’last minute engineers’’, la
consommation atteint des pics allant à plus de 790 mA. Avec cette forte consommation
d’énergie, il faut alimenter la carte continuellement au secteur ou en changeant très souvent les
batteries.
La mise en veille du modem permet de consommer moins d’énergie que le mode actif. En effet,
avec ce mode, on consomme entre 3 à 20 mA. Ce gain en énergie se fait grâce à la désactivation
du Wi-Fi, Bluetooth, de la Radio et des périphériques. Seuls les processeurs, l’Ultra Low Power
coprocessor, le RTC et les périphériques RTC sont actifs.
Si l’on veut économiser encore plus d’énergie que le mode précédent, ce mode est adapté. Avec
ce mode, la consommation est d’environ 0,8 mA seulement. En plus de toutes les désactivations
faites lors du mode précédent, la mise en veille légère met en pause les processeurs de la carte.
Ainsi, dans ce mode, le Wi-Fi, le Bluetooth, la Radio et les périphériques sont mis en veille.
Les processeurs quant à eux sont dans un état de pause. Le RTC et le coprocesseur ULP sont
les seuls à être actifs.
Outre le mode actif, ce mode est le plus connu. En effet, il permet une très grande économie
d’énergie car la consommation est seulement de l’ordre de quelques micro-Ampères (10µA
plus exactement). Au cours de l’utilisation du ‘’Deep Sleep’’, seulement le Coprocesseur ULP,
le contrôleur RTC, ses mémoires et ses périphériques sont actifs.
23
Chapitre 2 : Etudes théoriques
Le mode le plus économe est celui-là. Il ne consomme que 2,5 µA. Pour arriver à une telle
consommation d’énergie, seul un temporisateur reste actif. La mémoire RTC alors active au
cours des autres modes est désactivé. Ainsi, aucune conservation de données n’est possible.
Également, un nombre réduit de périphériques relié au RTC est actif. Seuls les pins reliés au
RTC peuvent faire quitter l’ESP32 de ce mode.
Quelques lignes de codes sont nécessaires pour activer et désactiver les différents modes à
l’exception du mode actif.
Le tableau 2-4 fait un bref résumé des différents modes de fonctionnement de l’ESP32.
La connaissance de ces différents modes nous a permis de choisir lequel ou du moins lesquels
des modes sont semblent plus adaptés à notre projet. Ainsi, nous utiliserons deux modes à savoir
le mode actif et le mode sommeil profond. Lorsque la trottinette fonctionne, elle a besoin du
Bluetooth et des différents périphériques. Ainsi, pendant son fonctionnement, le mode actif est
requis. Mais, une fois son utilisation finie, le mode sommeil profond est utilisé permettant ainsi
de prolonger la durée de vie de la batterie.
24
Chapitre 2 : Etudes théoriques
Afin de pouvoir programmer notre Esp32, une interface de développement est nécessaire. Ainsi,
plusieurs choix s’offrent à nous. Nous pouvons tout simplement le programmer à travers
Arduino IDE, Visual Studio ou Atom IO grâce au Framework5 d’Espressif appelé ESP-IDF ou
grâce aux bibliothèques Arduino. Nous tenterons d’expliquer comment fonctionnent ces
différentes interfaces de développement et sur lesquelles parmi ces dernières notre choix s’est
porté.
2.6.4.1 ESP-IDF
Arduino IDE fait partie du projet Arduino de rendre l’informatique et l’électronique accessible
à tous. Ainsi, c’est une application multi-plateforme6 écrite en Java7. Cette application est
utilisée pour écrire et téléverser le programme sur la carte.
Afin de pouvoir la télécharger, nous devons nous rendre sur le site web officiel d’Arduino :
Arduino.cc. Ensuite cliquer sur Software puis sur Download. Après avoir fait cela, nous
choisissons la version compatible avec notre ordinateur et nous lançons le téléchargement en
cliquant sur ‘’Just Download’’. Il est possible qu’après avoir lancé le téléchargement, nous
soyons redirigés vers Windows Store si notre pc fonctionne sous Windows. Une fois sur
Windows Store, il faut cliquer sur télécharger.
Après avoir fini le téléchargement, il ne reste plus qu’à lancer l’application.
Une fois l’application lancée, nous pouvons observer quatre blocs (figure 2-8).
5
Emprunté de l’anglais, un Framework désigne en informatique le socle d’une application. Ce sont les fondements
de base d’un logiciel.
6
Utilisable sous Windows, Mac, Linux
7
Langage de programmation
25
Chapitre 2 : Etudes théoriques
• Le premier bloc contient la barre de menus qui permet entre autres la configuration du
logiciel, le choix de la carte.
• Ensuite dans le bloc 2, il y a la barre d’outils qui, de gauche à droite contient les boutons
Compiler, Téléverser, Nouveau, Ouvrir et Enregistrer.
• Puis dans le troisième bloc, nous devons écrire le programme. Le code doit être écrit en
C/C++ à l’aide des fonctions prédéfinies.
• Enfin le bloc quatre est dédié aux résultats de compilation et téléversement.
Pour utiliser l’ESP32 avec l’Arduino IDE, certaines modifications doivent être apportées. En
effet, une fois dans la barre de menu se rendre dans Fichier – Préférences (figure 2-9) et après
avoir cliqué sur Préférences, saisir dans la zone indiquée par la flèche sur la figure 2-9 l’URL
suivant : ‘’https://dl.espressif.com/dl/package_esp32_index.json’’. Cet URL permet de
télécharger les bibliothèques et les cartes reliées à l’ESP32.
26
Chapitre 2 : Etudes théoriques
Figure 2-9: Installation des bibliothèques Esp32 sur Arduino IDE Partie 1
Après avoir cliqué sur OK, ouvrir Outils dans la barre de menu. Puis Cartes > Gestionnaire de
Cartes (figure 2-10) et saisissez dans la partie recherche ‘’esp32’’. Télécharger ‘’esp32 by
Espressif Systems’’.
Figure 2-10: Installation des bibliothèques Esp32 sur Arduino IDE Partie 2
La connexion de la carte et du PC se fait par le biais d’un câble micro-USB. Ainsi, pour pouvoir
l’utiliser, un driver8 doit être installé. Souvent l’installation du driver CP210x se fait de manière
automatique. Dans le cas où il ne se fait pas, aller dans la barre de recherche google et saisissez :
‘’usb to uart bridge vcp drivers – Silicon Labs’’ et télécharger la version compatible avec votre
machine. Lorsque le téléchargement sera effectif, le pilote s’installera automatiquement.
8
Driver ou pilote est un programme informatique destiné à permettre la compatibilité entre deux terminaux
27
Chapitre 2 : Etudes théoriques
Visual Studio Code (figure 2-11) est de Microsoft et fait partie de la suite de logiciels de
Microsoft Visual Studio. C’est un logiciel multiplateforme, et il permet d’écrire des codes en
C++, C#, Visual Basic, F#, Q# pour n’en citer que ceux-ci. En effet, trois logiciels partagent la
même IDE. Ce sont : Visual Basic, Visual C++ et Visual C#. L’installation d’extensions est
possible et permet de ce fait d’éditer en plusieurs autres langages. Vs code possède des
avantages comme l’installation facile, la prise en main rapide, l’existence de ItteliSense 9. En
plus de cela, il offre un système de débogage puissant.
Atom quant à lui, est un éditeur de textes Open Source qui a pour grand avantage la création
de son propre package10. Ainsi, un développeur tiers peut écrire ses codes sources et le mettre
à disposition de la communauté. Cette communauté est très active et repose sur GitHub. Avec
Atom, nous pouvons installer et créer les packages, customiser notre IDE et installer les
Framework comme bon nous semble.
Afin de pouvoir utiliser ces IDE pour programmer l’esp32, nous devons installer sur l’IDE
choisie l’extension PlateformIO. Le logo de plateformIO est représenté par la Figure 2-13.
9
ItteliSense est un prédicteur de texte qui permet s’il est bien utilisé de réduire considérablement les erreurs.
10
Un package est un ensemble de codes sources
28
Chapitre 2 : Etudes théoriques
PlateformIO permet la prise en charge de plus de 400 cartes des principaux microcontrôleurs
dont la nôtre l’esp32. Il est intuitif et permet l’utilisation du Framework d’Espressif Systems
ou des bibliothèques d’Arduino.
De nombreux cours et documents montrent comment utiliser toutes les IDE, Framework vu
plus haut. L’utilisation de ces IDE nécessite également l’installation du driver CP210X. Dans
la section 2.6.4.2 consacrée à l’IDE d’Arduino, nous avons déjà abordé l’installation de ce
pilote.
Au préalable, notre choix s’est porté sur Atom et malheureusement il s’est avéré être assez
lent et ne répondait pas à nos attentes. Ainsi, le choix définitif s’est porté sur VS code avec
l’extension PlateformIO et l’utilisation des bibliothèques Arduino pour Esp32. Voici comment
se présente la page d’accueil de cet IDE :
29
Chapitre 2 : Etudes théoriques
L’utilisation d’un module de communication longue distance entre en ligne de mire est
indispensable dans la validation d’un des buts du projet. Ce but est : assurer la liaison entre la
trottinette et la centrale de contrôle. Il existe de nombreux modules de communication
radiofréquence qui assurent une communication longue distance. Ces modules utilisent divers
protocoles. Ces protocoles sont utilisés dans l’Internet des Objets (Internet of Things : IoT).
Nous avons comme exemple de protocoles : GSM, LoRaWan, Sigfox, Zigbee, Z-Wave, NBIoT,
Wi-Fi, Bluetooth. Le Bluetooth 2.0 est plus rencontré de nos jours parmi les Bluetooth mais
nous tendons plus vers les dernières versions : 4.0, 4.1, 5.0 (BLE). Le tableau 2-5 évoque
certains protocoles et leurs caractéristiques (débit et distance max).
Tableau 2-5: Tableau récapitulatif sur certains réseaux basés sur Radio Fréquence
2.8 Le Xbee
Le Xbee (figure 2-15) est une carte de communication à faible consommation, courte distance.
Elle utilise le système des réseaux maillés pour l’interconnexion entre les différents modules.
Utilisés principalement pour la domotique et les systèmes embarqués comme dans notre cas,
cette carte est validée par la Zigbee Alliance.
Il existe 03 types de configuration possible pour un module Xbee :
o Le coordinateur
30
Chapitre 2 : Etudes théoriques
o Le rooteur
o Le terminal
Dans un réseau Zigbee, on ne peut que définir un seul coordinateur qui se charge de gérer tout
le reste des modules. Il est le module maître du réseau. Les routeurs peuvent être interconnectés,
ou connectés avec le coordinateur. Il peut exister plusieurs terminaux et routeur dans ce réseau.
Outre la configuration maillée, il existe celle en arbre et en étoile.
L’avantage du réseau maillé est que si un nœud (un module Xbee) se gâte, une autre voie est
créée afin d’acheminer le message.
Afin de pouvoir configurer un Xbee, il faut installer XCTU et procéder à la configuration de
chaque module. XCTU se télécharge sur ‘’Digi.com’’ et sur la figure 2-17, nous pouvons
observer le lancement de l’application après le téléchargement.
31
Chapitre 2 : Etudes théoriques
L’ajout et la configuration d’un nouveau module se font en cliquant sur l’onglet + lorsqu’une
connexion filaire est établie entre le module et le pc, ou en cliquant sur la loupe (onglet
rechercher) et on ajoute, puis configure le Xbee en choisissant le mode AT ou API.
Le mode API autorise le module à construire des messages Xbee. Le mode AT ou transparent
ne permet que la lecture ou la transmission de messages. Nous avons configuré nos deux
modules Xbee en mode AT. Un sera coordinateur et sera relié à la centrale et l’autre routeur le
sera avec la trottinette. Le module relié à la trottinette pouvait être aussi configurer en terminal.
Afin de faciliter l’utilisation du module Xbee (figure 2-15), des modules sont mis en vente sur
le marché. Le module d’alimentation utilisé est le Foca v2.2 et il est représenté par la figure 2-
19.
L’autre grand avantage de Zigbee Alliance, est qu’il permet de construire des modules adaptés
à la solution de son client. De ce fait, pour une flotte de trottinette cette option sera la meilleure
32
Chapitre 2 : Etudes théoriques
car elle réduira considérablement le coût de conception de la flotte. Etant donné que nous ne
sommes qu’au stade de prototypage, nous avons acheté deux modules distincts afin de tester la
fiabilité de la solution.
Initialement créé par Google, MIT App Inventor est de nos jours sous la gestion du MIT11. Il
permet la création d’applications compatibles avec les deux principaux systèmes d’exploitation
à savoir IOS et Android. Cette plateforme de développement en ligne utilise le langage de
programmation Scratch basé sur l’utilisation de blocs sous forme de puzzles. Il est idéal pour
les débutants en informatique. Nous avons donc utilisé ce logiciel open source car il répondait
à nos attentes et contraintes temporelles.
Pour utiliser cet outil, il faut se rendre sur google et saisir dans la barre de recherche ‘’Mit app
inventor’’. Après avoir cliqué sur le premier résultat, cliquez sur ‘’create apps’’ ou sur ‘’créer
des applications’’. Puis si vous avez un compte google, enregistrez-vous grâce à ce compte et
commencer la création d’application. La première application que nous avons créée avec App
Inventor remonte au 17 février 2019 et sur la figure 2-20 nous pouvons observer cette IDE avec
une ébauche de notre application chargée de commander une lampe par Bluetooth.
11
Massachusetts Institute of Technology
33
Chapitre 2 : Etudes théoriques
App Inventor se compose de deux parties : la partie design et la partie programmation ou block.
La partie design (figure 2-20) se subdivise en 4 blocs. De la gauche vers la droite, le premier
s’appelle, Palette, et c’est dans cette partie que se fait le choix des composants à intégrer dans
la future application. La deuxième partie donne un aperçu du rendu de l’application. Quant au
troisième bloc, il montre les composants déjà intégrés à l’application. Enfin, lorsque nous
choisissons un composant dans la première partie (la Palette), nous pouvons la configurer dans
la partie 4. Sur la même image, la partie sous la partie en bleue, se cache le compte google qui
a permis à la connexion.
Pour basculer du mode design à celui de la programmation, il faut regarder en haut en gauche
et cliquer la partie sur laquelle nous voulons nous rendre.
La seconde partie de cette application, la partie block, est illustrée sur la figure 2-21 :
A gauche, s’affiche toutes les options de combinaison auxquelles nous avons droit avec les
composants choisis et à droite, nous devons assembler les puzzles pour faire un code.
De nombreux tutoriels existent sur leur page et en dehors des leurs. Avec beaucoup de
documentations, nous avons été capable de créer quelque chose de fonctionnel pour notre
projet.
Afin de pouvoir faire des tests sur le fonctionnement de ce que nous créons avant la construction
de l’application, le logiciel nous en offre la possibilité grâce au compagnon AI, à un émulateur
ou encore via un câble micro-USB branché au téléphone.
34
Chapitre 2 : Etudes théoriques
De nos jours, il existe de nombreux logiciels qui permettent de faire les PCB. Eagle, Altium
Designer, Protéus et KidCad sont les plus populaires sur le marché actuel.
Créé par la société allemande CadSoft Computer GmbH en 1988, Eagle appartient maintenant
à Autodesk depuis 2016. Ce logiciel est le plus utilisé pour la conception de circuit imprimé
dans le monde. Certaines versions permettent d’allier conception électronique et mécanique.
Après le géant Eagle, Altium Designer qui n’est disponible que sur Windows est le suivant
dans le classement. Il permet de :
o Faire la saisie des schémas électriques
o Concevoir et de router les circuits imprimés
o Programmer les microprocesseurs et les FPGA12
Protéus se compose de deux parties. Isis permet la création de schéma et la simulation
électrique. Arès quant à lui est dédié au routage. Développé par Labcenter Electronics Ltd, il a
une bibliothèque bien garnie de composants.
KidCad est un logiciel Open Source développé par Jean-Pierre Charras en 1992. Ce logiciel
permet de faire la conception et le routage de PCB.
Ces quatre logiciels offrent la possibilité de faire la visualisation de la carte sous plusieurs
dimensions (2D, 3D).
Durant ce projet, nous avons travaillé avec Protéus et Altium Designer. Protéus nous a permis
de faire certaines simulations et les premiers montages. Malgré la complexité d’Altium par
rapport à Proteus, nous avons choisi de terminer la conception de la carte avec Altium Designer
(version 20.0.2) qui à notre humble avis, a un environnement de développement plus complet
et intuitif. Il permet d’extraire des fichiers sous format A4 de la partie conception des schémas
électriques avec un cartouche à remplir. En plus, l’utilisateur peut créer sa propre bibliothèque
ce qui peut être vu comme un avantage ou un inconvénient. Vu comme un avantage, il permet
à l’étudiant de travailler de manière professionnelle.
12
Field Programmable Gate Array
35
Chapitre 2 : Etudes théoriques
Potentiomètres
Ce sont des résistances variables. En effet, ces résistances changent de valeur en fonction de la
position du curseur. On choisit un potentiomètre en fonction de son application et de la plage
de mesure qu’il offre.
LDR
De l’anglais Ligth Dependent Resistor, la photorésistance (figure 2-25) ou LDR est aussi une
résistance variable. Cette fois-ci, la valeur de la résistance varie en fonction de l’intensité de la
lumière qu’elle reçoit.
36
Chapitre 2 : Etudes théoriques
Diode
La diode est un dipôle ne permettant la circulation du courant que dans un seul sens. Une diode
à commutation rapide nous sera utile dans la suite du projet. Cette diode est dite diode de
Schottky (figure 2-26).
Pour choisir une diode (annexe 1), il faut tenir compte des critères de choix du tableau 2-6.
Tableau 2-6: Critères de choix d'une diode
Désignation Signification
IF Courant direct continu
IFRM Courant direct de pointe répétitif
IFSM Courant direct de pointe non répétitif de surcharge accidentelle
VRRM ou VRPM Tension inverse de pointe répétitive
VRSM Tension inverse de pointe non répétitive
VF Tension directe continue à l’état passant
Led Infrarouge
Les leds infrarouges sont une variante des diodes électroluminescentes (en anglais ligth-
emitting diode). Ces dernières émettent une lumière comprise dans le spectre de la lumière
visible (entre 380 et 780 nm13). La lumière émise par la led infrarouge (figure 2-27) est pour la
plupart supérieure à 885nm ce qui fait que l’on ne peut pas voir cette lumière à l’œil nu. Le
choix d’une led se fait à travers son courant IF et la tension à ses bornes. De même, il faut tenir
compte de ces caractéristiques pour les leds infrarouges.
Photodiode
La photodiode est un récepteur optique branché en inverse dans les montages afin d’accroître
sa sensibilité à la lumière infrarouge. La figure 2-28 illustre ce composant. Pour choisir une
13
Nanomètre
37
Chapitre 2 : Etudes théoriques
photodiode, il faut en plus des caractéristiques d’une led normale, se pencher sur sa bande de
réception. Il faut être en mesure de savoir quelle est la bande de lumière qu’elle peut capter.
Transistors Mosfet
Les transistors sont des composants électroniques commandables. Les plus répandus sont les
transistors bipolaires. Ils sont utilisés dans les circuits soit en mode commutation c’est-à-dire
en fonctionnant comme un interrupteur, soit en mode linéaire comme un amplificateur de
courant. Il existe deux types de transistors bipolaires : les NPN et les PNP ; et tous deux sont
commandables en courant.
Les transistors qui nous intéressent dans notre projet sont les transistors mosfet (figure 2-29)
qui contrairement aux bipolaires, sont commandables en tension. Pour l’asservissement de notre
moteur, ces derniers sont plus adaptés que les bipolaires. En effet, ces transistors à effet de
champs sont plus stables et chauffent moins lorsqu’ils sont bien choisis. Ils se regroupent en
deux groupes à savoir les transistors mosfet à canal N et les transistors mosfet à canal P. Les
caractéristiques à prendre en compte lors du choix d’un transistor (annexe 2) sont mentionnés
dans le tableau 2-7 :
Tableau 2-7: Critères de choix d'une diode
Désignation Signification
VDS Tension entre le Drain et la Source
ID Courant du Drain
PTOT Puissance Totale
RDS ON Résistance à l’état passant
VGS seuil Tension Gate Source à partir de laquelle le transistor devient passant
VGS max Tension Gate Source maximale
38
Chapitre 2 : Etudes théoriques
Les indications G, D, S sur la figure 2-29 sont mises respectivement pour Gate, Drain, Source.
En cas d’échauffement du transistor mosfet, il faut dimensionner le radiateur (figure 2-30) de
manière adéquate afin de dissiper la chaleur accumulée par le composant.
Optocoupleur
Un optocoupleur est un composant électronique permettant d’établir une isolation galvanique
entre le circuit de commande et celui de puissance. En termes de performances, ces petits
composants (figure 2-31) sont très puissants. Son boitier généralement composé de quatre pattes
contient une led infrarouge et un phototransistor. La led infrarouge sera reliée au circuit de
commande et le transistor bipolaire à la partie de puissance.
L’isolation galvanique est assurée par la liaison entre les deux parties faites par les photons. En
effet, la led infrarouge émet des photons qui par la suite seront captés par la base du transistor.
Ainsi, il n’y a pas de liaison physique entre les deux circuits.
Pour faire le choix de celui qui est le mieux adapté à notre application, il faut tenir compte des
paramètres mentionnés dans le tableau 2-8 :
Tableau 2-8 : Critères de choix d’un optocoupleur
Désignation Signification
VF Tension
CTR Taux de transfère
IF max Courant maximum d’entrée
IC max Courant maximum en sortie
VISO Tension d’isolement
VCE Max Tension maximale entre le Collecteur et l’Emetteur
39
Chapitre 2 : Etudes théoriques
Amplificateur Opérationnel
Un amplificateur linéaire intégré (ALI) précédemment appelé amplificateur opérationnel
(AOP) est un amplificateur électronique. Ces amplificateurs sont multi-usages. On les utilise
dans les circuits pour la comparaison, l’addition et la soustraction de deux tensions. Aussi, grâce
à eux, on peut faire la dérivée, l’intégrale, l’inverse d’une tension, et générer l’image d’une
tension.
Il se caractérise par : un gain élevé, une grande impédance d’entrée et une faible de sortie. Sur
l’entrée e-, un rebouclage peut être fait sans que l’AOP ne devienne instable.
La figure 2-32 nous donne un aperçu de ce composant.
Borniers à vis
Les borniers (figure 2-33) sont des blocs permettant de relier deux parties. Dans le cas présent,
elle assurera la jonction entre les batteries d’alimentation du moteur et la carte qui réalisée.
40
Chapitre 2 : Etudes théoriques
Ce chapitre a été pour nous l’opportunité de voir plus en détails les différentes possibilités qui
se sont offertes à nous pour la réalisation de notre projet.
Tout d’abord, nous avons rappelés les objectifs du présent projet. Ensuite, les motivations du
choix de la carte Esp32 ont été évoquées, enfin une étude poussée sur son architecture, ses
modes de fonctionnement, et sa programmation a été faite.
Dans ce chapitre, le logiciel MIT App Inventor a été présenté. Ce logiciel a permis la création
de notre application Android. Cette application permettra une communication entre la trottinette
et l’Homme.
En vue d’atteindre le troisième objectif du projet, une recherche approfondie sur les
technologies et protocoles de communication longue distance sans fils existantes sur le marché
a été faite et présentée. Cette étude a permis de porter notre choix sur le module Xbee.
Avant de procéder à la conception de la carte, nous avons évoqué de manière brève les différents
logiciels de conception assistée par ordinateur dans ce chapitre dédié aux études théoriques. Les
logiciels CAO qui ont été utilisés sont Altium Designer et Protéus.
Une présentation des différents composants électroniques utilisés par la carte a mis fin à ce
deuxième chapitre.
41
Chapitre 3 : Réalisation de la solution
3 Chapitre 3
Réalisation de la solution
42
Chapitre 3 : Réalisation de la solution
3.1 Introduction
Afin de faire le choix des composants les mieux adaptés au système, ce choix doit être fait en
fonctions de nos besoins et des caractéristiques de ces composants. Ainsi, nous avons
principalement 03 circuits. Celui du contrôle du moteur, du capteur de vitesse et de la lecture
du niveau de batterie. Toutes les données qui seront utilisées dans cette section le sont en
fonction des datasheets des différents constructeurs. Ces datasheets sont disponibles en
annexes.
Désignation Signification
VF 1.4 V avec un courant de test IF = 20 mA
CTR 200 – 400 tout dépend du composant en main
IF max 50 mA
43
Chapitre 3 : Réalisation de la solution
IC max 50 mA
VISO 5000 V
Vce Max 6 Vrms
Entrée de l’optocoupleur :
La led IR en entrée de l’optocoupleur doit être protégée contre le courant maximal délivré par
l’esp32. Ce courant est de l’ordre de 40mA. La tension quant à elle est idéalement de 3.3 v.
Ainsi, nous pouvons calculer la résistance adéquate :
𝑈
𝑈 = 𝑅 ∗ 𝐼 => 𝑅 =
𝐼
𝑈𝑒𝑠𝑝 − 𝑈𝑙𝑒𝑑
𝑅=
𝐼𝑙𝑒𝑑
3.3𝑣 − 1,4𝑣
𝑅=
0.02𝐴
𝑅 = 95 Ω
Dans les conditions extrêmes, le choix de la résistance minimale est de 95 Ω.
La résistance de 220 Ω est supérieure à la valeur minimale (95 Ω) donc la led IR sera bien
protégée. Vérifions si avec cette nouvelle valeur de la résistance, le courant maximal d’entrée
(Ic max = 20 mA dans les conditions de test VF max = 1,4 V) de l’optocoupleur est respecté.
(𝑈𝑒𝑠𝑝 − 𝑈𝑙𝑒𝑑 ) (3,3 − 1,4)
𝐼𝑙𝑒𝑑 = = = 8𝑚𝐴
220 220
𝐼𝑙𝑒𝑑 = 8 𝑚𝐴
Cette valeur est admissible par la led IR. La résistance de 220 Ω peut être utilisée.
Sortie de l’optocoupleur :
Notre transistor sera utilisé en mode saturation. De ce fait, nous devons nous assurer qu’avec la
tension des batteries, le transistor bipolaire soit dans les conditions optimales pour être en
saturation.
44
Chapitre 3 : Réalisation de la solution
La résistance RL conditionne la sortie du signal de l’optocoupleur. Mais cette sortie est inversée
(figure 3-1). Afin de ne pas inverser la tension de sortie, la résistance et le point de sortie se
feront sur l’émetteur du transistor de l’optocoupleur.
Choix de la RL :
La plage dans laquelle se situe la valeur de cette résistance est dans notre cas compris entre
3,5 – 50 kΩ. En se basant sur les courbes représentées par la figure 3-2 nous pouvons calculer
cette plage.
Le courant IF (Iled) est de 8mA. Dans ce cas, la chute de tension aux bornes du transistor est
d’environ 1V.
Avec : une batterie délivrant une tension de Vbat ± 24 V et Ic qui varie entre 0.5 – 7 mA. Ainsi
la valeur de la résistance est :
• Pour 0.5 mA et 23 V égale à 46 kΩ
• Pour 7 mA et 23 V égale à 3,285 kΩ
Le choix a été difficile car nous avons procédé de manière empirique d’abord par simulation
avec ISIS. Cette simulation n’était pas concluante car ne tenant pas compte des réalités du
terrain. La simulation en réel à l’aide tout d’abord de l’alimentation stabilisée puis des batteries
et de l’oscilloscope a été privilégié pour observer les courbes des tensions d’entrée et de sortie.
La valeur avec laquelle nous avons commencé les expérimentations a été de 10 kΩ. Avec cette
valeur, il existait des pics de tension à la sortie (figure 3-3).
45
Chapitre 3 : Réalisation de la solution
A cause de ces pics, notre montage n’était pas stable. Ils entrainaient également l’échauffement
rapide du mosfet.
Après plusieurs valeurs de résistance, la sortie était stable à partir de 20 kΩ. Le résultat obtenu
est observable sur la figure 3-4.
De gauche vers la droite, la première image montre l’allure de la tension de sortie, la seconde
le temps de montée (12 µs) et la troisième, le temps de descente qui est de 80 µs.
Ainsi, pour RL nous avons choisi 20 kΩ.
• Etage d’adaptation du mosfet :
Le moteur nous a été livré sans documentations. Les caractères que l’on peut observer sur le
moteur (figure 1-10) laissent croire qu’ils correspondent au numéro de série. Mais sur aucune
base de données des moteurs de recherches, ces caractères ont eu une correspondance. Afin de
pouvoir déterminer certaines caractéristiques comme le courant de démarrage, le courant
nominal, nous avons eu recours à l’alimentation stabilisée et au multimètre. Après plusieurs
essais, le constat fait est que le courant de démarrage est de l’ordre de 3,6 A et celui en régime
linéaire atteint 2,8 A. Nous n’avons pas pu détecter la tension maximale du moteur car nous
46
Chapitre 3 : Réalisation de la solution
avons vite atteint les limites de l’alimentation stabilisée. Ces valeurs sont les caractéristiques
du moteur à vide. La tension maximale fournie par nos batteries montées en série est de 24 V.
Ces données sont utilisées afin de permettre le choix du transistor.
Le transistor choisi doit être capable de supporter les caractéristiques minimales consignées
dans le tableau 3-2 :
Valeur minimale
Tension 24V
Courant 3,6A
Ces transistors chauffaient trop vite, atteignaient des valeurs très élevées puis étaient détruits.
Cette destruction survenait en moins de 30 secondes lorsque le transistor était utilisé tout seul.
Pour pallier à ce problème, il est conseillé de dimensionner un radiateur ou de mettre plusieurs
transistors en parallèle.
Après, après avoir mis deux, trois puis quatre transistors IRF630 en parallèle, nous constations
toujours l’échauffement de ces composants. Avec quatre transistors en parallèles, la fumée était
produite par ses composants après environ 2min50. Nous avons donc envisagé l’utilisation de
47
Chapitre 3 : Réalisation de la solution
radiateurs. Avant cela, nous avons essayé de calculer la puissance que doit dissiper le transistor
IRF630. Ces calculs ont été fait avec ce dernier car il produit moins de chaleur par rapport aux
autres.
𝑇𝐽 = ( 62.5 × 5,184) + 25 = 349 °𝐶 Cette valeur est supérieure à celle supportable par le
transistor IRF630 raison pour laquelle il s’est très vite endommagé.
Ainsi, même avec quatre transistors IRF630 sans radiateur malgré une température ambiante
estimée à 25°C, les quatre transistors chauffent assez.
48
Chapitre 3 : Réalisation de la solution
Nous devions équiper nos quatre transistors avec ce type de radiateur, mais nos investigations
n’ont pas permis de trouver ce type de boitier.
Il est important de notifier que la tension fournie par la batterie est fixe, mais le courant
varie car il est imposé par le moteur. Ainsi, dans les conditions réelles, la charge et/ou
l’existence d’une pente, l’accélération sont des variables qui agissent sur la demande d’intensité
du moteur. Elles agissent donc par ricochet sur la puissance dissipée.
Ne connaissant pas les conditions réelles d’utilisation de la trottinette, nous avons voulu être
prudent en prenant deux transistors plus puissants avec de faibles résistances RDS on et un boitier
de résistance thermique ambiant très faible.
Notre choix s’est porté sur le IXFH26N50P3.
Tableau 3-4: Caractéristiques du transistor IXFH26N50P3
Désignation IXFH26N50P3
VDS 500 V
ID à 25 °C 30 A
RDS ON 0.24 Ω
VGS seuil 4V
VGS max ± 30 V
Rth JC 0.25°C/W
Rth JA Non référencé
49
Chapitre 3 : Réalisation de la solution
• Diode rapide
La diode de Schottky est une diode à temps de commutation rapide. Cette diode protège le
moteur et le circuit contre les fortes valeurs de tensions en inverse. Elle supporte 350V en
inverse. Elle protège bien le moteur lorsque celui-ci n’est pas alimenté contre les effets causés
par la bobine du moteur.
Montage :
50
Chapitre 3 : Réalisation de la solution
Après plusieurs tests, le constat est que la valeur reçue par la photodiode varie en fonction de
la période de la journée et elle n’est pas binaire. Pour que cette valeur soit binaire, nous avons
pensé à ajouter un comparateur à base d’AOP (figure 3-6).
51
Chapitre 3 : Réalisation de la solution
52
Chapitre 3 : Réalisation de la solution
3.3 Programmation
Utilisateur
Application
Capteurs Microcontrôleur
Android
Centrale de
Xbee
Xbee
Microcontrôleur
contrôle
Le microcontrôleur doit assurer plusieurs tâches qui s’exécutent simultanément. L’écriture d’un
code unique à exécution séquentielle n’est pas adaptée à notre système car ce type de
programmation est souvent bloquant.
53
Chapitre 3 : Réalisation de la solution
L’acronyme SA/RT signifie Structured Analysis / Real Time. C’est une méthode fonctionnelle
structurée qui met en évidence les aspects importants des systèmes temps réels. Elle s’intéresse
à la spécification préliminaire (le quoi) et la spécification détaillée le pourquoi. Cette méthode
se construit autour des aspects fonctionnels et évènementiels.
L’aspect fonctionnel est la représentation des traitements que le système doit réaliser. On y
représente les flots de données. Dans notre cas, il servira à représenter les tâches.
L’aspect évènementiel quant à lui s’organise autour des évènements qui permettent l’évolution
du système.
Pour mettre en place cette méthodologie à modèle graphique, il faut décomposer le système en
plusieurs diagrammes et spécifications. Cette décomposition se fait en allant du général au
particulier.
Il en ressort de cette étude que nous avons 05 tâches qui sont déclenchées au début après appuie
sur le bouton Sleep. Ce bouton permet à l’esp32 de quitter le mode sommeil profond dans lequel
il était pour se mettre en mode actif. Ces tâches prennent fin après l’appuie sur le bouton stop.
Un appuie sur ce bouton remet l’esp en mode sommeil profond afin d’économiser de l’énergie.
Certaines des tâches développées prennent fin immédiatement, mais la fin des autres survient
après une temporisation spécifique. Cette temporisation permet d’envoyer la dernière
localisation de la trottinette à la centrale.
3.3.1.2 FreeRTOS
Pour implémenter notre solution temps réelle, nous avons eu besoin du noyau FreeRTOS. Ce
noyau dédié à la programmation temps réelle connait un franc succès et est compatible avec
une trentaine d’architectures différentes. Parmi ces architectures, celle de l’esp32 en fait partir.
Il permet une optimisation des ressources et possède une faible empreinte c’est-à-dire que ce
noyau n’occupe pas beaucoup de places dans la mémoire de la puce.
FreeRTOS signifie Real Time Operating System. Il est sous licence MIT et peut être utilisé à
des fins éducatives et/ou professionnelles. Les tâches, tubes, interruptions et mutex sémaphore
54
Chapitre 3 : Réalisation de la solution
sont les principales choses que nous avons implémenté grâce au noyau. Ainsi de l’analyse faite
grâce à la méthodologie SA/RT, nous avons défini 5 tâches. La définition d’une tâche grâce au
noyau FreeRTOS et aux bibliothèques d’Arduino pour esp32 se fait dans la fonction void
setup() et se présente comme suit :
xTaskCreatePinnedToCore (nomTâche, "nom Humain", taille d’une donnée, NULL, priorité,
valeur retournée, processeur 0 ou 1)
Cette tâche permet non seulement de faire la liaison entre la trottinette et le centre de contrôle
mais aussi, elle permet de recevoir l’autorisation de l’application. Cette autorisation permet
d’initier la commande du moteur. Sans cette autorisation, le moteur ne peut être commandé. En
la recevant, la tâche Xbee l’envoie à l’aide d’un tube à la tâche d’asservissement du moteur en
vitesse. C’est de la communication inter-tâche.
De la trame NMEA de la localisation, seulement les informations concernant la latitude et la
longitude sont utilisées par l’application Android. Ces données de localisation sont envoyées à
cette tâche. Par suite, elle achemine les informations sur la localisation par radiofréquence vers
la centrale de contrôle. Ces informations sur la localisation sont transmises de la trottinette à la
centrale par le protocole Zigbee. Les informations reçues par le Xbee de la centrale seront lues
et affichées par Hyper Terminal. Plus tard, une application spécifique devra être conçue.
55
Chapitre 3 : Réalisation de la solution
L’algorithme servant à asservir le moteur en vitesse peut être synthétiser à l’aide du logigramme
suivant :
56
Chapitre 3 : Réalisation de la solution
La partie soft du capteur de vitesse qui a été implémenté s’est faite à l’aide des interruptions.
En effet, si une interruption survient, une variable compte le nombre de fois que la photodiode
a reçu la lumière infrarouge. Cette tâche compte pendant 2 secondes le nombre d’interruptions.
A l’aide d’algorithmes de calculs, elle calculera la vitesse, la distance parcourue et les
transmettra à l’application grâce au Bluetooth.
57
Chapitre 3 : Réalisation de la solution
La surveillance du niveau de la batterie se fait à l’aide de l’AOP en mode suiveur (section 3.2.3).
La partie software consacrée au niveau de batterie est démontrée par l’organigramme de la
figure 3-14.
58
Chapitre 3 : Réalisation de la solution
Afin de pouvoir assurer la synchronisation entre les tâches, nous avons défini nos tâches avec
différentes priorités (figure 3-16).
Puis nous avons utilisé les sémaphores de type mutex qui permettent l’exclusion mutuelle. La
tâche qui écrit dans le canal commun à tous (le Bluetooth) bloque les autres tâches jusqu’à ce
qu’il ait fini. Après avoir fini d’écrire, il libère le canal Bluetooth. Ce canal est utilisable en ce
moment par la tâche de plus grande priorité.
59
Chapitre 3 : Réalisation de la solution
60
Chapitre 3 : Réalisation de la solution
La carte de commande qui sera réalisée s’obtient après plusieurs étapes. En effet, l’obtient
après conception sur un logiciel CAO. Grâce à Altium Designer, nous avons réalisé les schémas
de câblage et les PCB du circuit à imprimer. Les circuits issus du PCB ont servi à la réalisation
du typon. Le terme typon peut être défini comme étant une feuille transparente (ou un papier
calque) sur laquelle est imprimée le PCB. Il permet le transfert du circuit du papier calque à la
plaque en cuivre. Les schémas de câblages, les PCB et les typons sont disponibles dans l’annexe
n°5. Ayant fini la conception du circuit imprimé, il faut penser à le réaliser.
Un circuit imprimé est une plaque généralement en cuivre sur laquelle il existe des traces. Ces
traces ou lignes représentent le câblage filaire habituel. Pour faire la gravure du circuit imprimé,
il est important de savoir qu’il faut se protéger contre les produits chimiques et tout autre
matériel nocif. Les matériaux à utiliser sont : la plaque en cuivre, l’insoleuse, la perceuse, des
récipients en plastique. Quant aux produits chimiques on a : la soude (NaOH), le perchlorure
de fer ou l’acide chlorhydrique.
La plaque en cuivre (figure 3-17) utilisée est composée de quatre couches. Le film protecteur,
la résine, la surface cuivrée et l’isolant (ou support).
61
Chapitre 3 : Réalisation de la solution
La méthodologie pour le tirage du circuit imprimé est principalement axée sur 04 principaux
points qui sont : la préparation de la carte, l’insolation, la révélation et la gravure.
Préparation de la carte
Cette étape consiste à préparer la plaque en cuivre. Il faut la découper en fonction de la taille
nécessaire à la réalisation du circuit imprimé et aussi limer les bordures si nécessaire. Ensuite,
il faut s’assurer que la correspondance entre le typon et la taille réelle des composantes est la
même. Puis il faut retirer le film protecteur qui comme son nom l’indique protège la couche de
résine contre les rayons ultraviolets. Enfin, il faut bien coller et déposer le bon côté du typon
sur la résine. A la suite de cette opération, vient l’insolation.
Insolation
L’insolation est le procédé consistant à placer la plaque cuivrée en époxy dans une machine
appelée insoleuse. L’insoleuse est une machine constituée de lampes néons avec un taux de
rayons ultraviolets élevé et d’une surface. Cette surface sert à déposer notre plaque après l’étape
préparation.
La plaque étant sur la surface vitrée, on referme le couvercle de l’insoleuse et on attend quelques
minutes. Les rayons UV de l’insoleuse vont ronger les parties de la couche photosensible non
recouvertes par l’encre (les tracés) du typon.
Révélation
La révélation consiste à placer la plaque présensibilisée dans une solution de base forte comme
la soude caustique (NaOH) de concentration 7g/l. Cette solution basique va éliminer la couche
de résine détruite lors de l’insolation. Après avoir patienté quelques instants, on retire la plaque
de cette solution et on procède au rinçage afin d’éviter que la soude ne continue à agir.
Gravure
Une fois le rinçage effectué, on place la plaque dans un bac contenant de l’acide. Le perchlorure
de fer constituant la solution acide va à son tour ronger les zones non recouvertes par la résine.
Ne disposant pas de graveuse, nous avons dû agiter la solution acide continuellement afin
qu’elle atteigne toute la carte.
Une fois le routage visible, nous devons vite enlever la plaque de la solution acide et la rincer
de nouveau à l’eau courante. Après rinçage, il est préférable de nettoyer la plaque. Nous avons
à la fin de ces opérations nous avons obtenu notre carte de commande.
62
Chapitre 3 : Réalisation de la solution
Le diagramme suivant fait un récapitulatif des étapes de conception d’un circuit imprimé
Préparation
Insolation Revélation
de la carte
Circuit imprimé
Afin d’avoir une carte de commande complète, il faut procéder au perçage du circuit imprimé,
à la soudure des différents composants sur les faces de la plaque cuivrée et aux tests de la
continuité de la connexion des fils. A l’issu de toutes ces étapes, nous aurons ainsi notre carte
de contrôle de la trottinette.
Test des pistes
Après l’obtention du circuit imprimé, il faut vérifier la continuité des pistes du circuit à l’aide
d’un multimètre. Le multimètre doit être mis en mode testeur afin de voir si nos pistes n’ont
pas de micro rayures. Ces rayures font du circuit un circuit ouvert ce qui empêche le passage
du courant. Lorsqu’on repère ses rayures, on note son emplacement au crayon sur le dos de la
plaque (côté isolant). On résout le problème de la rayure par le biais du fer à souder et de l’étain.
L’étain fondu sur cette coupure quasi invisible à l’œil nu permettra de fermer le circuit en
établissant un pont. Aussi, on vérifie s’il n’y a pas l’existence de court-circuit toujours grâce au
multimètre. Après cette étape très importante nous pouvons procéder au perçage des pastilles
sur la carte. Ces trous créés permettront l’intégration des composants au circuit.
Perçage du circuit
Le perçage des via ou pastilles ou encore par abus de langage « trous » sur la plaque se fait à
l’aide d’une perceuse et des forets. La taille des forets doit sensiblement être égal aux pattes du
composants. La perceuse doit être verticale pour faciliter la tâche de perçage. Le diamètre des
63
Chapitre 3 : Réalisation de la solution
pattes des composants électroniques de notre carte varie entre 0,6 mm (pour les résistances) à
1 mm pour les transistors. Nous devons donc utiliser des forets de mêmes diamètres.
Soudure des composants
Avant de placer les composants pour les souder sur la plaque, il faut tout d’abord préparer ces
composants. Cette préparation consiste à chauffer les pattes des composants et leurs pastilles
simultanément. Afin de faciliter la soudure on peut recouvrir les pattes d’une fine couche
d’étain avant de les chauffer avec les pastilles. Aussi, nous devons commencer la soudure par
ordre de priorité. Tout d’abord on commence par les composants de petites tailles, ensuite ceux
inaccessibles puis les gros composants faciles d’accès.
Nous devons prêter attention à l’emplacement et la polarisation de chaque composant avant de
les souder. Après chaque soudure, retirer le surplus d’étain ou boule d’étain sur le fer à souder
grâce à une éponge humide ou une limaille de fer.
En cas d’erreur de soudure, la tresse à dessouder ou la pompe à dessouder permet de retirer
l’étain sur la zone où l’erreur a été faite. Il faut alors reprendre la soudure.
Le choix des composants utilisés a été conditionné par trois critères parmi lesquels le
prix y figure. Ainsi nous allons voir le prix de la carte de contrôle final.
Esp32 45
2 Transistors IXFH26N50P3 40
Autres composants 5
PCB 40
64
Chapitre 3 : Réalisation de la solution
Total 430
Le coût de la carte peut être vu à la baisse car la méthode utilisée pour la réalisation de la carte
est vétuste et malheureusement budgétivore d’où les 40 Dt pour le prix du PCB.
Pour une flotte de trottinettes, les composants utilisés seront des CMS (Composants Montés en
Surface) et le prix du module Xbee sera plus bas. En effet, comme énoncé dans la section 2.8
la Zigbee Alliance propose aux entreprises la conception de modules spécifiques à leurs
besoins. Le module que nous avons n’a pas été conçu juste pour une communication longue
distance. En 2006, un nœud Zigbee coûtait environ 3 Dt. De ce fait, pour une flotte 50
trottinettes, l’implémentation du protocole Zigbee pourrait coûter que 150 Dt.
De plus, en lieu et place de la carte ESP WROOM 32 Dev Module, seulement la puce ESP32-
D0WDQ6 sera utilisée. Elle coûte 3 dollars US (approximativement 10 dinars).
Ainsi, le prix initialement estimé à 430 Dt pour la carte de commande du prototype sera de 30
dinars approximativement pour la solution commercialisée :
Tableau 3-6 : Prix unitaire de la carte de contrôle pour une flotte de 50 trottinettes
Esp32 10
Xbee 3
PCB 5
Total 23.5
Etude de marché
L’utilisation d’un moyen de transport en commun fait partir du quotidien du tunisien.
L’inconvénient de ces moyens de transport est que nous sommes contraints d’organiser notre
emploi de temps autour des horaires de passages des bus, trains. Avec les trottinettes, le gain
de temps sera considérable.
Avec cette flotte, le prix de la course sera moins cher que les taxis et bus.
65
Chapitre 3 : Réalisation de la solution
Le chapitre trois consacré à la réalisation de la carte de contrôle de notre trottinette a été pour
nous l’opportunité de présenter les étapes par lesquelles nous sommes passés pour programmer
et réaliser la carte de contrôle. Ainsi, tout d’abord le dimensionnement des composants utilisés
a été fait. Ce dimensionnement occupe une place très importante car mal choisir ses composants
équivaut à prendre des risques dans le bon fonctionnement de la carte. Très souvent, un mauvais
dimensionnement entraine la destruction rapide de la carte.
La conception hardware étant remplie, nous avons ensuite procédé à implémenter la partie
software. Elle s’organise autour de la programmation de l’esp32, et la création de l’application.
Puis, une partie du chapitre est dédiée à la réalisation de la carte. Cette réalisation passe par la
fabrication du circuit imprimé, le perçage de la carte, les tests du bon fonctionnement et le
montage des composants pour enfin aboutir à la carte de contrôle.
Ce chapitre a pris fin par une étude du prix de la fabrication de la carte et une étude du marché.
66
4 Conclusion générale
Ce projet de fin d’études avait pour ambition de trouver un moyen de déplacement qui
contribuerait à fluidifier la circulation. Ce moyen de déplacement devrait être rapide et ne pas
contribuer à augmenter les bouchons, mais bien au contraire il devrait permettre de les éviter.
Ce stage de fin d’études m’a permis d’en apprendre plus sur le travail en entreprise et en
recherche et développement (R&D). Le projet quant à lui a permis de renforcer mes capacités
d’apprentissage et de maîtriser des outils dans plusieurs domaines. En effet, j’ai saisi cette
aubaine pour maîtriser les systèmes temps réel, la programmation multitâche, l’utilisation des
tubes, des mutex sémaphores et des interruptions. Aussi, cette maîtrise s’est étendue aux
systèmes communicants, à la création d’applications Android, au dimensionnement des
composants électroniques, à la conception à l’aide d’Altium et enfin à la réalisation d’une carte.
Le projet de conception et réalisation d’une trottinette électrique intelligente est un projet très
intéressant et vaste. La réalisation d’une solution prête à la commercialisation nécessite encore
67
plus de travail notamment dans l’aspect sécurité. On pourrait ajouter un système de bridage
électronique qui empêcherait la trottinette d’être utilisée hors des zones prédéfinies.
Aussi, la centrale de contrôle doit être dotée d’applications lui permettant de recevoir en un lieu
toutes les informations nécessaires. L’esp32 fonctionne sur batterie. Malgré la conception
pensée non énergivore, les batteries de l’esp32 devront être à la longue rechargées. Ainsi il
serait préférable de penser à un système d’auto-alimentation à l’aide de plaques solaires par
exemple. Ce système peut même s’étendre à la batterie principale de la trottinette.
68
5 Bibliographie
• Cimelli C. et Bourgeron B. (2007 – 2008). Guide du technicien en électronique, Maîtriser
l’analyse et la conception. France : Edition HACHETTE Technique
• Simon Monk. (2016). Mouvement, lumière et son avec ARDUINO et RASPBERRY PI.
Edition EYROLLES
• Richard Barry. (2016). Mastering the FreeRTOS™ Real Time Kernel, A Hands-On Tutorial
Guide. Real Time Engineers Ltd
69
6 Webographie14
• https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
• https://www.espressif.com/en/products/socs/esp32
• https://lastminuteengineers.com/esp32-sleep-modes-power-consumption/
• https://fr.wikipedia.org/wiki/Organigramme_de_programmation
• https://www.freertos.org/features.html
• https://www.redohm.fr/2015/03/communication-xbee/
• https://pbelectronique.com/site/index.php/projets-et-schemas/251-tachymetre
• https://www.unitag.io
• https://docs.platformio.org/en/latest/integration/ide/atom.html#ii-clang-for-intelligent-
code-completion
• https://www.scribbr.fr/category/memoire/?_ga=2.48426534.1663766643.1594916065-
607392115.1593877095
• https://www.alldatasheet.com/
• https://www.tecnipass.com/cours-electronique.cem-composants-actifs.discrets?page=5
• https://www.youtube.com/results?search_query=pb+electronique+altium
• https://www.youtube.com/watch?v=DLqj01asDM0&list=PL17VyyRFkTC0nCGLRiqvYj
sKyUNCUn813&index=12&t=323s
• https://retroetgeek.com/arduino/creer-une-application-android-avec-appinventor-2-
reception-et-emission-de-donnees-en-bluetooth/
• https://www.youtube.com/watch?v=opKcik96F58&list=PL17VyyRFkTC0nCGLRiqvYjs
KyUNCUn813&index=12
14
Ces sites ont été visités pour la dernière fois le 18 juillet 2020
70
7 Glossaire
Terme Définition
- C -
CAO Conception Assistée par Ordinateur. Une application CAO est une
application qui facilite la tâche de conception à l’homme.
CS Chip Select. C’est la dernière ligne du bus SPI qui permet la sélection de
l’esclave auquel est destiné le message transmis par le maître.
- D -
- E -
EEPROM Electrical Erasable Programmable Read Only Memory. C’est une mémoire
morte effaçable électriquement et reprogrammable. Une mémoire morte est
une mémoire de stockage long terme.
71
ESP-IDF Espressif IoT Development Framework
- G -
- H -
HDMI High Definition Multi-media Interface. C’est une norme audio et vidéo.
Dans notre cas, c’est un câble permettant la transmission rapide et à haute
définition des audios et vidéos. Il est utilisé pour connecter par exemple le
PC à la télé ou au vidéo projecteur. De même il permet la même chose au
Raspberry Pi.
- I -
IDE IDE pour Interface De Développement est une application utilisée pour la
programmation.
IEEE Institute of Electrical and Electronics Engineers est une institution qui se
charge de la normalisation de tout ce qui est en relation avec l’électronique
Soft et Hard comme par exemple les protocoles, les langages de
programmation.
- M -
MISO C’est une ligne du bus SPI qui signifie Master Input Slave Output. C’est
une ligne qui provient de l’esclave. Elle contient la réponse envoyée par
l’esclave au maître suite à une requête du maître.
MOSI Ligne du bus SPI qui signifie Master Output Slave Input. C’est une ligne
qui quitte le maître en direction de l’esclave. Elle contient les instructions
que le maître envoie à l’esclave x.
- N -
72
NPN En général utilisé pour les transistors bipolaires, il désigne le type jonction
existant dans le transistor. Le type NPN est le plus rependu sur le marché
de par ses performances. Le courant IE est sortant de l’émetteur.
- P -
PCB Printed Circuit Board ou circuit imprimé. Ce terme a été employé pour le
circuit imprimé à l’état logiciel
PNP Un transistor bipolair PNP est un transistor ayant un courant IE entrant dans
l’émetteur.
- R -
RTC Real Time Clock. La mémoire RTC permet de stocker temporairement des
données. Aussi, elles permettent de sauvegarder les données avant un
reboot.
- S -
SCLK Spi Clock. C’est une ligne du protocole de communication SPI dédié à
l’horloge.
- U -
73
URL Uniform Resource Locator est un ensemble de caractères qui permettent de
se connecter à un site web. Chaque site web possède une URL qui lui est
propre.
USB Universel Serial Bus. En général il désigne un port que l’on retrouve sur
les PC.
74
8 Annexes
Annexes
75
Annexe 1
76
Annexe 2
77
78
79
80
Annexe 3
81
82
Annexe 4
83
84
Annexe 5
Images applications
85
Résumé
La circulation dans les grandes villes de la Tunisie connait fréquemment des bouchons.
Ce projet a pour principal but d’aider à fluidifier la circulation. Pour ce faire, une carte de
contrôle autour de l’esp32 et du module Xbee a été conçue pour équiper la trottinette. Elle rend
la trottinette intelligente et permet à l’utilisateur de visualiser de nombreux paramètres sur son
smartphone. Aussi, elle assure la géolocalisation et la sécurité de la trottinette.
Afin d’arriver à implémenter cette solution, les logiciels tels que XCTU, Altium Designer, MIT
App Inventor, Visual Studio avec l’extension PlateformIO, DIA, Hyper Terminal et Protéus ont
été utilisés.
Abstract
Traffic in the big cities of Tunisia is frequently congested. The main goal of this project
is to help improve traffic flow. To do this, a control card around the esp32 and the Xbee module
has been designed to equip the scooter. It makes the scooter smart and allows the user to view
many parameters on their smartphone. Also, it ensures the geolocation and the safety of the
scooter.
In order to successfully implement this solution, software such as XCTU, Altium Designer,
MIT App Inventor, Visual Studio with the extension PlatformIO, DIA, Hyper Terminal and
Proteus were used.
Logigramme de l’application Android
1 2 3 4
24v 24v
1
5v
P1
CR1 3
2 BY203-20STAP
A 1 A
Header 2 24v
U2 7
R1
GND moteur 1 4
1 9
220 Bornier9
MOSFET1
2 3
G IXFH26N50P
D
S
Part Number: PC817X2J000F Masse Bat
MOSFET2
G IXFH26N50P
D
S
GND R2 R3
10k 10k
1
IC1 5v
R4
10k
3v3 VIN
1
CLK GND
SDO CMD
B SD1 SD3 B
Masse Bat
D0 SD2
resistance batterie GND
D15 D13
ldr
R5 D2 D12
Masse Bat
D4 D14
1
10k 24v
Rx2 D27
Tx2 D26
D5 D25
Sleep Mode
1
Rx 5v
Rx0 D34
Tx 1 8
Tx0 VN OS_NULL NC
moteur 2 7
D22 VP IN- V+
bp1 3 6 batterie
D23 EN IN+ OUT
4 5
V- OS_NULL
Esp32 Dev Module DoiT1 R12
1M UA741CN
1
C C
GND
Masse Bat
5v
5v Pins 5v
P3 P4 P2 P5
bp1 ldr
Vcc 1 1 1 1
Tx bp2 resistance vitesse
TXD 2 2 2 2
Rx Sleep Mode lampe
RXD 3 3 3 3
GND 4 4
Header 3 Header 3
DTR
Header 4 GND Header 4
GND
GND Xbee Module GND
GND GND
D D
ISET Mahdia
Title Carte de Commande Rue El Mourouj,
5147, Mahdia
Size: A4 Number:* Revision:*
Tunisie
Date: 19/07/2020 Time: 10:28:10 Sheet * of * Auteur : Boris KIEMA
File: D:\Boris\P.F.E\Altium\Carte_PFE\Carte_commande.SchDoc
1 2 3 4
1 2 3 4
A A
B B
+5
U1
LED1
4304H1 1 8
OS_NULL NC
2 7
LED2 IN- V+
3 6 Vitesse
4304H1 IN+ OUT
4 5
V- OS_NULL
R1 UA741CN
10 K R3
1
3296W-1-104LF
R2
220
1
C C
GND
+5
P1
1
Vitesse
2
3
Header 3
GND
D D
Iset_Mahdia
Title Capteur de Vitesse Rue El Mourouj
5147, Mahdia
Size: A4 Number:* Revision:*
Tunisie
Date: 19/07/2020 Time: 10:34:20 Sheet * of * Auteur : Boris KIEMA
File: D:\Boris\P.F.E\Altium\Capteur de vitesse\Capteur de vitesse.SchDoc
1 2 3 4