Obsah:

Open (Bicycle) Grade Simulator - OpenGradeSIM: 6 krokov
Open (Bicycle) Grade Simulator - OpenGradeSIM: 6 krokov

Video: Open (Bicycle) Grade Simulator - OpenGradeSIM: 6 krokov

Video: Open (Bicycle) Grade Simulator - OpenGradeSIM: 6 krokov
Video: The Perfect, Last-Minute Kids' Costumes! 2024, November
Anonim
Image
Image
Open (Bicycle) Grade Simulator - OpenGradeSIM
Open (Bicycle) Grade Simulator - OpenGradeSIM
Open (Bicycle) Grade Simulator - OpenGradeSIM
Open (Bicycle) Grade Simulator - OpenGradeSIM

Úvod

Istá známa americká fitness spoločnosť (Wahoo) nedávno priniesla skvelú pomôcku na tréning v interiéri, ktorá zvyšuje a znižuje prednú časť bicykla na turbo trenažéri podľa simulovaného stupňa kopca, na ktorom používateľ jazdí (Kickr Climb).

Vyzerá to úžasne, ale bohužiaľ to nie je k dispozícii pre nás všetkých, pretože budete potrebovať 1) špičkový tréner Wahoo a 2) 500 GBP v hotovosti, aby bol tento váš.

Zlomil som si kľúčnu kosť (nikdy som nedal cestného cyklistu na horský bicykel), takže som mal viac kilometrov na trenažéri a viac času na drotárstvo a myslel som si, že by to mohol byť zábavný projekt.

Komerčná jednotka simuluje -5% až +20%, takže som sa tomu chcel priblížiť, ale s 10% rozpočtu!

Toto je navrhnuté okolo môjho Tacx Neo, ale akýkoľvek tréner, ktorý vysiela údaje o svojom výkone a rýchlosti prostredníctvom ANT+ alebo BLE, by mohol fungovať (počítam!).

Pretože rozchod kolies na mojom cestnom bicykli meria presne 1 000 mm, potreboval by som zdvihnúť vidlice o 200 mm, aby sa simulovalo 20% (pozri obrázok), aby to urobil 200 mm lineárny pohon. Hmotnosť bicykla + jazdca pravdepodobne neprekročí 100 kg, a pretože je rozložená medzi nápravy a väčšina je vzadu, 750 N zdvihne 75 kg a malo by byť v poriadku. Rýchlejšie pohony sú k dispozícii za viac peňazí, ale tento ma stál okolo 20 libier a zvláda 10 mm/s. Pohony s potenciometrami, ktoré je možné použiť ako jednoduché servá, sú tiež 2 až 3 -krát drahšie.

Zásoby

3D tlač (PLA alebo ABSetc) časti adaptéra priechodnej nápravy:

100 mm zásobník hliníkových rúrok 3/4 palca 10 swg (pre rám priechodnej nápravy)

80 mm tyče z nerezovej ocele 6 mm

3D tlač (PLA alebo ABSetc) obuvi pre časť lineárneho pohonu:

3D tlač puzdra na mostík H

3D tlač puzdra na Arduino (verzia 1 s klávesnicou) https://www.thingiverse.com/thing:3984911 (verzia 2, ako je znázornené (https://www.thingiverse.com/thing:3995976)

Laserom rezaný kus číreho akrylátu 3 mm 32 x 38 mm, aby ste sa nepotili po celej elektronike (urobilo sa to, nie je to ideálne).

Niektoré krvácavé bloky (prispôsobené na to, aby nechali doštičky dovnútra), aby ste vo svojom nadšení zabránili neúmyselnému vytlačeniu piestov strmeňa z kotúčových bŕzd Shimano

Lineárny pohon 750N zdvih 200 mm, napr. Al03 mini lineárne pohony z

Most L298N H (ako:

Arduino Nano IoT 33 www.rapidonline.com objednávka 73-4863

2 -klávesová membránová klávesnica, napr.

IIC I2C Logic Level Converter Obojsmerný modul 5V na 3,3V pre Arduino napr.

Napájanie 12V 3A DC - tie pre LED osvetlenie fungujú skvele!

Most NPE CABLE Ant+ to BLE

Klip na 3D tlač k mostu CABLE

1,3 OLED LCD displejový modul s rozhraním IIC I2C 128x32 3,3V

Krok 1: Trocha matematiky

Trochu matematiky
Trochu matematiky

Musíme vypočítať sklon, ktorý sa simuluje. Dúfal som, že tréner bude tieto údaje inzerovať spolu s rýchlosťou, výkonom, kadenciou atď. Tréner však jednoducho nastaví odpor na udržanie výkonu podľa softvéru na tablete, počítači atď., Ktorý sa používa na jeho ovládanie. Nemal som spôsob, ako ľahko zachytiť „simulovanú známku“zo softvéru, takže by som musel pracovať späť…

Sily pôsobiace na bicykel a jazdca sú kombináciou odporových strát a sily potrebnej na výstup na kopec. Tréner hlási rýchlosť a silu. Ak dokážeme nájsť odporové straty pri danej rýchlosti, zostávajúci výkon sa použije na výstup na kopec. Sila stúpania závisí od hmotnosti bicykla a jazdca a rýchlosti stúpania, a tak sa môžeme vrátiť do stúpania.

Najprv som použil úžasný web https://bikecalculator.com na nájdenie niektorých údajových bodov pre odporovú stratu energie pri bežných rýchlostiach. Potom som transformoval doménu rýchlosti na lineárny vzťah a našiel som najvhodnejšiu líniu. Ak vezmeme rovnicu priamky, môžeme teraz vypočítať výkon (W) z odporu = (0,0102*(Speedkmh^2,8))+9,428.

Vezmite silu z odporu z nameranej sily, aby ste získali silu „lezenia“.

Poznáme rýchlosť výstupu v km/h a prepočítame to na jednotky SI m/s (delené 3,6).

Sklon je zistený z: Sklon (%) = ((PowerClimbing/(WeightKg*g))/Speed)*100

kde zrýchlenie voľného pádu g = 9,8 m/s/s alebo 9,8 N/kg

Krok 2: Získajte nejaké údaje

Získajte nejaké údaje
Získajte nejaké údaje

Výpočet sklonu vyžaduje rýchlosť a výkon. Na prijatie som použil Arduino Nano 33 IoT na pripojenie k trénerovi prostredníctvom BLE. Spočiatku som sa veľmi zasekol, pretože aktuálna verzia v.1.1.2 natívnej knižnice ArduinoBLE pre tento modul nezvláda autentifikáciu v žiadnej forme, čo znamená, že väčšina (?) Komerčných senzorov BLE sa s ňou nespáruje.

Riešením bolo použiť most NPE Cable ANT+ to BLE (https://npe-inc.com/cableinfo/), ktorý ponechá vstavaný BLE trénera voľný pre komunikáciu medzi školiacou aplikáciou a nevyžaduje žiadne overovanie na BLE. strane.

Výkonová charakteristika BLE je veľmi jednoduchá, pretože výkon vo wattoch je obsiahnutý v druhom a treťom bajte prenesených údajov ako celé 16 -bitové číslo (malý endian, tj. Najmenej významný oktet ako prvý). Použil som filter kĺzavého priemeru, aby poskytol priemerný výkon 3 s - rovnako ako ukazuje môj počítač na bicykli - pretože je to menej nepravidelné.

if (powerCharacteristic.valueUpdated ()) {

// Definujte pole pre hodnotu uint8_t holdpowervalues [6] = {0, 0, 0, 0, 0, 0}; // Načítanie hodnoty do poľa powerCharacteristic.readValue (holdpowervalues, 6); // Výkon sa vracia ako watty na mieste 2 a 3 (loc 0 a 1 je 8 bitový príznak) byte rawpowerValue2 = holdpowervalues [2]; // moc najmenej sig byte v HEX bajte rawpowerValue3 = holdpowervalues [3]; // power most sig byte v HEX long rawpowerTotal = (rawpowerValue2 + (rawpowerValue3 * 256)); // Pomocou filtra s kĺzavým priemerom poskytnite „výkon 3 s“powerTrainer = movingAverageFilter_power.process (rawpowerTotal);

Rýchlostná charakteristika BLE (cyklistická rýchlosť a kadencia) je jednou z vecí, kvôli ktorým sa čudujete, čo na Zemi SIG pri písaní špecifikácie fajčilo.

Charakteristika vracia pole 16 bajtov, ktoré neobsahuje rýchlosť ani kadenciu. Namiesto toho získate otáčky kolies a otáčky kľuky (súčty) a čas od posledných udalostí za 1024 s. Takže viac matematiky. Ach, a bajty nie sú vždy prítomné, takže na začiatku je príznakový bajt. Ach, a bajty sú málo endianové HEX, takže musíte prečítať spätne vynásobenie druhého bajtu 256, tretieho 65536 atď. A potom ich sčítať. Aby ste našli rýchlosť, musíte predpokladať štandardný obvod kolesa na poznanie vzdialenosti …

if (speedCharacteristic.valueUpdated ()) {

// Táto hodnota potrebuje 16 bajtové pole uint8_t holdvalues [16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // Ale budem čítať iba prvých 7 speedCharacteristic.readValue (holdvalues, 7); byte rawValue0 = hodnoty podržania [0]; // binárne vlajky 8 bit int byte rawValue1 = holdvalues [1]; // otáčky najmenej významný bajt v HEX bajte rawValue2 = holdvalues [2]; // otáčky ďalší najvýznamnejší bajt v HEX bajte rawValue3 = holdvalues [3]; // otáčky ďalší najvýznamnejší bajt v HEX bajte rawValue4 = holdvalues [4]; // otáčky najvýznamnejší bajt v HEX bajte rawValue5 = holdvalues [5]; // čas od poslednej udalosti kolesa najmenej sig byte byte rawValue6 = holdvalues [6]; // čas od poslednej udalosti kolesa najviac sig byte, ak (firstData) {// Získať kumulatívne otáčky kolesa ako malý endian hex v loc 2, 3 a 4 (najskôr najmenej významný oktet) WheelRevs1 = (rawValue1 + (rawValue2 * 256) + (rawValue3 * 65536) + (rawValue4 * 16777216)); // Získanie času od posledného kolesa za 1024 s sekundy Time_1 = (rawValue5 + (rawValue6 * 256)); firstData = false; } else {// Získať druhú sadu údajov dlho WheelRevsTemp = (rawValue1 + (rawValue2 * 256) + (rawValue3 * 65536) + (rawValue4 * 16777216)); dlhá TimeTemp = (rawValue5 + (rawValue6 * 256)); if (WheelRevsTemp> WheelRevs1) {// uistite sa, že sa bicykel pohybuje WheelRevs2 = WheelRevsTemp; Time_2 = TimeTemp; firstData = true;}

// Nájdite rozdiel vzdialenosti v cm a preveďte na km float distanceTravelled = ((WheelRevs2 - WheelRevs1) * wheelCircCM);

float kmTravelled = distanceTravelled / 1000000;

// Nájdite čas v 1024 sekundách a konvertujte na hodiny

float timeDifference = (Time_2 - Time_1); float timeSecs = timeDifference / 1024; float timeHrs = timeSecs / 3600;

// Nájdite rýchlosť kmh

speedKMH = (kmTravelled / timeHrs);

Skica Arduino je umiestnená na GitHub (https://github.com/mockendon/opengradesim).

Krok 3: Hardvér 1 lineárny pohon

Hardvér 1 lineárny pohon
Hardvér 1 lineárny pohon
Hardvér 1 lineárny pohon
Hardvér 1 lineárny pohon
Hardvér 1 lineárny pohon
Hardvér 1 lineárny pohon

Priechodná náprava na mojom cestnom bicykli s kotúčovými brzdami určuje os 19,2 mm na vyčistenie 12 mm priechodnej nápravy so 100 mm medzi vidlicami.

Skladová 3/4 palcová 10swg hliníková trubica sa perfektne hodí a dodáva sa príjemný chlapček s názvom Dave na ebay (https://www.ebay.co.uk/str/aluminiumonline), ktorý mi skrátil na niekoľko kíl.

Pohon má 20 mm tyč so 6 mm otvorom, takže 3D vytlačená časť spája hliníkovú trubicu s 6 mm oceľovou tyčou a keďže sily sú 90% stlačené, niektoré PLA / ABS túto výzvu zvládajú.

Ak spustíte štandardné nastavenie rýchleho uvoľnenia, potom by niečo také (https://www.amazon.co.uk/Sharplace-Quick-Release-Conversion-Adapter/dp/B079DCY344) nemuselo tento komponent prepracovávať.

Topánka je navrhnutá tak, aby sa zmestila do bloku raiser dodávaného s mojím trénerom Tacx, ale pravdepodobne by sa zmestil do mnohých podobných raiserov, alebo môžete jednoducho upraviť súbor TinkerCad tak, aby vyhovoval vašim požiadavkám.

Krok 4: Hardvér 2 - H -Bridge

Hardware 2 - H -Bridge
Hardware 2 - H -Bridge
Hardware 2 - H -Bridge
Hardware 2 - H -Bridge
Hardware 2 - H -Bridge
Hardware 2 - H -Bridge

Tieto mostíkové dosky L298N H, ktoré sú veľmi bežné online, majú vstavaný 5V regulátor, ktorý je vynikajúci na napájanie Arduina z napájacieho zdroja 12V potrebného pre lineárny pohon. Doska Arduino Nano IoT bohužiaľ signalizuje 3,3 V, a preto je potrebný logický prevodník úrovní (alebo optoizolátor, pretože signály sú iba jednosmerné).

Puzdro je navrhnuté tak, aby pojalo napájacie konektory bežne používané v aplikáciách LED osvetlenia. Zabil som predlžovací kábel USB, aby bolo možné ľahko pripojiť / odpojiť hlavnú jednotku Arduino, a keď som si bol istý, že použijem napájacie vedenia a dátové vedenia na signalizáciu 3,3 V, úprimne by som PROTI tomu poradil, pretože by som nenávidieť niekoho, kto smaží jeho USB porty alebo periférne zariadenia omylom zapojením!

Krok 5: Hardvér 3, riadiaca elektronika (Arduino)

Hardvér 3, riadiaca elektronika (Arduino)
Hardvér 3, riadiaca elektronika (Arduino)
Hardvér 3, riadiaca elektronika (Arduino)
Hardvér 3, riadiaca elektronika (Arduino)
Hardvér 3, riadiaca elektronika (Arduino)
Hardvér 3, riadiaca elektronika (Arduino)

Puzdro na prevodník OLED Arduino a logický prevodník má na zadnej strane štandardný 1/2 -otáčkový držiak v štýle Garmin, ktorý umožňuje jeho bezpečné pripevnenie na bicykel. Uchytenie „vpredu“umožní naklápanie jednotky nahor alebo nadol na „nulu“, takže by bolo ľahké pridať polohu akcelerometra alebo riadok kódu na automatické vynulovanie na začiatku.

Puzdro má miesto pre membránovú klávesnicu - slúži na nastavenie kombinovanej hmotnosti jazdca a bicykla. Môžete to jednoducho nastaviť programovo, najmä ak s nikým nezdieľate trénera.

Mohlo by byť pekné implementovať „manuálny“režim. Stlačením oboch tlačidiel by sa mohol spustiť manuálny režim a potom by tlačidlá mohli zvýšiť / znížiť sklon. Pridám to do zoznamu úloh!

Súbor STL prípadu je opäť k dispozícii na serveri Thingiverse (odkaz nájdete v časti o dodávkach).

Skica Arduino je umiestnená na GitHub (https://github.com/mockendon/opengradesim).

Odtiaľto si môžete vytlačiť úhľadný malý klip na svoj KÁBELOVÝ mostík

Krok 6: „Zadné výpadky“

„Zadné výpadky“
„Zadné výpadky“
„Zadné výpadky“
„Zadné výpadky“
„Zadné výpadky“
„Zadné výpadky“

Mnoho ľudí nastolilo problém odierania zadných kolies pri pohybe bicykla. Niektorí tréneri majú nápravu, ktorá sa pohybuje (ako Kickr), ale mnohí nie.

V súčasnej dobe je pre mňa najlepším riešením namontovať na štandardné rýchloupínacie adaptéry štandardné ložiská 61800-2RS (približne 2 libry za kus) a potom na ne namontovať výsuvy priechodnej osi (pozri obrázky) pomocou špáradla QR s nadmernou veľkosťou.

Ložiská vyžadujú medzi adaptérom a ložiskom tenkú podložku, napr. M12 16 mm 0,3 mm.

Perfektne sa hodia a otáčajú sa s bicyklom a špízom nezávisle od trénera.

V tejto chvíli sa zmení ofset na strane pohonu o niekoľko mm, takže budete musieť znova indexovať

Navrhujem súčiastky na mieru (pozri plán pdf), ktoré treba obrábať (na sústruhu môjho budúceho švagra, keď bude mať hodinu na pomoc!). Tieto ešte nie sú testované !!! Ale brúsenie 1 mm od vnútorného povrchu QR adaptéra na strane zásobníka je rýchla oprava bez špeciálnych nástrojov;)

Odporúča: