Files

2.1 KiB

🤖 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 :

// 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