Projets:HoverChair V3

De wikilab
Révision datée du 3 juin 2025 à 14:07 par Gaël (discussion | contributions) (→‎Partie 3 : Câblage et Assemblage)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

L'Hoverchair DIY – Construire un fauteuil motorisé accessible

Introduction

Qu'est-ce que l'Hoverchair ?

  • Projet : fauteuil roulant électrique économique et personnalisable
  • Basé sur la réutilisation de composants de hoverboard et une carte Arduino

Pourquoi construire l'Hoverchair ?

  • Objectif : aide à la mobilité accessible et à faible coût (≈ 150 €)
  • Démocratisation du DIY (faire soi-même)
  • Adaptabilité aux besoins spécifiques de l’utilisateur
  • Esprit de Fablab et partage de connaissances


Partie 1 : Matériel Nécessaire

  • Moteurs de hoverboard (×2)
    • Brushless 36 V avec capteurs Hall 120 °, 250–350 W
    • Roues motrices du système
  • Contrôleurs ZS-X11H V1 (×2)
    • 6–60 V, 20 A crête, 400 W
    • 1 par moteur, interface puissance
  • Carte Arduino (Uno ou Nano) (×1)
    • 16 MHz/5 V, 6 entrées ADC
    • Cœur logique et mixage des commandes
  • Joystick analogique (JH-D202X-R4) (×1)
    • 2 axes, potentiomètres, bouton SW optionnel
    • Interface utilisateur
  • Batterie Li-ion 36 V (10S) (×1)
    • Alimentation principale
  • Bouton d'arrêt d'urgence (×1)
    • Coupe physiquement le +36 V
  • Step-down 36 V → 5 V (×1)
    • Alimente Arduino & joystick
  • Fusible temporisé DC (×1)
    • Protection sur-courant
  • Câbles
    • Puissance, phases moteur, Hall, signal joystick
  • Boîtier pour l’électronique
  • Outils et consommables (fer à souder, gaine thermo, etc.)

Partie 2 : Comprendre les Composants Clés

Les Moteurs de Hoverboard

  • Brushless : plus efficaces et durables
  • Nécessitent contrôleur spécifique
  • Capteurs Hall :
    • Synchronisation rotor (commutation)
    • Signal vitesse (fréquence des impulsions)

Le Contrôleur ZS-X11H

  • Interface Arduino ↔ moteur
  • Connexions : MA/MB/MC, VCC/GND, Hall, commandes
  • Entrées :
    • P (PWM) pour la vitesse
    • DIR pour la direction
    • BRAKE/STOP pour freinage
  • Sortie Speed Pulse (S) : retour de vitesse
  • Modifications fréquentes : soudure jumper PWM, réglage potentiomètre

La Carte Arduino

  • Cerveau du système
  • Lit joystick et capteurs Hall
  • Génère PWM, DIR, interruptions
  • Boucle principale et routines d’interruption pour Hall

Partie 3 : Câblage et Assemblage

  • Schéma de câblage global (image à inclure)

700px|vignette|

Alimentation

  • Batterie 36 V → Fusible → Bouton urgence → Contrôleurs
  • 36 V après urgence → Step-down → 5 V pour Arduino/joystick

Test image.png

Moteurs ↔ Contrôleurs

  • Phases (MA/MB/MC) → fils moteur
  • Hall (5 fils) → connecteur Hall

Arduino ↔ Joystick

  • VRx → A0, VRy → A1, +5 V → +5 V, GND → GND, SW → digital INPUT_PULLUP

Arduino ↔ Contrôleurs ZS-X11H

  • PWM pins (ex. D5/D6) → P
  • DIR pins (ex. D7/D8) → DIR
  • (Optionnel) BRAKE → BRAKE/STOP
  • Speed Pulse S → pins à interruption (ex. D2/D3)

Masses (GND)

  • Relier toutes les masses (batterie, contrôleurs, Arduino, joystick, step-down)

Bouton d'Urgence

  • Coupure physique du +36 V entre batterie et système

Partie 4 : Le Code Arduino

  • Variables & constantes (pins, PID, zones mortes)
  • setup() : initialisation des pins, interruptions, PID, Serial
  • loop() : lecture joystick, calcul PID, envoi PWM/DIR
  • setMotor() : conversion consigne → signaux
  • ISR Hall : comptage impulsions
  • PID_v1 ou code maison
  • stopSequence() : arrêt logiciel + coupure physique

Principaux points du loop()

  • analogRead() joystick → centrage, zone morte
  • Mixage Tank Steering : cmdL = Y+X, cmdR = Y−X
  • digitalWrite(DIR), analogWrite(PWM)
  • constrain() sur MAX_PWM
  • gestion bouton roue-libre

Contrôle en boucle fermée (PID)

  • Mesure vitesse par Hall + interruptions
  • Calcul RPM → valeur PWM équivalente
  • pid.Compute() → sortie PID
  • Tuning Kp, Ki, Kd (Ziegler-Nichols, tâtonnement)
  • Visualisation via Serial Plotter

Arrêt d'urgence

  • ISR bouton → stopSequence()
  • LED/buzzer, marche avant douce, PWM=0, coupure relais/MOSFET

Partie 5 : Tests, Calibration et Dépannage

  • Tests à basse tension (12 V) et roues soulevées
  • Tests branchement moteur avec carte contrôleur, capteur halls, en 7volts, inversement, potentiomètre, test sans Arduino. le minimum en control moteur.
  • Calibration deadzone & sens de rotation
  • Ajuster MAX_PWM, map() joystick
  • Tester asservissement sous charge
  • Dépannage courant : câblage Hall, masse, jumper PWM, contrôleur grillé
  • https://gemini.google.com/share/3b9f3e150315

Partie 6 : Aller Plus Loin

  • Modes de vitesse (lent/rapide)
  • Rampes d’accélération/décélération
  • Utilisation de BRAKE/STOP
  • Klaxon, phares, etc.
  • Capteurs (gyro, accéléro) pour équilibre
  • Autres applications (robotique, automatisation)

Ressources et Références

  • Documentation ZS-X11H, forums Arduino, tutoriels YouTube
  • Dépôt GitHub du code Arduino
  • Schéma électrique détaillé

Cahier des charges

Analyse de l'existant et liens utiles

Matériel

Outils

Coût

Fichiers source

Etapes de fabrication pas à pas

Retours utilisateurs