Мазмуну:
- 1 -кадам: Маалымат баракчасына жана булак кодуна терең чумкуу - Саат ылдамдыгы
- 2 -кадам: UART регистрлерин орнотуу
- 3 -кадам: PWM Орнотуулары
- 4 -кадам: Жыйынтык
Video: Atmega128A пропорционалдуу мотор айдоо - ATMEL ICE AVR Timer UART PWM Control: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Бул көрсөтмөдө мен муну кантип түшүндүрөм
- PWM менен DC моторун башкаруу
- UART аркылуу байланыш
- кармоочу таймер үзгүлтүктөрү
Биринчиден, биз 4 доллардын тегерегинде Aliexpressтен таба турган AVR Core системасын өнүктүрүү тактасын колдонобуз. Биз ошондой эле Atmel ICE мүчүлүштүктөрдү оңдоочу программасын жана программалык камсыздоону оңдоо үчүн Atmel Studio колдонобуз.
1 -кадам: Маалымат баракчасына жана булак кодуна терең чумкуу - Саат ылдамдыгы
Жылы 1. ок биз кристалл жыштыгын аныктайбыз, биз аны өнүктүрүү тактасынан көрө алабыз
2 -кадам: UART регистрлерин орнотуу
UART менен байланышуу үчүн сиз USART Baud Rate реестрлерин орнотушуңуз керек - UBRRnL жана UBRRnH сиз туура эсептей аласыз же туура баалуулуктарды алуу үчүн онлайн калькуляторду колдоно аласыз.
Online Calculator
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Ошентип, MYUBBR мааниси эсептелет, UCSR0B реестринде биз RXEN0 (recv иштетүү) TXEN0 (өткөрүүнү иштетүү) жана RXCIE0 (үзгүлтүккө учуроо үчүн RX) иштетебиз. UCSR0C реестринде биз 8 разряддын өлчөмүн тандап алабыз.
RX үзгүлтүк битин койгондон кийин, USART0_RX_vect үчүн ISR функциясын кошушубуз керек
ISR (USART0_RX_vect) {char rcvChar = UDR0; if (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar; bufferIndex ++; }}
Сиз үзгүлтүккө учуроо кызматында эч кандай бизнес логикасын кылбашыңыз керек. Функцияны тез арада кайтарууңуз керек.
3 -кадам: PWM Орнотуулары
IntPWM функциясында биз CPU сааттын масштабын, Таймерди/Счетчик режимин Fast PWM кылып коюп, анын жүрүшүн COM биттери менен орнотобуз.
Биз ошондой эле DC моторун 66 -таблицада көрсөтүлгөн OC2 төөнөгүчүнө туташтырышыбыз керек. Чыгуу режимин, биздин маалымат барагындагы Fast PWM режимин салыштырыңыз, сиз OC2 пини (OC2/OC1C) PB7 экенин көрөсүз
4 -кадам: Жыйынтык
Тиркемеде баштапкы кодду жүктөгөндө.
DC Motor ылдамдыгын орнотуу үчүн UARTтан жаңы PWM маанисин (0-255) киргизе аласыз (arduino сериялык порт терминалын колдоно аласыз).
Сунушталууда:
BBC Micro: бит жана Scratch - Интерактивдүү руль жана Айдоо оюну: 5 кадам (Сүрөттөр менен)
BBC Micro: бит жана Scratch - Интерактивдүү руль жана Айдоо оюну: Менин бул жумадагы тапшырмаларымдын бири - бул биз жазган Scratch программасы менен иштөө үчүн BBC Micro: bitти колдонуу. Мен бул ThreadBoardди камтылган системаны түзүү үчүн эң сонун мүмкүнчүлүк деп ойлодум! Чийүү үчүн менин илхамым
Кадам моторун айдоо үчүн 556 таймерди колдонуу: 5 кадам
Step моторун айдоо үчүн 556 таймерди колдонуу: Бул инструкция 556 таймердин кантип тепкичтүү моторду айдай аларын түшүндүрүп берет
Өз алдынча айдоо жана PS2Joystick-Controlled Arduino Унаасы: 6 кадам
Өз алдынча айдоо жана PS2Joystick менен башкарылган Arduino Унаасы: Саламатсызбы, менин атым Хоакин, мен Arduino хоббисимин. Өткөн жылы мен Arduino менен алпурушуп калдым жана мен ар кандай нерселерди жасай баштадым, жана бул автоматтык жана джойстик башкарылган унаа алардын бири
LED Strobe Lights сүйрөө айдоо жана башкалар үчүн: 5 кадам (сүрөттөр менен)
Тартуу жана башкалар үчүн LED Strobe Lights: Мен жакында блейзерге чоң пикапта соода кылдым. чоң жүк ташуучу унаанын чатырында толук өлчөмдөгү жарык тилкеси бар болчу, бирок блейзерде люк бар, ошондуктан мен кайра бара албайм. Мен ар кандай жашыруун стробаларды карадым, менде эски кош түтүктүү строб тактасы бар
Arduino менен RGB LED тилкесин айдоо: 4 кадам
Ардуинону колдонуп RGB LED тилкесин айдоо: Салам балдар, бул көрсөтмөлөрдө биз 12V RGB LED тилкесин arduino менен иштетүү үчүн схема түзөбүз. Биз ардуинонун RGB LED тилкесин иштетүүгө күчү жетпегендиктен, Led Stripти башка булактан иштетүү үчүн ардуинонун сигналын күчөтүшүбүз керек