Comprendre et personnaliser les paramètres de configuration du micrologiciel OSSM pour votre version spécifique
Le micrologiciel OSSM utilise un ensemble de constantes de configuration qui définissent les limites de mouvement, les propriétés matérielles et les préférences de l'utilisateur. Cette référence documente tous les paramètres configurables et comment les modifier pour les versions personnalisées.
Une modification incorrecte des valeurs de configuration peut endommager votre matériel ou entraîner un fonctionnement dangereux. Ne modifiez les valeurs que si vous comprenez leurs effets et avez vérifié les spécifications de votre matériel.
Configuration du système de mouvement
Ces paramètres définissent la manière dont l'OSSM se déplace et se trouvent dans src/constants/Config.h sous l'espace de noms Config::Driver.
Vitesse et accélération
| Paramètre | Valeur par défaut | Unité | Description |
|---|---|---|---|
maxSpeedMmPerSecond | 900.0 | mm/s | Vitesse linéaire maximale de l'actionneur |
maxAcceleration | 10000.0 | mm/s² | Taux d'accélération/décélération maximum |
Ces limites s'appliquent à tous les modes de fonctionnement. La vitesse réelle atteinte dépend de votre moteur, de votre alimentation et de votre configuration mécanique.
Configuration du moteur
| Paramètre | Valeur par défaut | Unité | Description |
|---|---|---|---|
motorStepPerRevolution | 800.0 | steps/rev | Pas de moteur par tour complet |
pulleyToothCount | 20.0 | teeth | Nombre de dents sur la poulie motrice |
beltPitchMm | 2.0 | mm | Distance entre les dents de la courroie (norme GT2) |
Ces valeurs se combinent pour calculer stepsPerMM :
stepsPerMM = motorStepPerRevolution / (pulleyToothCount * beltPitchMm)
// Default: 800 / (20 * 2) = 20 steps/mmSi vous utilisez un matériel différent (par exemple, une poulie à 16 dents ou une courroie GT3), mettez à jour ces valeurs pour qu'elles correspondent. Des valeurs incorrectes entraînent un mauvais calcul des positions par le micrologiciel.
Limites de course
| Paramètre | Valeur par défaut | Unité | Description |
|---|---|---|---|
maxStrokeSteps | 500.0 | mm | Longueur de course maximale utilisable |
minStrokeLengthMm | 50.0 | mm | Course minimale pour réussir la validation du référencement |
maxStrokeSteps définit la course maximale absolue. Utilisez la formule : maxStrokeSteps = longueur du rail − support de bloc linéaire (75 mm pour un OSSM standard) − marge de sécurité de 20 mm.
Configuration de référencement
| Paramètre | Valeur par défaut | Unité | Description |
|---|---|---|---|
sensorlessCurrentLimit | 1.5 | % | Seuil de courant indiquant la fin de course |
L'OSSM utilise une prise d'origine sans capteur : il détecte le moment où l'actionneur atteint la fin de sa course en surveillant le courant du moteur. Lorsque le courant dépasse ce seuil, le micrologiciel sait que l'actionneur a atteint une butée physique.
Configuration avancée
Ces paramètres affinent le comportement du micrologiciel et se trouvent dans Config::Advanced.
| Paramètre | Valeur par défaut | Unité | Description |
|---|---|---|---|
strokeZeroOffsetMm | 6.0 | mm | Distance tampon par rapport à la position physique d'origine |
commandDeadZonePercentage | 1.0 | % | Zone morte du potentiomètre pour éviter le bruit de mesure |
accelerationScaling | 100.0 | - | Affecte l'agressivité du mouvement en mode Simple Penetration |
Après la prise d'origine, l'actionneur recule de la butée physique de cette distance. Cela empêche l'actionneur de heurter à plusieurs reprises la butée pendant le fonctionnement normal.
Les potentiomètres analogiques peuvent produire des mesures bruitées proches de zéro. Cette zone morte garantit que le bouton de vitesse s'enregistre comme « zéro » lorsqu'il est tourné complètement dans le sens inverse des aiguilles d'une montre, même si la lecture électrique est légèrement supérieure à 0 %.
En mode Simple Penetration, l'accélération est calculée comme suit :
acceleration = maxSpeedMmPerSecond * speed * speed / accelerationScalingDes valeurs plus élevées produisent des courbes d'accélération plus douces.
Configuration utilisateur
Les préférences utilisateur sont définies dans src/constants/UserConfig.h.
Langue
static LanguageStruct language = enUs; // or 'fr' for FrenchLangues disponibles :
enUs— Anglais (États-Unis)fr— Français
La sélection de la langue nécessite actuellement de recompiler le firmware. Un sélecteur de langue à l'exécution est prévu pour les prochaines versions.
Unités d'affichage
static bool displayMetric = true;Lorsque true, les distances s'affichent en mètres. Lorsque false, les distances s'affichent en pieds.
Définitions des broches
Les broches matérielles sont définies dans src/constants/Pins.h. Modifiez-les si vous construisez du matériel personnalisé.
Broches d'affichage
| Broche | GPIO par défaut | Description |
|---|---|---|
oledReset | -1 | Broche de réinitialisation OLED (-1 si partagée avec la réinitialisation de la carte) |
ledPin | 25 | Broche de données LED RGB (WS2812B) |
Broches de pilote
| Broche | GPIO par défaut | Description |
|---|---|---|
motorStepPin | 14 | Signal STEP du moteur pas à pas/servo |
motorDirectionPin | 27 | Signal DIR du moteur pas à pas/servo |
motorEnablePin | 26 | Signal ENA du moteur pas à pas/servo |
currentSensorPin | 36 | Entrée de détection de courant analogique |
stopPin | 19 | Interrupteur d'arrêt d'urgence (en option) |
limitSwitchPin | 12 | Entrée de fin de course (en option) |
Broches distantes
| Broche | GPIO par défaut | Description |
|---|---|---|
speedPotPin | 34 | Entrée analogique du potentiomètre de vitesse |
encoderSwitch | 35 | Entrée du bouton de l'encodeur |
encoderA | 18 | Canal de l'encodeur A |
encoderB | 5 | Canal de l'encodeur B |
displayData | 21 | I2C SDA pour OLED |
displayClock | 19 | I2C SCL pour OLED |
Broches d'extension GPIO
Ces broches sont disponibles pour les accessoires via contrôle GPIO par BLE :
| Broche logique | GPIO | Description |
|---|---|---|
| Broche 1 | GPIO 2 | Sortie à usage général |
| Broche 2 | GPIO 15 | Sortie à usage général |
| Broche 3 | GPIO 22 | Sortie à usage général |
| Broche 4 | GPIO 33 | Sortie à usage général |
Modification de la configuration
Cloner le référentiel
Si vous ne l'avez pas déjà fait, clonez le référentiel du micrologiciel OSSM :
git clone https://github.com/KinkyMakers/OSSM-hardware.git
cd OSSM-hardware/SoftwareModifier les fichiers de configuration
Ouvrez le fichier de configuration correspondant dans votre éditeur :
src/constants/Config.h— Mouvement et paramètres avancéssrc/constants/UserConfig.h— Préférences utilisateursrc/constants/Pins.h— Affectations des broches matérielles
Recompiler et téléverser
Utilisez PlatformIO pour compiler et téléverser le firmware modifié :
- Cliquez sur le bouton Build pour vérifier la compilation de vos modifications.
- Cliquez sur Upload pour flasher le nouveau firmware
Après le téléversement, l'OSSM redémarrera et utilisera votre nouvelle configuration.
Testez toujours soigneusement les modifications de configuration. Commencez avec des vitesses faibles et vérifiez que le référencement se termine avec succès avant un fonctionnement normal.