« SE3Binome2023-4 » : différence entre les versions
Ligne 191 : | Ligne 191 : | ||
<p style="clear: both;" /> | <p style="clear: both;" /> | ||
Nous avons | Nous avons fixé les roues sur la carte, l'une d'entre elle est fixée sur le moteur. N'ayant pour l'instant pas de 2ème moteur nous avons mis temporairement une roue à la place. | ||
[[Fichier:Roues installées.mp4|left|400px|vignette|Roues installées]] | [[Fichier:Roues installées.mp4|left|400px|vignette|Roues installées]] | ||
<p style="clear: both;" /> | <p style="clear: both;" /> |
Version du 9 juin 2024 à 12:27
Sujet : voiture commandée par USB
Cahier des Charges
Le projet consiste à concevoir une voiture autonome en terme d'énergie, avec l'utilisation d'une batterie au lithium ainsi que la mise en place d'une alimentation intégrée sur la carte.
Cette voiture sera équipée de deux moteurs continus de petite taille (2 cm) situés au niveau des roues avant. Cette configuration présente plusieurs avantages, notamment la réduction des contraintes mécaniques grâce à l'utilisation d'un pont en H et l'inversion des sens de rotation des roues. De plus, cela permet de diminuer le poids de la voiture, ce qui se traduit par moins de contraintes sur la taille de la carte électronique.
Le système comprendra également quatre leds de surface, dont deux seront placées à l'avant et deux à l'arrière de la voiture. Ces leds serviront à indiquer le sens de déplacement de la voiture, par exemple en allumant la led gauche avant pour tourner à gauche en avançant.
L'utilisateur pourra choisir le programme de déplacement de la voiture grâce à un logiciel implanté sur un ordinateur, qui sera ensuite transféré sur la carte via le port USB.
Concernant la carte électronique, elle sera équipée d'un microcontrôleur ATmega16u4 ou ATmega32u4 (différence en fonction de l'espace dédié à la flash).
Optimisation : detecteur d'obstacles.
Lien GIT
https://archives.plil.fr/sdeparis/projet_voiture_sd_ah.git
Partie électronique
Schématique Kicad
NOM | PIN |
---|---|
LED1 | PF7 |
LED2 | PB7 |
LED3 | PD2 |
LED4 | PC7 |
LED5 | PE6 |
PWMA | PD1 |
PWMB | PD0 |
AIN1 | PF4 |
AIN2 | PF5 |
BIN1 | PF1 |
BIN2 | PF0 |
capteur | PF6 |
NOM | PIN |
---|---|
M1+ | A01 |
M1- | A02 |
M2+ | B01 |
M2- | B02 |
Routage
On place des vias afin d'uniformiser le plan de masse.
Vue 3D
Brasure
PCB sans composants
Brasure des principaux composants
On doit ensuite braser les moteurs à l'avant de la voiture. Problème : après avoir brasé le premier moteur, la carte n'est plus reconnue en mode DFU.
Par conséquent, il est inutile de braser le deuxième moteur et le détecteur d'obstacle.
Il faudrait recommencer une carte mais nous manquons maintenant de temps pour braser à nouveau tous les composants sur une nouvelle carte.
Nous avons donc préféré avancer sur le projet de la manette.
Détecteur d'obstacles
Le OPB733TR est un interrupteur photoélectrique réflectif. Il intègre un émetteur infrarouge et un phototransistor dans un boîtier en plastique compact.
L'émetteur infrarouge (LED) émet de la lumière infrarouge lorsqu'un courant passe à travers lui. Cette lumière est ensuite réfléchie par un objet situé à proximité du capteur.
Le phototransistor détecte la lumière réfléchie ; lorsqu'il la capte, il se met en conduction, permettant ainsi de détecter la présence de l'objet.
Attention, d'après la datasheet de OPB33TR, il ne doit pas être exposé à une température de plus de 260°C pendant plus de 10 secondes (voir datasheet),
donc lors du brasage de ce détecteur il faut être rapide et précis.
Partie programmation
Détection du mode DFU sur notre carte
Utilisation de la carte Arduino Uno afin de détecter le mode DFU
Le mode DFU de notre carte n'étant pas détecté, comme pour notre manette : https://projets-se.plil.fr/mediawiki/index.php/SE3_PSE_Binome2023-2#D%C3%A9tection_du_mode_DFU_sur_notre_carte, nous avons utiliser un Arduino en lançant les commandes suivantes :
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m -U efuse:w:0xF7:m
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U flash:w:ATMega32U4-usbdevice_dfu-1_0_0.hex
Programmation des leds
Le programme ci-dessous nous permet de faire clignoter les leds de la voiture.
Programmation des moteurs
Nous avons ensuite implémenté un programme afin de faire tourner les moteurs mais celui-ci n'a pas pu être testé à cause de l’absence de détection du mode DFU.
Programmation du détecteur d'obstacle
Voici le programme implémenté pour le détecteur d'obstacles :
Programmation d'un trajet prédéfini pour la voiture
Le but est d'implémenter un programme sur la carte qui fait fonctionner les leds et les moteurs de la voiture. Cependant n'ayant plus le mode DFU nous n'avons pas pu tester notre programme.
Voici notre programme :
Remarque : lorsque un obstacle est détecté par le détecteur d'obstacle, les moteurs cessent de fonctionner.
Partie Énergie
Mise en place de la batterie au Lithium
La batterie au Lithium sera placée sur le connecteur J10.
Partie mécanique
Cette partie pourra être utile pour fixer les moteurs et la batterie sur la carte.
Nous avons fixé les roues sur la carte, l'une d'entre elle est fixée sur le moteur. N'ayant pour l'instant pas de 2ème moteur nous avons mis temporairement une roue à la place.