Përmbajtje:

Trajner i mençur i biçikletave të brendshme DIY: 5 hapa
Trajner i mençur i biçikletave të brendshme DIY: 5 hapa

Video: Trajner i mençur i biçikletave të brendshme DIY: 5 hapa

Video: Trajner i mençur i biçikletave të brendshme DIY: 5 hapa
Video: FULL BUILD | Rebuilding A DESTROYED Porsche 911 Turbo! 2024, Nëntor
Anonim
DIY Indoor Bike Brain Trajner i zgjuar
DIY Indoor Bike Brain Trajner i zgjuar
DIY Indoor Bike Brain Trajner i zgjuar
DIY Indoor Bike Brain Trajner i zgjuar
DIY Indoor Bike Brain Trajner i zgjuar
DIY Indoor Bike Brain Trajner i zgjuar

Prezantimi

Ky projekt filloi si një modifikim i thjeshtë për një biçikletë të brendshme Schwinn IC Elite e cila përdor një vidë të thjeshtë dhe jastëkë të ndjerë për cilësimet e rezistencës. Problemi që doja të zgjidhja ishte se hapi i vidës ishte i madh, kështu që diapazoni nga të qenit i paaftë për të pedaluar tek rrota që rrotullohej plotësisht falas ishte vetëm disa gradë në çelësin e rezistencës. Në fillim ndryshova vidën në M6, por më pas do të më duhej të bëja një çelës, kështu që pse të mos përdorni vetëm një motor stepper NEMA 17 të mbetur për të ndryshuar rezistencën? Nëse tashmë ka disa pajisje elektronike, pse të mos shtoni një njehsor të energjisë dhe një lidhje bluetooth në një kompjuter për të bërë një trainer të zgjuar?

Kjo doli më e vështirë se sa pritej, sepse nuk kishte shembuj se si të imitoni një matës të energjisë me një arduino dhe bluetooth. Përfundova duke shpenzuar rreth 20 orë për programimin dhe interpretimin e specifikimeve të BLE GATT. Shpresoj që duke dhënë një shembull mund të ndihmoj dikë të mos humbasë kaq shumë kohë duke u përpjekur të kuptojë se çfarë do të thotë saktësisht "Të dhënat e shërbimit AD Type Type" …

Softuer

I gjithë projekti është në GitHub:

github.com/kswiorek/ble-ftms

Unë rekomandoj shumë përdorimin e Visual Studio me një shtojcë VisualGDB nëse planifikoni të bëni diçka më serioze sesa thjesht të kopjoni-ngjitni kodin tim.

Nëse keni pyetje në lidhje me programin, ju lutemi pyesni, e di që komentet e mia minimaliste mund të mos ndihmojnë shumë.

Kredite

Faleminderit stoppi71 për udhëzuesin e tij se si të bëni një njehsor të energjisë. Unë bëra fiksimin sipas modelit të tij.

Furnizimet:

Materialet për këtë projekt varen shumë nga ajo biçikletë që po modifikoni, por ka disa pjesë universale.

Crank:

  1. Moduli ESP32
  2. HX711 Sensori i peshës ADC
  3. Matës të sforcimit
  4. MPU - xhiroskop
  5. Një bateri e vogël Li-Po (rreth 750mAh)
  6. Mëngë e tkurrjes së nxehtësisë
  7. Shofer A4988 Stepper
  8. Rregullator 5V
  9. Një prizë fuçi arduino
  10. Furnizimi me energji arduino 12V

Konsol:

  1. NEPRA NEMA 17 (duhet të jetë mjaft e fuqishme,> 0.4 Nm)
  2. Shufra M6
  3. 12864 lcd
  4. WeMos LOLIN32
  5. Ndërprerësit e taktit

Pajisjet

Për ta bërë këtë, ju ndoshta mund të shpëtoni duke përdorur vetëm një printer 3D, megjithatë ju mund të kurseni shumë kohë duke prerë kasetën me lazer, dhe gjithashtu mund të bëni PCB. Skedarët DXF dhe gerber janë në GitHub, kështu që ju mund t'i porositni ato në vend. Çiftëzuesi nga shufra e filetuar në motor u ndez në një torno dhe ky mund të jetë problemi i vetëm, pasi pjesa duhet të jetë mjaft e fortë për të tërhequr pads, por nuk ka shumë hapësirë në këtë biçikletë të veçantë.

Që kur bëra biçikletën e parë, bleva një makinë bluarëse e cila më lejon të bëj lojëra elektronike për sensorët në fiksim. I bën ngjitjet e tyre pak më të lehta dhe gjithashtu i mbron ato nëse diçka do të godiste boshtin. (Më kanë rënë disa herë këta sensorë kështu që doja të isha i sigurt.)

Hapi 1: Crank:

Crank
Crank
Crank
Crank
Crank
Crank

Bestshtë mirë që thjesht të ndiqni këtë tutorial:

Në thelb ju duhet të ngjitni sensorët në fiksimin në katër vende dhe t'i lidhni ato në anët e tabelës.

Lidhjet e duhura janë tashmë atje, kështu që ju vetëm duhet të lidhni palët e telave drejtpërdrejt në këto tetë pads në tabelë.

Për t'u lidhur me sensorët përdorni tela më të hollë të mundshëm - jastëkët janë shumë të lehtë për t'u hequr. Ju duhet së pari të ngjitni sensorët dhe t'i lini sa duhet jashtë për t'u bashkuar, pastaj mbuloni pjesën tjetër me epoksi. Nëse përpiqeni të lidhni para ngjitjes, ato përkulen dhe prishen.

Për të montuar PCB:

  1. Futni kunjat e artë nga poshtë (ana me gjurmë) në të gjitha vrimat, përveç atyre vertikale pranë fundit.
  2. Vendosni tre dërrasat (ESP32 në krye, pastaj MPU, HX711 në pjesën e poshtme) në mënyrë që kunjat të ngjiten nëpër të dy vrimat.
  3. Ngjitini titujt në dërrasat në krye
  4. Pritini kunjat e arta nga poshtë. (Provoni t'i preni ato para montimit, në mënyrë që të dini se "kunjat" tuaj nuk janë prej çeliku brenda - kjo i bën gati të pamundura për t'u prerë dhe ju duhet t'i skedoni ose bluani ato)
  5. bashkojini kunjat e mbetur të arit në fund të tabelës.
  6. Ngarko firmware -in për fiksimin

Hapi i fundit është të paketoni të gjithë boshtin me mëngë të zvogëlimit të nxehtësisë.

Kjo metodë e bërjes së tabelës nuk është ideale, pasi bordet zënë shumë hapësirë në të cilën mund të vendosni gjëra të tjera. Më e mira do të ishte të bashkoni të gjithë përbërësit në tabelë direkt, por nuk më mungon aftësia për t'i bashkuar vetë këto SMD të vogla. Do të më duhej ta porosisja atë të montuar, dhe ndoshta do të bëja disa gabime dhe do të përfundoja duke i porositur tri herë dhe duke pritur një vit para se të mbërrinin.

Nëse dikush do të ishte në gjendje të hartonte tabelën, do të ishte mirë nëse do të kishte një qark mbrojtës të baterisë dhe një sensor i cili do të ndizte ESP nëse fiksja fillon të lëvizë.

E RORTNDSISHME

Sensori HX711 si parazgjedhje është vendosur në 10Hz - është shumë i ngadalshëm për matjen e fuqisë. Ju duhet të ngrini pinin 15 nga bordi dhe ta lidhni me pinin 16. Kjo e çon pinin LART HIGH dhe mundëson modalitetin 80Hz. Ky 80Hz, nga rruga, përcakton shkallën e të gjithë lakut arduino.

Përdorimi

ESP32 është programuar për të fjetur pas të 30 -ve pa asnjë pajisje bluetooth të lidhur. Për ta ndezur përsëri duhet të shtypni butonin e rivendosjes. Sensorët gjithashtu mundësohen nga një kunj dixhital, i cili kthehet LOW në modalitetin e gjumit. Nëse doni të testoni sensorët me kodin shembull nga bibliotekat, duhet të drejtoni pinin LART HIGH dhe të prisni pak para se sensorët të ndizen.

Pas montimit sensorët duhet të kalibrohen duke lexuar vlerën pa forcë dhe më pas me një peshë të aplikuar (kam përdorur një kazan 12kg ose 16kg të varur në pedale). Këto vlera duhet të vendosen në kodin powerCrank.

Bestshtë më mirë të grisni boshtin para çdo udhëtimi - nuk duhet të jetë në gjendje të lodhet kur dikush bën pedalim, por është më mirë të sigurt se sa keq dhe është e mundur ta zmadhoni atë vetëm një herë për ndezje. Nëse vëreni disa nivele të çuditshme të fuqisë, duhet ta përsërisni këtë proces:

  1. Vendoseni boshtin drejt poshtë derisa drita të fillojë të pulsojë.
  2. Pas disa sekondash drita do të qëndrojë e ndezur - mos e prekni atëherë
  3. Kur drita fiket, ajo vendos forcën aktuale të zbuluar si një 0 të re.

Nëse doni të përdorni vetëm fiksimin, pa tastierë, kodi është këtu në github. Çdo gjë tjetër funksionon njësoj.

Hapi 2: Konzola

Konsol
Konsol
Konsol
Konsol
Konsol
Konsol

Rasti është prerë nga akriliku 3 mm, butonat janë të printuar 3D dhe ka ndarës për LCD, të prera nga akriliku 5 mm. Shtë ngjitur me zam të nxehtë (ngjitet mjaft mirë në akrilik) dhe ka një "kllapa" të printuar 3D për të mbajtur PCB në LCD. Kunjat për LCD janë ngjitur nga ana e poshtme, kështu që nuk ndërhyn me ESP.

ESP është ngjitur me kokë poshtë, kështu që porta USB përshtatet në kasë

Butoni i veçantë PCB është ngjitur me zam të nxehtë, kështu që butonat kapen në vrimat e tyre, por ato ende shtypin çelsin. Butonat janë të lidhur me tabelën me lidhje JST PH 2.0 dhe rendi i kunjave është i lehtë për tu nxjerrë nga skematika

Veryshtë shumë e rëndësishme të montoni drejtuesin e hapit në orientimin e duhur (potenciometri pranë ESP)

E gjithë pjesa për kartën SD është e çaktivizuar, pasi askush nuk e përdori atë në versionin e parë. Kodi duhet të përditësohet me disa cilësime të UI si pesha e kalorësit dhe vendosja e vështirësisë.

Konsola është montuar duke përdorur "krahë" të prerë me lazer dhe zipitë. Dhëmbët e vegjël gërmojnë në timon dhe mbajnë tastierën.

Hapi 3: Motori

Motorri
Motorri
Motorri
Motorri
Motorri
Motorri

Motori mbahet në vendin e çelësit të rregulluesit me një kllapa të printuar 3D. Në boshtin e tij është montuar një bashkues - njëra anë ka një vrimë 5 mm me vida të vendosura për të mbajtur boshtin, tjetra ka një fije M6 me vida të vendosura për ta kyçur atë. Nëse dëshironi, me siguri mund ta bëni në një stërvitje të stërvitjes nga një stok i rrumbullakët 10 mm. Nuk ka nevojë të jetë jashtëzakonisht i saktë pasi motori nuk është montuar shumë fort.

Një pjesë e shufrës së filetuar M6 është e dehur në bashkues dhe ajo tërheq një arrë bronzi M6. Unë e përpunova atë, por mund të bëhet aq lehtë nga një copë bronzi me një skedar. Ju madje mund të bashkoni disa copa në një arrë normale, në mënyrë që të mos rrotullohet. Një arrë e shtypur 3D mund të jetë gjithashtu një zgjidhje.

Fije duhet të jetë më e hollë se vida e stokut. Hapi i saj është rreth 1.3 mm, dhe për M6 është 0.8 mm. Motori nuk ka çift rrotullues të mjaftueshëm për të kthyer vidën e stokut.

Arra duhet të lubrifikohet mirë, pasi motori mezi mund të kthejë vidën në cilësimet më të larta

Hapi 4: Konfigurimi

Konfigurimi
Konfigurimi
Konfigurimi
Konfigurimi

Për të ngarkuar kodin në ESP32 nga Arduino IDE duhet të ndiqni këtë tutorial:

Bordi është "WeMos LOLIN32", por "moduli Dev" gjithashtu funksionon

Unë sugjeroj të përdorni Visual Studio, por shpesh mund të prishet.

Para përdorimit të parë

Doreza duhet të ngrihet sipas hapit "Crank"

Duke përdorur aplikacionin "nRF Connect" ju duhet të kontrolloni adresën MAC të fiksimit ESP32 dhe ta vendosni atë në skedarin BLE.h.

Në rreshtin 19 të indoorBike.ino ju duhet të vendosni, sa rrotullime të vidës nevojiten për të vendosur rezistencën nga plotësisht e lirshme në maksimale. ("Maksimumi" është subjektiv me qëllim, ju e rregulloni vështirësinë me këtë cilësim.)

Trajner i zgjuar ka "ingranazhe virtuale" për t'i vendosur ato në mënyrë korrekte, ju duhet ta kalibroni atë në linjat 28 dhe 29. Ju duhet të pedaloni me një ritëm të vazhdueshëm në një cilësim të caktuar të rezistencës, pastaj lexoni fuqinë dhe vendoseni në skedar. Përsëriteni këtë përsëri me një cilësim tjetër.

Butoni më i majtë kalon nga modaliteti ERG (rezistenca absolute) në modalitetin e simulimit (ingranazhet virtuale). Mënyra e simulimit pa një lidhje kompjuteri nuk bën asgjë pasi nuk ka të dhëna simulimi.

Linja 36. vendos ingranazhet virtuale - numrin dhe raportet. Ju i llogaritni ato duke ndarë numrin e dhëmbëve në ingranazhin e përparmë me numrin e dhëmbëve në ingranazhin e pasmë.

Në rreshtin 12. ju vendosni peshën e kalorësit dhe biçikletës (Në [njutonë], masa e masës së nxitimit gravitacional!)

E gjithë pjesa e fizikës e kësaj është ndoshta shumë e ndërlikuar dhe madje unë nuk mbaj mend se çfarë bën saktësisht, por unë llogaris çift rrotullues të kërkuar për të tërhequr çiklistin përpjetë ose diçka e tillë (kjo është arsyeja pse kalibrimi).

Këta parametra janë shumë subjektivë, ju duhet t'i vendosni ato pas disa udhëtimeve që të funksionojnë si duhet.

Porta e debugimit COM dërgon të dhëna binare direkte të marra nga bluetooth në thonjëza ('') dhe të dhëna simulimi.

Konfiguruesi

Për shkak se konfigurimi i fizikës gjoja realiste doli të jetë një sherr i madh për ta bërë atë të ndjehet realist, unë krijova një konfigurues GUI që duhet t'i lejojë përdoruesit të përcaktojnë në mënyrë grafike funksionin i cili konvertohet nga shkalla e kodrës në nivelin e rezistencës absolute. Ende nuk ka përfunduar plotësisht dhe nuk kam pasur mundësi ta provoj, por në muajin e ardhshëm do të konvertoj një biçikletë tjetër, kështu që do ta lustroj atëherë.

Në skedën "Ingranazhet" mund të vendosni raportin e secilës ingranazh duke lëvizur rrëshqitësit. Atëherë ju duhet të kopjoni bitin e kodit për të zëvendësuar ingranazhet e përcaktuara në kod.

Në skedën "Nota" ju jepet një grafik i një funksioni linear (po, rezulton se lënda më e urryer në matematikë është në të vërtetë e dobishme) që merr notën (boshti vertikal) dhe nxjerr hapa të rezistencës absolute (boshti horizontal). Do të hyj në matematikë pak më vonë për të interesuarit.

Përdoruesi mund ta përcaktojë këtë funksion duke përdorur dy pikat që shtrihen mbi të. Në të djathtë ka një vend për të ndryshuar ingranazhin aktual. Pajisja e zgjedhur, siç mund ta imagjinoni, ndryshon mënyrën se si klasifikohet rezistenca - në ingranazhet më të ulëta është më e lehtë të pedaloni përpjetë. Zhvendosja e rrëshqitësit ndryshon koeficientin e dytë, i cili ndikon në mënyrën se si ingranazhi i zgjedhur ndryshon funksionin. Iestshtë më e lehtë të luash me të për ca kohë për të parë se si sillet. Ju gjithashtu mund të keni nevojë të provoni disa cilësime të ndryshme për të gjetur atë që funksionon më mirë për ju.

Shtë shkruar në Python 3 dhe duhet të punojë me bibliotekat e paracaktuara. Për ta përdorur atë, duhet të mos komentoni linjat menjëherë pasi të "komentoni këto rreshta për të përdorur konfiguruesin". Siç thashë, nuk u testua, kështu që mund të ketë disa gabime, por nëse shfaqet diçka, ju lutemi shkruani një koment ose hapni një çështje, në mënyrë që ta korrigjoj atë.

Matematika (dhe fizika)

E vetmja mënyrë që kontrolluesi mund ta bëjë të ndihet sikur po shkoni përpjetë është duke e kthyer vidën e rezistencës. Ne duhet të konvertojmë notën në numrin e rrotullimeve. Për ta bërë më të lehtë konfigurimin, i gjithë diapazoni nga plotësisht i lirshëm deri në pamundësinë e kthimit të boshtit ndahet në 40 hapa, i njëjti i përdorur në modalitetin ERG, por këtë herë përdor numra realë në vend të numrave të plotë. Kjo bëhet me një funksion të thjeshtë të hartës - mund ta shikoni në kod. Tani jemi një hap më lart - në vend që të merremi me revolucionet e vidës, kemi të bëjmë me hapa imagjinarë.

Tani si funksionon në të vërtetë kur shkoni përpjetë me biçikletë (duke supozuar një shpejtësi konstante)? Padyshim që duhet të ketë një forcë që ju shtyn lart, përndryshe ju do të rrëzoheni poshtë. Kjo forcë, siç na thotë ligji i parë i lëvizjes, duhet të jetë e barabartë në madhësi, por e kundërt në drejtim me forcën që ju tërheq poshtë, që të jeni në lëvizje uniforme. Ajo vjen nga fërkimi midis timonit dhe tokës dhe nëse vizatoni diagramin e këtyre forcave, duhet të jetë e barabartë me peshën e biçikletës dhe kalorësi të kalojë gradën:

F = Fg*G

Tani çfarë e bën timonin të zbatojë këtë forcë? Meqenëse kemi të bëjmë me ingranazhe dhe rrota, është më e lehtë të mendosh për sa i përket çift rrotullues, i cili është thjesht forca në rreze:

t = F*R

Meqenëse ka ingranazhe të përfshira, ju jepni një çift rrotullues në fiksimin, i cili tërheq zinxhirin dhe kthen timonin. Çift rrotullues i nevojshëm për të kthyer rrotën shumëzohet me raportin e ingranazheve:

tp = tw*gr

dhe mbrapa nga formula e çift rrotullues marrim forcën e kërkuar për të kthyer pedalin

Fp = tp/r

Kjo është diçka që ne mund ta masim duke përdorur njehsorin e fuqisë në fiksim. Ndërsa fërkimi dinamik lidhet në mënyrë lineare me forcën dhe pasi kjo biçikletë e veçantë përdor burimet për të dhënë këtë forcë, është lineare me lëvizjen e vidës.

Fuqia është forca e shpejtësisë (duke supozuar të njëjtin drejtim të vektorëve)

P = F*V

dhe shpejtësia lineare e pedalës lidhet me shpejtësinë këndore:

V = ω*r

dhe kështu ne mund të llogarisim forcën e kërkuar për të kthyer pedalet në një nivel të caktuar rezistence. Meqenëse gjithçka është e lidhur në mënyrë lineare, ne mund të përdorim proporcione për ta bërë këtë.

Kjo ishte në thelb ajo që softveri duhej të llogariste gjatë kalibrimit dhe duke përdorur një mënyrë rrethrrotullimi për të na sjellë një përbërje të komplikuar, por një funksion linear që lidhet me shkallën me rezistencën. Shkrova gjithçka në letër duke llogaritur ekuacionin përfundimtar dhe të gjitha konstantet u bënë tre koeficientë.

Ky është teknikisht një funksion 3D që përfaqëson një aeroplan (mendoj) që merr notën dhe raportin e ingranazheve si argumente, dhe këta tre koeficientë lidhen me ato të nevojshëm për të përcaktuar një aeroplan, por pasi ingranazhet janë numra diskretë, ishte më e lehtë për ta bërë atë një parametër në vend që të merret me parashikimet dhe të tilla. Koeficientët e parë dhe të tretë mund të përcaktohen me një vijë të vetme dhe (-1)* koeficienti i dytë është koordinata X e pikës, ku vija "rrotullohet" kur ndryshon ingranazhet.

Në këtë vizualizim argumentet përfaqësohen nga vija vertikale dhe vlerat nga ajo horizontale, dhe unë e di që kjo mund të jetë e bezdisshme, por ishte më intuitive për mua dhe i përshtatet më mirë GUI -t. Kjo është ndoshta arsyeja pse ekonomistët i tërheqin grafikët e tyre në këtë mënyrë.

Hapi 5: Përfundoni

Tani keni nevojë për disa aplikacione për të hipur në trainerin tuaj të ri (i cili ju kurseu rreth 900 dollarë:)). Këtu janë mendimet e mia për disa prej tyre.

  • RGT Cycling - sipas mendimit tim më e mira - ka një mundësi krejtësisht falas, por ka pak këngë. Merret më së miri me pjesën e lidhjes, sepse telefoni juaj lidhet përmes bluetooth -it dhe një kompjuter shfaq pjesën muzikore. Përdor video realiste me një çiklist AR
  • Rouvy - shumë këngë, vetëm abonim me pagesë, për ndonjë arsye aplikacioni PC nuk punon me këtë, ju duhet të përdorni telefonin tuaj. Mund të ketë probleme kur laptopi juaj përdor të njëjtën kartë për bluetooth dhe WiFi, shpesh vonon dhe nuk dëshiron të ngarkohet
  • Zwift - një lojë e animuar, e paguar vetëm, punon mjaft mirë me trajnerin, por UI është mjaft primitiv - lëshuesi përdor Internet Explorer për të shfaqur menunë.

Nëse ju pëlqeu ndërtimi (ose jo), ju lutem më tregoni në komente dhe nëse keni ndonjë pyetje mund të bëni këtu ose të paraqisni një çështje në github. Me kënaqësi do të shpjegoj gjithçka pasi është mjaft e ndërlikuar.

Recommended: