فهرست مطالب:
- مرحله 1: غواصی عمیق در برگه داده و کد منبع - سرعت ساعت
- مرحله 2: تنظیم رجیسترهای UART
- مرحله 3: تنظیمات PWM
- مرحله 4: نتیجه گیری
تصویری: رانندگی متناسب Atmega128A - ATMEL ICE AVR Timer UART PWM Control: 4 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
در این دستورالعمل ، من نحوه انجام آن را برای شما توضیح خواهم داد
- کنترل موتور 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 (فعال مجدد) TXEN0 (انتقال فعال) و RXCIE0 (RX برای وقفه) را فعال می کنیم. در ثبت نام UCSR0C اندازه 8 بیت شار را انتخاب می کنیم.
پس از تنظیم بیت وقفه RX ، باید تابع ISR را برای USART0_RX_vect اضافه کنیم
ISR (USART0_RX_vect) {char rcvChar = UDR0؛ if (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar؛ bufferIndex ++؛ }}
نباید در روال سرویس وقفه خود منطق تجاری انجام دهید. شما باید تابع را در اسرع وقت برگردانید.
مرحله 3: تنظیمات PWM
در تابع initPWM ما مقیاس پردازنده ساعت CPU ، حالت تایمر/شمارنده را به عنوان PWM سریع تنظیم می کنیم و رفتار آن را با بیت های COM تنظیم می کنیم
ما همچنین باید موتور DC را به پین OC2 که در جدول 66 مشخص شده است متصل کنیم. حالت خروجی ، حالت سریع PWM را در برگه اطلاعات ما مقایسه کنید ، همچنین خواهید دید که پین OC2 (OC2/OC1C) PB7 است.
مرحله 4: نتیجه گیری
وقتی کد منبع را در پیوست بارگذاری می کنید.
می توانید یک مقدار PWM جدید (0-255) را از UART (می توانید از ترمینال پورت سریال arduino استفاده کنید) برای تنظیم سرعت موتور DC وارد کنید.
توصیه شده:
BBC Micro: bit and Scratch - فرمان تعاملی فرمان و رانندگی: 5 مرحله (همراه با تصاویر)
BBC Micro: bit and Scratch - Interactive Steering Wheel & Driving Game: یکی از وظایف کلاس من در این هفته استفاده از BBC Micro: bit برای ارتباط با برنامه Scratch است که ما نوشته ایم. من فکر کردم که این بهترین فرصت برای استفاده از ThreadBoard من برای ایجاد یک سیستم جاسازی شده است! الهام بخش من برای صفحه خراش
نحوه رانندگی 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 نمی تواند این برد را تشخیص دهد. چرا؟ مشکل چیه؟ خوب ، من یک آموزش برای حل این مشکل دارم
پایک - ایمن تر رانندگی کنید ، هوشمندانه رانندگی کنید ، یک پایک رانندگی کنید!: 5 مرحله
پایک - ایمن تر رانندگی کنید ، باهوش تر رانندگی کنید ، یک پایک رانندگی کنید !: به پروژه من به نام پایک خوش آمدید! این یک پروژه به عنوان بخشی از آموزش من است. من دانشجوی NMCT در Howest در بلژیک هستم. هدف این بود که با استفاده از رزبری پای چیزی هوشمندانه بسازیم. ما آزادی کاملی داشتیم که می خواستیم در آن هوشمند باشیم. برای من این
با یک ریزپردازنده AVR یک موتور پله ای رانندگی کنید: 8 مرحله
با یک ریزپردازنده AVR یک موتور پله ای رانندگی کنید: آیا تعدادی موتورهای پله ای پرینتر از چاپگرها/درایوهای دیسک/و غیره در اطراف وجود دارد؟ برخی از آنها با یک اهم سنج ، به دنبال کد راننده ساده روی ریزپردازنده خود ، به دنبال آن خواهید بود
Knex Ipod Dock (متناسب با هر اندازه): 6 مرحله
Knex Ipod Dock (متناسب با هر اندازه): سلام! این اولین دستورالعمل منطقی من است! بنابراین به من تبریک می گویم! در حال حاضر به دستورالعمل! بنابراین این یک اسکله K'nex Ipod است. این ورودی من برای مسابقه knex Jayefuu است. مناسب هر نوع ipod یا iphone است. بسیار محکم است. من آن را از طبقه پایین رها کردم