تقوم Yandex بإنشاء عداد تردد بدون تلامس من مقياس سرعة الدوران في Arduino. مستشعر سرعة الدوران

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

في هذه المقالة، سننظر في كيفية استخدام جهاز إرسال واستقبال الأشعة تحت الحمراء لصنع مقياس سرعة الدوران باستخدام Arduino. يتم عرض النتيجة على شاشة LCD مقاس 16 × 2.

الهدف من هذا المشروع هو إنشاء نظام بمدخل واحد ومخرج واحد. توجد عند مدخل الجهاز إشارة تتغير من المستوى العالي (+5V) إلى المستوى المنخفض (+0V) عند انقطاع الاتصال. وفقا لهذه الإشارة، سوف يقوم اردوينو بزيادة قيمة العداد الداخلي. ثم يتم تنفيذها معالجة إضافيةوالحساب، وعندما ينقطع الزناد، سيتم عرض عدد الدورات في الدقيقة المحسوب على شاشة LCD.

للاتصال، سنستخدم شعاع الأشعة تحت الحمراء من مصباح LED IR متصل عبر مقاومة منخفضة المقاومة بحيث يتوهج بشكل ساطع. سنستخدم الترانزستور الضوئي كجهاز استقبال، والذي "يُغلق" في حالة عدم وجود ضوء من مصباح LED بالأشعة تحت الحمراء. سيتم وضع مروحة كمبيوتر بين جهاز إرسال واستقبال الأشعة تحت الحمراء وتشغيلها. سوف يقوم مستقبل الأشعة تحت الحمراء المتصل عبر دائرة ترانزستور بتوليد المقاطعات. لإخراج سيتم استخدام النتيجة اردوينو شاشات الكريستال السائلواجهة حتى نتمكن من عرض قيمة RPM النهائية على شاشة LCD.

عناصر:
اردوينو أونو
شاشة ال سي دي 16×2
مجلس التنمية
المقاوم الانتهازي 5 كيلو أوم
صداري
موصلات SIP
2 × 2N2222 ترانزستور NPN
الصمام بالأشعة تحت الحمراء
الترانزستور الضوئي
مقاومة 10 أوم
المقاوم 100 كيلو أوم
المقاوم 15 كيلو أوم أو 16 كيلو أوم
مروحة الكمبيوتر

قائمة مفصلة بالعناصر

جميع العناصر المستخدمة في المشروع مذكورة أعلاه، لكنني سأصف وظائف العناصر الرئيسية بمزيد من التفصيل.

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

شاشات الكريستال السائل 16x2
بمجرد قيام Arduino بحساب عدد الدورات في الدقيقة، سيتم عرض هذه القيمة على الشاشة بطريقة سهلة الاستخدام.

المقاوم الانتهازي 5 كيلو أوم
سيتم استخدام أداة التشذيب هذه لضبط تباين شاشة LCD مقاس 16 × 2. إنه يوفر جهدًا تناظريًا يتراوح من 0 إلى +5 فولت، مما يسمح لك بضبط سطوع شاشة LCD.

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

2N3904 و 2N3906
تُستخدم هذه الترانزستورات لتحويل مستوى الإشارة من أجل توفير نبضات خرج من الترانزستور الضوئي إلى الاردوينو، حيث لا يوجد جهد آخر غير +0 و +5V.

رسم تخطيطي


في الدائرة، تم تبسيط واجهة الاتصال مع شاشة LCD وتحتوي على خطي تحكم و4 خطوط بيانات فقط.

ميزات المخطط

واجهة LCD مقاس 16x2
يتم توصيل 2 دبابيس تحكم و 4 لنقل البيانات من Arduino إلى شاشة LCD. هذا هو ما يخبر شاشة LCD بما يجب القيام به ومتى يجب القيام بذلك.

دائرة كسر شعاع الأشعة تحت الحمراء
تنتقل إشارة كسر شعاع الأشعة تحت الحمراء إلى الرقمية الثانية اردوينو دبوس. يؤدي هذا إلى مقاطعة Arduino، مما يسمح له بحساب النبض والسماح لمقياس سرعة الدوران باستقبال البيانات.

مكتبة اردوينو LCD

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

للتحضير، قم بإلقاء نظرة على الكود الموجود أدناه، والذي يستخدم هذه المكتبة لعرض "Hello, World!" في مقياس سرعة الدوران سوف نستخدم رمزًا مشابهًا، خاصة: "lcd.print(millis()/1000);".


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

حساب دورة في الدقيقة باستخدام اردوينو

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

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

وقت الثورة الأولى = P * (μS/الثورة)
دورة في الدقيقة = دورة في الدقيقة = 60,000,000 * (ميكروسيمنز/دقيقة) * (1/P) = (60,000,000 / ف) * (دورة في الدقيقة)

لحساب RPM سوف نستخدم الصيغة المذكورة أعلاه. الصيغة دقيقة، وتعتمد الدقة على مدى قدرة Arduino على تتبع الوقت بين المقاطعات وحساب عدد الدورات الكاملة.

في الصورة أدناه يمكنك رؤية كل شيء التفاصيل الضروريةوالقافزات كما في الرسم التخطيطي.


أولاً، قم بتوصيل +5V وخطوط البيانات/التحكم الخاصة بشاشة LCD. ثم شاشة LCD ومقياس جهد التباين ومصباح الطاقة LED.


يتم تجميع قاطع الدائرة لشعاع الأشعة تحت الحمراء. حاول الحفاظ على مسافة بين مؤشر LED IR والترانزستور الضوئي. توضح هذه الصورة المسافة بين مصباح IR LED والترانزستور الضوئي حيث سأضع مروحة الكمبيوتر.


ما يكفي من الحديث عن الأجهزة! لنبدأ في تنفيذ البرنامج الثابت/البرنامج لنرى كيف يعمل الجهاز!

جزء البرمجيات

هناك جزأين رئيسيين من الكود، كما هو موضح ومفصل أدناه:
- دورة تحديث شاشات الكريستال السائل الرئيسية
-تحديث أوقات المقاطعة

في الدورة الرئيسية، يتم حساب الثورات والتحديثات لشاشة LCD. نظرًا لأن الحلقة الرئيسية عبارة عن حلقة while(1) عملاقة، فستكون قيد التشغيل دائمًا، وسيتم حساب عدد الدورات في الدقيقة، وسيتم تحديث شاشة LCD عدة مرات في الثانية. تقوم الوظيفة الموجودة في المقاطعة بحساب الوقت بين مقاطعات الأشعة تحت الحمراء، بحيث يمكنك حساب عدد الدورات في الدقيقة في الحلقة الرئيسية.

مستشعر سرعة الدوراننادي كرة القدم. -03

وحدة استشعار السرعة أو حركة خطية. نوع الوحدة FC-03. إنه مصمم للتحكم في المعلمات الميكانيكية للأجزاء المتحركة للآليات المختلفة للأغراض المنزلية والتعليمية. عند تثبيته في المنصات الأساسية للروبوتات الصغيرة، فإنه يسمح لك بتجميع أنظمة التحكم في المحركات والتحكم في حركة الجسم.

تركيب مستشعر سرعة الدوران FC-03 على هيكل الروبوت ذو العجلات.

صفات

مصدر الطاقة 3.3 - 5 فولت
عرض الخلوص للقرص المشقوق 5 مم
أبعاد الوحدة 38 × 14 × 7 ملم
فتحة تركيب للمسمار 3 مم

اتصالاتFC-03



يتم وضع علامة على جهات الاتصال على السبورة.

VCC - مصدر الطاقة.
أرض- سلك مشترك، إمدادات الطاقة السلبية.
افعل - إخراج إشارة النبض.
AO - الإخراج المباشر من optocoupler ITR9608.

مبدأ التشغيل


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

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

يستخدم مستشعر سرعة الدوران FC-03 لقياس سرعة الدوران. لا يمكن استخدامه لتحديد اتجاه الدوران. يتم تثبيت قرص به ثقوب على عمود المحرك أو علبة التروس. تحتوي وحدة optocoupler على فتحة بعرض 5 مم. عندما يدور القرص، كما هو موضح في الرسم المتحرك، تتناوب الثقوب وأجزاء اللوحة باستمرار في الفتحة. يقوم المستشعر بتحويل تناوب عناصر القرص إلى نبضات كهربائية. تجعل إلكترونيات الوحدة إشارة المستشعر مناسبة للإدراك الرقمي رقائق المنطقأو متحكم.

مخططنادي كرة القدم.-03




تنتقل الإشارة من ITR9608 إلى مدخل المقارنة LM393، ومن خرجها إلى الطرف D0 ويذهب مؤشر LED إشارة رقميةتتكون من مستويات المنطق العالية والمنخفضة. تأتي إشارة الإخراج A0 مباشرة من ITR9608 دون التحويل إلى المستويات المنطقية. يتيح لك استخدام المقارنة LM393 الحصول على حواف نبضية ناعمة وزيادة الحمل الحالي لمخرج المستشعر بشكل طفيف، وتثبيت مؤشر LED في الدائرة يشير إلى حالة الإخراج.

إشارة

هناك 2 المصابيح على متن الطائرة. يُظهر أحدهما تفعيل مستشعر سرعة الدوران FC-03، والآخر يُظهر عدم وجود عائق في المستشعر. عند تشغيل الجهاز لأول مرة، يجب أن يضيء كلا مؤشري LED. عند إدخال لوحة معدنية في مساحة حرةالكسارة، يجب أن يخرج LED واحد.

طلب

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


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

#define PIN_DO 2 // اضبط الدبوس المستخدم في Arduino
نبضات كثافة العمليات غير الموقعة؛
تعويم دورة في الدقيقة.
غير موقعة منذ وقت طويل؛
#تعريف_HOLES_DISC 15

عداد باطلة ()
{
نبضات++;
}

الإعداد الفارغ ()
{
Serial.begin(9600);
pinMode(PIN_DO, INPUT);
البقول = 0؛
timeOld = 0;

}

حلقة باطلة ()
{
إذا (ملي () - الوقت القديم> = 1000)
{
detachInterrupt(digitalPinToInterrupt(PIN_DO));
دورة في الدقيقة = (نبضات * 60) / (HOLES_DISC)؛
Serial.println(دورة في الدقيقة);

TimeOld = ميلي ()؛
البقول = 0؛
AttachInterrupt(digitalPinToInterrupt(PIN_DO), counter, FALLING);


32:20 - خوارزميات البرامج الثابتة 16 و18
36:50 - متغيرات البرامج الثابتة
40:40 - تجارب على مستشعر القاعة

بعد أن قمنا بتجميع واختبار المنظم الموضح هنا: https://shenrok.blog...t=1489156293398
يمكننا البدء في تثبيت البرامج الثابتة التي ستحافظ على السرعة المحددة. لكن أولاً، دعونا نلقي نظرة على مسألة مستشعر القاعة.
إن استبدال مولد السرعة بمستشعر Hall ليس بالأمر الصعب على الإطلاق. أتحدث عن هذا بالتفصيل في الفيديو في الدقيقة 5:48. ولكن أي واحد لوضع؟ نحن بحاجة إلى جهاز استشعار هول الرقمي، ويفضل أن يكون ثنائي القطب. لأنه سوف ينتج إشارات أكثر 2 مرات. وهذا مهم جدًا للسرعات المنخفضة. هذا هو الذي في محركي سس441 .

دعونا نفكر PID_12:
في بداية الرسم لدينا خطوط يجب علينا إدخال القيم التي نحتاجها:

int obMax = 6000; // أدخل السرعة القصوى

تعويم كيمب = 120؛ // أدخل عدد النبضات لكل 10 دورات

في السطر الأول ندخل عدد الثورات القصوى التي نحتاجها. في الثانية - الحد الأدنى. في السطر الثالث نضع عدد نبضات المستشعر لكل 10 دورات للعمود. في السطر الرابع، تحتاج إلى إدخال رقم من شأنه أن يحد من الحد الأدنى للسرعة الحالية. سيعتمد ذلك على عدد الحد الأدنى من الثورات والأحمال المطبقة. وفي الخامس - الرقم الذي يبدأ عنده المحرك بالتناوب على البرنامج الثابت رقم 6 (لقد انتبهنا لهذا).
التالي يأتي الأمر الأكثر أهمية. من الضروري تكوين (تحديد) معاملات وحدة التحكم PID. وهم في السطر 19 من الرسم:
PID myPID(&الإدخال، والإخراج، ونقطة الضبط، 0.01 , 0.2 , 0 ، مباشر)؛

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

دعونا نفكر _16:
المتغيرات الرئيسية للرسم هي نفسها الموجودة في وحدة التحكم PID:

int obMin = 200; // أدخل الحد الأدنى للسرعة


إنت مينزن = 115؛ // الحد الأدنى لقيمة الترياك الذي يبدأ عنده الدوران.
إنت أوجرمين = 70 ; // الحد من التيرستورات إلى الحد الأدنى من السرعة.
كثافة العمليات الذهنية = 80؛ // قيمة الترياك عندما يكون الجهاز محشورًا (النبض الأولي)

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

دعونا نفكر _18:

يتم نقل كافة القيم من البرامج الثابتة السابقة:

int obMin = 200; // أدخل الحد الأدنى للسرعة
إنت أوب ماكس = 9000؛ // أدخل السرعة القصوى
إنت كيمب = 120؛ // أدخل عدد النبضات لكل 10 دورات
إنت مينزن = 115؛ // الحد الأدنى لقيمة الترياك الذي يبدأ عنده الدوران.
إنت أوجرمين = 70 ; // الحد من التيرستورات إلى الحد الأدنى من السرعة.
كثافة العمليات الذهنية = 80؛ // قيمة الترياك عندما يكون الجهاز محشورًا (النبض الأولي)
القبول الدولي = 200 ؛ // بدل الثورات في ناقص وزائد
إنت رازجون = 50؛ // متغير التسارع 1 - 100

تمت إضافة قيمة التسارع أو السلاسة فقط. مع القيمة 1، يحدث التثبيت بسلاسة، ومع زيادة القيم، يكون التسارع أكثر شدة. الحد الأعلى كبير جدًا، ولكن بعد 100 (في حالتي) لا توجد تغييرات.

التنمية الموازية: http://www.motor-r.i...og-page_19.html

خيار المنظم على صانع الرقائق:

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

وطلبت مجموعة من المرحلات للخلف والحماية. سوف نضيف المزيد.

بناء على أسئلتك، سيتم استكمال المقال. لذلك نسأل.

لذلك، دعونا نواصل ضبط وتحسين وحدة التحكم في سرعة الحلقة المغلقة.
ابدأ هنا:
1 الفكرة والتطوير
2 وحدة تحكم PID
3 تجميع المنظم، تعليمات خطوة بخطوة
4 أسئلة - إجابات ونصائح وخوارزمية العمل
5 ضبط التسامح، والتخلص من الهزات المرتبطة بالتجاوز، وتبديل المفتاح للسرعة 2، والتتابع للحماية من انهيار التيرستورات.

أولئك الذين صنعوا هذا المنظم بالفعل واجهوا مشكلة: من الصعب جدًا تحديد التسامح المتغير. طريقة القوة الغاشمة طويلة وغير مريحة. واتضح أن التسامح عند السرعات المنخفضة والعالية قد يختلف. لذلك، تمت كتابة البرامج الثابتة التي تساعد على تحديد هذه القيمة بدقة شديدة عند الحد الأدنى والحد الأقصى للسرعات في وقت واحد.
للقيام بذلك، نحتاج إلى لحام مقاومة متغيرة تبلغ 10 كيلو أوم مؤقتًا مع جهة الاتصال المركزية للطرف A3، وهو Arduino الخاص بنا. كما هو الحال دائمًا، نقوم بلحام نقاط المقاومة المتطرفة بـ + و-.
الآن بعد تحميل البرامج الثابتة nastroyka_dopuska ، حيث سنقوم أولاً بإدخال كافة المتغيرات المتعلقة بالجهاز أو المحرك الخاص بنا. ستكون أهمها الحد الأدنى والحد الأقصى للسرعات المطلوبة على الجهاز، بالإضافة إلى عدد النبضات لكل 10 دورات للمغزل.
نختار التسامح كما هو موضح في الفيديو. بعد ذلك، يمكننا إدخال البيانات المستلمة في البرنامج الثابت 18 واستخدامها. تعمل هذه البرامج الثابتة على تحسين عرض الشاشة. تماما كما طلبت.
البرامج الثابتة: https://drive.google...iew?usp=sharing


المشكلة التالية التي واجهناها هي حدوث "هزات" عند سرعات معينة للمحرك. لفهم السبب، تم إنشاء برنامج ثابت يرسل قيمة المتغير tic إلى الكمبيوتر. هذا هو عدد دورات الساعة التي تمر بين الإشارات الصادرة عن مستشعر Hall. تم عرض البيانات في برنامج SerialPortPlotter في شكل رسومي.




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

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


نطبق ناقصًا على جهات اتصال GND، ونطبق زائد 5 فولت على VCC، ونربط IN3 و IN4 بجهة الاتصال A1 لاردوينو، وهذا للعكس، و IN2 بجهة الاتصال A2. ستكون جهة الاتصال هذه مسؤولة عن فصل لوحة الطاقة. تحميل البرامج الثابتة proverka_rele ، ويجب تشغيل وإيقاف المرحلات لدينا بالتناوب لمدة ثانية واحدة. اثنان مقترنان وواحد منفصل. إذا كان كل شيء يعمل بشكل صحيح، فيمكنك تشغيل السلك الذي يذهب إلى لوحة الطاقة من خلال هذا التتابع الفردي وتحميل البرنامج الثابت roos_zashita_1 واستخدام المنظم. هنا يتم التخلص من الهزات ويتم تنفيذ الحماية.

يمكننا أيضًا تثبيت وتوصيل مفتاح التبديل على الفور للرجوع إلى 3 مواضع ومفتاح تبديل من شأنه تقسيم نطاق السرعة الخاص بنا بالطريقة التي نريدها. بالنسبة لآلتي، قمت بإعداد السرعة الأولى للدورة، من 100 دورة في الدقيقة إلى 2000 دورة في الدقيقة، والثانية للطحن، من 1500 دورة في الدقيقة إلى 5000 دورة في الدقيقة. نقوم بتوصيلهم وفقًا لهذا المخطط:

للتحقق، قم بتحميل الرسم proverka_tumblerov وعندما تقوم بتغيير موضع مفاتيح التبديل، ستتغير الأرقام الموجودة على الشاشة. في حالة حدوث تغييرات، يمكنك تحميل البرنامج الثابت roos_zashita_2skorosti واستخدامها.

لا تنس أنه في جميع البرامج الثابتة يجب عليك إدخال القيم التي تحتاجها.
البرامج الثابتة:
الخاتم ---- مع مرحلتين للخلف والكبح https://wdfiles.ru/dr8k

الخاتم ---- مع مكونات SMD و كتلة النبضمصدر الطاقة لحالة D6MG https://drive.google...T0JOd2pFZjI3SmM

بالنسبة لمرحلات 12 فولت، قم بتحريك وصلة العبور إلى علامة 12
للمرحلات 5v موجودة بالفعل عند العلامة 5
قم بلحام الثنائيات الموجودة على المرحلات مباشرة على اللوحة من جانب الموصل.
بالنسبة للوحات ذات ULN2003، ليست هناك حاجة إلى الثنائيات الموجودة على المرحل.

تتغير قائمة الأجزاء حسب الختم الذي تختاره.

المقاوم 10 كيلو 0.25 واط-2 قطعة
المقاوم 4.7 كيلو 0.25 واط - 1 قطعة
المقاوم 2 كيلو 0.25 وات - 1 قطعة
المقاوم 470 0.25 وات - قطعة واحدة
المقاوم 100 2 واط-1 قطعة
المقاوم 360 0.25 واط-2 قطعة
المقاوم 5 كيلو 0.25 واط - 1 قطعة (زر عكسي)
تشذيب المقاوم 10k-1pcs (لشاشة LCD)
المقاوم المتغير 10k-1pcs (التحكم في السرعة)
تشذيب المقاوم 10 كيلو (لكل ساق A3)
ديود RL205 1 قطعة
مكثف 100n 600V-1 قطعة C4
مكثف 0.05MF-1 قطعة C3
التيرستورات BTA24-600 (BTA16-600) على المبرد
PC817C-1 قطعة
MOC3021-1 قطعة (MOC3023)
L7805CV-1 قطعة
جسر الصمام الثنائي مثل الموجود على لوحة GBL04-E3/51 (KBL04)، وجسر الصمام الثنائي 4A 400V
كتل طرفية لكل لوحة - مزدوجة - 7 قطع،
تتابع JS1-12V 2 قطعة، ممكن 5 فولت
مكثفات إلكتروليتية 100 فائق التوهج * 25 فولت -2 قطعة (C1 و C2)
رقاقة ULN2003A - قطعة واحدة

محول - كل ما تجده (1.5-3 وات)
مفتاح ثلاثي الأوضاع - قطعة واحدة
مقبس لاردوينو - 1 قطعة

في اللوحة وليس في القائمة
تبلغ المقاومة الموجودة في الدائرة الموجودة أسفل Arduino 10 كيلو (هل هي على جانب المسارات أم لا فرق؟) على اللوحة على جانب الموصلات، ولكن يمكن وضعها أيضًا في الأعلى. وهو ضروري لأولئك الذين سيقسمون نطاق التحكم في السرعة إلى نطاقين فرعيين.
الثنائيات مع الجانب العكسيلوحات التتابع - أي منها؟ الجواب - أي RL205 ممكن
الترانزستورات BC 550 - 2 قطعة ترانزستورات، أيضًا أي منها مزود بـ arr. تنبعث. يمكنك استخدام KT 315 أو KT3102

خيار المخطط
نسخة معدلة من المخطط

الصور المرفقة




تم تحرير المشاركة بواسطة orio55: 01 مايو 2017 - 20:05

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



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


لذلك في هذه الحالة، يتم قياس السرعة - الأحداث هنا تعني النبضات المستلمة نتيجة تشغيل جهاز استشعار بصري أثناء دوران القرص مع فتحات. يتكون المستشعر من LED وترانزستور ضوئي، والذي يستشعر وجود أو عدم وجود ضوء من LED.


مخطط


يمكن استخدام الدائرة المقدمة لإرسال نبضات مسجلة إلى وحدة التحكم الدقيقة. أساس الدائرة هو مستشعر بصري OS25B10 (OC1) مزود بمصباح LED ومخرج ترانزستور ضوئي.


التالي هو LM393 المزدوج IC (IC1)، الذي تم تكوينه كمشغل Schmitt بسيط. الصمام الأخضريشير (LED1) إلى وجود الجهد المطبق على الدائرة، ويراقب مؤشر LED الأحمر (LED2) إخراج وحدة استشعار سرعة المحرك. مُستَحسَن جهد التشغيلالوحدة من 4.5 إلى 5.5 فولت.




لاحظ أنه يتم استخدام المقاوم R1 (180 أوم) هنا للحد من تيار تشغيل LED داخل المستشعر البصري OS25B10 (OC1). إذا لزم الأمر، يمكنك تغيير قيمته للنموذج الأولي الخاص بك. يمكنك أيضًا ضبط قيمة المقاوم R2 (10 كيلو أوم) للحصول على الجهد المطلوب لدائرتك. المقاوم R7 (10K) هو مقاوم سحب اختياري.


قرص التشفير


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

يصف هذا جهازًا رقميًا يقيس سرعة السيارة وسرعة العمود المرفقي لمحركها. المؤشر عبارة عن شاشة LCD من النوع 1602A، وهو قياسي، استنادًا إلى وحدة التحكم HD44780.

يعني التعيين 1602A في الواقع أنه موجود على سطرين يتكون كل منهما من 16 حرفًا. تم شراء المؤشر على Aliexpress، وتم العثور عليه من خلال البحث عن "HD44780" (الأسعار تبدأ من 81 روبل). كما ذكرنا سابقًا، يحتوي هذا المؤشر على سطرين. لذلك، في السطر العلوي، يوضح الجهاز سرعة السيارة، وفي السطر السفلي - سرعة المحرك.

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

تعتمد دائرة الجهاز على الجاهزة لوحة اردوينو UNO، الذي يوجد عليه متحكم ATMEGA328، بالإضافة إلى جميع "أدواته" اللازمة لتشغيله، بما في ذلك مبرمج USB ومصدر الطاقة.

تكلفة ARDUINO UNO على Aliexpress تبدأ من 200 روبل. وصف لوحة ARDUINO UNO وكذلك برمجةلأنه، والاتصال بجهاز كمبيوتر شخصي، قدمه المؤلف في L.1، لذلك إذا كان أي شخص لا يعرف ما هو ARDUINO و"ما الذي يتم تناوله به"، فتأكد من قراءة المقالة في L.1 أولاً.

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

رسم تخطيطي

يمكن للجهاز أن يعمل فقط في السيارة التي تحتوي على محرك حقن (لا تحتوي السيارات المكربنة على مستشعر سرعة، ولا تحتوي جميعها على مستشعر إشعال). يظهر مخطط الجهاز في الشكل 1. في هذا الشكل، تظهر لوحة ARDUINO UNO بشكل تخطيطي على أنها "منظر علوي".

أرز. 1. رسم تخطيطيعداد السرعة ومقياس سرعة الدوران على أساس اردوينو.

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

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

أجهزة استشعار السرعة مختلفة، ولكن في الغالب، وخاصة بالنسبة للسيارات المحلية، فإنها تعطي 6000 نبضة لكل كيلومتر. ورغم أن هناك بعضها يعطي 2500 نبضة لكل كيلومتر، فربما هناك البعض الآخر.

برنامج

يرد في الجدول 1 برنامج C++ مع التعليقات التفصيلية. يعتمد تشغيل البرنامج على قياس فترة النبضات القادمة من المستشعرات والحساب اللاحق للسرعة وسرعة دوران العمود المرفقي.

الجدول 1. كود المصدرالبرامج.


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

حيث T هي الفترة بالثواني، وF هي السرعة بالكيلومتر/الساعة. وبما أن الفترة تقاس بالميكروثانية فإن الصيغة الفعلية هي:

إذا كان الحساس 2500 نبضة لكل كيلومتر (ياباني)، فستكون الصيغة كما يلي:

وعليه، وبما أن الفترة تقاس بالميكروثانية:

لقياس سرعة العمود المرفقي، يتم استخدام الصيغة:

حيث T هي الفترة بالثواني، وF هي سرعة دوران العمود المرفقي بعدد الدورات في الدقيقة. وبما أن الفترة تقاس بالميكروثانية، فإن الصيغة الفعلية هي:

وبعد ذلك، يتم عرض النتائج في الأسطر المقابلة لشاشة LCD. يشار إلى وحدات القياس بـ "كم/ساعة" و"ob/tip" (إذا لم تعجبك، يمكنك تغييرها).

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

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

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

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

س = 3600000000 / ن

على سبيل المثال، إذا كان المستشعر يعطي، على سبيل المثال، 2500 نبضة لكل كيلومتر:

س= 3600000000 / 2500 = 1440000

أو إذا كان المستشعر يعطي 6000 نبضة لكل كيلومتر:

س= 3600000000 / 6000 = 600000

ختاماً

في حالة حدوث خلل في الجهاز، قد يكون من الضروري تحسين وضع التشغيل لمراحل الإدخال على الترانزستورات VT1 وVT2، على التوالي، عن طريق تحديد مقاومات المقاومات R3 وR6، وكذلك سعات المكثفات C2 وS3.

كارافكين ف.رك-12-16.

الأدب:

1. Karavkin V. شجرة عيد الميلاد المتعرية على ARDUINO كعلاج للخوف من المتحكمات الدقيقة. ر.ك-11-2016.