Innholdsfortegnelse:
- Trinn 1: Dyp dykking i datablad og kildekode - Klokkehastighet
- Trinn 2: Angi UART -registre
- Trinn 3: PWM -innstillinger
- Trinn 4: Resultat
Video: Atmega128A proporsjonal motorkjøring - ATMEL ICE AVR -timer UART PWM -kontroll: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
I denne instruksen vil jeg forklare deg hvordan
- styre en likestrømsmotor med PWM
- kommunisere via UART
- håndteringsuret avbryter
Først av alt, vil vi bruke et AVR Core -systemutviklingskort som du finner på Aliexpress rundt 4 USD. Linken til utviklingskortet er her. Vi vil også bruke Atmel ICE Debugger og Atmel Studio til å programmere og feilsøke programvaren vår.
Trinn 1: Dyp dykking i datablad og kildekode - Klokkehastighet
I 1. kulen definerer vi krystallfrekvensen vår der vi kan se på utviklingstavlen
Trinn 2: Angi UART -registre
For å kommunisere med UART må du angi USART Baud Rate Registers - UBRRnL og UBRRnH riktig, du kan beregne det selv eller du kan bruke online kalkulator for å få riktige verdier enkelt
Online kalkulator
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Så MYUBBR -verdien beregnes da, I register UCSR0B aktiverer vi RXEN0 (recv enable) TXEN0 (transmitter enable) og RXCIE0 (RX for interrupt). I register UCSR0C velger vi 8 biters char størrelse.
Etter at vi har satt RX -avbruddsbit, bør vi legge til ISR -funksjon for USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; if (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar; bufferIndex ++; }}
Du bør ikke gjøre noen forretningslogikk i avbruddsrutinen. Du må få funksjonen tilbake så fort som mulig.
Trinn 3: PWM -innstillinger
I funksjon initPWM setter vi vår CPU -klokkeskaler, Timer/Counter -modus som Fast PWM og angir dens oppførsel med COM -bits
Vi bør også koble likestrømsmotoren til OC2 -pinnen som er spesifisert i tabell 66. Sammenlign Output Mode, Fast PWM Mode i vårt datablad, du vil også se at OC2 pin er (OC2/OC1C) PB7
Trinn 4: Resultat
Når du laster opp kildekoden i vedlegget.
Du kan angi en ny PWM-verdi (0-255) fra UART (du kan bruke arduino seriell portterminal) for å stille DC-motorhastigheten.
Anbefalt:
Arduino As ISP -- Brenn sekskantfil i AVR -- Sikring i AVR -- Arduino som programmerer: 10 trinn
Arduino As ISP || Brenn sekskantfil i AVR || Sikring i AVR || Arduino Som programmerer: ……………………… Vennligst abonner på YouTube -kanalen min for flere videoer …….. Denne artikkelen handler om arduino som isp. Hvis du vil laste opp hex -fil eller hvis du vil sette sikringen i AVR, trenger du ikke kjøpe en programmerer, du kan gjøre
Hvordan lage LED ICE SKATE: 6 trinn (med bilder)
Hvordan lage LED ICE SKATE: Jeg satte neopixel LED på skøyten. Hver gang mikrofonen, som er koblet til Arduino -kortet, hører støyende lyd. Den sender forskjellige signaler til lysdioder. Det er enkelt å lage, selv for nybegynnere. Jeg delte koder og instruksjoner. La oss prøve
En liten bassforforsterker og effektboks: Black Ice, Electra Fuzz: 9 trinn (med bilder)
A Tiny Bass Preamp and Effects Box: Black Ice, Electra Fuzz: I denne guiden vil jeg vise hvordan du kan lage din egen bass/gitar forforsterker og effektboks. Jeg velger å lage en hybrid effektboks, som blander den vanlige “Black Ice” eller “Electra Distortion” forvrengningseffekten med “Bazz Fuss” fuzz -effekten
PWM Med ESP32 - Dimmende LED med PWM på ESP 32 Med Arduino IDE: 6 trinn
PWM Med ESP32 | Dimmende LED med PWM på ESP 32 Med Arduino IDE: I denne instruksen vil vi se hvordan du genererer PWM -signaler med ESP32 ved hjelp av Arduino IDE & PWM brukes i utgangspunktet til å generere analog utgang fra hvilken som helst MCU, og den analoge utgangen kan være alt mellom 0V til 3,3V (i tilfelle esp32) & fra
AVR/Arduino RFID -leser med UART -kode i C: 4 trinn
AVR/Arduino RFID -leser med UART -kode i C: RFID er mani, som finnes overalt - fra beholdningssystemer til merke -ID -systemer. Hvis du noen gang har vært på et varehus og gått gjennom de metalldetektor-utseende tingene ved inngangs-/utgangspunkter, så har du sett RFID. Det er flere