جدول المحتويات:
- الخطوة 1: الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
- الخطوة 2: ضبط سجلات UART
- الخطوة 3: إعدادات PWM
- الخطوة 4: النتيجة
فيديو: Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control: 4 Steps
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
في هذا الدليل ، سأشرح لك كيفية القيام بذلك
- التحكم في محرك DC مع PWM
- التواصل عبر UART
- التعامل مع المقاطعات الموقت
بادئ ذي بدء ، سنستخدم لوحة تطوير نظام AVR Core والتي يمكنك العثور عليها على Aliexpress بحوالي 4 دولارات أمريكية. رابط لوحة التطوير هنا. سنستخدم أيضًا Atmel ICE Debugger و Atmel Studio لبرمجة برنامجنا وتصحيحه.
الخطوة 1: الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
في 1. الرصاصة نحدد ترددنا البلوري حيث يمكننا رؤيته على لوحة التطوير
الخطوة 2: ضبط سجلات UART
للتواصل مع UART ، يجب عليك تعيين USART Baud Rate Registers - UBRRnL و UBRRnH بشكل صحيح ، يمكنك حسابها بنفسك أو يمكنك استخدام الآلة الحاسبة عبر الإنترنت للحصول على القيم الصحيحة بسهولة
آلة حاسبة على الانترنت
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca …
لذلك يتم حساب قيمة MYUBBR بعد ذلك ، في التسجيل UCSR0B نقوم بتمكين RXEN0 (تمكين recv) TXEN0 (تمكين الإرسال) و RXCIE0 (RX للمقاطعة). في التسجيل UCSR0C نختار حجم حرف 8 بت.
بعد أن قمنا بتعيين بت مقاطعة RX ، يجب أن نضيف وظيفة ISR لـ USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0 ؛ إذا (rcvChar! = '\ n') {عازلة [bufferIndex] = rcvChar؛ BufferIndex ++ ؛ }}
يجب ألا تقوم بأي منطق عمل في روتين خدمة المقاطعة الخاص بك. عليك أن تجعل الوظيفة تعود في أسرع وقت ممكن.
الخطوة 3: إعدادات PWM
في وظيفة initPWM ، قمنا بتعيين قشارة ساعة وحدة المعالجة المركزية الخاصة بنا ، ووضع المؤقت / العداد على أنه Fast PWM وقمنا بتعيين سلوكه باستخدام بتات COM
يجب علينا أيضًا توصيل محرك التيار المستمر بدبوس OC2 المحدد في الجدول 66. قارن وضع الإخراج ، وضع PWM السريع في ورقة البيانات الخاصة بنا ، سترى أيضًا أن دبوس OC2 هو (OC2 / OC1C) PB7
الخطوة 4: النتيجة
عند تحميل شفرة المصدر في المرفق.
يمكنك إدخال قيمة PWM جديدة (0-255) من UART (يمكنك استخدام محطة منفذ اردوينو التسلسلي) لضبط سرعة محرك التيار المستمر.
موصى به:
كيفية القيادة FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: 7 خطوات
كيفية القيادة FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: اليوم ، اشتريت arduino nano v3.0 (استنساخ) ، لكن لدي مشكلة. يكتشف جهاز الكمبيوتر الخاص بي دائمًا & quot؛ FT232R USB UART & quot؛ تعذر على andarduino Ide اكتشاف هذا المنتدى. لماذا ا؟ ماالخطب؟ حسنًا ، لدي برنامج تعليمي لحل هذه المشكلة
COVID-19 جهاز استشعار تدفق الهواء للسيارات: 5 خطوات
اختراق السيارات لمستشعر تدفق الهواء COVID-19: هذا مشروع سريع التطور … تم التخلي عن هذا المستشعر لأنه لا يحتوي على أي ثقوب متصاعدة أو طريقة سهلة لإغلاق الأنبوب. مشروع مستشعر تدفق الهواء المستمر هنا: AFH55M12 وصف المشروع من الهندسة المفيدة The int
Arduino Nano - HTS221 البرنامج التعليمي لمستشعر الرطوبة النسبية ودرجة الحرارة: 4 خطوات
Arduino Nano - HTS221 الرطوبة النسبية ومستشعر درجة الحرارة البرنامج التعليمي: HTS221 هو مستشعر رقمي سعوي مدمج للغاية للرطوبة النسبية ودرجة الحرارة. يتضمن عنصر استشعار ودائرة متكاملة خاصة بتطبيق إشارة مختلطة (ASIC) لتوفير معلومات القياس من خلال التسلسل الرقمي
Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات
Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: HTS221 هو مستشعر رقمي بالسعة مدمج للغاية للرطوبة النسبية ودرجة الحرارة. يتضمن عنصر استشعار ودائرة متكاملة خاصة بتطبيق إشارة مختلطة (ASIC) لتوفير معلومات القياس من خلال التسلسل الرقمي
مسجل درجة الحرارة والرطوبة النسبية والضغط الجوي باستخدام Raspberry Pi واتصال TE MS8607-02BA01: 22 خطوة (بالصور)
درجة الحرارة والرطوبة النسبية ومسجل الضغط الجوي باستخدام Raspberry Pi و TE Connectivity MS8607-02BA01: مقدمة: في هذا المشروع سأوضح لك كيفية إنشاء نظام تدريجي لتسجيل درجات الحرارة والرطوبة والضغط الجوي. يعتمد هذا المشروع على رقاقة الاستشعار البيئي Raspberry Pi 3 Model B و TE Connectivity MS8607-02BA