Différences entre versions de « Projets:HoverChair V3 »
De wikilab
| (14 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | + | = 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 | + | === 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.1.png|700px|vignette|]] | ||
| + | <gallery> | ||
| + | Shéma électrique hoverchair 3.1.png</gallery> | ||
| + | === Alimentation === | ||
| + | * Batterie 36 V → Fusible → Bouton urgence → Contrôleurs | ||
| + | * 36 V après urgence → Step-down → 5 V pour Arduino/joystick | ||
| + | [[File:test image.png|400px]] | ||
| + | === 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 | |
| − | |||
| − | Le | + | == 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 == | == Cahier des charges == | ||
Version actuelle datée du 3 juin 2025 à 14:07
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)
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é