66 lines
2.1 KiB
Markdown
66 lines
2.1 KiB
Markdown
# 🤖 Projet voiture_Keyestudio_4WS_STM32Version
|
|
|
|
Ce projet consiste à piloter un robot mobile à 2 roues motrices piloté par un microcontrôleur **STM32F446RE**. Le projet est structuré pour permettre un contrôle précis de la vitesse (PWM) et de la direction des moteurs via un pont en H (DRV8833).
|
|
|
|
## 🚀 Fonctionnalités
|
|
|
|
* Contrôle individuel des deux moteurs (Roue Droite / Roue Gauche).
|
|
* Gestion de la vitesse par modulation de largeur d'impulsion (**PWM** à 50 kHz).
|
|
* Gestion du sens de rotation (Avance/Recul) via GPIOs.
|
|
* Architecture basée sur l'utilisation des Timers matériels (TIM1, TIM2, TIM3).
|
|
|
|
## ⚙️ Pinout (Brochage)
|
|
|
|
Le câblage ci-dessous correspond à la configuration logicielle actuelle :
|
|
|
|
### Moteurs et Driver (DRV8833)
|
|
|
|
| Fonction | Pin STM32 | Timer/Channel | Rôle |
|
|
| --- | --- | --- | --- |
|
|
| **Roue Droite (Vitesse)** | PB5 | TIM3_CH2 | PWM Speed |
|
|
| **Roue Droite (Sens)** | PB10 | GPIO | Direction |
|
|
| **Roue Gauche (Vitesse)** | PB4 | TIM3_CH1 | PWM Speed |
|
|
| **Roue Gauche (Sens)** | PA10 | GPIO | Direction |
|
|
|
|
> *Note : Les signaux PWM sont générés avec une fréquence de 50 kHz pour garantir un fonctionnement silencieux et fluide.*
|
|
|
|
## 🛠 Configuration Technique
|
|
|
|
* **Horloge Système :** 180 MHz.
|
|
* **Timer Configuration :**
|
|
* `PSC` (Prescaler) : 35.
|
|
* `ARR` (Auto-reload) : 99 (Résolution de 100 pas).
|
|
* `Mode` : PWM Mode 1.
|
|
* `Preload` : Activé (`ARPE` et `OCxPE`) pour des transitions fluides.
|
|
|
|
|
|
|
|
## 📋 Installation
|
|
|
|
1. Cloner le dépôt : `git clone <url-du-repo>`
|
|
2. Ouvrir le projet dans **STM32CubeIDE**.
|
|
3. Compiler le projet (Build).
|
|
4. Flasher via ST-Link.
|
|
|
|
## 💡 Utilisation
|
|
|
|
Pour piloter les roues, utiliser les fonctions d'initialisation puis la commande de vitesse :
|
|
|
|
```c
|
|
// Exemple pour la roue droite
|
|
init_Timer_RoueDroit();
|
|
set_RoueDroit_Vitesse(50); // PWM à 50%
|
|
|
|
```
|
|
|
|
## 🛠 TODO / Prochaines étapes
|
|
|
|
* [ ] Implémenter la rampe d'accélération logicielle.
|
|
* [ ] Intégrer les capteurs de proximité (Ultrasons).
|
|
* [ ] Mettre en place une boucle de contrôle asservie (PID).
|
|
|
|
---
|
|
|
|
*Développé dans le cadre du cursus Ingénieur à l'INSA Rennes (2026), pour de l'apprentisage autonome*
|
|
|
|
--- |