Orodha ya maudhui:

Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti: Hatua 4
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti: Hatua 4

Video: Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti: Hatua 4

Video: Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti: Hatua 4
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Novemba
Anonim
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti
Atmega128A Usawa wa Kuendesha Magari - ATMEL ICE AVR Timer UART PWM Udhibiti

Katika hii inayoweza kufundishwa, nitakuelezea jinsi ya

  • kudhibiti motor DC na PWM
  • wasiliana kupitia UART
  • kushughulikia kipima muda

Kwanza kabisa, tutatumia bodi ya Maendeleo ya mfumo wa AVR Core ambayo unaweza kupata kwenye Aliexpress karibu na USD 4. Kiungo cha bodi ya Maendeleo kiko hapa. Tutatumia pia Atmel ICE Debugger na Atmel Studio kupanga na kurekebisha programu yetu.

Hatua ya 1: Kuingia kwa kina kwenye Hati na Msimbo wa Chanzo - Kasi ya Saa

Kuogelea kwa kina kwenye Hati ya data na Msimbo wa Chanzo - Kasi ya Saa
Kuogelea kwa kina kwenye Hati ya data na Msimbo wa Chanzo - Kasi ya Saa
Kuogelea kwa kina kwenye Hati ya data na Msimbo wa Chanzo - Kasi ya Saa
Kuogelea kwa kina kwenye Hati ya data na Msimbo wa Chanzo - Kasi ya Saa
Kuogelea kwa kina kwenye Hati na Msimbo wa Chanzo - Kasi ya Saa
Kuogelea kwa kina kwenye Hati na Msimbo wa Chanzo - Kasi ya Saa

Katika 1. risasi tunafafanua mzunguko wetu wa kioo ambapo tunaweza kuona kwenye bodi ya maendeleo

Hatua ya 2: Kuweka Sajili za UART

Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART
Kuweka Sajili za UART

Ili kuwasiliana na UART lazima uweke Sajili za Kiwango cha Baud za USART - UBRRnL na UBRRnH kwa usahihi unaweza kuhesabu mwenyewe au unaweza kutumia kikokotoo mkondoni kupata maadili sahihi kwa urahisi

Calculator mkondoni

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

Kwa hivyo thamani ya MYUBBR imehesabiwa wakati huo, Katika usajili UCSR0B tunawezesha RXEN0 (recv kuwezesha) TXEN0 (transmit kuwezesha) na RXCIE0 (RX kwa kukatiza). Katika usajili UCSR0C tunachagua saizi 8 ya char.

Baada ya kuweka usumbufu wa RX kidogo, tunapaswa kuongeza kazi ya ISR kwa USART0_RX_vect

ISR (USART0_RX_vect) {char rcvChar = UDR0; ikiwa (rcvChar! = '\ n') {bafa [bafaIndex] = rcvChar; bafaIndex ++; }}

Haupaswi kufanya mantiki yoyote ya biashara katika utaratibu wako wa kukatiza huduma. Lazima ufanye kazi irudie haraka.

Hatua ya 3: Mipangilio ya PWM

Mipangilio ya PWM
Mipangilio ya PWM

Katika kazi initPWM tunaweka saa yetu ya saa ya CPU, mode ya Timer / Counter kama Fast PWM na kuweka tabia yake na bits COM.

Tunapaswa pia kuunganisha gari la DC na pini ya OC2 ambayo imeainishwa kwenye Jedwali 66. Linganisha Njia ya Pato, Njia ya PWM ya haraka katika hifadhidata yetu, utaona pia kuwa pini ya OC2 ni (OC2 / OC1C) PB7

Hatua ya 4: Matokeo

Matokeo
Matokeo
Matokeo
Matokeo

Unapopakia nambari ya chanzo kwenye kiambatisho.

Unaweza kuingiza thamani mpya ya PWM (0-255) kutoka UART (unaweza kutumia terminal ya bandari ya arduino serial) kuweka kasi ya DC Motor.

Ilipendekeza: