Référence de configuration

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ètreValeur par défautUnitéDescription
maxSpeedMmPerSecond900.0mm/sVitesse linéaire maximale de l'actionneur
maxAcceleration10000.0mm/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ètreValeur par défautUnitéDescription
motorStepPerRevolution800.0steps/revPas de moteur par tour complet
pulleyToothCount20.0teethNombre de dents sur la poulie motrice
beltPitchMm2.0mmDistance 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/mm

Si 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ètreValeur par défautUnitéDescription
maxStrokeSteps500.0mmLongueur de course maximale utilisable
minStrokeLengthMm50.0mmCourse 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ètreValeur par défautUnitéDescription
sensorlessCurrentLimit1.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ètreValeur par défautUnitéDescription
strokeZeroOffsetMm6.0mmDistance tampon par rapport à la position physique d'origine
commandDeadZonePercentage1.0%Zone morte du potentiomètre pour éviter le bruit de mesure
accelerationScaling100.0-Affecte l'agressivité du mouvement en mode Simple Penetration

Configuration utilisateur

Les préférences utilisateur sont définies dans src/constants/UserConfig.h.

Langue

static LanguageStruct language = enUs;  // or 'fr' for French

Langues 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

BrocheGPIO par défautDescription
oledReset-1Broche de réinitialisation OLED (-1 si partagée avec la réinitialisation de la carte)
ledPin25Broche de données LED RGB (WS2812B)

Broches de pilote

BrocheGPIO par défautDescription
motorStepPin14Signal STEP du moteur pas à pas/servo
motorDirectionPin27Signal DIR du moteur pas à pas/servo
motorEnablePin26Signal ENA du moteur pas à pas/servo
currentSensorPin36Entrée de détection de courant analogique
stopPin19Interrupteur d'arrêt d'urgence (en option)
limitSwitchPin12Entrée de fin de course (en option)

Broches distantes

BrocheGPIO par défautDescription
speedPotPin34Entrée analogique du potentiomètre de vitesse
encoderSwitch35Entrée du bouton de l'encodeur
encoderA18Canal de l'encodeur A
encoderB5Canal de l'encodeur B
displayData21I2C SDA pour OLED
displayClock19I2C SCL pour OLED

Broches d'extension GPIO

Ces broches sont disponibles pour les accessoires via contrôle GPIO par BLE :

Broche logiqueGPIODescription
Broche 1GPIO 2Sortie à usage général
Broche 2GPIO 15Sortie à usage général
Broche 3GPIO 22Sortie à usage général
Broche 4GPIO 33Sortie à 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/Software

Modifier les fichiers de configuration

Ouvrez le fichier de configuration correspondant dans votre éditeur :

  • src/constants/Config.h — Mouvement et paramètres avancés
  • src/constants/UserConfig.h — Préférences utilisateur
  • src/constants/Pins.h — Affectations des broches matérielles

Recompiler et téléverser

Utilisez PlatformIO pour compiler et téléverser le firmware modifié :

  1. Cliquez sur le bouton Build pour vérifier la compilation de vos modifications.
  2. 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.

Pages connexes

Sur cette page