جدول المحتويات:

المدرب الذكي للدراجة الداخلية DIY: 5 خطوات
المدرب الذكي للدراجة الداخلية DIY: 5 خطوات

فيديو: المدرب الذكي للدراجة الداخلية DIY: 5 خطوات

فيديو: المدرب الذكي للدراجة الداخلية DIY: 5 خطوات
فيديو: كيف تقنع الزبون بالشراء : 5 أسرار تجعلك بائعًا ساحراً 2024, ديسمبر
Anonim
DIY مدرب داخلي الدراجة الذكية
DIY مدرب داخلي الدراجة الذكية
DIY مدرب داخلي الدراجة الذكية
DIY مدرب داخلي الدراجة الذكية
DIY مدرب داخلي الدراجة الذكية
DIY مدرب داخلي الدراجة الذكية

مقدمة

بدأ هذا المشروع كتعديل بسيط لدراجة داخلية من طراز Schwinn IC Elite تستخدم لولبًا بسيطًا ولبادًا لإعدادات المقاومة. كانت المشكلة التي كنت أرغب في حلها هي أن درجة ميل المسمار كانت كبيرة ، لذا فإن النطاق من عدم القدرة على الدواسة إلى دوران العجلة بحرية تمامًا كان مجرد بضع درجات على مقبض المقاومة. في البداية ، قمت بتغيير المسمار إلى M6 ، ولكن بعد ذلك كان علي أن أقوم بعمل مقبض ، فلماذا لا تستخدم فقط محرك خطوة يسارًا NEMA 17 لتغيير المقاومة؟ إذا كان هناك بالفعل بعض الأجهزة الإلكترونية ، فلماذا لا تضيف عداد طاقة كرنك واتصال بلوتوث بجهاز كمبيوتر لإنشاء مدرب ذكي؟

ثبت أن هذا أكثر صعوبة مما كان متوقعًا ، لأنه لم تكن هناك أمثلة حول كيفية محاكاة عداد الطاقة باستخدام اردوينو وبلوتوث. انتهى بي الأمر بإنفاق حوالي 20 ساعة على البرمجة وتفسير مواصفات BLE GATT. آمل أنه من خلال تقديم مثال يمكنني مساعدة شخص ما على عدم إضاعة الكثير من الوقت في محاولة فهم ما يعنيه بالضبط "حقل نوع بيانات الخدمة AD" …

برمجة

المشروع بأكمله على جيثب:

github.com/kswiorek/ble-ftms

أوصي بشدة باستخدام Visual Studio مع برنامج VisualGDB الإضافي إذا كنت تخطط للقيام بشيء أكثر جدية من مجرد نسخ ولصق الكود الخاص بي.

إذا كانت لديك أسئلة حول البرنامج ، من فضلك اسأل ، أنا أعلم أن تعليقاتي المبسطة قد لا تساعد كثيرًا.

الاعتمادات

بفضل stoppi71 على دليله حول كيفية صنع عداد الطاقة. لقد قمت بعمل الكرنك وفقًا لتصميمه.

اللوازم:

تعتمد المواد الخاصة بهذا المشروع بشكل كبير على الدراجة التي تقوم بتعديلها ، ولكن هناك بعض الأجزاء العامة.

كرنك:

  1. وحدة ESP32
  2. جهاز استشعار الوزن HX711 ADC
  3. مقاييس الإجهاد
  4. MPU - جيروسكوب
  5. بطارية Li-Po صغيرة (حوالي 750 مللي أمبير)
  6. غلاف يتقلص الحرارة
  7. A4988 سائق السائر
  8. 5V منظم
  9. جاك برميل اردوينو
  10. 12 فولت اردوينو امدادات الطاقة

وحدة التحكم:

  1. محرك NEMA 17 (يجب أن يكون قويًا جدًا ،> 0.4 نيوتن متر)
  2. قضيب M6
  3. 12864 شاشات الكريستال السائل
  4. WeMos LOLIN32
  5. براعة المفاتيح

ادوات

للقيام بذلك ، ربما يمكنك الابتعاد عن استخدام طابعة ثلاثية الأبعاد فقط ، ومع ذلك يمكنك توفير الكثير من الوقت عن طريق قطع العلبة بالليزر ، ويمكنك أيضًا صنع ثنائي الفينيل متعدد الكلور. ملفات DXF و gerber موجودة على GitHub ، لذا يمكنك طلبها محليًا. تم تشغيل قارنة التوصيل من القضيب الملولب إلى المحرك على مخرطة وقد تكون هذه هي المشكلة الوحيدة ، حيث يجب أن يكون الجزء قويًا جدًا لسحب الوسادات ، ولكن لا توجد مساحة كبيرة في هذه الدراجة بالذات.

منذ أن صنعت أول دراجة ، حصلت على آلة طحن تسمح لي بعمل فتحات لأجهزة الاستشعار في الكرنك. إنه يجعل لصقها أسهل قليلاً ويحميها أيضًا إذا أصاب الكرنك شيئًا ما. (لقد سقطت هذه المستشعرات عدة مرات ، لذا أردت أن أكون آمنًا).

الخطوة الأولى: الكرنك:

الساعد
الساعد
الساعد
الساعد
الساعد
الساعد

من الأفضل اتباع هذا البرنامج التعليمي فقط: https://www.instructables.com/Homemade-Cycling-Pow …

تحتاج بشكل أساسي إلى لصق المستشعرات بالكرنك في أربعة أماكن وتوصيلها بجوانب اللوحة.

الوصلات المناسبة موجودة بالفعل ، لذا عليك فقط لحام أزواج الأسلاك مباشرة في هذه الوسادات الثمانية الموجودة على السبورة.

للاتصال بالمستشعرات ، استخدم أنحف سلك ممكن - من السهل جدًا رفع الوسادات. تحتاج إلى لصق المستشعرات أولاً وترك ما يكفي منها بالخارج للحام ، ثم قم بتغطية الباقي بالإيبوكسي. إذا حاولت اللحام قبل اللصق ، فإنها تتجعد وتنكسر.

لتجميع PCB:

  1. أدخل دبابيس الذهب من الأسفل (الجانب الذي به آثار) في جميع الثقوب باستثناء تلك الرأسية بالقرب من القاع.
  2. ضع الألواح الثلاثة (ESP32 في الأعلى ، ثم MPU ، و HX711 في الأسفل) بحيث تلتصق الدبابيس الذهبية من خلال الفتحتين.
  3. جندى الرؤوس للوحات في الأعلى
  4. قطع الدبابيس الذهبية من القاع. (جرب قصها أولاً قبل التجميع ، حتى تعرف أن "دبابيسك الذهبية" ليست من الصلب بالداخل - فهذا يجعل قطعها شبه مستحيل وتحتاج إلى تبريدها أو طحنها)
  5. قم بلحام الدبابيس الذهبية المتبقية في أسفل اللوحة.
  6. تحميل البرامج الثابتة للكرنك

الخطوة الأخيرة هي تعبئة الكرنك بالكامل مع غلاف الانكماش الحراري.

هذه الطريقة في صنع السبورة ليست مثالية ، حيث تشغل الألواح مساحة كبيرة يمكنك فيها وضع أشياء أخرى. سيكون الأفضل هو لحام جميع المكونات باللوحة مباشرة ، لكنني أفتقر إلى المهارة في لحام هذه SMD الصغيرة بنفسي. سأحتاج إلى طلب تجميعها ، وربما أرتكب بعض الأخطاء وينتهي بي الأمر بطلبها ثلاث مرات والانتظار لمدة عام قبل وصولهم.

إذا كان شخص ما قادرًا على تصميم اللوحة ، فسيكون أمرًا رائعًا أن يكون لديها بعض دوائر حماية البطارية وجهاز استشعار يعمل على تشغيل ESP إذا بدأ الكرنك في الحركة.

الأهمية

يتم تعيين مستشعر HX711 افتراضيًا على 10 هرتز - مما يؤدي إلى إبطاء قياس الطاقة. تحتاج إلى رفع الدبوس 15 من اللوحة وتوصيله بالرقم 16. وهذا يقود الدبوس عاليًا ويمكّن وضع 80 هرتز. بالمناسبة ، هذا 80 هرتز يحدد معدل حلقة اردوينو بأكملها.

إستعمال

تمت برمجة ESP32 للنوم بعد 30 ثانية مع عدم توصيل جهاز بلوتوث. لإعادة تشغيله ، تحتاج إلى الضغط على زر إعادة الضبط. يتم تشغيل المستشعرات أيضًا من دبوس رقمي ، والذي يتحول إلى LOW في وضع السكون. إذا كنت ترغب في اختبار المستشعرات باستخدام رمز المثال من المكتبات ، فأنت بحاجة إلى دفع الدبوس عاليًا والانتظار قليلاً قبل تشغيل المستشعرات.

بعد التجميع ، يجب معايرة المستشعرات من خلال قراءة القيمة بدون قوة ثم بالوزن المطبق (استخدمت جرسًا بوزن 12 كجم أو 16 كجم معلقًا على الدواسة). يجب وضع هذه القيم في كود powerCrank.

من الأفضل تفريغ الكرنك قبل كل رحلة - لا ينبغي أن يكون قادرًا على إفساد نفسه عندما يقوم شخص ما بالدواسة ، ولكن أفضل أمانًا من الأسف ومن الممكن أن يفسدها مرة واحدة فقط في كل تشغيل. إذا لاحظت بعض مستويات الطاقة الغريبة ، فأنت بحاجة إلى تكرار هذه العملية:

  1. ضع الكرنك بشكل مستقيم حتى يبدأ الضوء في الوميض.
  2. بعد بضع ثوانٍ ، سيبقى الضوء مضاءً - لا تلمسه بعد ذلك
  3. عندما ينطفئ الضوء ، فإنه يضبط القوة الحالية المكتشفة على أنها 0 جديدة.

إذا كنت تريد فقط استخدام الكرنك ، بدون وحدة التحكم ، فإن الكود موجود هنا على جيثب. كل شيء آخر يعمل بنفس الطريقة.

الخطوة 2: وحدة التحكم

وحدة التحكم
وحدة التحكم
وحدة التحكم
وحدة التحكم
وحدة التحكم
وحدة التحكم

العلبة مقطوعة من أكريليك 3 مم ، الأزرار مطبوعة ثلاثية الأبعاد وهناك فواصل لشاشات الكريستال السائل ، مقطوعة من أكريليك 5 مم. يتم لصقها بالغراء الساخن (يلتصق جيدًا بالأكريليك) ويوجد "قوس" مطبوع ثلاثي الأبعاد لتثبيت PCB على شاشة LCD. يتم لحام دبابيس شاشة LCD من الجانب السفلي بحيث لا تتداخل مع ESP.

ESP ملحوم رأسًا على عقب ، لذا فإن منفذ USB يناسب العلبة

يتم لصق الزر المنفصل ثنائي الفينيل متعدد الكلور بالغراء الساخن ، بحيث يتم التقاط الأزرار في ثقوبها ، لكنها لا تزال تضغط على المفاتيح. الأزرار متصلة باللوحة مع موصلات JST PH 2.0 ويسهل استنتاج ترتيب الدبوس من التخطيطي

من المهم جدًا تركيب محرك السائر في الاتجاه الصحيح (مقياس الجهد بالقرب من ESP)

تم تعطيل الجزء الخاص ببطاقة SD بالكامل ، حيث لم يستخدمه أحد في الإصدار الأول. يجب تحديث الكود ببعض إعدادات واجهة المستخدم مثل وزن الراكب وضبط الصعوبة.

يتم تركيب الكونسول باستخدام "أذرع" ليزركوت وزيبتيز. الأسنان الصغيرة تحفر في المقاود وتمسك وحدة التحكم.

الخطوة الثالثة: المحرك

المحرك
المحرك
المحرك
المحرك
المحرك
المحرك

يثبت المحرك نفسه في مكان مقبض الضبط مع قوس مطبوع ثلاثي الأبعاد. يتم تثبيت قارنة توصيل على عمودها - أحد الجانبين به فتحة 5 مم مع مسامير مثبتة لتثبيت العمود ، بينما يحتوي الجانب الآخر على خيط M6 مزود بمسامير مثبتة لقفله. إذا كنت تريد ، يمكنك على الأرجح صنعه في مكبس حفر من بعض الأسهم المستديرة 10 مم. لا يلزم أن تكون دقيقًا للغاية لأن المحرك غير مركب بإحكام شديد.

يتم تثبيت قطعة من قضيب الخيوط M6 في قارنة التوصيل وتسحب صامولة M6 النحاسية. لقد قمت بتشكيله ، لكن يمكن صنعه بسهولة من قطعة من النحاس الأصفر مع ملف. يمكنك حتى لحام بعض القطع بجوز عادي ، لذلك لن يتم تدويره. قد يكون الجوز المطبوع ثلاثي الأبعاد حلاً أيضًا.

يجب أن يكون الخيط أدق من المسمار اللولبي. تبلغ مساحتها حوالي 1.3 ملم ، وبالنسبة إلى M6 يبلغ 0.8 ملم. لا يحتوي المحرك على عزم دوران كافٍ لتشغيل المسمار اللولبي.

يجب أن يكون الجوز مشحمًا جيدًا ، لأن المحرك بالكاد يمكنه تشغيل المسمار في الإعدادات الأعلى

الخطوة 4: التكوين

إعدادات
إعدادات
إعدادات
إعدادات

لتحميل الكود إلى ESP32 من Arduino IDE ، يجب عليك اتباع هذا البرنامج التعليمي:

اللوحة هي "WeMos LOLIN32" ، ولكن "وحدة التطوير" تعمل أيضًا

أقترح استخدام Visual Studio ، ولكن يمكن أن ينكسر في كثير من الأحيان.

قبل الاستخدام الأول

يجب إعداد الكرنك وفقًا لخطوة "الكرنك"

باستخدام تطبيق "nRF Connect" ، تحتاج إلى التحقق من عنوان MAC الخاص بالكرنك ESP32 وتعيينه في ملف BLE.h.

في السطر 19 من IndoorBike.ino تحتاج إلى ضبط عدد دورات المسمار اللازمة لضبط المقاومة من مفكوكة تمامًا إلى الحد الأقصى. ("الحد الأقصى" شخصي عن قصد ، يمكنك تعديل الصعوبة باستخدام هذا الإعداد.)

المدرب الذكي لديه "تروس افتراضية" لإعدادها بشكل صحيح ، تحتاج إلى معايرتها في السطر 28 و 29. تحتاج إلى استخدام الدواسة بإيقاع ثابت على إعداد مقاومة معين ، ثم قراءة الطاقة وتعيينها في الملف. كرر هذا مرة أخرى مع إعداد آخر.

يتحول الزر الموجود في أقصى اليسار من وضع ERG (المقاومة المطلقة) إلى وضع المحاكاة (التروس الافتراضية). وضع المحاكاة بدون اتصال بالكمبيوتر لا يفعل شيئًا لأنه لا توجد بيانات محاكاة.

السطر 36. يحدد التروس الافتراضية - العدد والنسب. يمكنك حسابها بقسمة عدد الأسنان في الترس الأمامي على عدد الأسنان في الترس الخلفي.

في السطر 12. تضع وزن الراكب والدراجة (بالنيوتن ، الكتلة مضروبة في تسارع الجاذبية!)

من المحتمل أن يكون الجزء الفيزيائي من هذا معقدًا للغاية وحتى لا أتذكر ما يفعله بالضبط ، لكنني أحسب عزم الدوران المطلوب لسحب الدراج صعودًا أو شيء من هذا القبيل (لهذا السبب المعايرة).

هذه المعلمات ذاتية للغاية ، تحتاج إلى إعدادها بعد عدة جولات حتى تعمل بشكل صحيح.

يرسل منفذ COM لتصحيح الأخطاء بيانات ثنائية مباشرة تتلقاها البلوتوث بعلامات اقتباس ('') وبيانات محاكاة.

المكون

نظرًا لأن تكوين الفيزياء التي يُفترض أنها واقعية تحولت إلى متاعب كبيرة لجعلها تشعر بالواقعية ، فقد قمت بإنشاء مُكوِّن واجهة المستخدم الرسومية الذي يجب أن يسمح للمستخدمين بتحديد الوظيفة التي تتحول من درجة التل إلى مستوى المقاومة المطلق رسوميًا. لم تنته بعد تمامًا ولم تتح لي الفرصة لاختبارها ، لكن في الشهر القادم سأقوم بتحويل دراجة أخرى ، لذلك سأقوم بتلميعها بعد ذلك.

في علامة التبويب "Gears" ، يمكنك تعيين نسبة كل ترس عن طريق تحريك أشرطة التمرير. ستحتاج بعد ذلك إلى نسخ جزء من التعليمات البرمجية لاستبدال التروس المحددة في الكود.

في علامة التبويب "التقدير" ، يتم إعطاؤك رسمًا بيانيًا لوظيفة خطية (نعم ، اتضح أن الموضوع الأكثر كرهًا في الرياضيات مفيد بالفعل) يأخذ الدرجة (المحور الرأسي) ويخرج خطوات المقاومة المطلقة (المحور الأفقي). سأدخل في الرياضيات لاحقًا للمهتمين.

يمكن للمستخدم تحديد هذه الوظيفة باستخدام النقطتين الموضوعة عليها. على اليمين يوجد مكان لتغيير الترس الحالي. يغير الترس المحدد ، كما قد تتخيل ، الطريقة وكيفية خرائط الدرجات للمقاومة - في التروس السفلية يكون من الأسهل تحريك الدواسة صعودًا. يؤدي تحريك شريط التمرير إلى تغيير المعامل الثاني ، والذي يؤثر على كيفية تغيير الترس المحدد للوظيفة. من الأسهل اللعب بها لفترة من الوقت لترى كيف تتصرف. قد تحتاج أيضًا إلى تجربة بعض الإعدادات المختلفة للعثور على أفضل ما يناسبك.

تمت كتابته في Python 3 ويجب أن يعمل مع المكتبات الافتراضية. لاستخدامه ، تحتاج إلى إزالة التعليق عن السطور فورًا بعد "إلغاء التعليق على هذه السطور لاستخدام أداة التهيئة". كما قلت ، لم يتم اختباره ، لذلك قد تكون هناك بعض الأخطاء ، ولكن إذا ظهر أي شيء ، يرجى كتابة تعليق أو فتح مشكلة ، حتى أتمكن من تصحيحها.

الرياضيات (والفيزياء)

الطريقة الوحيدة التي يمكن أن تجعلها وحدة التحكم تشعر وكأنك تتجه صعودًا هي عن طريق تدوير برغي المقاومة. نحتاج إلى تحويل الدرجة إلى عدد الدورات. لتسهيل الإعداد ، يتم تقسيم النطاق الكامل من فضفاض تمامًا إلى عدم القدرة على تحويل الكرنك إلى 40 خطوة ، وهو نفس الشيء المستخدم في وضع ERG ، ولكنه يستخدم هذه المرة أرقامًا حقيقية بدلاً من الأعداد الصحيحة. يتم ذلك باستخدام وظيفة خريطة بسيطة - يمكنك البحث عنها في الكود. نحن الآن خطوة للأعلى - بدلاً من التعامل مع ثورات اللولب ، نحن نتعامل مع خطوات خيالية.

الآن كيف تعمل فعلاً عندما تذهب صعودًا على دراجة (بافتراض سرعة ثابتة)؟ من الواضح أن هناك حاجة إلى بعض القوة التي تدفعك للأعلى ، وإلا ستدحرج. هذه القوة ، كما يخبرنا قانون الحركة الأول ، يجب أن تكون متساوية في الحجم ولكنها معاكسة في الاتجاه للقوة التي تدفعك لأسفل ، حتى تكون في حركة موحدة. إنه ناتج عن الاحتكاك بين العجلة والأرض وإذا رسمت مخططًا لهذه القوى ، فيجب أن يكون وزن الدراجة مساويًا لوزن الدراجة والراكب مضروبًا في الدرجة:

F = Fg * G

الآن ما الذي يجعل العجلة تطبق هذه القوة؟ نظرًا لأننا نتعامل مع التروس والعجلات ، فمن الأسهل التفكير من حيث عزم الدوران ، وهو ببساطة القوة مضروبة في نصف القطر:

ر = F * R

نظرًا لوجود تروس متضمنة ، فإنك تنقل عزم دوران على الساعد ، والذي يسحب السلسلة ويدور العجلة. يتضاعف العزم المطلوب لتدوير العجلة بنسبة التروس:

tp = tw * gr

وبالعودة من صيغة عزم الدوران نحصل على القوة المطلوبة لتدوير الدواسة

Fp = tp / r

هذا شيء يمكننا قياسه باستخدام مقياس الطاقة في الكرنك. نظرًا لأن الاحتكاك الديناميكي مرتبط خطيًا بالقوة ، وبما أن هذه الدراجة المعينة تستخدم الزنبركات لنقل هذه القوة ، فهي خطية لحركة المسمار.

القوة هي القوة مضروبة في السرعة (بافتراض نفس اتجاه المتجهات)

P = F * V

والسرعة الخطية للدواسة مرتبطة بالسرعة الزاوية:

V = ω * r

وبالتالي يمكننا حساب القوة المطلوبة لتدوير الدواسات على مستوى مقاومة محدد. نظرًا لأن كل شيء مرتبط خطيًا ، يمكننا استخدام النسب للقيام بذلك.

كان هذا أساسًا ما احتاجه البرنامج لحسابه أثناء المعايرة واستخدام طريقة ملتوية للحصول على مركب معقد ، ولكن دالة خطية تتعلق بالدرجة بالمقاومة. كتبت كل شيء على الورق حسبت المعادلة النهائية وأصبحت جميع الثوابت ثلاثة معاملات.

هذه وظيفة ثلاثية الأبعاد من الناحية الفنية تمثل مستوى (على ما أظن) تأخذ الدرجة ونسبة التروس كوسائط ، وهذه المعاملات الثلاثة مرتبطة بتلك اللازمة لتحديد مستوى ، ولكن نظرًا لأن التروس عبارة عن أرقام منفصلة ، فقد كان الأمر أسهل لجعلها معلمة بدلاً من التعامل مع الإسقاطات وما إلى ذلك. يمكن تحديد المعاملين الأول والثالث بخط واحد و (-1) * المعامل الثاني هو إحداثي X للنقطة ، حيث "يدور" الخط عند تغيير التروس.

في هذا التصور ، يتم تمثيل الحجج بالخط العمودي والقيم بواسطة الخط الأفقي ، وأنا أعلم أن هذا قد يكون مزعجًا ، لكنه كان أكثر سهولة بالنسبة لي وكان يناسب واجهة المستخدم الرسومية بشكل أفضل. ربما كان هذا هو السبب الذي جعل الاقتصاديين يرسمون مخططاتهم بهذه الطريقة.

الخطوة 5: الانتهاء

أنت الآن بحاجة إلى بعض التطبيقات لاستخدامها على مدربك الجديد (والذي وفر عليك حوالي 900 دولار:)). هذه آرائي حول بعضها.

  • RGT Cycling - في رأيي الأفضل - لديه خيار مجاني تمامًا ، ولكن يحتوي على بعض المسارات. يتعامل مع جزء الاتصال بشكل أفضل ، لأن هاتفك يتصل عبر البلوتوث ويعرض الكمبيوتر المسار. يستخدم فيديو واقعي مع راكب دراجة بالواقع المعزز
  • Rouvy - الكثير من المسارات والاشتراك المدفوع فقط ، ولسبب ما لا يعمل تطبيق الكمبيوتر الشخصي مع هذا ، فأنت بحاجة إلى استخدام هاتفك. قد تكون هناك مشاكل عندما يستخدم الكمبيوتر المحمول الخاص بك نفس البطاقة للبلوتوث والواي فاي ، وغالبًا ما يتأخر ولا يرغب في التحميل
  • Zwift - لعبة رسوم متحركة ، مدفوعة فقط ، تعمل جيدًا مع المدرب ، لكن واجهة المستخدم بدائية تمامًا - يستخدم المشغل Internet Explorer لعرض القائمة.

إذا كنت قد استمتعت بالبناء (أو لا) ، فيرجى إخباري في التعليقات وإذا كان لديك أي أسئلة يمكنك طرحها هنا أو إرسال مشكلة إلى github. سأشرح بكل سرور كل شيء لأنه معقد للغاية.

موصى به: