-
Hello, Let me start by saying how happy I am to find this project! It is a fantastic idea and the feature set so far looks amazing. Thank you for making this possible! I have major problems with the display readability on my Sportplus MR-SP-08 rowing machine so after being put off by support, I was looking into replacing the computer with something self-made. Looking at the sensors, these seems to be straight forward. What makes me wonder a bit is the use of not one by TWO reed sensors as shown in the image of this replacement part: https://sportplus.de/collections/ersatzteile-sp-mr-008/products/sensoren-et-mr-008-8?_pos=12&_fid=c31e5c06e&_ss=c. When any of the two sensors is disconnected, the on-board computer stops counting the strokes. Does anyone encountered such a setup in the past? Do I need to use both sensors with your board? As extra information: Measuring things out it looks like both sensors deliver the same 2x5 pulses per round (5 during pull + 5 during recovery) by closing a contact. On the computer side there are two lines going into it, both of which have a 2.5V voltage on them when disconnected. I suppose this is a 5V with 50/50 voltage divider where one of the resistors get short-circuited by the reed sensor. Furthermore, has anyone used this rowing machine before? Many-many thanks for your time and support! |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 16 replies
-
Hi, let me answer your question as I have a similar setup for the original monitor on my generic Air Rower (that is a cheaper copy of the Concept 2 rowerg model D). The way your monitor works is by detecting the rotation of the handle bar sprocket spindle. Basically it detects the passing magnet and determines the direction (drive vs. recovery) by checking which reed is triggered first. When you pull the monitor shows you a random but consistent value for speed and distance. It cannot really know these just from the information of the handle bar (for reasons please see the phsysics of rowing). For instance my monitor shows me around 30-50 watt of power even when I pull like crazy :) Stats on these monitors are calculated from the stroke rate, basically they multiply the stroke rate with a random magic number to get distance and speed and other derived metric. This is not going to be compatible with ORM out of the box as ORM relies on measuring the rotation of the flywheel. So you will need to add a sensor that detects the rotation times of the flywheel. Practically adding one or more magnets to the flywheel and a hall sensor or reed switch that detects when the magnet passes. Reed switch tends to be producing more noise due to bounce (this is caused by the way reeds operate), hall sensors tend to more accurate and noise free. I tested reeds with the Backend_redesign of ORM created by Jaap (currently in an open pull request). It can handle noise fairly ok. This should mean that if you drill one hole in the flywheel and insert a magnet in way that you can repurpose one of the original reeds (assuming there is space in the hub) you can make your rower to work with ORM fairly easily. I can see that your rower is a magnetic one, I would be very much interested how drag factor and things like that work on a magnetic rower so I encourage you to try to make ORM work. Adding just one magnet and a reed sensor to the flywheel is fairly simple. One note on salvaging the original reed(s): if you can get the make of the reed you are trying to use and check the datasheet for speed (under frequency in Hz, or operating time) it helps as you can imagine that flywheel rotation is much faster than rotation of the handle bar sprocket. This is to avoid skipping signals with slow reeds (for high speed rotation impulse counting hall sensors are the way), though most generic reeds can handle a couple of 100 Hz easily (I used that were rated for 400Hz with good vibration tolerance for accuracy) but reeds handle vibration and all these things differently and positioning at the flywheel instead of the spindle is completely different "environment". Let me know if you have any questions or comments. |
Beta Was this translation helpful? Give feedback.
-
Hi Abasz, Thank you so much for getting back to me on this and for the detailed answer! Having two sensors to detect the sense of rotation and thus drive and recovery phases makes a lot of sense now that you point it out. Since I was initially planning on getting the same figures out of the machine that are already shown by the stock computer (time, strokes, distance, strokes/min but no power) and maybe add BLE support to it, I'm wondering if I could get away by using a (fixed value?) multiplier to convert the number of pull handle bar sprocket rotations into flywheel rotations count. I guess these are not directly linked as the flywheel might continue to spin during recovery, right? Another element that I'll need to figure out is how to factor in the magnet settings that will affect drag of the fly wheel. This is a mechanical switch that repositions a row of magnets closer or farther from the flywheel so there is no direct way to read out its current setting. Thanks again for your help! |
Beta Was this translation helpful? Give feedback.
-
Thanks again for staying with me on this! I'll dive into the documentation as soon as I can find time for that and go from there. I was also looking at the Raspberry Pi prices and they are kind of deterring to be honest which made ponder a lower cost option like an ESP32 Wroom32 for instance. Plans, plans! :) But I'll start small by understanding the basics. |
Beta Was this translation helpful? Give feedback.
-
Oh that's great! I'll certainly have a look at what you've done for inspiration. I was thinking about using FreeRTOS on it for bit more flexibility and a more real-time behaviour. Although, I don't think that is an absolute must. As for the web interface, it doesn't have to consume much memory as it only serves HTML content and heavier components like images can be linked in for external sources (e.g. personal web storage). I still need to try this all out, of course so take that with a grain of salt. Things I'm not sure about is how to force periodical updates of the page to update the values (most probably Javascript, again loaded from an external source) and how to provide information about the currently associated IP address (probably a small OLED display that does only this). |
Beta Was this translation helpful? Give feedback.
-
We have an escape built in here by design. When you set the |
Beta Was this translation helpful? Give feedback.
-
Thanks for joining in on the discussion! Sorry for being slow-minded (and I still need to read through the physics as suggested by Abasz) but does that mean I can get away with the sensors reading the handle bar sprocket spindle by setting that variable to false? |
Beta Was this translation helpful? Give feedback.
-
Hi Jaap, Thank you for staying with me on this topic! I had a look at the documentation and code and I think things start to lighten up a bit. If I'm getting this right, when setting In this formula
I'm also not sure about how to provide the sensor data. To my understanding, I'll need to provide the information about the pulses but also the direction of the wheel rotation (drive/recovery). Where/How is this done? Thanks again! |
Beta Was this translation helpful? Give feedback.
-
Hi Abasz, You are probably right, I got carried away by the plethora of possibilities ORM opens where I can actually use a much simpler solution given the hardware limitations I have. Plus, I think, only having limited data would probably suffice anyway to my expectations. Which doesn't mean I give up completely on building a more accurate/capable system in the future :) Would you guys have any hint as of how to gauge the distance per stroke value? The stock computer behaves weirdly as it counts the time incorrectly (8 minutes on the computer vs. 15 minutes counted by my watch) and appears to also measure the distance incorrectly (~1.5 km for the same 8 minutes or 15 minutes session). The last training session I had contained 335 strokes (this values was in-line with the watch measurement) and was displaying 1490m so this would be aprox. 4.45m / stroke. Is that a realistic value for an unfit beginner? Thanks! |
Beta Was this translation helpful? Give feedback.
-
Thank you so much guys! You are absolutely fantastic!!! :) So, I'll start small by counting the pulses, converting them to strokes and then into distance and speed using your suggestions above. I might even bite the bullet and disassemble the cover on my machine to have a look at how easy/hard it would be to add some magnets and another reed sensor. You gave me great motivation, made me understand all this a bit more and feel more confident about building my own rowing computer, as simple as it might be at the beginning. |
Beta Was this translation helpful? Give feedback.
Hi, let me answer your question as I have a similar setup for the original monitor on my generic Air Rower (that is a cheaper copy of the Concept 2 rowerg model D).
The way your monitor works is by detecting the rotation of the handle bar sprocket spindle. Basically it detects the passing magnet and determines the direction (drive vs. recovery) by checking which reed is triggered first. When you pull the monitor shows you a random but consistent value for speed and distance. It cannot really know these just from the information of the handle bar (for reasons please see the phsysics of rowing). For instance my monitor shows me around 30-50 watt of power even when I pull like crazy :)
Stats…