Konfigurationsreferenz

Verstehen und Anpassen der OSSM-Firmware-Konfigurationsparameter für Ihren spezifischen Build

Die OSSM-Firmware verwendet eine Reihe von Konfigurationskonstanten, die Bewegungsgrenzen, Hardwareeigenschaften und Benutzerpräferenzen definieren. In dieser Referenz werden alle konfigurierbaren Parameter und deren Änderung für benutzerdefinierte Builds dokumentiert.

Eine falsche Änderung der Konfigurationswerte kann Ihre Hardware beschädigen oder einen unsicheren Betrieb verursachen. Ändern Sie Werte nur, wenn Sie deren Auswirkungen verstehen und Ihre Hardwarespezifikationen überprüft haben.

Konfiguration des Bewegungssystems

Diese Parameter definieren, wie sich das OSSM bewegt, und sind in src/constants/Config.h unter dem Namespace Config::Driver zu finden.

Geschwindigkeit und Beschleunigung

ParameterStandardEinheitBeschreibung
maxSpeedMmPerSecond900.0mm/sMaximale Lineargeschwindigkeit des Aktuators
maxAcceleration10000.0mm/s²Maximale Beschleunigungs-/Verzögerungsrate

Diese Grenzwerte gelten für alle Betriebsarten. Die tatsächlich erreichte Geschwindigkeit hängt von Ihrem Motor, Ihrer Stromversorgung und Ihrem mechanischen Aufbau ab.

Motorkonfiguration

ParameterStandardEinheitBeschreibung
motorStepPerRevolution800.0steps/revMotorschritte pro voller Umdrehung
pulleyToothCount20.0teethAnzahl der Zähne der Antriebsscheibe
beltPitchMm2.0mmAbstand zwischen den Riemenzähnen (GT2-Standard)

Diese Werte werden zur Berechnung von stepsPerMM kombiniert:

stepsPerMM = motorStepPerRevolution / (pulleyToothCount * beltPitchMm)
// Default: 800 / (20 * 2) = 20 steps/mm

Wenn Sie andere Hardware verwenden (z. B. eine 16-Zahn-Riemenscheibe oder einen GT3-Riemen), aktualisieren Sie diese Werte entsprechend. Falsche Werte führen dazu, dass die Firmware Positionen falsch berechnet.

Hubgrenzen

ParameterStandardEinheitBeschreibung
maxStrokeSteps500.0mmMaximal nutzbare Hublänge
minStrokeLengthMm50.0mmMindesthub zum Bestehen der Homing-Validierung

maxStrokeSteps definiert den absoluten Maximalweg. Verwenden Sie die Formel: maxStrokeSteps = Schienenlänge − Halter des Linearblocks (75 mm beim Standard-OSSM) − 20 mm Sicherheitsmarge.

Homing-Konfiguration

ParameterStandardEinheitBeschreibung
sensorlessCurrentLimit1.5%Stromschwellenwert, der das Ende des Hubs anzeigt

Das OSSM verwendet eine sensorlose Referenzfahrt – es erkennt, wann der Aktuator das Ende des Hubs erreicht, indem es den Motorstrom überwacht. Wenn der Strom diesen Schwellenwert überschreitet, weiß die Firmware, dass der Aktuator einen physischen Stopp erreicht hat.

Erweiterte Konfiguration

Diese Parameter optimieren das Firmware-Verhalten und sind in Config::Advanced zu finden.

ParameterStandardEinheitBeschreibung
strokeZeroOffsetMm6.0mmPufferabstand von der physischen Ausgangsposition
commandDeadZonePercentage1.0%Totzone des Potentiometers zur Vermeidung von Messrauschen
accelerationScaling100.0-Beeinflusst die Bewegungsaggressivität in Simple Penetration

Benutzerkonfiguration

Benutzereinstellungen werden in src/constants/UserConfig.h definiert.

Sprache

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

Verfügbare Sprachen:

  • enUs – Englisch (USA)
  • fr – Französisch

Die Sprachauswahl erfordert derzeit eine Neukompilierung der Firmware. Für zukünftige Versionen ist eine Laufzeit-Sprachauswahl geplant.

Anzeigeeinheiten

static bool displayMetric = true;

Bei true werden Entfernungen in Metern angezeigt. Bei false werden Entfernungen in Fuß angezeigt.

Pin-Definitionen

Hardware-Pins sind in src/constants/Pins.h definiert. Ändern Sie diese, wenn Sie benutzerdefinierte Hardware erstellen.

Display-Pins

PinStandard-GPIOBeschreibung
oledReset-1OLED-Reset-Pin (-1, wenn mit Board-Reset geteilt)
ledPin25RGB-LED-Datenpin (WS2812B)

Treiber-Pins

PinStandard-GPIOBeschreibung
motorStepPin14STEP-Signal des Schrittmotors/Servos
motorDirectionPin27Schrittmotor-/Servo-DIR-Signal
motorEnablePin26Schrittmotor-/Servo-ENA-Signal
currentSensorPin36Analoger Strommesseingang
stopPin19Not-Aus-Schalter (optional)
limitSwitchPin12Endschaltereingang (optional)

Remote-Pins

PinStandard-GPIOBeschreibung
speedPotPin34Analoger Eingang des Geschwindigkeitspotentiometers
encoderSwitch35Encoder-Tasteneingang
encoderA18Encoderkanal A
encoderB5Encoderkanal B
displayData21I2C SDA für OLED
displayClock19I2C SCL für OLED

GPIO-Erweiterungspins

Diese Pins sind für Zubehör über BLE GPIO-Steuerung verfügbar:

Logischer PinGPIOBeschreibung
Pin 1GPIO 2Allgemeiner Ausgang
Pin 2GPIO 15Allgemeiner Ausgang
Pin 3GPIO 22Allgemeiner Ausgang
Pin 4GPIO 33Allgemeiner Ausgang

Konfiguration ändern

Klonen Sie das Repository

Klonen Sie das OSSM-Firmware-Repository, falls Sie dies noch nicht getan haben:

git clone https://github.com/KinkyMakers/OSSM-hardware.git
cd OSSM-hardware/Software

Konfigurationsdateien bearbeiten

Öffnen Sie die entsprechende Konfigurationsdatei in Ihrem Editor:

  • src/constants/Config.h – Bewegung und erweiterte Parameter
  • src/constants/UserConfig.h – Benutzereinstellungen
  • src/constants/Pins.h – Hardware-Pinbelegung

Neu erstellen und hochladen

Verwenden Sie PlatformIO, um die geänderte Firmware zu kompilieren und hochzuladen:

  1. Klicken Sie auf die Schaltfläche Build, um die Kompilierung Ihrer Änderungen zu überprüfen
  2. Klicken Sie auf Upload, um die neue Firmware zu flashen

Nach dem Hochladen wird der OSSM neu gestartet und verwendet Ihre neue Konfiguration.

Testen Sie Konfigurationsänderungen immer sorgfältig. Beginnen Sie mit niedrigen Geschwindigkeiten und vergewissern Sie sich, dass die Referenzfahrt erfolgreich abgeschlossen wurde, bevor Sie den Normalbetrieb durchführen.

Verwandte Seiten

Auf dieser Seite