Indholdsfortegnelse:
- Trin 1: Dyb dykker ind i datablad og kildekode - Urhastighed
- Trin 2: Indstilling af UART -registre
- Trin 3: PWM -indstillinger
- Trin 4: Resultat
Video: Atmega128A proportional motorkørsel - ATMEL ICE AVR -timer UART PWM -kontrol: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
I denne instruktive forklarer jeg dig hvordan
- styre en jævnstrømsmotor med PWM
- kommunikere via UART
- håndter timer afbrydelser
Først og fremmest vil vi bruge et AVR Core system Development board, som du kan finde på Aliexpress omkring 4 USD. Linket til Development board er her. Vi vil også bruge Atmel ICE Debugger og Atmel Studio til at programmere og debugge vores software.
Trin 1: Dyb dykker ind i datablad og kildekode - Urhastighed
I 1. kuglen definerer vi vores krystalfrekvens, hvor vi kan se på udviklingsbordet
Trin 2: Indstilling af UART -registre
For at kommunikere med UART skal du indstille USART Baud Rate Registers - UBRRnL og UBRRnH korrekt, du kan selv beregne det, eller du kan bruge online lommeregner til let at få korrekte værdier
Online lommeregner
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Så MYUBBR -værdien beregnes derefter, i register UCSR0B aktiverer vi RXEN0 (recv enable) TXEN0 (transmitteraktivering) og RXCIE0 (RX for afbrydelse). I register UCSR0C vælger vi 8 bit char -størrelse.
Når vi har indstillet RX -afbrydelsesbit, skal vi tilføje ISR -funktion til USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; hvis (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar; bufferIndex ++; }}
Du bør ikke gøre nogen forretningslogik i din afbrydelsesrutine. Du skal få funktionen til at vende tilbage hurtigst muligt.
Trin 3: PWM -indstillinger
I funktion initPWM indstiller vi vores CPU -urskaler, timer/tæller -tilstand som hurtig PWM og indstiller dens adfærd med COM -bits
Vi bør også tilslutte DC -motoren til OC2 -stiften, som er angivet i tabel 66. Sammenlign Output -tilstand, Hurtig PWM -tilstand i vores datablad, du vil også se, at OC2 -stiften er (OC2/OC1C) PB7
Trin 4: Resultat
Når du uploader kildekoden i vedhæftede filer.
Du kan indtaste en ny PWM-værdi (0-255) fra UART (du kan bruge arduino seriel portterminal) til at indstille DC-motorhastigheden.
Anbefalede:
Arduino som internetudbyder -- Brænd hexfil i AVR -- Sikring i AVR -- Arduino som programmerer: 10 trin
Arduino som internetudbyder || Brænd hexfil i AVR || Sikring i AVR || Arduino som programmerer: ……………………… Abonner venligst på min YouTube -kanal for flere videoer …….. Denne artikel handler alt om arduino som isp. Hvis du vil uploade hex -fil, eller hvis du vil indstille din sikring i AVR, behøver du ikke købe en programmør, du kan gøre
Sådan laver du LED ICE SKATE: 6 trin (med billeder)
Sådan laver du LED ICE SKATE: Jeg satte neopixel LED'er på min skøjte. Hver gang mikrofonen, der er forbundet med Arduino -kortet, hører en støjende lyd. Det sender forskellige signaler til lysdioder. Det er let at lave, selv for begyndere. Jeg delte koder og instruktioner. Lad os prøve
En lille basforforstærker og effektboks: Black Ice, Electra Fuzz: 9 trin (med billeder)
A Tiny Bass Preamp and Effects Box: Black Ice, Electra Fuzz: I denne guide vil jeg vise, hvordan du kan lave din helt egen bas/guitar forforstærker og effektboks. Jeg vælger at lave en hybrid effektboks, som blander den almindelige “Black Ice” eller “Electra Distortion” forvrængningseffekt med “Bazz Fuss” fuzz -effekten
PWM Med ESP32 - Dæmpning LED med PWM på ESP 32 Med Arduino IDE: 6 trin
PWM Med ESP32 | Dæmpning af LED med PWM på ESP 32 Med Arduino IDE: I denne instruktion vil vi se, hvordan man genererer PWM -signaler med ESP32 ved hjælp af Arduino IDE & PWM bruges dybest set til at generere analog output fra enhver MCU, og den analoge output kan være alt mellem 0V til 3,3V (i tilfælde af esp32) & fra
AVR/Arduino RFID -læser med UART -kode i C: 4 trin
AVR/Arduino RFID -læser med UART -kode i C: RFID er dille, der findes overalt - fra beholdningssystemer til badge -ID -systemer. Hvis du nogensinde har været i et stormagasin og gået igennem de metaldetektorudseende ting ved indgangs-/udgangspunkterne, så har du set RFID. Der er flere