Projets:HoverChair V3
De wikilab
Révision datée du 3 juin 2025 à 12:08 par Gaël (discussion | contributions) (→Partie 3 : Câblage et Assemblage)
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)
File:Shéma électrique hoverchair 3 (2).png
Alimentation
- Batterie 36 V → Fusible → Bouton urgence → Contrôleurs
- 36 V après urgence → Step-down → 5 V pour Arduino/joystick
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é