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

Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control: 4 Steps
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control: 4 Steps

فيديو: Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control: 4 Steps

فيديو: Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control: 4 Steps
فيديو: Arduino MRSC Stability Control System For WLtoys 5 Pin Servos (A959, A969, A979, 12428) 2024, شهر نوفمبر
Anonim
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control
Atmega128A القيادة النسبية للسيارات - ATMEL ICE AVR Timer UART PWM Control

في هذا الدليل ، سأشرح لك كيفية القيام بذلك

  • التحكم في محرك DC مع PWM
  • التواصل عبر UART
  • التعامل مع المقاطعات الموقت

بادئ ذي بدء ، سنستخدم لوحة تطوير نظام AVR Core والتي يمكنك العثور عليها على Aliexpress بحوالي 4 دولارات أمريكية. رابط لوحة التطوير هنا. سنستخدم أيضًا Atmel ICE Debugger و Atmel Studio لبرمجة برنامجنا وتصحيحه.

الخطوة 1: الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة

الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة
الغوص العميق في ورقة البيانات وكود المصدر - سرعة الساعة

في 1. الرصاصة نحدد ترددنا البلوري حيث يمكننا رؤيته على لوحة التطوير

الخطوة 2: ضبط سجلات UART

إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات UART
إعداد سجلات 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

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

في وظيفة initPWM ، قمنا بتعيين قشارة ساعة وحدة المعالجة المركزية الخاصة بنا ، ووضع المؤقت / العداد على أنه Fast PWM وقمنا بتعيين سلوكه باستخدام بتات COM

يجب علينا أيضًا توصيل محرك التيار المستمر بدبوس OC2 المحدد في الجدول 66. قارن وضع الإخراج ، وضع PWM السريع في ورقة البيانات الخاصة بنا ، سترى أيضًا أن دبوس OC2 هو (OC2 / OC1C) PB7

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

نتيجة
نتيجة
نتيجة
نتيجة

عند تحميل شفرة المصدر في المرفق.

يمكنك إدخال قيمة PWM جديدة (0-255) من UART (يمكنك استخدام محطة منفذ اردوينو التسلسلي) لضبط سرعة محرك التيار المستمر.

موصى به: