Sisällysluettelo:

Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR -ajastin UART PWM -ohjaus: 4 vaihetta
Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR -ajastin UART PWM -ohjaus: 4 vaihetta

Video: Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR -ajastin UART PWM -ohjaus: 4 vaihetta

Video: Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR -ajastin UART PWM -ohjaus: 4 vaihetta
Video: Микроконтроллеры ATMEL - ATmega128A-AU ... 2024, Marraskuu
Anonim
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottoriajo - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control
Atmega128A Suhteellinen moottorikäyttö - ATMEL ICE AVR Timer UART PWM Control

Tässä ohjeessa selitän sinulle kuinka

  • ohjaa tasavirtamoottoria PWM: llä
  • kommunikoida UARTin kautta
  • kahva -ajastin keskeyttää

Ensinnäkin käytämme AVR Core -järjestelmän kehityskorttia, jonka löydät Aliexpressistä noin 4 USD: n linkistä. Käytämme myös Atmel ICE Debuggeria ja Atmel Studiota ohjelmistomme ohjelmointiin ja virheenkorjaukseen.

Vaihe 1: Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus

Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus
Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus
Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus
Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus
Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus
Syvä sukellus tietolomakkeeseen ja lähdekoodiin - kellon nopeus

1. luodissa määritämme kristallitaajuutemme, josta voimme nähdä kehityskortin

Vaihe 2: UART -rekisterien asettaminen

UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen
UART -rekisterien asettaminen

Jotta voit kommunikoida UARTin kanssa, sinun on asetettava USART Baud Rate Registers - UBRRnL ja UBRRnH oikein, voit laskea sen itse tai käyttää online -laskinta saadaksesi oikeat arvot helposti

Online -laskin

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

Joten MYUBBR -arvo lasketaan sitten, rekisterissä UCSR0B otamme käyttöön RXEN0 (recv enable) TXEN0 (lähetyksen salliminen) ja RXCIE0 (RX keskeytykselle).

Kun olemme asettaneet RX -keskeytysbitin, meidän on lisättävä ISR -funktio USART0_RX_vect: lle

ISR (USART0_RX_vect) {char rcvChar = UDR0; jos (rcvChar! = '\ n') {puskuri [bufferIndex] = rcvChar; puskuriindeksi ++; }}

Sinun ei pitäisi tehdä mitään liiketoimintalogiikkaa keskeytyspalvelurutiinissasi. Sinun on palautettava toiminto mahdollisimman pian.

Vaihe 3: PWM -asetukset

PWM -asetukset
PWM -asetukset

Toiminnossa initPWM asetamme suorittimen kelloskaalaimen, ajastin-/laskuritilaksi nopean PWM -toiminnon ja asetamme sen käyttäytymisen COM -biteillä

Meidän tulisi myös kytkeä tasavirtamoottori OC2 -nastaan, joka on määritelty taulukossa 66. Vertaa tuotetiedot, nopea PWM -tila tietolomakkeessamme, näet myös, että OC2 -nasta on (OC2/OC1C) PB7

Vaihe 4: Tulos

Tulos
Tulos
Tulos
Tulos

Kun lataat lähdekoodin liitteessä.

Voit syöttää uuden PWM-arvon (0-255) UART: sta (voit käyttää arduino-sarjaporttiliitintä) DC-moottorin nopeuden asettamiseen.

Suositeltava: