138 lines
5.6 KiB
Markdown
138 lines
5.6 KiB
Markdown
# Concept2 Related Information
|
||
|
||
[ORM Beta Repo](https://github.com/JaapvanEkris/openrowingmonitor)
|
||
|
||
## [Settings](./docs/rower_settings.md)
|
||
|
||
### [Profile for Concept2](https://github.com/laberning/openrowingmonitor/issues/77)
|
||
|
||
#### Model C
|
||
|
||
The Model C has 3 magnets on the flywheel giving:
|
||
numOfImpulsesPerRevolution: 3,
|
||
minimumTimeBetweenImpulses: 0.010,
|
||
maximumTimeBetweenImpulses: 0.044,
|
||
|
||
'autoAdjustDragFactor: true' here as well, which is doable for the Concept2:
|
||
Setting it to true, will allow Open Rowing Monitor to automatically calculate
|
||
the drag factor based on the flywheelInertia and the on the measured values in
|
||
the stroke recovery phase. See: ./rower_settings.md
|
||
|
||
[Concept2 Model C Config from beta repo.](https://github.com/JaapvanEkris/openrowingmonitor/blob/main/config/rowerProfiles.js)
|
||
|
||
```javascript
|
||
// Concept2 RowErg, Model B and C
|
||
Concept2_Model_C: {
|
||
numOfImpulsesPerRevolution: 3,
|
||
sprocketRadius: 1.4,
|
||
minimumTimeBetweenImpulses: 0.014,
|
||
maximumTimeBetweenImpulses: 0.040,
|
||
smoothing: 1,
|
||
flankLength: 6,
|
||
minumumForceBeforeStroke: 50,
|
||
minumumRecoverySlope: 0.00070,
|
||
minimumStrokeQuality: 0.36,
|
||
autoAdjustRecoverySlope: true,
|
||
autoAdjustRecoverySlopeMargin: 0.01,
|
||
minimumDriveTime: 0.400, // minimum time of the drive phase
|
||
minimumRecoveryTime: 0.900, // minimum time of the recovery phase
|
||
dragFactor: 110,
|
||
autoAdjustDragFactor: true,
|
||
dragFactorSmoothing: 3,
|
||
minimumDragQuality: 0.95,
|
||
flywheelInertia: 0.10148,
|
||
maximumStrokeTimeBeforePause: 6.0,
|
||
magicConstant: 2.8
|
||
}
|
||
```
|
||
|
||
## Hardware
|
||
|
||
### Model C Hardware
|
||
|
||
For the Rpi to register the logical high for the pin (it has a practical logical
|
||
high voltage of above 1.6-1.8v but according to the specs 2.5v is where 100%
|
||
that high is registered).
|
||
|
||
A Concept2 Model C output peaks at ~20mV when rowing at moderate intensity, even
|
||
if it peaked at 50mV when rowed by an Olympian that is still far too low for the
|
||
desired 2.5V to consistently read high on a RPi GPIO.
|
||
|
||
The module C uses a reluctance sensor
|
||
|
||
* [Monitor Pickup and Screw Kit—Model A, C Part Number: 1748](https://shop-uk.concept2.com/parts/121-monitor-pickup-and-screw-kitmodel-a-c.html?search_query=1748&results=1)
|
||
|
||
A wire coil with a ferrite core 105ohms) if you replace the magnets ensure that
|
||
the ‘south’ is facing the sensor.
|
||
|
||
Here's the C pulse train:
|
||
[2023-11-28_05-35-19_rowingData.csv](https://github.com/laberning/openrowingmonitor/files/13484079/2023-11-28_05-35-19_rowingData.csv)
|
||

|
||
|
||
#### [MAX9924 Variable Reluctance Sensor Interface](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX9924-MAX9927.pdf)
|
||
|
||
£4 per piece on aliexpress
|
||
|
||
These are signal conditioning IC's that connect to the Reluctance sensor and
|
||
provide a pwm signal to the microcontroller
|
||
|
||
The MAX9924 uses a zero crossing with dynamic threshold to avoid the zero-
|
||
crossings in the noise, but still work with a range of signal strength.
|
||
|
||
* [MAX9924 ORM PiHat](https://oshwlab.com/jpbpcb/rower2)
|
||
* [Extra discussion](https://github.com/laberning/openrowingmonitor/discussions/157)
|
||
See: /space/code_repositories/hardware/kicad/open_rowing_monitor
|
||
* The Extra linked page also has a config.js for a Model C using the max9924.
|
||
The layout does not use a ground plane.
|
||
* [MAX9924UEVKIT](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX9924UEVKIT.pdf) See: /space/code_repositories/hardware/kicad/MAX9924UEVKIT
|
||
|
||
#### [MAX9926 Variable Reluctance Sensor Interface](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX9924-MAX9927.pdf)
|
||
|
||
$0.81 per piece on aliexpress
|
||
|
||
This are the two sensor capable IC's which allows them to be used for quadrature
|
||
direction sensing of one sensor or reading from two sensors.
|
||
|
||
* [MAX9926UEVKIT](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX9926UEVKIT.pdf) See: /space/code_repositories/hardware/kicad/MAX9926UEVKIT/
|
||
* [rusefi max9926](https://rusefi.com/forum/viewtopic.php?t=994)
|
||
|
||
### Model D
|
||
|
||
The Model D has 6 magnets on the flywheel with a coil/generator setup giving:
|
||
numOfImpulsesPerRevolution: 6,
|
||
minimumTimeBetweenImpulses: 0.005,
|
||
maximumTimeBetweenImpulses: 0.022,
|
||
|
||
The Model D has some uptake issues in its generator: the first x pulses are
|
||
very weak, but when the flywheel gains momentum, it will peak at 15V.
|
||
|
||
### [Arduino Monitor for Concept2 Model B C D](https://www.instructables.com/ARDUINO-MONITOR-FOR-CONCEPT2-MODEL-B-C-D/)
|
||
|
||
This project uses an arduino mega 2560 with has 5V tolerant pins but uses
|
||
analog read.
|
||
|
||
#### Model B and C
|
||
|
||
Just add 100k resistor inline with the cable that comes from flyweel (2.5mm TRS
|
||
jack) to the analog read pin (1) on the arduino.
|
||

|
||
|
||
#### Drag factor
|
||
|
||
For a new Concept2, the Drag Factor ranges between 80 (Damper setting 1) and
|
||
220 (Damper setting 10):
|
||
|
||
* [concept 2 model c damper level 01 oscilloscope data.txt](https://github.com/laberning/openrowingmonitor/files/9336167/concept.2.model.c.damper.level.01.oscilloscope.data.txt)
|
||
* concept 2 model c damper level 10 [oscilloscope data.txt](https://github.com/laberning/openrowingmonitor/files/9336169/concept.2.model.c.damper.level.10.oscilloscope.data.txt)
|
||
|
||
Model A,C,D,and E has 14 tooth gear
|
||
|
||
[Model B drag factor is different](https://web.archive.org/web/20230601051848/https://board.crossfit.com/showthread.php?t=20648)
|
||
requiring a little recalculating.
|
||
|
||
The resistance is determined by cubing the number of teeth on the sprockets.
|
||
|
||
13 x 13 x 13 = 2197 (Model B, small wheel)
|
||
14 x 14 x 14 = 2744 (Models C/D/E)
|
||
15 x 15 x 15 = 3375 (Model B, big wheel)
|