
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49




pengantar
Sebuah perusahaan kebugaran terkenal yang berbasis di AS (Wahoo) baru-baru ini mengeluarkan alat bantu pelatihan dalam ruangan yang bagus yang menaikkan dan menurunkan bagian depan sepeda pada pelatih turbo sesuai dengan tingkat simulasi bukit yang dikendarai pengguna (Kickr Climb).
Tampak luar biasa tetapi sayangnya ini tidak tersedia untuk kita semua karena Anda akan membutuhkan 1) pelatih Wahoo kelas atas dan 2) uang tunai £ 500 untuk menjadikannya milik Anda.
Saya mematahkan klavikula (tidak pernah menempatkan pengendara sepeda jalan di sepeda gunung) jadi saya memiliki lebih banyak mil di pelatih dan lebih banyak waktu untuk bermain-main dan berpikir ini bisa menjadi proyek yang menyenangkan.
Unit komersial mensimulasikan -5% hingga +20% jadi saya ingin mendekati itu tetapi dengan 10% dari anggaran!
Ini dirancang di sekitar Tacx Neo saya tetapi pelatih apa pun yang menyiarkan data kekuatan dan kecepatannya melalui ANT + atau BLE dapat dibuat berfungsi (saya rasa!).
Karena dasar roda pada sepeda jalan saya berukuran tepat 1000mm, saya perlu mengangkat garpu sebesar 200mm untuk mensimulasikan 20% (lihat gambar) sehingga aktuator linier 200mm akan melakukannya. Berat sepeda + pengendara tidak mungkin melebihi 100kg dan karena ini didistribusikan di antara gandar dan sebagian besar di belakang, 750N akan mengangkat 75kg dan seharusnya baik-baik saja. Aktuator yang lebih cepat tersedia untuk lebih banyak uang tetapi yang ini harganya sekitar £ 20 dan mengelola 10mm/dtk. Aktuator dengan potensiometer yang dapat digunakan sebagai servo sederhana juga 2 hingga 3 kali lebih mahal.
Perlengkapan
Cetak 3D (PLA atau ABSetc) dari bagian adaptor poros tembus:
100mm stok tabung aluminium 3/4 inci 10 swg (untuk rangka poros tembus)
80mm dari stok batang baja tahan karat 6mm
Cetakan 3D (PLA atau ABSetc) sepatu untuk bagian aktuator linier:
Cetakan 3D Case untuk H-bridge
Cetakan 3D Case untuk Arduino (Versi 1 dengan keypad) https://www.thingiverse.com/thing:3984911 (Versi 2 seperti yang ditunjukkan (https://www.thingiverse.com/thing:3995976)
Potongan laser akrilik bening 3mm 32 x 38mm agar Anda tidak berkeringat di seluruh bagian elektronik (melakukan itu, tidak ideal).
Beberapa blok pendarahan (diadaptasi untuk membiarkan bantalan masuk) untuk mencegah Anda secara tidak sengaja mendorong piston kaliper keluar dari rem cakram Shimano Anda dengan antusias
Linear Actuator 750N 200mm travel misalnya Al03 Mini Linear Actuator dari
Jembatan L298N H (seperti:
Arduino Nano IoT 33 www.rapidonline.com memesan 73-4863
2 keyboard membran kunci misalnya
IIC I2C Logic Level Converter Modul Bi-Directional 5V ke 3.3V Untuk Arduino misalnya
Catu daya DC 12V 3A - yang untuk penerangan LED berfungsi dengan baik!
NPE CABLE Ant+ ke BLE bridge
Klip 3D yang dapat dicetak untuk jembatan KABEL
1.3 OLED LCD Display Module dengan IIC I2C Interface 128x32 3.3V
Langkah 1: Beberapa Matematika

Kita perlu menghitung kemiringan yang disimulasikan. Saya berharap pelatih akan mengiklankan data ini bersama dengan kecepatan, kekuatan, irama, dll. Namun pelatih hanya mengatur resistensi untuk mempertahankan output daya sesuai dengan perangkat lunak pada tablet, komputer, dll yang digunakan untuk mengontrolnya. Saya tidak memiliki cara untuk dengan mudah menangkap 'nilai simulasi' dari perangkat lunak sehingga saya harus bekerja mundur…
Gaya yang bekerja pada sepeda dan pengendara adalah kombinasi dari kerugian resistif dan daya yang dibutuhkan untuk mendaki bukit. Pelatih melaporkan kecepatan dan kekuatan. Jika kita dapat menemukan kerugian resistif pada kecepatan tertentu maka daya yang tersisa digunakan untuk mendaki bukit. Kekuatan untuk mendaki tergantung pada berat sepeda dan pengendara dan tingkat pendakian sehingga kami dapat bekerja kembali ke tanjakan.
Pertama saya menggunakan https://bikecalculator.com yang luar biasa untuk menemukan beberapa titik data untuk kehilangan daya resistif pada kecepatan biasa. Kemudian saya mengubah domain kecepatan untuk menghasilkan hubungan linier dan menemukan garis yang paling cocok. Dengan mengambil persamaan garis, sekarang kita dapat menghitung daya (W) dari hambatan = (0,0102*(Kecepatankmh^2.8))+9,428.
Ambil daya dari hambatan dari daya terukur untuk memberikan daya 'memanjat'.
Kita tahu kecepatan pendakian dalam km/jam dan mengubahnya menjadi satuan SI m/s (bagi 3.6).
Kemiringan ditemukan dari: Kemiringan (%) =((PowerClimbing/(WeightKg*g))/Kecepatan)*100
di mana percepatan jatuh bebas g = 9,8m/s/s atau 9,8 N/kg
Langkah 2: Dapatkan Beberapa Data

Perhitungan tanjakan membutuhkan kecepatan dan tenaga. Saya menggunakan Arduino Nano 33 IoT untuk terhubung ke pelatih melalui BLE untuk menerima ini. Awalnya saya terjebak karena versi v.1.1.2 saat ini dari perpustakaan ArduinoBLE asli untuk modul ini tidak menangani otentikasi dalam bentuk apa pun yang berarti sebagian besar (?) sensor BLE komersial tidak akan berpasangan dengannya.
Solusinya adalah menggunakan jembatan NPE Cable ANT+ ke BLE (https://npe-inc.com/cableinfo/) yang membuat BLE bawaan pelatih gratis untuk aplikasi pelatihan untuk berkomunikasi dan tidak memerlukan otentikasi pada BLE samping.
Karakteristik daya BLE cukup sederhana karena daya dalam watt terkandung dalam byte kedua dan ketiga dari data yang ditransmisikan sebagai bilangan bulat 16 bit (little endian yaitu oktet paling tidak signifikan terlebih dahulu). Saya menerapkan filter rata-rata bergerak untuk memberikan daya rata-rata 3 detik - seperti yang ditunjukkan komputer sepeda saya - karena ini tidak terlalu tidak menentu.
if (powerCharacteristic.valueUpdated()) {
// Tentukan array untuk nilai uint8_t holdpowervalues[6] = {0, 0, 0, 0, 0, 0}; // Baca nilai ke dalam array powerCharacteristic.readValue(holdpowervalues, 6); // Daya dikembalikan sebagai watt di lokasi 2 dan 3 (loc 0 dan 1 adalah flag 8 bit) byte rawpowerValue2 = holdpowervalues[2]; // daya paling sedikit sig byte dalam byte HEX rawpowerValue3 = nilai daya tahan[3]; // memberi daya paling banyak sig byte dalam HEX long rawpowerTotal = (rawpowerValue2 + (rawpowerValue3 * 256)); // Gunakan filter rata-rata bergerak untuk memberikan 'kekuatan 3 detik' powerTrainer = movingAverageFilter_power.process(rawpowerTotal);
Karakteristik kecepatan BLE (Cycling Speed and Cadence) adalah salah satu hal yang membuat Anda bertanya-tanya apa yang dihisap SIG ketika mereka menulis spesifikasinya.
Karakteristik mengembalikan array 16 byte yang tidak berisi kecepatan maupun irama. Sebagai gantinya, Anda mendapatkan putaran roda dan putaran engkol (total) dan waktu sejak data peristiwa terakhir dalam 1024 detik. Jadi lebih banyak matematika. Oh, dan byte tidak selalu ada sehingga ada byte flag di awal. Oh, dan bytenya adalah little endian HEX jadi Anda perlu membaca mundur dengan mengalikan byte kedua dengan 256, ketiga dengan 65536, dst. lalu menjumlahkannya. Untuk menemukan kecepatan Anda perlu mengasumsikan lingkar roda sepeda standar untuk mengetahui jarak….
if (speedCharacteristic.valueUpdated()) {
// Nilai ini membutuhkan array 16 byte uint8_t holdvalues[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // Tapi saya hanya akan membaca 7 speedCharacteristic.readValue(holdvalues, 7); byte rawValue0 = nilai tahan[0]; // flag biner 8 bit int byte rawValue1 = nilai tahan[1]; // revolusi byte paling signifikan dalam HEX byte rawValue2 = nilai-nilai[2]; // merevolusi byte paling signifikan berikutnya dalam byte HEX rawValue3 = nilai tahan[3]; // merevolusi byte paling signifikan berikutnya dalam byte HEX rawValue4 = nilai tahan[4]; // merevolusi byte paling signifikan dalam byte HEX rawValue5 = holdvalues[5]; // waktu sejak kejadian roda terakhir paling sedikit sig byte byte rawValue6 = holdvalues[6]; // waktu sejak peristiwa roda terakhir paling sig byte if (Data pertama) { // Dapatkan putaran roda kumulatif sebagai hex endian kecil di loc 2, 3 dan 4 (oktet terkecil pertama) WheelRevs1 = (rawValue1 + (rawValue2 * 256) + (rawValue3 * 65536) + (rawValue4 * 16777216)); // Dapatkan waktu sejak peristiwa roda terakhir dalam 1024 detik Waktu_1 = (rawValue5 + (rawValue6 * 256)); firstData = salah; } else { // Dapatkan set data kedua long WheelRevsTemp = (rawValue1 + (rawValue2 * 256) + (rawValue3 * 65536) + (rawValue4 * 16777216)); long TimeTemp = (rawValue5 + (rawValue6 * 256)); if (WheelRevsTemp > WheelRevs1) { // pastikan sepeda bergerak WheelRevs2 = WheelRevsTemp; Waktu_2 = WaktuTemp; firstData = benar;}
// Cari selisih jarak dalam cm dan ubah ke km float distanceTravelled = ((WheelRevs2 - WheelRevs1) * wheelCircCM);
float kmTravelled = jarakTravelled / 1000000;
// Cari waktu dalam 1024 detik dan ubah ke jam
float timeDifference = (Waktu_2 - Waktu_1); float timeSecs = timeDifference / 1024; float timeHrs = timeSecs / 3600;
// Cari kecepatan kmh
speedKMH = (kmTravelled / timeHrs);
Sketsa Arduino di-host di GitHub (https://github.com/mockendon/opengradesim).
Langkah 3: Perangkat Keras 1 Aktuator Linier



Gandar tembus pada sepeda jalan rem cakram saya menetapkan poros 19,2 mm untuk membersihkan poros tembus 12 mm dengan 100 mm di antara garpu.
Stok tabung aluminium 10swg 3/4 inci sangat cocok dan pria yang bagus bernama Dave di ebay (https://www.ebay.co.uk/str/aluminiumonline) disediakan dan dipotong memanjang untuk saya untuk beberapa pon.
Aktuator memiliki batang 20mm dengan lubang 6mm sehingga bagian yang dicetak 3D menghubungkan tabung aluminium ke batang baja 6mm dan karena gaya kompresi 90%, beberapa PLA / ABS siap menghadapi tantangan.
Jika Anda menjalankan penyiapan rilis cepat standar maka sesuatu seperti ini (https://www.amazon.co.uk/Sharplace-Quick-Release-Conversion-Adapter/dp/B079DCY344) akan menghindari keharusan mendesain ulang komponen ini.
Boot dirancang agar sesuai dengan blok pengangkat yang disertakan dengan pelatih Tacx saya tetapi mungkin akan cocok dengan banyak penggalang serupa atau Anda dapat mengedit file TinkerCad sesuai dengan kebutuhan Anda.
Langkah 4: Perangkat Keras 2 - H-Bridge



Papan jembatan L298N H yang sangat umum online ini memiliki regulator 5V bawaan yang sangat bagus untuk memberi daya pada Arduino dari catu daya 12V yang diperlukan untuk aktuator linier. Sayangnya papan Arduino Nano IoT adalah pensinyalan 3.3V sehingga perlu konverter level logis (atau optoisolator karena sinyalnya hanya searah).
Kasing ini dirancang untuk menerima konektor daya yang biasa digunakan dalam aplikasi pencahayaan LED. Saya memotong kabel ekstensi USB untuk memungkinkan untuk menghubungkan / memutuskan unit kepala Arduino dengan mudah dan sementara saya yakin untuk menggunakan saluran listrik untuk daya dan saluran data untuk pensinyalan 3.3V, saya akan dengan jujur menyatakan MELAWAN ini seperti yang saya lakukan benci seseorang untuk menggoreng port USB atau periferal mereka dengan mencolokkannya secara tidak sengaja!
Langkah 5: Perangkat Keras 3 Kontrol Elektronik (Arduino)



Kasing untuk Arduino OLED dan konverter level logika memiliki dudukan gaya Garmin 1/2 putaran standar di bagian belakang untuk memungkinkannya dipasang dengan aman ke sepeda. Sebuah 'depan depan' mount akan memungkinkan unit untuk dimiringkan ke atas atau ke bawah ke 'nol' posisi accelerometer atau baris kode hanya untuk auto nol di awal akan mudah untuk menambahkan.
Kasing memiliki tempat untuk keypad membran - ini digunakan untuk mengatur kombinasi berat pengendara dan sepeda. Anda dapat mengatur ini secara terprogram terutama jika Anda tidak berbagi pelatih dengan siapa pun.
Mungkin bagus untuk menerapkan mode 'manual'. Mungkin menekan kedua tombol dapat memulai mode manual dan kemudian tombol dapat menambah / mengurangi kemiringan. Saya akan menambahkan ini ke daftar tugas!
File STL kasing, sekali lagi, tersedia di Thingiverse (lihat bagian persediaan untuk tautan).
Sketsa Arduino di-host di GitHub (https://github.com/mockendon/opengradesim).
Anda dapat mencetak klip kecil yang rapi untuk jembatan KABEL Anda dari sini
Langkah 6: 'Drop Out Belakang'



Banyak orang telah mengangkat masalah gesekan bagian belakang saat sepeda bergerak. Beberapa pelatih memiliki poros yang bergerak (seperti Kickr) tetapi banyak yang tidak.
Saat ini solusi terbaik saya untuk saya adalah memasang beberapa bantalan alur dalam standar 61800-2RS (masing-masing sekitar £ 2) pada adaptor rilis cepat dan kemudian memasang drop out axel melalui ini (lihat gambar) dengan tusuk sate QR ukuran lebih besar
Bantalan membutuhkan mesin cuci shim tipis misalnya M12 16mm 0.3mm antara adaptor dan bantalan.
Mereka pas dan berputar dengan sepeda dan tusuk sate secara independen dari pelatih.
Saat ini ini mengubah offset pada sisi drive beberapa mm sehingga Anda harus mengindeks ulang
Saya merancang suku cadang khusus (lihat rencana pdf) ke mesin (pada mesin bubut saudara ipar masa depan saya ketika dia memiliki waktu satu jam untuk membantu!). Ini belum diuji!!! Tetapi menggiling 1mm dari permukaan bagian dalam adaptor QR sisi drive stok adalah perbaikan cepat tanpa alat khusus;)
Direkomendasikan:
SIMULATOR GAME BALAP DIY -- SIMULATOR F1: 5 Langkah

SIMULATOR GAME BALAP DIY || F1 SIMULATOR: Halo semuanya Selamat datang di saluran saya,Hari ini saya akan menunjukkan kepada Anda, bagaimana saya membuat "Simulator Game Balap" dengan bantuan Arduino UNO. ini bukan blog build, ini hanya ikhtisar dan uji simulator. Selesai membangun blog segera hadir
Bagaimana Menghubungkan Pemancar FlySky ke Semua Simulator PC (ClearView RC Simulator) -- Tanpa Kabel: 6 Langkah

Bagaimana Menghubungkan Pemancar FlySky ke Semua Simulator PC (ClearView RC Simulator) || Tanpa Kabel: Panduan untuk menghubungkan FlySky I6 dengan komputer untuk mensimulasikan penerbangan untuk pemula pesawat sayap. Koneksi simulasi penerbangan menggunakan Flysky I6 dan Arduino tidak memerlukan penggunaan kabel simulasi
Sistem Peringatan Buka Kunci Sepeda: 15 Langkah

Sistem Peringatan Buka Kunci Sepeda: Hai semuanya…!!Bagaimana kabarmu? Anda semua memiliki kendaraan di rumah Anda. Keselamatan kendaraan penting bagi semua. Saya kembali dengan jenis proyek yang serupa. Dalam proyek ini saya membuat sistem peringatan buka kunci sepeda menggunakan Modul GSM dan Arduino. Saat sepeda dibuka kuncinya
Simulator Sepeda Dengan Penyesuaian Kecepatan Waktu Nyata: 5 Langkah

Simulator Sepeda Dengan Penyesuaian Kecepatan Waktu Nyata: Proyek ini menggunakan sakelar buluh magnetik untuk membuat speedometer dan mengontrol kecepatan video video bersepeda orang pertama di YouTube atau media lain. Arduino menghitung mph dan kemudian menggunakan informasi itu untuk mensimulasikan penekanan tombol komputer
Simulator Kecepatan untuk Game Balap atau Simulator Coaster: 5 Langkah (dengan Gambar)

Simulator Kecepatan untuk Game Balap atau Simulator Coaster: proyek sederhana, kipas akan meniupkan udara ke wajah Anda sesuai dengan kecepatan dalam game. Mudah dilakukan dan lucu