SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
1
C. Akrich - T. Le roux - M. Moign - J. Peyratout - E. Vitelli
2015
2016
2
Sommaire
A. Présentation générale
B. Architecture interne
C. Partie mécanique
D. Partie informatique
E. Partie électronique
3
Présentation Génerale
Ce rapport a pour but de présenter le travail effectué par notre équipe qui était encadré par Mme
Kussener. Nous avions comme objectif de réaliser un Segway entièrement fait maison. Le principe de
fonctionnement du Segway est le suivant : c’est une planche avec des roues et un guidon comme le montre la
photo sur la page de garde. Si l’on se penche en avant, on va avancer, si l’on se redresse, on s’arrête où on
recule. Si l’on penche le guidon vers la droite on va tourner à droite et inversement pour la gauche.
Notre objectif était de réaliser un Segway avec lequel on puisse avancer et reculer mais également tenir en
équilibre dessus.
Pour cela trois grandes parties sont ressorties : la mécanique avec la réalisation d’une maquette, la partie
électronique avec la réalisation d’une carte pouvant communiquer avec les moteurs puis la partie informatique
pour l’asservissement.
Au début nous n’avions pas conscience de la difficulté réelle de ce projet. L’électronique de puissance ne
ressemble en rien à l’électronique que nous avions l’habitude d’étudier en TP. Ce rapport permet de
comprendre le travail que nous avons effectué afin de pouvoir le récupérer et de repartir de là où nous nous
sommes arrêtés, ne pas répéter nos erreurs et atteindre de futurs steps.
4
Architecture Interne
Voici le schéma de notre architecture interne qui explique les liaisons entre chacune des parties. Ces parties
seront bien entendues détaillées par la suite.
Nous avons donc des batteries 24V et 30A qui alimentent tout le Segway. En effet la datasheet des moteurs
indique une alimentation nécessaire de 24V pour le bon fonctionnement des moteurs. Au fil de ce dossier vous
découvrirez les différentes parties que l’on peut voir dissocier sur ce Segway. En effet, une partie informatique
faisant la liaison entre les actionneurs (le bras et la capteur attaché dessus) et la partie électronique, celle qui
commande les moteurs. Les moteurs faisant partis eux, de la partie mécanique avec les pignons et engrenages.
FIGURE 1 : Architecture interne
5
Partie Mécanique
A. Ce Qui A Eté Fait
a.Choix des composants
b.Justification de ce choix
c.Assemblage de la maquette
B. Pistes D’amélioration
a.Sur la maquette actuelle
b.Sur une possible « future maquette »
6
A. Ce Qui A Eté Fait
a. Choix Des Composants
Au tout début du projet, ne sachant pas du tout comment était constitué un Segway, nous avons
visionné de nombreuses vidéos afin d’en comprendre son fonctionnement, déterminer ses dimensions
… ce qui nous a conduit à dessiner un schéma mécanique (disponible dans l’arborescence ou format
papier). Ce schéma mécanique nous a permis d’acheter les bonnes pièces telles que :
- Les batteries 12V 30Ah, nous permettant d’avoir une grosse autonomie. Commandées sur
internet car moins chères qu’en magasin.
- Les roues : des roues de brouette avec un axe. Commandées sur internet mais également
disponibles dans des magasins de bricolage tel que Leroy merlin ou Castorama
- Une planche en bois de 40x50cm (Leroy merlin)
- Des plaques métalliques en alu ainsi que des cornières en acier permettant l’assemblage
(Leroy merlin)
- Un guidon (Leroy merlin)
- Des chaînes permettant l’entraînement des roues ainsi que les pignons allant avec ces chaînes.
- Des vis, écrous, cosses, des câbles, tiges filetées, tube en acier, ressort, équerres … c’est-à-
dire toute sorte de composants nécessaires à l’assemblage de la maquette, bien évidemment
que l’achat de ces composants dépend de nos besoins.
b. Justification Du Choix De Nos Composants
1) Après avoir visionné des vidéos de Segway faites maison nous avons remarqué que la plupart
disposaient de batteries de 12V 8Ah. En effet, avec ce type de batterie le Segway peut tout à
fait fonctionner, mais pour combien de temps ? Après un calcul théorique effectué en
considérant le nombre d’ampères consommés par les moteurs à leur régime nominal, nous
avons pu constater que ces batterie ne tiendraient que très peu de temps, c’est-à-dire seulement
15/20 min. Nous avons donc fait le choix de partir sur des batteries beaucoup plus puissantes.
Nous avons donc choisi de prendre des batteries HANKOOK U1RMF-X 12V 30Ah ce qui
nous permet donc de multiplier son autonomie par plus de 3.
Avantage :
o Plus d’autonomie
Inconvénients :
o Plus lourdes
o Plus encombrantes
FIGURE 2 : Les batteries
7
Lien des batteries :
http://www.ebay.fr/itm/like/272021957824?lpid=97&chn=ps
2) Nous avons choisi de prendre des roues de brouette car nous voulions avoir un Segway
capable de franchir de nombreux obstacles tels que : trottoirs, marches, pierres. Au début, on
nous avait proposé des roues de brouette toutes simples mais elles ne nous convenaient pas
car il nous manquait l’axe autour duquel elles étaient censées tourner. Nous avons ainsi fait le
choix de prendre des roues déjà équipées de cet axe.
Avantage :
o Gain de temps dans la recherche de l’axe intérieur (diamètre)
Inconvénient :
o On a ainsi dû se baser sur cet axe pour la construction du reste de l’ensemble de la
maquette du fait que l’on ne pouvait pas l’enlever
Lien des roues :
http://www.cdiscount.com/maison/bricolage-outillage/roue-gonflable-brouette-remorque-380-
mm-avec-axe-j/f-1170434-auc2009924749710.html#pres
3) Le choix de notre planche s’est tout simplement fait selon les dimensions (40x50cm) des
Segway déjà existant et pour ce qui est du choix du bois, nous avons bien évidement pris celui
qui nous paraissait être le plus résistant
FIGURE 3 : Les roues fixées sur le Segway
8
4) Pour ce qui est du bâti nous avons choisi de partir sur une base faite en bois autour de laquelle
nous avons disposé des plaques d’aluminium. Le bâti fait en bois nous a servi pour venir fixer
l’ensemble roues, moteurs, batteries. Les plaques d’aluminium fixées sur le bâti en bois
apportent une certaine rigidité au Segway permettant de supporter un poids allant jusqu’à
environ 100 kg et elles ont également un rôle d’esthétique.
FIGURE 4 : L’intérieur du coffre du Segway
FIGURE 5 : Le bâti
9
Le fait d’allier bois et métal nous apporte de nombreux avantages tels que :
o Pour le bois  la facilité du placement des différentes pièces sur celui-ci
o Pour le métal  le côté « solide » et surtout esthétique de la maquette
Inconvénients :
o A force de percer, repercer, le bois se dégrade et on voit ainsi apparaître des
microfissures voire des fissures, ce qui met en danger la solidité toute entière du
Segway
o Le métal étant conducteur, il faut faire extrêmement attention quant à l’isolation des
cartes électroniques et des câbles
5) Pour ce qui est du guidon, à l’origine n’ayant pas de matériel à portée de main, nous avons
utilisé un manche à balai. Ensuite nous avons acheté un guidon à Leroy Merlin. Nous avons
fixé ce guidon en faisant un trou dans le bâti et en y accrochant deux ressorts, un de chaque
côté afin de tenter de lui faire garder son équilibre. Le fait que le guidon soit bien équilibré
est très important du fait que l’on va venir y fixer notre gyroscope.
FIGURE 6 : La fixation du guidon
10
Avantage :
o Le guidon est très stable du fait qu’il soit encastré dans le bâti et tenu par les deux
ressorts
Inconvénient :
o Il y a des frottements assez conséquents entre le bâti et le guidon, ce qui empêche les
ressorts de jouer leur rôle
6) En ce qui concerne la rotation des roues, nous avions deux solutions :
o Soit une chaîne de vélo, moto
o Soit une courroie dentée
Etant donné que nous disposions déjà des moteurs et que, sur ces moteurs étaient déjà présents
des pignons, nous avons opté pour les chaînes. Connaissant l’adresse du site internet où les
moteurs avaient été commandés l’année précédente, nous avons pu commander les chaînes
allant avec les pignons moteurs. Nous avons également dû commander deux autres pignons
allant sur les axes des roues pour pouvoir les faire tourner. Pour ce qui est du choix de ces
pignons, nous les avons choisis en fonction de leurs nombres de dents ainsi que de leur « pas ».
Attention : pour déterminer le nombre de dents il faut au préalable déterminer le rapport de
réduction voulu. Et en ce qui concerne le pas il doit être identique à celui du pignon moteur et
celui de la chaîne.
FIGURE 7 : Le guidon avec
le bouton interrupteur
11
FIGURE 8 :
Chaîne et pignon
FIGURE 9 :
Chaîne et pignon
au niveau du
moteur
12
Avantage :
o Facilité d’adaptation en fonction du matériel dont on disposait déjà
Inconvénients :
o Risque de dérailler (peut être dangereux)
o Fait plus de bruit qu’une courroie
Lien des moteurs :
http://pocketquadelectrique.csmoto.fr/informations/datasheet.php
Lien des chaînes et pignons :
http://pocketquadelectrique.csmoto.fr/achat/pignon.php
13
c. Assemblage De La Maquette
Pour rendre le bâti plus solide nous avons choisi de rendre l’axe des roues solidaires l’un de l’autre
grâce à un tube métallique fixé directement sur la planche en bois à l’aide de grosses équerres. Ce
tube métallique traverse donc le Segway en travers et à chaque extrémité de celui-ci vient de fixer
l’axe de chaque roue.
Pour équilibrer au mieux le Segway sans même qu’il ne soit en « marche », nous avons choisi de
placer les moteurs et les batteries de manière stratégique, c’est-à-dire latéralement opposés. Nous
utilisons des batteries au plomb et ceci nous rajoute une contrainte, celle de ne pas les pencher, au
risque de perdre du liquide (électrolyte) et de les endommager, il faut ainsi les fixer telles qu’elles
puissent rester droite (ou presque).
FIGURE 10 : Tube métallique
14
B. Pistes D’améliorations
a. Sur La Maquette Actuelle
o Réduire les frottements au niveau des deux roues et surtout de la droite. Ces
frottements font augmenter la consommation de courant des moteurs.
o Améliorer les frottements qu’il y a entre le guidon et le bâti, car ils annulent l’effet des
deux ressorts qui seraient censés maintenir le guidon en position d’équilibre.
o Mettre une protection de chaque côté du Segway afin d’éviter toute blessure en cas de
déraillement des chaînes.
o Améliorer l’isolement de chaque composant par rapport à la plaque métallique de la
caisse.
o Améliorer le système de ventilation pour éviter que la température ne monte trop haut
à l’intérieur de la caisse.
o Relier les batteries aux cartes avec un autre moyen que par des pinces car celles-ci
peuvent à la suite d’un choc un peu trop important se détacher des cosses des batteries.
b. Sur Une Prochaine Maquette
o Remplacer les chaînes par des courroies crantées. Il faudra donc changer le système
de pignons présent sur le moteur et l’axe de la roue afin de l’adapter pour qu’il puisse
faire tourner les courroies sans les abîmer.
o Effectuer les pièces et le bâti (actuellement en bois/alu) en plastique à l’imprimante
3D à l’aide du logiciel SolidWorks. Pour ceci, il faudrait s’y prendre au plus tôt et voir
avec Mr. Dutilleul pour un « partenariat » avec Rouvières (machines permettant
d’usiner des pièces de grandes tailles).
15
Partie Informatique
A. Le protocole de communication I2C
B. Le composant utilisé : MPU-6050
C. 1ere approche : utilisation de
l’accéléromètre seul
D. 2nd approche : utilisation du
gyromètre seul
E. 3eme approche : combinaison de
l’accéléromètre et du gyroscope
F. 4eme approche : retour a
l’accéléromètre seul
G. Asservissement des moteurs en
fonction de l’angle
H. Tests a effectuer pour vérifier
l’intégrité du composant
I. Axes d’améliorations
Annexes
16
A. Le Protocole De Communication
I2C
L’I2C (Inter-Integrated Circuit) est un bus de données séries synchrones bidirectionnel half-duplex.
Il est composé de deux fils : SCL (clock) et SDA (data).
Les composants ont un rôle de maître/esclave. La communication peut être multi-maître/multi-
esclave, nous sommes dans le cas d’un maître (STM32) et d’un esclave (MPU-6050).
Le maître initie la communication.
Celle-ci a lieu selon l’ordre suivant, dans le cas d’une lecture d’un registre esclave par le maître, ce
qui est tout le temps notre cas, sauf à l’initialisation du capteur (ce point sera traité plus loin).
Légende :
- A6 … A0 : bits de l’adresse de l’esclave auquel on s’adresse
- 1 ... 9 : coups d’horloge
- D7 … D0 : bits de la donnée sur 8 bits renvoyée par l’esclave
R/W : Read/Write (Read = 1, Write = 0)
FIGURE 11 : Protocole de communication I2C
17
Aussi, il est important de ne pas oublier les résistances de pull-up, servant à maintenir les
lignes SCL et SDA à l’état haut au repos (observer le début du chronogramme précédent,
SCL et SDA sont à l’état 1 afin de permettre au maître d’initier la communication, ce qui se
traduit au niveau hardware par le passage de SDA à l’état bas alors que SCL est à l’état haut).
Également, les résistances de pull-up servent à assurer un temps de montée du signal (cf.
figure ci-dessus) respectant la norme.
Dans notre cas, c’est-à-dire dans le cas d’une communication en Fast Mode, le temps de
montée maximal est de 300 ns (et d’au moins 20 ns).
La datasheet de la STM32 indique que le périphérique I2C a un bus ayant une capacitance
inférieure ou égale à 400 pF.
Ainsi, ayant choisi d’avoir un temps de montée à 150 ns, la valeur de résistance à choisir se
calcule selon les formules précédentes :
TR = 150 ns = 0.847298*R*(400 pF)
→ R = 442 Ohm
Cette valeur n’existant pas réellement, il a été choisi une résistance de 470 Ohm.
FIGURE 12 : Datasheet I2C
18
PS : il faut mettre une résistance pour SCL et une résistance pour SDA, et non pas une seule
résistance partagée par les deux lignes.
Le schéma de branchement est le suivant :
Avec Rp = 470Ω
N.B : sur le capteur, il existe déjà des résistances de pull-up. Néanmoins, elles sont de 4.7
kOhm, ce qui est beaucoup trop.
En effet, le temps max de montée de 300 ns correspond à des résistances de 1kOhm.
Il a donc été décidé de rajouter des Rp de 470 Ohm en parallèle (brancher tel que dans la
figure précédente), afin de ramené le temps de montée dans les normes.
Pour finir, voici deux exemples :
a. Effet D’une Valeur Trop Elevé De Rp
→ On constate bien l’effet capacitif trop présent, altérant le signal carré
STM32
SCL
SDA
MPU – 6050
SCL
SDA
3V3
Rp Rp
FIGURE 13 : Schéma de branchement
FIGURE 14 : Relevé oscilloscope
19
b. Une Trame I2C (Write), Ou L’on Ne Réussit Pas A
Communiquer Avec Le Capteur
FIGURE 15 : Relevé oscilloscope illustrant le problème
20
B. Le Composant Utilisé : MPU-6050
Le composant MPU-6050 Breakout (couleur rouge) a été choisi par l’équipe de l’an dernier,
d’où sa réutilisation cette année afin de ne pas le gaspiller.
Néanmoins, il ne constitue pas le meilleur choix, notamment en termes financier, car le MPU-
6050 Breakout de chez Drotek est identique à celui actuel de Sparkfun, pour un prix 4 fois
moins chère (MPU-6050 (Drotek)= 7 € et MPU-6050 (Sparkfun) = 40 €).
http://www.drotek.com/shop/en/home/42-mpu6050-gyro-accelerometer.html
Il permet de mesurer la vitesse angulaire ainsi que l’accélération linéaire sur les 3 axes.
Les différentes valeurs (vitesses et accélérations) sont écrites dans des registres internes au
composant, que l’on va ensuite pouvoir lire à travers l’interface de communication I2C.
21
C. Première Approche : Utilisation De
L’accéléromètre Seul
L’idée est simple : on exploite la gravité g.
Afin d’avoir la valeur de l’angle et son signe (très important pour connaître le sens
d’inclinaison), il est plus opportun d’exploiter Gx.
Ainsi, angle = arcsin(Gx)/g.
Aussi, le Segway ne s’inclinant pas au-delà de ± 30° en utilisation nominale, l’approximation
mathématique arcsin(x) ≈ x a été employé afin d’optimiser le temps de calcul du processeur.
Problème : les mesures sont trop bruitées pour être exploitées
FIGURE 16 : Explications
FIGURE 17 : Allure du bruit sur les signaux
22
Comme vous pouvez le constater sur l’image précédente, il y a 2 phases : moteur éteint et
moteur en rotation.
Lorsque le moteur est éteint, les relevés sont à peine exploitables pour espérer avoir une
valeur d’angle précise.
La phase 2 est beaucoup plus bruitée, inexploitable.
Le bruit provient des chaînes d’entrainements, du moteur, et est donc non compensable ou
corrigible à la source.
23
D. 2nd
Approche : Utilisation Du
Gyromètre Seul
Le gyromètre permet de relever la vitesse angulaire autour d’un axe.
Nous avons donc intégré cette vitesse au cours du temps pour obtenir la valeur de l’angle.
Afin d’avoir une bonne précision, nous avons choisi dt = 5 ms.
Malheureusement, le gyroscope dérive trop.
La dérive désigne le fait que la référence servant de « zéro » varie au cours du temps (taper
« drift gyroscope » sur Google vous découvrirez les mésaventures que cela représente).
En effet, si vous effectuer une rotation et que vous revenez à la position de départ, l’angle ne
sera pas celui du départ. Ce problème est intrinsèque à tous les gyroscopes, et nos efforts
pour compenser la dérive n’ont eu que peu d’effets (offset etc…).
FIGURE 18 : Orientation des axes
24
E. 3eme
Approche : Combinaisons Du
Gyroscope Et De L’accéléromètre
Pour combler l’imprécision de l’accéléromètre, et la dérive du gyroscope, on entreprend d’exploiter
les deux en même temps.
Solution : le filtre complémentaire
Le filtre complémentaire permet d’obtenir une mesure correcte à partir de deux mesures
bruitées.
Il se présente sous la forme :
Angle = a*Angle_Gyro + (1-a)*Angle_Accel
a = 0.98, 0.92, etc… cf. le fichier PDF « filter.pdf »
L’idée est d’appliquer un filtre passe-bas numérique sur l’angle obtenu via l’accéléromètre
afin de neutraliser le bruit, et d’appliquer un filtre passe-haut numérique sur l’angle obtenu
via le gyroscope afin de neutraliser la dérive de celui-ci.
Problème : le résultat n’est pas optimal, la dérive existe toujours.
Solution : Exploiter l’accéléromètre seul en filtrant le bruit et les accélérations provenant du
déplacement du Segway
25
F. 4eme
Approche : Retour A
L’accéléromètre Seul
Nous ne filtrerons que le bruit dans cette partie, il reste à trouver un moyen d’obtenir les
accélérations du Segway et de pouvoir les soustraire aux relevés du MPU-6050.
Ainsi, tous les tests qui vont suivre ont été effectués à l’arrêt.
Observons le graphique cité quelques paragraphes auparavant :
Malgré la présence de bruit, on notera que la valeur moyenne du signal est constante, et elle
correspond à la valeur d’angle réelle.
Ainsi, il faut pouvoir filtrer ce bruit : utilisation d’un filtre moyenneur.
Sur LabVIEW, il a été réalisé ce qui suit :
On reçoit via port série (émulé sur port USB) les relevés d’accélérations, et on effectue les
calculs sur LabVIEW qu’on affiche dans un graphe déroulant.
FIGURE 19 : Signal bruité
26
Voici les relevés observés sur LabVIEW :
Premier essai : échantillonnage à 333Hz, moyenne sur 10 valeurs d’angle
Les relevés restent trop bruités, un angle de 5° réelle oscille entre 4.5 et 6.5 degrés.
Deuxième essai : échantillonnage à 333Hz, moyenne sur 30 valeurs d’angle
FIGURE 20 : Relevé du 1er
essai
FIGURE 21 : Relevé du 2eme
essai
27
Le résultat est en amélioration, néanmoins il reste insuffisant pour une exploitation correcte
car le bruit demeure trop présent
Troisième essai : échantillonnage à 333Hz, moyenne sur 50 valeurs d’angle
On constate que le résultat est acceptable, il peut être exploité.
N.B : le pic final correspond à une montée en vitesse des roues, afin de tester les limites du
filtre. Ce n’est qu’à titre de tests, de telles conditions de vitesse et de vibrations ne pourront
jamais survenir dans la réalité (l’excitation a été réalisée à vide, les roues n’étant pas en
contact avec le sol).
Cette solution a été adoptée, et permet actuellement de piloter le Segway.
FIGURE 22 : Relevé du 3eme
essai
28
G. Asservissement Des Moteurs
L’usage d’un régulateur PID a été mis en œuvre afin d’asservir la commande des moteurs en
fonction de l’angle d’inclinaison du Segway.
Un excellent site pour en comprendre le principe :
http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sansfaire-de-calculs/
Nous avons travaillé sur une version réduite du Segway, une boîte embarquant la carte
ISEN32 afin d’en exploiter le driver du moteur (L293DD) et les résistances de pull-up.
Important : les résistances de pull-up soudé par défaut sont de 4.7 kOhm, pensez à les
changer.
La taille de la structure semble impacter beaucoup l’équilibre, dans la mesure où l’on ne
parvient pas à la faire tenir en équilibre.
Après de multiples essais, nous n’avons pas pu déterminer de valeurs permettant d’assurer
l’équilibre.
Il est à noter également le manque de réactivité des moteurs et/ou du driver L293DD, pour
le moteur nous suspectons les capacités servant à filtrer le bruit d’augmenter
significativement le temps de réaction des moteurs.
29
H. Tests A Effectuer Pour Vérifier
L’intégrité Du Composant
Test N°1 : Vérification de la bonne fonctionnalité du
composant
o Vérifier que les pins SCL et SDA sont au potentiel 3.3V lorsque l’on connecte VCC et GND
sans connecter SCL et SDA au microcontrôleur, et que le composant ne consomme pas plus
de 0.01 A
Si échec : le composant n’est plus fonctionnel
o Vérifier que lorsque l’on lit dans le composant son adresse (dans le registre WHO_AM_I),
celui-ci nous renvoie 0x68.
Si échec :
i) Changer la STM32 et réessayer
j) Si le test i) échoue, le composant n’est plus fonctionnel
Test N°2 : Lecture de valeurs d’accélérations linéaires
o Vérifier que, pour un angle d’inclinaison connue sur un axe, le capteur renvoie une valeur
d’accélération correspondant à la valeur attendue Si échec :
o Vérifier que le composant est correctement positionné (à plat, parallèle au sol)
o Si le test i) échoue, vérifier que le mode sleep est désactivé
o Si le mode sleep est désactivé, le composant n’est plus fonctionnel
N.B : lorsque le mode sleep est activé, le capteur renvoie 0x00 lors de la lecture
d’un registre d’accéléromètre ou du gyroscope
30
I. Axe D’amélioration
Par rapport à la solution actuelle :
1) Revoir l’algorithme de calcul du gyroscope, essayer de retarder la dérive autant que possible voire
de l’annihiler.
2) Améliorer la gestion de l’équilibre, notamment en réalisant une étude physique de celui-ci (relation
permettant de déterminer l’effort et donc le couple à fournir aux roues en fonction de l’angle
d’inclinaison), et adapter l’algorithme d’asservissement en fonction de cette étude.
Aussi, il faut savoir que le capteur contient un processeur interne qui peut effectuer les calculs
d’angles lui-même en fusionnant, comme le filtre complémentaire, les données de l’accéléromètre et
du gyroscope.
Se renseigner, comprendre la librairie associée au DMP (Data Motion Processing) du capteur :
https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6
/MPU6050_DMP6.ino
https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/MPU6050_6Axis_MotionA
pps20.h
Il s’agit d’un code pour Arduino, qui peut être traduit en langage C pour être utilisé sur la STM32
Une documentation officielle a également été faite par Invensense, mais qui reste néanmoins difficile
d’accès (cf. dossier Motion Driver 6.12).
3) Trouver un moyen de filtrer l’accélération du Segway des relevés de l’accéléromètre
4) A FAIRE : réaliser un petit PCB contenant la STM32, les résistances de pull-up, un driver
moteur (celui de la carte rouge semble convenir, vérifier néanmoins que par rapport aux
roues dont on dispose il est capable de débiter suffisamment de courant), et un pont de diode
pour protéger le driver des retours de courant émanant des moteurs (inexistant sur la carte
ISEN32).
Très important : trouver un moyen d’empêcher des retours violents depuis la stm32 vers le capteur,
on a grillé 3 capteurs cette année à cause de ça …
Vous pouvez vous inspirer du schéma du driver présent sur la carte ISEN32.
Montage du pont de diode :
M
FIGURE 23 : Schéma
du montage avec
diode
31
5) Éliminer le bruit sur les signaux, généré par les moteurs.
En clair, si vous brancher une sonde à la sortie moteur et que vous observez à
l’oscilloscope, sans avoir connecté les moteurs, vous constaterez que d’une part, la
STM32 ne « freeze » pas car la communication I2C n’est pas interrompue, et que
d’autre part vous avez un PWM à l’écran.
Ensuite, connecter les moteurs et vous observerez la STM32 qui « freeze »,
de manière plus ou moins rapide selon les cas.
C’est le problème majeur qui existe à la fois sur le vrai Segway et sur la version réduite.
Le freeze désigne la perturbation de la communication I2C par des signaux parasites tels que
le bruit sur le signal causé par les moteurs ou encore les OEM.
Si vous observez les valeurs lues dans le capteur au niveau du Live Watch, celles-ci
s’actualisent tout le temps (valeur écrite en rouge dans le Live Watch).
Si celles-ci n’évoluent plus, alors le freeze est survenu.
Et si vous vous demandez « comment on sait que c’est l’I2C et pas autre chose ? », il suffit
de faire un break lorsque le freeze est survenu et vous constaterez que le code est coincé dans
un while d’une fonction de lecture ou d’écriture I2C.
Si vous ne faîtes que générer un PWM en dur par exemple, la STM32 ne cesse jamais de
fonctionner donc le problème vient clairement d’une perturbation des signaux SCL et/ou
SDA voire de l’alimentation du capteur (même si on en doute, car on a déjà essayé d’isoler
l’alimentation et cela n’a rien changé au problème néanmoins le signal parasite arrive peut-
être par la masse qui est commune avec les autres masses).
Nous avons essayé de mettre des capacités (220 nF) au niveau des pins moteurs tel que
présenté ici : https://www.pololu.com/docs/0J15/9
Néanmoins cela n’a fait que retarder le freeze, qui survient quand même. Également, cela
détruit la réactivité des moteurs qui ne peuvent pas toujours suivre les inversions de sens de
rotation, particulièrement lorsque l’on oscille autour de la position d’équilibre.
Si on change de solution : codeur incrémental etc…
Comme ce fut expliqué au début, le choix du composant par l’équipe de l’an dernier a imposé
l’utilisation du MPU-6050 afin d’évité un gaspillage de celui-ci, notamment financier.
Néanmoins, on peut envisager l’utilisation d’un codeur incrémental afin de connaître l’angle
d’inclinaison directement, sans calculs.
32
Annexes
Des Vis sous LabVIEW ont été réalisées, durant les phases de tests/validation d’une solution.
Ceux-ci permettent :
- D’observer la rotation du capteur à l’écran
- D’observer les valeurs d’angles correspondant aux accélérations relevées. Ils sont disponibles
dans le fichier compressé zip « Banc de tests LabVIEW ».
Fonctionnement du fichier main.c (valable pour les 4 approches citées) :
1) Appel fonction d’initialisation du périphérique I2C de la STM32
2) Appel fonction d’initialisation du composant MPU-6050
3) Appel fonction d’initialisation des variables
4) Appel fonction d’initialisation de l’USART
5) Appel fonction d’initialisation du timer générant les signaux PWM
6) Appel fonction d’initialisation du timer permettant d’échantillonnées
Aussi, lorsque vous adapterez le code pour la carte électronique, il faut savoir que :
- Celle-ci nécessite 2 PWM par moteur au lieu d’un, soit 4 en tout
- Pour la marche avant, il s’agit de PWM2 et PWM4 (ce sont les noms des PWM situées dans le
schématiques de la carte fournit dans le/les rapport(s) de la partie électronique)
- Pour la marche arrière, il s’agit de PWM1 et PWM3
Egalement, sachez qu’il est absolument interdit de se retrouver dans la configuration suivante : DIR
= 1, PWM = 0 (les DIR sont les signaux permettant de gérer le sens de rotation, cf. rapport de la partie
électronique).
N.B : Si vous ne vous servez pas du port COM, il est inutile de configurer l’USART. Ainsi, vous
trouverez parfois Configure_USART en commentaires.
33
Partie Electronique
Ici, deux solutions sont proposées. Mêmes si elles sont deux solutions différentes, certaines phases
de tests sont les mêmes, ainsi que le moteur et son fonctionnement ou encore les solutions et pistes
d’améliorations données.
A. Solution 1
a. Choix du circuit
b. Assemblage
c. Les problèmes rencontrés
B. Solution 2
a. Choix du circuit
b. Assemblage
c. Les tests
C. Pistes D’amélioration
34
Solution 1
a. Choix du circuit
Nous avons créé deux cartes différentes : une carte logique et une carte puissance. Comme leurs noms
l’indiquent la carte logique est la carte petit ampérage, on va y plugger la STM32, ainsi que les fils
pour le capteur gyroscopique (expliqué partie informatique) mais aussi toute la partie logique pour la
commande des moteurs. La carte puissance est la carte grand ampérage (13 Ampères) qui va être
reliée aux moteurs. Plus les deux parties sont séparées, plus on assure la diminution d’interférences
et la sécurité des composants.
La carte puissance
Il y a une carte par moteur. Chacune d’elles est directement reliées à un moteur et donc par lesquelles
passent les 13 ampères. Pourquoi deux cartes distinctes ? Encore et toujours pour diminuer
l’électromagnétisme.
Nous contrôlons les moteurs avec un système « pont en H » aussi appelé hacheur 4 quadrants. C’est-
à-dire que les MOS fonctionnent par paires. On les actionne deux à deux et les deux autres sont des
interrupteurs ouverts. Comme le montre le schéma ci-dessous.
Comme vous l’aurez compris, suivant les interrupteurs que l’on actionne, le moteur tourne dans un
sens ou dans l’autre. Ce qui permet la marche avant ou la marche arrière. Pour finir, nous contrôlons
nos MOS grâce à des signaux créneaux. Plus le rapport cyclique de ces signaux créneaux est élevé
plus la vitesse de rotation des moteurs sera élevée.
M
24V
M
24V
On ferme un P1 et N1, le courant passe
au travers du moteur et celui-ci tourne
dans un sens.
On ferme un P2 et N2, le courant passe
au travers du moteur et celui-ci tourne
dans l’autre sens.
FIGURE 24 : Schéma explication du pont en H
35
Cependant, il ne faut pas les actionner autrement que de cette manière-là et surtout ne pas en actionner
plus que 2 à la fois. Par risque de faire griller des MOS ou bien le moteur.
Voici un aperçu du schéma fait sous Eagle (en version original dans les dossiers fournis)
FIGURE 25 : Schématique partie puissance
36
La partie logique
La carte logique sert à plusieurs choses :
- Alimenter la carte STM32 qui assure toute la partie asservissement informatique
- Alimenter le capteur gyroscopique
- Assurer les connexions de la STM32 avec les cartes contrôles moteurs, le capteur et son
alimentation.
Dans la mesure où nous avions des batteries de 24V il a été créé un circuit pour avoir une
alimentation de 9V. Tension maximum supportée par la STM32.
Nous avons également mis une série de plots « ALIM » afin de pouvoir remplacer la batterie par des
alimentations externes. Ce qui nous permet d’effectuer des tests et de pouvoir avancer par étapes (ne
pas se brancher directement à la batterie car on ne peut rien contrôler dans ce cas-là. Comme par
exemple l’ampérage qui peut circuler dans la plaquette)
Pour finir le plot MPU6050 qui est la connectique pour le gyroscope.
Régulateur
de tension
FIGURE 26 : Capture écran de la 1ere partie de la partie
logique. Disponible dans la partie électronique
Connectique
alim
Connectique
MPU6050
STM32
37
La seconde partie de la carte logique est la commande des ponts en H. C’est elle qui, suivant ce qu’elle
reçoit de la STM32, va envoyer les signaux correspondant aux MOSFET des pont H pour les
actionner correctement.
Il faut savoir que dans cette solution nous travaillons avec des NMOS et PMOS. Les NMOS et PMOS
fonctionnent en inversés : l’un est bloqué à 24V et l’autre à 0V. De plus, la carte STM32 ressort des
signaux de maximum 3V3. Or il nous faut du 24V pour contrôler nos moteurs.
C’est pour cela que nous avons besoin de ce montage. Afin de retrouver des créneaux avec une plus
grande amplitude pour pouvoir contrôler nos moteurs mais aussi parce qu’il faut s’assurer de bloquer
les MOS qui doivent être « interrupteurs ouverts » c’est-à-dire en mode bloqué.
FIGURE 27 : Seconde partie de la partie logique
38
Si l’on regarde de plus près, nous avons un TIL193 : c’est un optocoupleur. Il permet la protection
contre les retours d’ampérage provenant de la puissance vers la logique et permet donc d’isoler les
deux parties.
En sortie de cet optocoupleur : un buffer inverseur. Son rôle est de rendre le signal en sortie du TIL
qui a tendance à être trop arrondi (effet capacitif) en un signal créneau avec un rapport cyclique net
et un signal carré clair.
Les entrées :
- Dir : Signal 0 ou 3V3 qui sert d’enable
- PWM : signal creneau 0/3V3 ou éteint =0V
Ces entrées sont générées par la carte STM32.
FIGURE 28 : Zoom sur une partie du contrôle des MOS
39
Table logique pour la partie du haut (contrôle d’un PMOS)
DIR PWM 4081(AND) TIL(Patte13) P3
0 0 0V 5V 24V
0 CRENEAU_0/3V3 0V 5V 24V
3V3 0 0 5V 24V
3V3 CRENEAU_0/3V3 CRENEAU_0/3V3 CRENEAU_ 0/5V
CRENEAU_
0/24V
Table logique pour la partie du bas (contrôle d’un NMOS)
DIR PWM 4069(Inverseuse) 4071(OR) TIL(Patte13) N4
0 0 3V3 3V3 0V 0V
0 CRENEAU_0/3V3 3V3 3V3 0V 0V
3V3 0 0 0 5V 24V
3V3 CRENEAU_0/3V3 0 CRENEAU_0/3V3
CRENEAU_
0/5V
CRENEAU_
0/24V
Comme on peut le voir grâce à ces deux tables logiques, on remarque bien que les PMOS et les
NMOS soient contrôlés de façon complémentaire.
Chose très importante : d’après les tables logiques, on peut voir que les PWM peuvent rester allumer
tout le temps et que ce sont les DIR qui actionnent la rotation. Cependant il est interdit de mettre un
DIR à 3V3 si les PWM ne sont pas actionnés ! (La ligne 3 du 2eme tableau nous montre que si l’on
est dans cette conception-là, le NMOS ne sera pas dans la bonne configuration).
FIGURE 29 : Table vérité contrôle d’un PMOS
FIGURE 30 : Table vérité contrôle d’un NMOS
40
b. Simulation
Nous avons simulé notre circuit de puissance sous Nimultisim afin de vérifier le bon
fonctionnement de notre réflexion. Comme le montrent les photos ci-dessous qui sont des captures
écran des simulations. Le schéma expliqué précédemment est le circuit final effectué. Cependant, ces
simulations ne sont pas tout à fait les mêmes. En effet, au final nous avons dû envoyer des signaux
créneaux d’amplitudes 24V à nos MOSFET. Sur cette simulation, ce sont des signaux créneaux de
12V. Nous avons dû changer car nous avons rencontré des problèmes expliqués un peu plus bas.
Malheureusement, lors de la simulation, ces problèmes ne sont pas apparus.
Schéma simulé :
En entrée : Signal créneau de 12V pour Q1 et Q4 et les deux autres en états bloqués.
FIGURE 31 : Capture écran du schéma simulé sous NiMultisim
41
c.
FIGURE 32 : Relevé de l’oscilloscope
42
c. Assemblage
Après avoir câblé notre montage sur plaquette blanche et donc avec moins d’ampérages (les
plaquettes blanches supportant au maximum 2,5 ampères) nous avons usiné les plaquettes.
Pour diminuer au minimum l’électromagnétisme, les possibilités d’avoir des transferts entre les pistes
par le silicium, nous avons pris le plus de mesure possible :
- Plan de masse sur la face Bottom
- Piste les plus larges possibles pour faire passer le 13 Ampères
- 3 cartes différentes : 1 pour la partie logique, 1 pour chaque moteur
- Des fils utilisés pour des alimentations de 230V. Des fils plus épais et avec une gaine plus
épaisse pour se relier aux moteurs et aux batteries
Voici un aperçu du PCB. Les plaquettes sont disponibles
Pour l’usinage de la plaquette, un excel avec toutes les étapes a été fait afin que tout le monde puisse
avancer la plaquette le plus rapidement possible. Cet excel est disponible dans la bibliographie.
FIGURE 32 : PCB d’une carte pont en H
43
Les problèmes rencontrés :
- Le bruit. Les pistes étant très grandes pour permettre aux 13 ampères de passer. Si l’on
travaille avec moins d’ampérages et des alimentations plus petites pour les tests, le bruit prend le
dessus sur les signaux et ils deviennent inutilisables.
- D’autre part, si l’on commence à actionner les moteurs et à les laisser tourner, on se rend
compte de deux choses : les MOS qui doivent être à l’état bloqué se retrouvent passant par
intermittences et on a donc un court-circuit car il est strictement interdit de se retrouver avec des
autres combinaisons de MOS actionnés que celles présentées plus haut. La deuxième dont on se
rend compte : le bruit que génère les moteurs remonte par les alimentations et par la masse.
Les solutions que nous avons trouvées :
- Des signaux créneaux de 12V pour actionner les MOS ainsi qu’un continu de 12V pour
bloquer le PMOS ne suffisent pas, il faut du 24V afin que les MOS ne se retrouvent pas passant par
intermittence. Cependant la datasheet des MOS spécifie qu’il supporte 20V maximum sur les gâtes.
Mais même à 20V les MOS deviennent passant. Notons que ce problème n’apparaissait pas lors des
simulations.
- Pour que ça passe le moins possible par l’alimentation, on a câblé une alimentation en étoile :
Un câble d’alimentation par carte, aucune carte n’est reliée entre elle par l’alimentation. Même si la
batterie est la même, c’est le seul point commun concernant l’alimentation.
- On a placé des transistors en parallèle entre les pates moteurs et la masse. Ceci a permis de
largement diminuer les pics qui pouvaient aller jusqu’à 40V.
- On a également mis des diodes de découplages entre les masses et alimentations, assez grosses
pour bloquer tous les bruits.
Voici un exemple de bruit que nous avons eu
Grâce à toutes ces solutions nous avons réussi à faire marcher la plaquette, cependant au bout d’un
certain temps, le bruit qui persiste fini par prendre le dessus et un MOS fini par griller à chaque fois.
FIGURE 33 : Photo du bruit présent sur nos signaux.
44
A. Solution 2
a. Choix du circuit
En effectuant nos recherches sur internet, nous avons trouvé deux solutions différentes
de concevoir un pont en H, ce qui permet de contrôler les moteurs dans un sens ou dans l’autre
en fonction des signaux d’entrées.
Ici nous allons vous parler d’une des deux méthodes qui consiste à réaliser un hacheur quatre
quadrants avec 4 transistors Mosfet de canal N. Contrairement, à l’autre solution étudiée en
parallèle, c’est un composant appelé driver de Mosfet qui va jouer le rôle de contrôleur pour
indiquer si on doit laisser passer un signal créneau sur tel transistor ou si on doit le laisser en
« mode bloqué ».
MOTEUR
FIGURE 34 : Schématique de la solution 2
45
Voici donc un aperçu un peu plus visuel du montage de puissance qui nous intéresse. Bien sûr
dans notre cas, il y a deux moteurs à contrôler donc on double cela.
Nos moteurs s’alimentant en 24V, on a choisi une tension de 24V pour les Mosfet car en réalité,
quand le transistor sera activé, il va se fermer et donc devenir un interrupteur fermé. Attention à
bien faire vérifier à la tension de déclenchement des transistors.
Ensuite, la partie électronique faisant office de liaison entre la partie informatique et la partie
mécanique, il faut faire un circuit électronique qui est capable à partir de nos signaux envoyés par
la STM32 d’envoyer les tensions continues ou les PWM qu’il faut pour permettre au driver de
Mosfet d’activer les deux bons transistors si on veut aller en avant et les deux autres si on veut
reculer. Pour cela rien de mieux qu’un circuit logique composé de portes AND et de portes
INVERSEUSES.
FIGURE 35 : Schématique partie logique
46
Dans tous les cas, la STM32 envoie deux signaux PWM en permanence qui sont en fait les signaux
correspondant au relevé du capteur et c’est eux qui vont permettre d’avancer plus au moins vite
en fonction de leur rapport cyclique. Le signal de Dir qui est en fait une tension continue soit de
3,3V ou de 0 permet de définir si on va en marche avant ou en marche arrière. Dans notre cas,
DIR=0 on va en avant et DIR=1 en arrière.
Ensuite dernière partie de cette carte électronique, nous avons choisi d’utiliser un optocoupleur
pour éviter les interactions entre la partie puissance composée des Mosfet et la partie logique. Le
principe est simple, dans ce composant, une LED s’active si il y a une différence de potentiel
entre les deux pattes de sorties et permet au courant de passer par photo couplage. Ainsi on isole
la partie à très faible ampérage et la partie où nos 13A demandés par les moteurs vont passer.
Il y a une résistance pull-down dans ce petit montage pour permettre d’avoir une tension continue
en sortie lorsque le signal d’entré est nul.
FIGURE 36 : Schématique optocoupleur
47
b. Assemblage
Au niveau de la constitution du PCB (la carte électronique), nous sommes parti sur une carte avec
des composants CMS (non traversants). Le plus dur dans cette partie a été de contrôler la largeur
des pistes qui nécessite de forts ampérages. En effet, il est évidant que dans notre cas, il faut des
pistes élargies qui permettent de faire passer nos 13A de courant.
Voici notre carte lors d’une simultion après soudage. Malheureusement nous n’avions pas le matériel
nécessaire(haute précision) pour la souder et une petite erreur en soudant la micro-stm a fait qu’il y eu des
cours circuits sur la plaquette et nous avons décidé de revenir avec le même schéma mais sur plaquette à
trou avec des composants traversants où nous sommes certain qu’il n’y a pas de problème de soudure
possible avec nos fers mis à disposition par l’école. C’est là qu’arrive notre carte en pieuvre :
FIGURE 37 : Simulation de la plaquette
FIGURE 38 : Plaquette de test supportant le grand ampérage
48
c. Les tests
Au niveau des tests, nous sommes parties sur une stratégie de validations en plusieurs étapes :
 Les tests de continuités
 La partie logique
 La partie avec les optocoupleurs
 La partie avec les drivers
 On a ajouté les transistors sans les moteurs
 Tests avec des moteurs ne consommant pas beaucoup (ventilateur d’ordinateur)
 Tests avec des petits moteurs de voiture
 Tests avec le Segway uniquement en marche avant et sur une chaise et sans la batterie
 Test avec la batterie
 Tests avant et arrière sur la chaise
 Tests sur le sol unidirectionnel
 Test de marche avant et arrière enchaînés sur le sol
Nous n’avons jamais pu tester avec le capteur d’angle donc nous avons simulé avec des codes en dur
dans la STM qui permettaient de changer de sens toutes les quatre secondes par exemple.
Le plus gros problème que nous avons eu c’est d’éviter les pics de bruits qui viennent du fait qu’on
branche les moteurs et que cela consomme du courant. Voici des photos qui expliquent cela :
FIGURE 39 : Relevé oscilloscope
49
B. Pistes D’amélioration
Les pistes d’améliorations qui peuvent être réaliser sur notre carte électronique est d’arriver à isoler
la masse des batteries et la masse des composants de la carte car les pics de bruits viennent d’ici.
On pourrait également changer les diodes qui protègent nos drivers de Mosfet qui ne sont pas assez
grandes.
Fixer les dissipateurs qui permettent de réduire la chaleur dans les transistors. Ils sont déjà achetés.
Il faut régler le problème du LM317. En effet, même s’il nous sert pour réguler la tension 24V en 9V
pour alimenter la STM, ce dernier chauffe rapidement et n’est donc pas adapté.
Créer une masse virtuelle sur le Segway qui permettrait de faire cage de Faraday et éviter les
problèmes d’électromagnétismes.
L’une des pistes est d’utiliser la carcasse du Segway qui est en aluminium comme plan de masse extérieur
autre que la masse de la batterie.
Trouver des MOS plus résistants.
Utiliser un pont en H tout fait. En effet, il existe des H-bridges commercialisés déjà prêt, il suffit juste
d’envoyer les signaux créneaux d’entrés. Cependant ce n’était pas notre objectif premier.
Il pourrait être également intéressant de regarder des PCB déjà prêts qui sont proposés par ST microelectronics.
FIGURE 40 : Les dissipateurs

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

La grue team meccanette
La grue team meccanetteLa grue team meccanette
La grue team meccanette
 
14 montages et calculs des roulements
14 montages et calculs des roulements14 montages et calculs des roulements
14 montages et calculs des roulements
 
Cours engrenages v2
Cours engrenages v2Cours engrenages v2
Cours engrenages v2
 
Grue forestière.
Grue forestière.Grue forestière.
Grue forestière.
 
Transmission
TransmissionTransmission
Transmission
 
L’unstoppable
L’unstoppableL’unstoppable
L’unstoppable
 
Comment fonctionne un vélo?
Comment fonctionne un vélo?Comment fonctionne un vélo?
Comment fonctionne un vélo?
 
Fonctionnement velo
Fonctionnement veloFonctionnement velo
Fonctionnement velo
 
Challenge meccano diapo
Challenge meccano diapoChallenge meccano diapo
Challenge meccano diapo
 
Transporteuse.
Transporteuse.Transporteuse.
Transporteuse.
 
Grue forestière.
Grue forestière.Grue forestière.
Grue forestière.
 
playmonster-&squysse
playmonster-&squysseplaymonster-&squysse
playmonster-&squysse
 

Destacado

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Formation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissantsFormation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissantsservicelogiciel
 
Asse et-Boiron - Journal d'informations No 1 - Juin 2014
Asse et-Boiron - Journal d'informations No 1 - Juin 2014Asse et-Boiron - Journal d'informations No 1 - Juin 2014
Asse et-Boiron - Journal d'informations No 1 - Juin 2014Jean-Marc Sandoz
 
Desplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia DaltoDesplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia DaltoGonzalo Ramirez
 
Noche de bodas
Noche de bodasNoche de bodas
Noche de bodascentrowebs
 
Bloque calendario
Bloque calendarioBloque calendario
Bloque calendariodiana fory
 
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...LADAPT
 
Santiago Palacios De Unidad En Unidad
Santiago Palacios De Unidad En UnidadSantiago Palacios De Unidad En Unidad
Santiago Palacios De Unidad En UnidadCOOPERACION 2.0 2009
 
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revista
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revistaAsambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revista
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revistaAsamblea Nacional
 
Sumayresta completar
Sumayresta completarSumayresta completar
Sumayresta completarvictor pilco
 
Orthoptistes zotero-2010
Orthoptistes zotero-2010Orthoptistes zotero-2010
Orthoptistes zotero-2010David BENOIST
 
Calendrier chu 2012
Calendrier chu 2012Calendrier chu 2012
Calendrier chu 2012warum
 

Destacado (20)

Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Formation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissantsFormation disp ot v4 meublés et 7j glissants
Formation disp ot v4 meublés et 7j glissants
 
Asse et-Boiron - Journal d'informations No 1 - Juin 2014
Asse et-Boiron - Journal d'informations No 1 - Juin 2014Asse et-Boiron - Journal d'informations No 1 - Juin 2014
Asse et-Boiron - Journal d'informations No 1 - Juin 2014
 
Panel Magmaconf
Panel MagmaconfPanel Magmaconf
Panel Magmaconf
 
Présentation formation as
Présentation formation asPrésentation formation as
Présentation formation as
 
Ternay 2008
Ternay 2008Ternay 2008
Ternay 2008
 
Poême la vie en théorèmes
Poême la vie en théorèmesPoême la vie en théorèmes
Poême la vie en théorèmes
 
Desplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia DaltoDesplazamiento Forzado en Colombia. Marcia Dalto
Desplazamiento Forzado en Colombia. Marcia Dalto
 
El PeatóN
El PeatóNEl PeatóN
El PeatóN
 
Catalogue ludotheque 2015
Catalogue ludotheque 2015Catalogue ludotheque 2015
Catalogue ludotheque 2015
 
Noche de bodas
Noche de bodasNoche de bodas
Noche de bodas
 
Bloque calendario
Bloque calendarioBloque calendario
Bloque calendario
 
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...
Les cahiers de LADAPT Hors-série n°5 : "Emploi accompagné en France : qu'atte...
 
Octubre
OctubreOctubre
Octubre
 
Santiago Palacios De Unidad En Unidad
Santiago Palacios De Unidad En UnidadSantiago Palacios De Unidad En Unidad
Santiago Palacios De Unidad En Unidad
 
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revista
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revistaAsambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revista
Asambleísta xavier tomalá rendición de cuentas ene - dic 2011 xtm cpccs revista
 
Analyse de Fiches Voyages
Analyse de Fiches VoyagesAnalyse de Fiches Voyages
Analyse de Fiches Voyages
 
Sumayresta completar
Sumayresta completarSumayresta completar
Sumayresta completar
 
Orthoptistes zotero-2010
Orthoptistes zotero-2010Orthoptistes zotero-2010
Orthoptistes zotero-2010
 
Calendrier chu 2012
Calendrier chu 2012Calendrier chu 2012
Calendrier chu 2012
 

Similar a Dossier_De_Passation

08 f2000 - 2011 - camus - rillieux
08   f2000 - 2011 - camus - rillieux08   f2000 - 2011 - camus - rillieux
08 f2000 - 2011 - camus - rillieuxCédric Frayssinet
 
01 f2000 - 2011 - martiniere-montplaisir - lyon
01   f2000 - 2011 - martiniere-montplaisir - lyon01   f2000 - 2011 - martiniere-montplaisir - lyon
01 f2000 - 2011 - martiniere-montplaisir - lyonCédric Frayssinet
 
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-synthe
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-syntheGRUETOZER par les MECCAPROS du collège Jules Verne de Grande-synthe
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-syntheBernard Alexandre
 
Eee 2011 - 01 - martiniere diderot - lyon
Eee   2011 - 01 - martiniere diderot - lyonEee   2011 - 01 - martiniere diderot - lyon
Eee 2011 - 01 - martiniere diderot - lyonCédric Frayssinet
 
Diaporama manège enchanté segpa du collège jean jaurès aire sur la lys
Diaporama manège enchanté   segpa du collège jean jaurès aire sur la  lysDiaporama manège enchanté   segpa du collège jean jaurès aire sur la  lys
Diaporama manège enchanté segpa du collège jean jaurès aire sur la lysBernard Alexandre
 
TRIALOGRUE par les QUADRIGHOST
TRIALOGRUE par les QUADRIGHOSTTRIALOGRUE par les QUADRIGHOST
TRIALOGRUE par les QUADRIGHOSTBernard Alexandre
 
Modele diapo la_tete_qui_tourne
Modele diapo la_tete_qui_tourneModele diapo la_tete_qui_tourne
Modele diapo la_tete_qui_tourneBernard Alexandre
 
Presentation grp2
Presentation grp2Presentation grp2
Presentation grp2rurkedu
 
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-Synthe
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-SyntheGRUETOZER par les MECCAPROS du collège Jules Verne à Grande-Synthe
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-SyntheBernard Alexandre
 
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...David Izinkanuko
 
BAC 2022 - Sciences de l'ingénieur
BAC 2022 - Sciences de l'ingénieur BAC 2022 - Sciences de l'ingénieur
BAC 2022 - Sciences de l'ingénieur LETUDIANT1
 

Similar a Dossier_De_Passation (20)

Char Dunant - merville
Char Dunant - mervilleChar Dunant - merville
Char Dunant - merville
 
SaintJo One Transporteur
SaintJo One TransporteurSaintJo One Transporteur
SaintJo One Transporteur
 
MECCADEMAILLY1-Girlylico
MECCADEMAILLY1-GirlylicoMECCADEMAILLY1-Girlylico
MECCADEMAILLY1-Girlylico
 
08 f2000 - 2011 - camus - rillieux
08   f2000 - 2011 - camus - rillieux08   f2000 - 2011 - camus - rillieux
08 f2000 - 2011 - camus - rillieux
 
Horloge foldingue
Horloge foldingueHorloge foldingue
Horloge foldingue
 
01 f2000 - 2011 - martiniere-montplaisir - lyon
01   f2000 - 2011 - martiniere-montplaisir - lyon01   f2000 - 2011 - martiniere-montplaisir - lyon
01 f2000 - 2011 - martiniere-montplaisir - lyon
 
La foreuse tout terrain
La foreuse tout terrain La foreuse tout terrain
La foreuse tout terrain
 
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-synthe
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-syntheGRUETOZER par les MECCAPROS du collège Jules Verne de Grande-synthe
GRUETOZER par les MECCAPROS du collège Jules Verne de Grande-synthe
 
Diapo des MONSTER MECCANO
Diapo des MONSTER MECCANODiapo des MONSTER MECCANO
Diapo des MONSTER MECCANO
 
Eee 2011 - 01 - martiniere diderot - lyon
Eee   2011 - 01 - martiniere diderot - lyonEee   2011 - 01 - martiniere diderot - lyon
Eee 2011 - 01 - martiniere diderot - lyon
 
Diaporama manège enchanté segpa du collège jean jaurès aire sur la lys
Diaporama manège enchanté   segpa du collège jean jaurès aire sur la  lysDiaporama manège enchanté   segpa du collège jean jaurès aire sur la  lys
Diaporama manège enchanté segpa du collège jean jaurès aire sur la lys
 
TRIALOGRUE par les QUADRIGHOST
TRIALOGRUE par les QUADRIGHOSTTRIALOGRUE par les QUADRIGHOST
TRIALOGRUE par les QUADRIGHOST
 
Diaporama monster meccano
Diaporama monster meccanoDiaporama monster meccano
Diaporama monster meccano
 
Modele diapo la_tete_qui_tourne
Modele diapo la_tete_qui_tourneModele diapo la_tete_qui_tourne
Modele diapo la_tete_qui_tourne
 
Presentation grp2
Presentation grp2Presentation grp2
Presentation grp2
 
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-Synthe
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-SyntheGRUETOZER par les MECCAPROS du collège Jules Verne à Grande-Synthe
GRUETOZER par les MECCAPROS du collège Jules Verne à Grande-Synthe
 
Le chien meccano Smakie
Le chien meccano SmakieLe chien meccano Smakie
Le chien meccano Smakie
 
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...
diapo etude du décalage de la chaine opercule d'une conditionneuse de yaourt ...
 
Meccano
MeccanoMeccano
Meccano
 
BAC 2022 - Sciences de l'ingénieur
BAC 2022 - Sciences de l'ingénieur BAC 2022 - Sciences de l'ingénieur
BAC 2022 - Sciences de l'ingénieur
 

Dossier_De_Passation

  • 1. 1 C. Akrich - T. Le roux - M. Moign - J. Peyratout - E. Vitelli 2015 2016
  • 2. 2 Sommaire A. Présentation générale B. Architecture interne C. Partie mécanique D. Partie informatique E. Partie électronique
  • 3. 3 Présentation Génerale Ce rapport a pour but de présenter le travail effectué par notre équipe qui était encadré par Mme Kussener. Nous avions comme objectif de réaliser un Segway entièrement fait maison. Le principe de fonctionnement du Segway est le suivant : c’est une planche avec des roues et un guidon comme le montre la photo sur la page de garde. Si l’on se penche en avant, on va avancer, si l’on se redresse, on s’arrête où on recule. Si l’on penche le guidon vers la droite on va tourner à droite et inversement pour la gauche. Notre objectif était de réaliser un Segway avec lequel on puisse avancer et reculer mais également tenir en équilibre dessus. Pour cela trois grandes parties sont ressorties : la mécanique avec la réalisation d’une maquette, la partie électronique avec la réalisation d’une carte pouvant communiquer avec les moteurs puis la partie informatique pour l’asservissement. Au début nous n’avions pas conscience de la difficulté réelle de ce projet. L’électronique de puissance ne ressemble en rien à l’électronique que nous avions l’habitude d’étudier en TP. Ce rapport permet de comprendre le travail que nous avons effectué afin de pouvoir le récupérer et de repartir de là où nous nous sommes arrêtés, ne pas répéter nos erreurs et atteindre de futurs steps.
  • 4. 4 Architecture Interne Voici le schéma de notre architecture interne qui explique les liaisons entre chacune des parties. Ces parties seront bien entendues détaillées par la suite. Nous avons donc des batteries 24V et 30A qui alimentent tout le Segway. En effet la datasheet des moteurs indique une alimentation nécessaire de 24V pour le bon fonctionnement des moteurs. Au fil de ce dossier vous découvrirez les différentes parties que l’on peut voir dissocier sur ce Segway. En effet, une partie informatique faisant la liaison entre les actionneurs (le bras et la capteur attaché dessus) et la partie électronique, celle qui commande les moteurs. Les moteurs faisant partis eux, de la partie mécanique avec les pignons et engrenages. FIGURE 1 : Architecture interne
  • 5. 5 Partie Mécanique A. Ce Qui A Eté Fait a.Choix des composants b.Justification de ce choix c.Assemblage de la maquette B. Pistes D’amélioration a.Sur la maquette actuelle b.Sur une possible « future maquette »
  • 6. 6 A. Ce Qui A Eté Fait a. Choix Des Composants Au tout début du projet, ne sachant pas du tout comment était constitué un Segway, nous avons visionné de nombreuses vidéos afin d’en comprendre son fonctionnement, déterminer ses dimensions … ce qui nous a conduit à dessiner un schéma mécanique (disponible dans l’arborescence ou format papier). Ce schéma mécanique nous a permis d’acheter les bonnes pièces telles que : - Les batteries 12V 30Ah, nous permettant d’avoir une grosse autonomie. Commandées sur internet car moins chères qu’en magasin. - Les roues : des roues de brouette avec un axe. Commandées sur internet mais également disponibles dans des magasins de bricolage tel que Leroy merlin ou Castorama - Une planche en bois de 40x50cm (Leroy merlin) - Des plaques métalliques en alu ainsi que des cornières en acier permettant l’assemblage (Leroy merlin) - Un guidon (Leroy merlin) - Des chaînes permettant l’entraînement des roues ainsi que les pignons allant avec ces chaînes. - Des vis, écrous, cosses, des câbles, tiges filetées, tube en acier, ressort, équerres … c’est-à- dire toute sorte de composants nécessaires à l’assemblage de la maquette, bien évidemment que l’achat de ces composants dépend de nos besoins. b. Justification Du Choix De Nos Composants 1) Après avoir visionné des vidéos de Segway faites maison nous avons remarqué que la plupart disposaient de batteries de 12V 8Ah. En effet, avec ce type de batterie le Segway peut tout à fait fonctionner, mais pour combien de temps ? Après un calcul théorique effectué en considérant le nombre d’ampères consommés par les moteurs à leur régime nominal, nous avons pu constater que ces batterie ne tiendraient que très peu de temps, c’est-à-dire seulement 15/20 min. Nous avons donc fait le choix de partir sur des batteries beaucoup plus puissantes. Nous avons donc choisi de prendre des batteries HANKOOK U1RMF-X 12V 30Ah ce qui nous permet donc de multiplier son autonomie par plus de 3. Avantage : o Plus d’autonomie Inconvénients : o Plus lourdes o Plus encombrantes FIGURE 2 : Les batteries
  • 7. 7 Lien des batteries : http://www.ebay.fr/itm/like/272021957824?lpid=97&chn=ps 2) Nous avons choisi de prendre des roues de brouette car nous voulions avoir un Segway capable de franchir de nombreux obstacles tels que : trottoirs, marches, pierres. Au début, on nous avait proposé des roues de brouette toutes simples mais elles ne nous convenaient pas car il nous manquait l’axe autour duquel elles étaient censées tourner. Nous avons ainsi fait le choix de prendre des roues déjà équipées de cet axe. Avantage : o Gain de temps dans la recherche de l’axe intérieur (diamètre) Inconvénient : o On a ainsi dû se baser sur cet axe pour la construction du reste de l’ensemble de la maquette du fait que l’on ne pouvait pas l’enlever Lien des roues : http://www.cdiscount.com/maison/bricolage-outillage/roue-gonflable-brouette-remorque-380- mm-avec-axe-j/f-1170434-auc2009924749710.html#pres 3) Le choix de notre planche s’est tout simplement fait selon les dimensions (40x50cm) des Segway déjà existant et pour ce qui est du choix du bois, nous avons bien évidement pris celui qui nous paraissait être le plus résistant FIGURE 3 : Les roues fixées sur le Segway
  • 8. 8 4) Pour ce qui est du bâti nous avons choisi de partir sur une base faite en bois autour de laquelle nous avons disposé des plaques d’aluminium. Le bâti fait en bois nous a servi pour venir fixer l’ensemble roues, moteurs, batteries. Les plaques d’aluminium fixées sur le bâti en bois apportent une certaine rigidité au Segway permettant de supporter un poids allant jusqu’à environ 100 kg et elles ont également un rôle d’esthétique. FIGURE 4 : L’intérieur du coffre du Segway FIGURE 5 : Le bâti
  • 9. 9 Le fait d’allier bois et métal nous apporte de nombreux avantages tels que : o Pour le bois  la facilité du placement des différentes pièces sur celui-ci o Pour le métal  le côté « solide » et surtout esthétique de la maquette Inconvénients : o A force de percer, repercer, le bois se dégrade et on voit ainsi apparaître des microfissures voire des fissures, ce qui met en danger la solidité toute entière du Segway o Le métal étant conducteur, il faut faire extrêmement attention quant à l’isolation des cartes électroniques et des câbles 5) Pour ce qui est du guidon, à l’origine n’ayant pas de matériel à portée de main, nous avons utilisé un manche à balai. Ensuite nous avons acheté un guidon à Leroy Merlin. Nous avons fixé ce guidon en faisant un trou dans le bâti et en y accrochant deux ressorts, un de chaque côté afin de tenter de lui faire garder son équilibre. Le fait que le guidon soit bien équilibré est très important du fait que l’on va venir y fixer notre gyroscope. FIGURE 6 : La fixation du guidon
  • 10. 10 Avantage : o Le guidon est très stable du fait qu’il soit encastré dans le bâti et tenu par les deux ressorts Inconvénient : o Il y a des frottements assez conséquents entre le bâti et le guidon, ce qui empêche les ressorts de jouer leur rôle 6) En ce qui concerne la rotation des roues, nous avions deux solutions : o Soit une chaîne de vélo, moto o Soit une courroie dentée Etant donné que nous disposions déjà des moteurs et que, sur ces moteurs étaient déjà présents des pignons, nous avons opté pour les chaînes. Connaissant l’adresse du site internet où les moteurs avaient été commandés l’année précédente, nous avons pu commander les chaînes allant avec les pignons moteurs. Nous avons également dû commander deux autres pignons allant sur les axes des roues pour pouvoir les faire tourner. Pour ce qui est du choix de ces pignons, nous les avons choisis en fonction de leurs nombres de dents ainsi que de leur « pas ». Attention : pour déterminer le nombre de dents il faut au préalable déterminer le rapport de réduction voulu. Et en ce qui concerne le pas il doit être identique à celui du pignon moteur et celui de la chaîne. FIGURE 7 : Le guidon avec le bouton interrupteur
  • 11. 11 FIGURE 8 : Chaîne et pignon FIGURE 9 : Chaîne et pignon au niveau du moteur
  • 12. 12 Avantage : o Facilité d’adaptation en fonction du matériel dont on disposait déjà Inconvénients : o Risque de dérailler (peut être dangereux) o Fait plus de bruit qu’une courroie Lien des moteurs : http://pocketquadelectrique.csmoto.fr/informations/datasheet.php Lien des chaînes et pignons : http://pocketquadelectrique.csmoto.fr/achat/pignon.php
  • 13. 13 c. Assemblage De La Maquette Pour rendre le bâti plus solide nous avons choisi de rendre l’axe des roues solidaires l’un de l’autre grâce à un tube métallique fixé directement sur la planche en bois à l’aide de grosses équerres. Ce tube métallique traverse donc le Segway en travers et à chaque extrémité de celui-ci vient de fixer l’axe de chaque roue. Pour équilibrer au mieux le Segway sans même qu’il ne soit en « marche », nous avons choisi de placer les moteurs et les batteries de manière stratégique, c’est-à-dire latéralement opposés. Nous utilisons des batteries au plomb et ceci nous rajoute une contrainte, celle de ne pas les pencher, au risque de perdre du liquide (électrolyte) et de les endommager, il faut ainsi les fixer telles qu’elles puissent rester droite (ou presque). FIGURE 10 : Tube métallique
  • 14. 14 B. Pistes D’améliorations a. Sur La Maquette Actuelle o Réduire les frottements au niveau des deux roues et surtout de la droite. Ces frottements font augmenter la consommation de courant des moteurs. o Améliorer les frottements qu’il y a entre le guidon et le bâti, car ils annulent l’effet des deux ressorts qui seraient censés maintenir le guidon en position d’équilibre. o Mettre une protection de chaque côté du Segway afin d’éviter toute blessure en cas de déraillement des chaînes. o Améliorer l’isolement de chaque composant par rapport à la plaque métallique de la caisse. o Améliorer le système de ventilation pour éviter que la température ne monte trop haut à l’intérieur de la caisse. o Relier les batteries aux cartes avec un autre moyen que par des pinces car celles-ci peuvent à la suite d’un choc un peu trop important se détacher des cosses des batteries. b. Sur Une Prochaine Maquette o Remplacer les chaînes par des courroies crantées. Il faudra donc changer le système de pignons présent sur le moteur et l’axe de la roue afin de l’adapter pour qu’il puisse faire tourner les courroies sans les abîmer. o Effectuer les pièces et le bâti (actuellement en bois/alu) en plastique à l’imprimante 3D à l’aide du logiciel SolidWorks. Pour ceci, il faudrait s’y prendre au plus tôt et voir avec Mr. Dutilleul pour un « partenariat » avec Rouvières (machines permettant d’usiner des pièces de grandes tailles).
  • 15. 15 Partie Informatique A. Le protocole de communication I2C B. Le composant utilisé : MPU-6050 C. 1ere approche : utilisation de l’accéléromètre seul D. 2nd approche : utilisation du gyromètre seul E. 3eme approche : combinaison de l’accéléromètre et du gyroscope F. 4eme approche : retour a l’accéléromètre seul G. Asservissement des moteurs en fonction de l’angle H. Tests a effectuer pour vérifier l’intégrité du composant I. Axes d’améliorations Annexes
  • 16. 16 A. Le Protocole De Communication I2C L’I2C (Inter-Integrated Circuit) est un bus de données séries synchrones bidirectionnel half-duplex. Il est composé de deux fils : SCL (clock) et SDA (data). Les composants ont un rôle de maître/esclave. La communication peut être multi-maître/multi- esclave, nous sommes dans le cas d’un maître (STM32) et d’un esclave (MPU-6050). Le maître initie la communication. Celle-ci a lieu selon l’ordre suivant, dans le cas d’une lecture d’un registre esclave par le maître, ce qui est tout le temps notre cas, sauf à l’initialisation du capteur (ce point sera traité plus loin). Légende : - A6 … A0 : bits de l’adresse de l’esclave auquel on s’adresse - 1 ... 9 : coups d’horloge - D7 … D0 : bits de la donnée sur 8 bits renvoyée par l’esclave R/W : Read/Write (Read = 1, Write = 0) FIGURE 11 : Protocole de communication I2C
  • 17. 17 Aussi, il est important de ne pas oublier les résistances de pull-up, servant à maintenir les lignes SCL et SDA à l’état haut au repos (observer le début du chronogramme précédent, SCL et SDA sont à l’état 1 afin de permettre au maître d’initier la communication, ce qui se traduit au niveau hardware par le passage de SDA à l’état bas alors que SCL est à l’état haut). Également, les résistances de pull-up servent à assurer un temps de montée du signal (cf. figure ci-dessus) respectant la norme. Dans notre cas, c’est-à-dire dans le cas d’une communication en Fast Mode, le temps de montée maximal est de 300 ns (et d’au moins 20 ns). La datasheet de la STM32 indique que le périphérique I2C a un bus ayant une capacitance inférieure ou égale à 400 pF. Ainsi, ayant choisi d’avoir un temps de montée à 150 ns, la valeur de résistance à choisir se calcule selon les formules précédentes : TR = 150 ns = 0.847298*R*(400 pF) → R = 442 Ohm Cette valeur n’existant pas réellement, il a été choisi une résistance de 470 Ohm. FIGURE 12 : Datasheet I2C
  • 18. 18 PS : il faut mettre une résistance pour SCL et une résistance pour SDA, et non pas une seule résistance partagée par les deux lignes. Le schéma de branchement est le suivant : Avec Rp = 470Ω N.B : sur le capteur, il existe déjà des résistances de pull-up. Néanmoins, elles sont de 4.7 kOhm, ce qui est beaucoup trop. En effet, le temps max de montée de 300 ns correspond à des résistances de 1kOhm. Il a donc été décidé de rajouter des Rp de 470 Ohm en parallèle (brancher tel que dans la figure précédente), afin de ramené le temps de montée dans les normes. Pour finir, voici deux exemples : a. Effet D’une Valeur Trop Elevé De Rp → On constate bien l’effet capacitif trop présent, altérant le signal carré STM32 SCL SDA MPU – 6050 SCL SDA 3V3 Rp Rp FIGURE 13 : Schéma de branchement FIGURE 14 : Relevé oscilloscope
  • 19. 19 b. Une Trame I2C (Write), Ou L’on Ne Réussit Pas A Communiquer Avec Le Capteur FIGURE 15 : Relevé oscilloscope illustrant le problème
  • 20. 20 B. Le Composant Utilisé : MPU-6050 Le composant MPU-6050 Breakout (couleur rouge) a été choisi par l’équipe de l’an dernier, d’où sa réutilisation cette année afin de ne pas le gaspiller. Néanmoins, il ne constitue pas le meilleur choix, notamment en termes financier, car le MPU- 6050 Breakout de chez Drotek est identique à celui actuel de Sparkfun, pour un prix 4 fois moins chère (MPU-6050 (Drotek)= 7 € et MPU-6050 (Sparkfun) = 40 €). http://www.drotek.com/shop/en/home/42-mpu6050-gyro-accelerometer.html Il permet de mesurer la vitesse angulaire ainsi que l’accélération linéaire sur les 3 axes. Les différentes valeurs (vitesses et accélérations) sont écrites dans des registres internes au composant, que l’on va ensuite pouvoir lire à travers l’interface de communication I2C.
  • 21. 21 C. Première Approche : Utilisation De L’accéléromètre Seul L’idée est simple : on exploite la gravité g. Afin d’avoir la valeur de l’angle et son signe (très important pour connaître le sens d’inclinaison), il est plus opportun d’exploiter Gx. Ainsi, angle = arcsin(Gx)/g. Aussi, le Segway ne s’inclinant pas au-delà de ± 30° en utilisation nominale, l’approximation mathématique arcsin(x) ≈ x a été employé afin d’optimiser le temps de calcul du processeur. Problème : les mesures sont trop bruitées pour être exploitées FIGURE 16 : Explications FIGURE 17 : Allure du bruit sur les signaux
  • 22. 22 Comme vous pouvez le constater sur l’image précédente, il y a 2 phases : moteur éteint et moteur en rotation. Lorsque le moteur est éteint, les relevés sont à peine exploitables pour espérer avoir une valeur d’angle précise. La phase 2 est beaucoup plus bruitée, inexploitable. Le bruit provient des chaînes d’entrainements, du moteur, et est donc non compensable ou corrigible à la source.
  • 23. 23 D. 2nd Approche : Utilisation Du Gyromètre Seul Le gyromètre permet de relever la vitesse angulaire autour d’un axe. Nous avons donc intégré cette vitesse au cours du temps pour obtenir la valeur de l’angle. Afin d’avoir une bonne précision, nous avons choisi dt = 5 ms. Malheureusement, le gyroscope dérive trop. La dérive désigne le fait que la référence servant de « zéro » varie au cours du temps (taper « drift gyroscope » sur Google vous découvrirez les mésaventures que cela représente). En effet, si vous effectuer une rotation et que vous revenez à la position de départ, l’angle ne sera pas celui du départ. Ce problème est intrinsèque à tous les gyroscopes, et nos efforts pour compenser la dérive n’ont eu que peu d’effets (offset etc…). FIGURE 18 : Orientation des axes
  • 24. 24 E. 3eme Approche : Combinaisons Du Gyroscope Et De L’accéléromètre Pour combler l’imprécision de l’accéléromètre, et la dérive du gyroscope, on entreprend d’exploiter les deux en même temps. Solution : le filtre complémentaire Le filtre complémentaire permet d’obtenir une mesure correcte à partir de deux mesures bruitées. Il se présente sous la forme : Angle = a*Angle_Gyro + (1-a)*Angle_Accel a = 0.98, 0.92, etc… cf. le fichier PDF « filter.pdf » L’idée est d’appliquer un filtre passe-bas numérique sur l’angle obtenu via l’accéléromètre afin de neutraliser le bruit, et d’appliquer un filtre passe-haut numérique sur l’angle obtenu via le gyroscope afin de neutraliser la dérive de celui-ci. Problème : le résultat n’est pas optimal, la dérive existe toujours. Solution : Exploiter l’accéléromètre seul en filtrant le bruit et les accélérations provenant du déplacement du Segway
  • 25. 25 F. 4eme Approche : Retour A L’accéléromètre Seul Nous ne filtrerons que le bruit dans cette partie, il reste à trouver un moyen d’obtenir les accélérations du Segway et de pouvoir les soustraire aux relevés du MPU-6050. Ainsi, tous les tests qui vont suivre ont été effectués à l’arrêt. Observons le graphique cité quelques paragraphes auparavant : Malgré la présence de bruit, on notera que la valeur moyenne du signal est constante, et elle correspond à la valeur d’angle réelle. Ainsi, il faut pouvoir filtrer ce bruit : utilisation d’un filtre moyenneur. Sur LabVIEW, il a été réalisé ce qui suit : On reçoit via port série (émulé sur port USB) les relevés d’accélérations, et on effectue les calculs sur LabVIEW qu’on affiche dans un graphe déroulant. FIGURE 19 : Signal bruité
  • 26. 26 Voici les relevés observés sur LabVIEW : Premier essai : échantillonnage à 333Hz, moyenne sur 10 valeurs d’angle Les relevés restent trop bruités, un angle de 5° réelle oscille entre 4.5 et 6.5 degrés. Deuxième essai : échantillonnage à 333Hz, moyenne sur 30 valeurs d’angle FIGURE 20 : Relevé du 1er essai FIGURE 21 : Relevé du 2eme essai
  • 27. 27 Le résultat est en amélioration, néanmoins il reste insuffisant pour une exploitation correcte car le bruit demeure trop présent Troisième essai : échantillonnage à 333Hz, moyenne sur 50 valeurs d’angle On constate que le résultat est acceptable, il peut être exploité. N.B : le pic final correspond à une montée en vitesse des roues, afin de tester les limites du filtre. Ce n’est qu’à titre de tests, de telles conditions de vitesse et de vibrations ne pourront jamais survenir dans la réalité (l’excitation a été réalisée à vide, les roues n’étant pas en contact avec le sol). Cette solution a été adoptée, et permet actuellement de piloter le Segway. FIGURE 22 : Relevé du 3eme essai
  • 28. 28 G. Asservissement Des Moteurs L’usage d’un régulateur PID a été mis en œuvre afin d’asservir la commande des moteurs en fonction de l’angle d’inclinaison du Segway. Un excellent site pour en comprendre le principe : http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sansfaire-de-calculs/ Nous avons travaillé sur une version réduite du Segway, une boîte embarquant la carte ISEN32 afin d’en exploiter le driver du moteur (L293DD) et les résistances de pull-up. Important : les résistances de pull-up soudé par défaut sont de 4.7 kOhm, pensez à les changer. La taille de la structure semble impacter beaucoup l’équilibre, dans la mesure où l’on ne parvient pas à la faire tenir en équilibre. Après de multiples essais, nous n’avons pas pu déterminer de valeurs permettant d’assurer l’équilibre. Il est à noter également le manque de réactivité des moteurs et/ou du driver L293DD, pour le moteur nous suspectons les capacités servant à filtrer le bruit d’augmenter significativement le temps de réaction des moteurs.
  • 29. 29 H. Tests A Effectuer Pour Vérifier L’intégrité Du Composant Test N°1 : Vérification de la bonne fonctionnalité du composant o Vérifier que les pins SCL et SDA sont au potentiel 3.3V lorsque l’on connecte VCC et GND sans connecter SCL et SDA au microcontrôleur, et que le composant ne consomme pas plus de 0.01 A Si échec : le composant n’est plus fonctionnel o Vérifier que lorsque l’on lit dans le composant son adresse (dans le registre WHO_AM_I), celui-ci nous renvoie 0x68. Si échec : i) Changer la STM32 et réessayer j) Si le test i) échoue, le composant n’est plus fonctionnel Test N°2 : Lecture de valeurs d’accélérations linéaires o Vérifier que, pour un angle d’inclinaison connue sur un axe, le capteur renvoie une valeur d’accélération correspondant à la valeur attendue Si échec : o Vérifier que le composant est correctement positionné (à plat, parallèle au sol) o Si le test i) échoue, vérifier que le mode sleep est désactivé o Si le mode sleep est désactivé, le composant n’est plus fonctionnel N.B : lorsque le mode sleep est activé, le capteur renvoie 0x00 lors de la lecture d’un registre d’accéléromètre ou du gyroscope
  • 30. 30 I. Axe D’amélioration Par rapport à la solution actuelle : 1) Revoir l’algorithme de calcul du gyroscope, essayer de retarder la dérive autant que possible voire de l’annihiler. 2) Améliorer la gestion de l’équilibre, notamment en réalisant une étude physique de celui-ci (relation permettant de déterminer l’effort et donc le couple à fournir aux roues en fonction de l’angle d’inclinaison), et adapter l’algorithme d’asservissement en fonction de cette étude. Aussi, il faut savoir que le capteur contient un processeur interne qui peut effectuer les calculs d’angles lui-même en fusionnant, comme le filtre complémentaire, les données de l’accéléromètre et du gyroscope. Se renseigner, comprendre la librairie associée au DMP (Data Motion Processing) du capteur : https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6 /MPU6050_DMP6.ino https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/MPU6050_6Axis_MotionA pps20.h Il s’agit d’un code pour Arduino, qui peut être traduit en langage C pour être utilisé sur la STM32 Une documentation officielle a également été faite par Invensense, mais qui reste néanmoins difficile d’accès (cf. dossier Motion Driver 6.12). 3) Trouver un moyen de filtrer l’accélération du Segway des relevés de l’accéléromètre 4) A FAIRE : réaliser un petit PCB contenant la STM32, les résistances de pull-up, un driver moteur (celui de la carte rouge semble convenir, vérifier néanmoins que par rapport aux roues dont on dispose il est capable de débiter suffisamment de courant), et un pont de diode pour protéger le driver des retours de courant émanant des moteurs (inexistant sur la carte ISEN32). Très important : trouver un moyen d’empêcher des retours violents depuis la stm32 vers le capteur, on a grillé 3 capteurs cette année à cause de ça … Vous pouvez vous inspirer du schéma du driver présent sur la carte ISEN32. Montage du pont de diode : M FIGURE 23 : Schéma du montage avec diode
  • 31. 31 5) Éliminer le bruit sur les signaux, généré par les moteurs. En clair, si vous brancher une sonde à la sortie moteur et que vous observez à l’oscilloscope, sans avoir connecté les moteurs, vous constaterez que d’une part, la STM32 ne « freeze » pas car la communication I2C n’est pas interrompue, et que d’autre part vous avez un PWM à l’écran. Ensuite, connecter les moteurs et vous observerez la STM32 qui « freeze », de manière plus ou moins rapide selon les cas. C’est le problème majeur qui existe à la fois sur le vrai Segway et sur la version réduite. Le freeze désigne la perturbation de la communication I2C par des signaux parasites tels que le bruit sur le signal causé par les moteurs ou encore les OEM. Si vous observez les valeurs lues dans le capteur au niveau du Live Watch, celles-ci s’actualisent tout le temps (valeur écrite en rouge dans le Live Watch). Si celles-ci n’évoluent plus, alors le freeze est survenu. Et si vous vous demandez « comment on sait que c’est l’I2C et pas autre chose ? », il suffit de faire un break lorsque le freeze est survenu et vous constaterez que le code est coincé dans un while d’une fonction de lecture ou d’écriture I2C. Si vous ne faîtes que générer un PWM en dur par exemple, la STM32 ne cesse jamais de fonctionner donc le problème vient clairement d’une perturbation des signaux SCL et/ou SDA voire de l’alimentation du capteur (même si on en doute, car on a déjà essayé d’isoler l’alimentation et cela n’a rien changé au problème néanmoins le signal parasite arrive peut- être par la masse qui est commune avec les autres masses). Nous avons essayé de mettre des capacités (220 nF) au niveau des pins moteurs tel que présenté ici : https://www.pololu.com/docs/0J15/9 Néanmoins cela n’a fait que retarder le freeze, qui survient quand même. Également, cela détruit la réactivité des moteurs qui ne peuvent pas toujours suivre les inversions de sens de rotation, particulièrement lorsque l’on oscille autour de la position d’équilibre. Si on change de solution : codeur incrémental etc… Comme ce fut expliqué au début, le choix du composant par l’équipe de l’an dernier a imposé l’utilisation du MPU-6050 afin d’évité un gaspillage de celui-ci, notamment financier. Néanmoins, on peut envisager l’utilisation d’un codeur incrémental afin de connaître l’angle d’inclinaison directement, sans calculs.
  • 32. 32 Annexes Des Vis sous LabVIEW ont été réalisées, durant les phases de tests/validation d’une solution. Ceux-ci permettent : - D’observer la rotation du capteur à l’écran - D’observer les valeurs d’angles correspondant aux accélérations relevées. Ils sont disponibles dans le fichier compressé zip « Banc de tests LabVIEW ». Fonctionnement du fichier main.c (valable pour les 4 approches citées) : 1) Appel fonction d’initialisation du périphérique I2C de la STM32 2) Appel fonction d’initialisation du composant MPU-6050 3) Appel fonction d’initialisation des variables 4) Appel fonction d’initialisation de l’USART 5) Appel fonction d’initialisation du timer générant les signaux PWM 6) Appel fonction d’initialisation du timer permettant d’échantillonnées Aussi, lorsque vous adapterez le code pour la carte électronique, il faut savoir que : - Celle-ci nécessite 2 PWM par moteur au lieu d’un, soit 4 en tout - Pour la marche avant, il s’agit de PWM2 et PWM4 (ce sont les noms des PWM situées dans le schématiques de la carte fournit dans le/les rapport(s) de la partie électronique) - Pour la marche arrière, il s’agit de PWM1 et PWM3 Egalement, sachez qu’il est absolument interdit de se retrouver dans la configuration suivante : DIR = 1, PWM = 0 (les DIR sont les signaux permettant de gérer le sens de rotation, cf. rapport de la partie électronique). N.B : Si vous ne vous servez pas du port COM, il est inutile de configurer l’USART. Ainsi, vous trouverez parfois Configure_USART en commentaires.
  • 33. 33 Partie Electronique Ici, deux solutions sont proposées. Mêmes si elles sont deux solutions différentes, certaines phases de tests sont les mêmes, ainsi que le moteur et son fonctionnement ou encore les solutions et pistes d’améliorations données. A. Solution 1 a. Choix du circuit b. Assemblage c. Les problèmes rencontrés B. Solution 2 a. Choix du circuit b. Assemblage c. Les tests C. Pistes D’amélioration
  • 34. 34 Solution 1 a. Choix du circuit Nous avons créé deux cartes différentes : une carte logique et une carte puissance. Comme leurs noms l’indiquent la carte logique est la carte petit ampérage, on va y plugger la STM32, ainsi que les fils pour le capteur gyroscopique (expliqué partie informatique) mais aussi toute la partie logique pour la commande des moteurs. La carte puissance est la carte grand ampérage (13 Ampères) qui va être reliée aux moteurs. Plus les deux parties sont séparées, plus on assure la diminution d’interférences et la sécurité des composants. La carte puissance Il y a une carte par moteur. Chacune d’elles est directement reliées à un moteur et donc par lesquelles passent les 13 ampères. Pourquoi deux cartes distinctes ? Encore et toujours pour diminuer l’électromagnétisme. Nous contrôlons les moteurs avec un système « pont en H » aussi appelé hacheur 4 quadrants. C’est- à-dire que les MOS fonctionnent par paires. On les actionne deux à deux et les deux autres sont des interrupteurs ouverts. Comme le montre le schéma ci-dessous. Comme vous l’aurez compris, suivant les interrupteurs que l’on actionne, le moteur tourne dans un sens ou dans l’autre. Ce qui permet la marche avant ou la marche arrière. Pour finir, nous contrôlons nos MOS grâce à des signaux créneaux. Plus le rapport cyclique de ces signaux créneaux est élevé plus la vitesse de rotation des moteurs sera élevée. M 24V M 24V On ferme un P1 et N1, le courant passe au travers du moteur et celui-ci tourne dans un sens. On ferme un P2 et N2, le courant passe au travers du moteur et celui-ci tourne dans l’autre sens. FIGURE 24 : Schéma explication du pont en H
  • 35. 35 Cependant, il ne faut pas les actionner autrement que de cette manière-là et surtout ne pas en actionner plus que 2 à la fois. Par risque de faire griller des MOS ou bien le moteur. Voici un aperçu du schéma fait sous Eagle (en version original dans les dossiers fournis) FIGURE 25 : Schématique partie puissance
  • 36. 36 La partie logique La carte logique sert à plusieurs choses : - Alimenter la carte STM32 qui assure toute la partie asservissement informatique - Alimenter le capteur gyroscopique - Assurer les connexions de la STM32 avec les cartes contrôles moteurs, le capteur et son alimentation. Dans la mesure où nous avions des batteries de 24V il a été créé un circuit pour avoir une alimentation de 9V. Tension maximum supportée par la STM32. Nous avons également mis une série de plots « ALIM » afin de pouvoir remplacer la batterie par des alimentations externes. Ce qui nous permet d’effectuer des tests et de pouvoir avancer par étapes (ne pas se brancher directement à la batterie car on ne peut rien contrôler dans ce cas-là. Comme par exemple l’ampérage qui peut circuler dans la plaquette) Pour finir le plot MPU6050 qui est la connectique pour le gyroscope. Régulateur de tension FIGURE 26 : Capture écran de la 1ere partie de la partie logique. Disponible dans la partie électronique Connectique alim Connectique MPU6050 STM32
  • 37. 37 La seconde partie de la carte logique est la commande des ponts en H. C’est elle qui, suivant ce qu’elle reçoit de la STM32, va envoyer les signaux correspondant aux MOSFET des pont H pour les actionner correctement. Il faut savoir que dans cette solution nous travaillons avec des NMOS et PMOS. Les NMOS et PMOS fonctionnent en inversés : l’un est bloqué à 24V et l’autre à 0V. De plus, la carte STM32 ressort des signaux de maximum 3V3. Or il nous faut du 24V pour contrôler nos moteurs. C’est pour cela que nous avons besoin de ce montage. Afin de retrouver des créneaux avec une plus grande amplitude pour pouvoir contrôler nos moteurs mais aussi parce qu’il faut s’assurer de bloquer les MOS qui doivent être « interrupteurs ouverts » c’est-à-dire en mode bloqué. FIGURE 27 : Seconde partie de la partie logique
  • 38. 38 Si l’on regarde de plus près, nous avons un TIL193 : c’est un optocoupleur. Il permet la protection contre les retours d’ampérage provenant de la puissance vers la logique et permet donc d’isoler les deux parties. En sortie de cet optocoupleur : un buffer inverseur. Son rôle est de rendre le signal en sortie du TIL qui a tendance à être trop arrondi (effet capacitif) en un signal créneau avec un rapport cyclique net et un signal carré clair. Les entrées : - Dir : Signal 0 ou 3V3 qui sert d’enable - PWM : signal creneau 0/3V3 ou éteint =0V Ces entrées sont générées par la carte STM32. FIGURE 28 : Zoom sur une partie du contrôle des MOS
  • 39. 39 Table logique pour la partie du haut (contrôle d’un PMOS) DIR PWM 4081(AND) TIL(Patte13) P3 0 0 0V 5V 24V 0 CRENEAU_0/3V3 0V 5V 24V 3V3 0 0 5V 24V 3V3 CRENEAU_0/3V3 CRENEAU_0/3V3 CRENEAU_ 0/5V CRENEAU_ 0/24V Table logique pour la partie du bas (contrôle d’un NMOS) DIR PWM 4069(Inverseuse) 4071(OR) TIL(Patte13) N4 0 0 3V3 3V3 0V 0V 0 CRENEAU_0/3V3 3V3 3V3 0V 0V 3V3 0 0 0 5V 24V 3V3 CRENEAU_0/3V3 0 CRENEAU_0/3V3 CRENEAU_ 0/5V CRENEAU_ 0/24V Comme on peut le voir grâce à ces deux tables logiques, on remarque bien que les PMOS et les NMOS soient contrôlés de façon complémentaire. Chose très importante : d’après les tables logiques, on peut voir que les PWM peuvent rester allumer tout le temps et que ce sont les DIR qui actionnent la rotation. Cependant il est interdit de mettre un DIR à 3V3 si les PWM ne sont pas actionnés ! (La ligne 3 du 2eme tableau nous montre que si l’on est dans cette conception-là, le NMOS ne sera pas dans la bonne configuration). FIGURE 29 : Table vérité contrôle d’un PMOS FIGURE 30 : Table vérité contrôle d’un NMOS
  • 40. 40 b. Simulation Nous avons simulé notre circuit de puissance sous Nimultisim afin de vérifier le bon fonctionnement de notre réflexion. Comme le montrent les photos ci-dessous qui sont des captures écran des simulations. Le schéma expliqué précédemment est le circuit final effectué. Cependant, ces simulations ne sont pas tout à fait les mêmes. En effet, au final nous avons dû envoyer des signaux créneaux d’amplitudes 24V à nos MOSFET. Sur cette simulation, ce sont des signaux créneaux de 12V. Nous avons dû changer car nous avons rencontré des problèmes expliqués un peu plus bas. Malheureusement, lors de la simulation, ces problèmes ne sont pas apparus. Schéma simulé : En entrée : Signal créneau de 12V pour Q1 et Q4 et les deux autres en états bloqués. FIGURE 31 : Capture écran du schéma simulé sous NiMultisim
  • 41. 41 c. FIGURE 32 : Relevé de l’oscilloscope
  • 42. 42 c. Assemblage Après avoir câblé notre montage sur plaquette blanche et donc avec moins d’ampérages (les plaquettes blanches supportant au maximum 2,5 ampères) nous avons usiné les plaquettes. Pour diminuer au minimum l’électromagnétisme, les possibilités d’avoir des transferts entre les pistes par le silicium, nous avons pris le plus de mesure possible : - Plan de masse sur la face Bottom - Piste les plus larges possibles pour faire passer le 13 Ampères - 3 cartes différentes : 1 pour la partie logique, 1 pour chaque moteur - Des fils utilisés pour des alimentations de 230V. Des fils plus épais et avec une gaine plus épaisse pour se relier aux moteurs et aux batteries Voici un aperçu du PCB. Les plaquettes sont disponibles Pour l’usinage de la plaquette, un excel avec toutes les étapes a été fait afin que tout le monde puisse avancer la plaquette le plus rapidement possible. Cet excel est disponible dans la bibliographie. FIGURE 32 : PCB d’une carte pont en H
  • 43. 43 Les problèmes rencontrés : - Le bruit. Les pistes étant très grandes pour permettre aux 13 ampères de passer. Si l’on travaille avec moins d’ampérages et des alimentations plus petites pour les tests, le bruit prend le dessus sur les signaux et ils deviennent inutilisables. - D’autre part, si l’on commence à actionner les moteurs et à les laisser tourner, on se rend compte de deux choses : les MOS qui doivent être à l’état bloqué se retrouvent passant par intermittences et on a donc un court-circuit car il est strictement interdit de se retrouver avec des autres combinaisons de MOS actionnés que celles présentées plus haut. La deuxième dont on se rend compte : le bruit que génère les moteurs remonte par les alimentations et par la masse. Les solutions que nous avons trouvées : - Des signaux créneaux de 12V pour actionner les MOS ainsi qu’un continu de 12V pour bloquer le PMOS ne suffisent pas, il faut du 24V afin que les MOS ne se retrouvent pas passant par intermittence. Cependant la datasheet des MOS spécifie qu’il supporte 20V maximum sur les gâtes. Mais même à 20V les MOS deviennent passant. Notons que ce problème n’apparaissait pas lors des simulations. - Pour que ça passe le moins possible par l’alimentation, on a câblé une alimentation en étoile : Un câble d’alimentation par carte, aucune carte n’est reliée entre elle par l’alimentation. Même si la batterie est la même, c’est le seul point commun concernant l’alimentation. - On a placé des transistors en parallèle entre les pates moteurs et la masse. Ceci a permis de largement diminuer les pics qui pouvaient aller jusqu’à 40V. - On a également mis des diodes de découplages entre les masses et alimentations, assez grosses pour bloquer tous les bruits. Voici un exemple de bruit que nous avons eu Grâce à toutes ces solutions nous avons réussi à faire marcher la plaquette, cependant au bout d’un certain temps, le bruit qui persiste fini par prendre le dessus et un MOS fini par griller à chaque fois. FIGURE 33 : Photo du bruit présent sur nos signaux.
  • 44. 44 A. Solution 2 a. Choix du circuit En effectuant nos recherches sur internet, nous avons trouvé deux solutions différentes de concevoir un pont en H, ce qui permet de contrôler les moteurs dans un sens ou dans l’autre en fonction des signaux d’entrées. Ici nous allons vous parler d’une des deux méthodes qui consiste à réaliser un hacheur quatre quadrants avec 4 transistors Mosfet de canal N. Contrairement, à l’autre solution étudiée en parallèle, c’est un composant appelé driver de Mosfet qui va jouer le rôle de contrôleur pour indiquer si on doit laisser passer un signal créneau sur tel transistor ou si on doit le laisser en « mode bloqué ». MOTEUR FIGURE 34 : Schématique de la solution 2
  • 45. 45 Voici donc un aperçu un peu plus visuel du montage de puissance qui nous intéresse. Bien sûr dans notre cas, il y a deux moteurs à contrôler donc on double cela. Nos moteurs s’alimentant en 24V, on a choisi une tension de 24V pour les Mosfet car en réalité, quand le transistor sera activé, il va se fermer et donc devenir un interrupteur fermé. Attention à bien faire vérifier à la tension de déclenchement des transistors. Ensuite, la partie électronique faisant office de liaison entre la partie informatique et la partie mécanique, il faut faire un circuit électronique qui est capable à partir de nos signaux envoyés par la STM32 d’envoyer les tensions continues ou les PWM qu’il faut pour permettre au driver de Mosfet d’activer les deux bons transistors si on veut aller en avant et les deux autres si on veut reculer. Pour cela rien de mieux qu’un circuit logique composé de portes AND et de portes INVERSEUSES. FIGURE 35 : Schématique partie logique
  • 46. 46 Dans tous les cas, la STM32 envoie deux signaux PWM en permanence qui sont en fait les signaux correspondant au relevé du capteur et c’est eux qui vont permettre d’avancer plus au moins vite en fonction de leur rapport cyclique. Le signal de Dir qui est en fait une tension continue soit de 3,3V ou de 0 permet de définir si on va en marche avant ou en marche arrière. Dans notre cas, DIR=0 on va en avant et DIR=1 en arrière. Ensuite dernière partie de cette carte électronique, nous avons choisi d’utiliser un optocoupleur pour éviter les interactions entre la partie puissance composée des Mosfet et la partie logique. Le principe est simple, dans ce composant, une LED s’active si il y a une différence de potentiel entre les deux pattes de sorties et permet au courant de passer par photo couplage. Ainsi on isole la partie à très faible ampérage et la partie où nos 13A demandés par les moteurs vont passer. Il y a une résistance pull-down dans ce petit montage pour permettre d’avoir une tension continue en sortie lorsque le signal d’entré est nul. FIGURE 36 : Schématique optocoupleur
  • 47. 47 b. Assemblage Au niveau de la constitution du PCB (la carte électronique), nous sommes parti sur une carte avec des composants CMS (non traversants). Le plus dur dans cette partie a été de contrôler la largeur des pistes qui nécessite de forts ampérages. En effet, il est évidant que dans notre cas, il faut des pistes élargies qui permettent de faire passer nos 13A de courant. Voici notre carte lors d’une simultion après soudage. Malheureusement nous n’avions pas le matériel nécessaire(haute précision) pour la souder et une petite erreur en soudant la micro-stm a fait qu’il y eu des cours circuits sur la plaquette et nous avons décidé de revenir avec le même schéma mais sur plaquette à trou avec des composants traversants où nous sommes certain qu’il n’y a pas de problème de soudure possible avec nos fers mis à disposition par l’école. C’est là qu’arrive notre carte en pieuvre : FIGURE 37 : Simulation de la plaquette FIGURE 38 : Plaquette de test supportant le grand ampérage
  • 48. 48 c. Les tests Au niveau des tests, nous sommes parties sur une stratégie de validations en plusieurs étapes :  Les tests de continuités  La partie logique  La partie avec les optocoupleurs  La partie avec les drivers  On a ajouté les transistors sans les moteurs  Tests avec des moteurs ne consommant pas beaucoup (ventilateur d’ordinateur)  Tests avec des petits moteurs de voiture  Tests avec le Segway uniquement en marche avant et sur une chaise et sans la batterie  Test avec la batterie  Tests avant et arrière sur la chaise  Tests sur le sol unidirectionnel  Test de marche avant et arrière enchaînés sur le sol Nous n’avons jamais pu tester avec le capteur d’angle donc nous avons simulé avec des codes en dur dans la STM qui permettaient de changer de sens toutes les quatre secondes par exemple. Le plus gros problème que nous avons eu c’est d’éviter les pics de bruits qui viennent du fait qu’on branche les moteurs et que cela consomme du courant. Voici des photos qui expliquent cela : FIGURE 39 : Relevé oscilloscope
  • 49. 49 B. Pistes D’amélioration Les pistes d’améliorations qui peuvent être réaliser sur notre carte électronique est d’arriver à isoler la masse des batteries et la masse des composants de la carte car les pics de bruits viennent d’ici. On pourrait également changer les diodes qui protègent nos drivers de Mosfet qui ne sont pas assez grandes. Fixer les dissipateurs qui permettent de réduire la chaleur dans les transistors. Ils sont déjà achetés. Il faut régler le problème du LM317. En effet, même s’il nous sert pour réguler la tension 24V en 9V pour alimenter la STM, ce dernier chauffe rapidement et n’est donc pas adapté. Créer une masse virtuelle sur le Segway qui permettrait de faire cage de Faraday et éviter les problèmes d’électromagnétismes. L’une des pistes est d’utiliser la carcasse du Segway qui est en aluminium comme plan de masse extérieur autre que la masse de la batterie. Trouver des MOS plus résistants. Utiliser un pont en H tout fait. En effet, il existe des H-bridges commercialisés déjà prêt, il suffit juste d’envoyer les signaux créneaux d’entrés. Cependant ce n’était pas notre objectif premier. Il pourrait être également intéressant de regarder des PCB déjà prêts qui sont proposés par ST microelectronics. FIGURE 40 : Les dissipateurs