Mundarija:

Atmega128A mutanosib haydash - ATMEL ICE AVR taymer UART PWM nazorati: 4 qadam
Atmega128A mutanosib haydash - ATMEL ICE AVR taymer UART PWM nazorati: 4 qadam

Video: Atmega128A mutanosib haydash - ATMEL ICE AVR taymer UART PWM nazorati: 4 qadam

Video: Atmega128A mutanosib haydash - ATMEL ICE AVR taymer UART PWM nazorati: 4 qadam
Video: Развал схождение на экскаваторе погрузчике. Регулировка углов установки колёс. 2024, Noyabr
Anonim
Atmega128A proportsional motorli haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A proportsional motorli haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati
Atmega128A mutanosib haydash - ATMEL ICE AVR taymeri UART PWM nazorati

Bu ko'rsatmada men sizga buni qanday qilishni tushuntiraman

  • PWM bilan shahar motorini boshqaring
  • UART orqali muloqot qilish
  • taymer taymerining uzilishlari

Birinchidan, biz 4 dollar atrofida Aliexpress -da topishingiz mumkin bo'lgan AVR Core tizimini ishlab chiqish kartasidan foydalanamiz. Rivojlanish kartasi havolasi bu erda. Biz dasturiy ta'minotni tuzatish va tuzatish uchun Atmel ICE Debugger va Atmel Studio -dan foydalanamiz.

1 -qadam: Ma'lumotlar varag'i va manba kodiga chuqur sho'ng'ish - soat tezligi

Ma'lumotlar varag'i va manba kodiga chuqur sho'ng'ish - soat tezligi
Ma'lumotlar varag'i va manba kodiga chuqur sho'ng'ish - soat tezligi
Ma'lumotlar varag'i va manba kodiga chuqur sho'ng'ish - soat tezligi
Ma'lumotlar varag'i va manba kodiga chuqur sho'ng'ish - soat tezligi
Ma'lumotlar jadvaliga chuqur sho'ng'in va manba kodi - soat tezligi
Ma'lumotlar jadvaliga chuqur sho'ng'in va manba kodi - soat tezligi

1. o'qda biz ishlab chiqarish taxtasida ko'rishimiz mumkin bo'lgan kristalli chastotamizni aniqlaymiz

2 -qadam: UART registrlarini sozlash

UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash
UART registrlarini sozlash

UART bilan bog'lanish uchun siz USART Baud Rate Registrlarini - UBRRnL va UBRRnH ni to'g'ri sozlashingiz kerak, uni o'zingiz hisoblashingiz yoki to'g'ri kalkulyatordan foydalanib onlayn kalkulyatordan foydalanishingiz mumkin.

Onlayn kalkulyator

ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…

Shunday qilib, MYUBBR qiymati hisoblanadi, UCSR0B registrida biz RXEN0 (recv yoqish) TXEN0 (uzatish yoqish) va RXCIE0 (uzilish uchun RX) ni ishga tushiramiz. UCSR0C registrida biz 8 bitli char hajmini tanlaymiz.

RX uzilish bitini o'rnatgandan so'ng, USART0_RX_vect uchun ISR funktsiyasini qo'shishimiz kerak

ISR (USART0_RX_vect) {char rcvChar = UDR0; agar (rcvChar! = '\ n') {bufer [bufferIndex] = rcvChar; bufferIndex ++; }}

To'xtatilgan xizmat ko'rsatish tartibida siz hech qanday biznes mantig'ini qilmasligingiz kerak. Siz tezda funktsiyani qaytarishingiz kerak.

3 -qadam: PWM sozlamalari

PWM sozlamalari
PWM sozlamalari

InitPWM funktsiyasida biz CPU soat o'lchagichini, Taymer/Hisoblagich rejimini Fast PWM sifatida o'rnatamiz va uning xatti -harakatlarini COM bitlari bilan o'rnatamiz.

Shuningdek, biz DC motorini 66 -jadvalda ko'rsatilgan OC2 piniga ulashimiz kerak. Ma'lumotlar jadvalimizda Chiqish rejimini, Tez PWM rejimini solishtiring, siz OC2 pinining (OC2/OC1C) PB7 ekanligini ko'rasiz.

4 -qadam: Natija

Natija
Natija
Natija
Natija

Manba kodini qo'shimchaga yuklaganingizda.

UART-dan yangi PWM qiymatini (0-255) kiritishingiz mumkin (arduino ketma-ket port terminalidan foydalanishingiz mumkin), shahar motorining tezligini sozlash uchun.

Tavsiya: