# 🤖 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 ` 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* ---