Inhoudsopgave:
- Stap 1: diep duiken in gegevensblad en broncode - kloksnelheid
- Stap 2: UART-registers instellen
- Stap 3: PWM-instellingen
- Stap 4: Resultaat
Video: Atmega128A proportioneel motorrijden - ATMEL ICE AVR Timer UART PWM-besturing - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
In deze instructable leg ik je uit hoe je
- een DC-motor besturen met PWM
- communiceren via UART
- omgaan met timeronderbrekingen
Allereerst gebruiken we een AVR Core-systeemontwikkelingsbord dat u op Aliexpress ongeveer 4 USD kunt vinden. De link voor het ontwikkelbord is hier. We zullen ook Atmel ICE Debugger en Atmel Studio gebruiken om onze software te programmeren en te debuggen.
Stap 1: diep duiken in gegevensblad en broncode - kloksnelheid
In 1. de kogel definiëren we onze kristalfrequentie waar we kunnen zien op het ontwikkelbord
Stap 2: UART-registers instellen
Om met UART te communiceren, moet u de USART-baudrateregisters - UBRRnL en UBRRnH correct instellen, u kunt het zelf berekenen of u kunt een online rekenmachine gebruiken om gemakkelijk de juiste waarden te krijgen
Online rekenmachine
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Dus de MYUBBR-waarde wordt dan berekend. In register UCSR0B schakelen we RXEN0 (recv enable) TXEN0 (transmit enable) en RXCIE0 (RX voor interrupt) in. In register UCSR0C selecteren we 8 bit char size.
Nadat we de RX-interruptbit hebben ingesteld, moeten we de ISR-functie toevoegen voor USART0_RX_vect
ISR(USART0_RX_vect){ char rcvChar = UDR0; if(rcvChar != '\n') { buffer[bufferIndex] = rcvChar; bufferIndex++; } }
U moet geen bedrijfslogica toepassen in uw interruptserviceroutine. Je moet de functie zo snel mogelijk terug laten komen.
Stap 3: PWM-instellingen
In de functie initPWM stellen we onze CPU-klokscaler, Timer/Counter-modus in op Fast PWM en stellen we het gedrag ervan in met COM-bits
We moeten ook de DC-motor aansluiten op de OC2-pin die is gespecificeerd in Tabel 66. Vergelijk Output Mode, Fast PWM Mode in onze datasheet, je zult ook zien dat de OC2-pin (OC2/OC1C) PB7 is
Stap 4: Resultaat
Wanneer u de broncode uploadt in de bijlage.
U kunt een nieuwe PWM-waarde (0-255) van UART invoeren (u kunt de arduino seriële poortterminal gebruiken) om de DC-motorsnelheid in te stellen.
Aanbevolen:
Arduino als ISP -- Hex-bestand branden in AVR -- Zekering in AVR -- Arduino als programmeur: 10 stappen
Arduino als ISP || Hex-bestand branden in AVR || Zekering in AVR || Arduino als programmeur:…………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's…….. Dit artikel gaat helemaal over arduino als isp. Als u een hex-bestand wilt uploaden of als u uw zekering in AVR wilt plaatsen, hoeft u geen programmeur te kopen, u kunt dit doen
Stappenmotor met D Flip Flops en 555 Timer; het eerste deel van het circuit de 555 Timer: 3 stappen
Stappenmotor met D-flip-flops en 555-timer; het eerste deel van het circuit de 555-timer: de stappenmotor is een gelijkstroommotor die in discrete stappen beweegt. Het wordt vaak gebruikt in printers en zelfs robotica. Ik zal dit circuit in stappen uitleggen. Het eerste deel van het circuit is een 555 tijdopnemer. Het is de eerste afbeelding (zie hierboven) met een 555-chip met
Ontwerp van UART in VHDL: 5 stappen
Ontwerp van UART in VHDL: UART staat voor Universal Asynchronous Receiver Transmitter. Het is het meest populaire en eenvoudigste seriële communicatieprotocol. In deze instructable leert u hoe u een UART-module in VHDL ontwerpt
AVR-microcontroller. LED's Flasher met behulp van timer. Timers worden onderbroken. Timer CTC-modus: 6 stappen
AVR-microcontroller. LED's Flasher met behulp van timer. Timers worden onderbroken. Timer CTC Mode: Hallo allemaal! Timers is een belangrijk begrip op het gebied van elektronica. Elk elektronisch onderdeel werkt op tijdbasis. Deze tijdbasis helpt om al het werk gesynchroniseerd te houden. Alle microcontrollers werken op een vooraf gedefinieerde klokfrequentie, de
NE555-timer - De NE555-timer configureren in een astabiele configuratie: 7 stappen
NE555-timer | De NE555-timer configureren in een stabiele configuratie: De NE555-timer is een van de meest gebruikte IC's in de elektronicawereld. Het heeft de vorm van DIP 8, wat betekent dat het 8 pinnen heeft