![Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR mjerač vremena UART PWM kontrola: 4 koraka Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR mjerač vremena UART PWM kontrola: 4 koraka](https://i.howwhatproduce.com/images/008/image-22518-j.webp)
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
![Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola](https://i.howwhatproduce.com/images/008/image-22518-1-j.webp)
![Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola](https://i.howwhatproduce.com/images/008/image-22518-2-j.webp)
![Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola](https://i.howwhatproduce.com/images/008/image-22518-3-j.webp)
![Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola Atmega128A proporcionalna vožnja motorom - ATMEL ICE AVR timer UART PWM kontrola](https://i.howwhatproduce.com/images/008/image-22518-4-j.webp)
U ovom uputstvu ću vam objasniti kako to učiniti
- upravljajte istosmjernim motorom s PWM -om
- komunicirati putem UART -a
- rukovati vremenskim prekidima
Prije svega, upotrijebit ćemo razvojnu ploču AVR Core sistema koju možete pronaći na Aliexpressu oko 4 USD. Link razvojne ploče je ovdje. Također ćemo koristiti Atmel ICE Debugger i Atmel Studio za programiranje i otklanjanje grešaka u našem softveru.
Korak 1: Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina takta
![Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata](https://i.howwhatproduce.com/images/008/image-22518-5-j.webp)
![Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata](https://i.howwhatproduce.com/images/008/image-22518-6-j.webp)
![Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata Dubinsko ronjenje u podatkovnom listu i izvornom kodu - brzina sata](https://i.howwhatproduce.com/images/008/image-22518-7-j.webp)
U 1. točki definiramo našu kristalnu frekvenciju koju možemo vidjeti na razvojnoj ploči
Korak 2: Postavljanje UART registara
![Postavljanje UART registara Postavljanje UART registara](https://i.howwhatproduce.com/images/008/image-22518-8-j.webp)
![Postavljanje UART registara Postavljanje UART registara](https://i.howwhatproduce.com/images/008/image-22518-9-j.webp)
![Postavljanje UART registara Postavljanje UART registara](https://i.howwhatproduce.com/images/008/image-22518-10-j.webp)
![Postavljanje UART registara Postavljanje UART registara](https://i.howwhatproduce.com/images/008/image-22518-11-j.webp)
Da biste komunicirali s UART -om, morate ispravno postaviti USART registre brzine prijenosa podataka - UBRRnL i UBRRnH, možete to sami izračunati ili možete koristiti mrežni kalkulator za lako dobijanje ispravnih vrijednosti
Mrežni kalkulator
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Dakle, tada se izračunava vrijednost MYUBBR. U registru UCSR0B omogućujemo RXEN0 (omogućavanje recv) TXEN0 (omogućavanje prijenosa) i RXCIE0 (RX za prekid). U registru UCSR0C odabiremo 8 -bitnu veličinu znakova.
Nakon što smo postavili RX prekidni bit, trebali bismo dodati ISR funkciju za USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; if (rcvChar! = '\ n') {bafer [bufferIndex] = rcvChar; bufferIndex ++; }}
Ne biste trebali raditi nikakvu poslovnu logiku u rutini usluge prekida. Morate učiniti da se funkcija vrati što je prije moguće.
Korak 3: Postavke PWM -a
![PWM postavke PWM postavke](https://i.howwhatproduce.com/images/008/image-22518-12-j.webp)
U funkciji initPWM postavili smo skaler takta procesora, način Timer/Counter kao Fast PWM i postavili njegovo ponašanje s COM bitovima
Također bismo trebali spojiti istosmjerni motor na OC2 pin koji je naveden u tablici 66. Usporedite Output Mode, Fast PWM Mode u našem listu s podacima, također ćete vidjeti da je OC2 pin (OC2/OC1C) PB7
Korak 4: Rezultat
![Rezultat Rezultat](https://i.howwhatproduce.com/images/008/image-22518-13-j.webp)
![Rezultat Rezultat](https://i.howwhatproduce.com/images/008/image-22518-14-j.webp)
Kada učitate izvorni kod u privitku.
Možete unijeti novu vrijednost PWM-a (0-255) iz UART-a (možete koristiti terminal serijskog porta arduino) za postavljanje brzine istosmjernog motora.
Preporučuje se:
Sofisticirani mjerač vremena za mlin za kavu od 14 USD: 6 koraka
![Sofisticirani mjerač vremena za mlin za kavu od 14 USD: 6 koraka Sofisticirani mjerač vremena za mlin za kavu od 14 USD: 6 koraka](https://i.howwhatproduce.com/images/001/image-1172-9-j.webp)
Sofisticirani mjerač vremena za mlin za kavu od 14 USD: Ovaj projekt je napredak mog instrumenta za mjerenje vremena mljevenja kave od 7 USD koji sam objavio prije nekoliko godina. Kako vrijeme prolazi, raste i potreba za sofisticiranijim mlinom za kavu. Slično onome što sam naveo u prošlom Instructable, cilj ovog
Korištenje mjerača vremena 556 za upravljanje koračnim motorom: 5 koraka
![Korištenje mjerača vremena 556 za upravljanje koračnim motorom: 5 koraka Korištenje mjerača vremena 556 za upravljanje koračnim motorom: 5 koraka](https://i.howwhatproduce.com/images/005/image-13257-j.webp)
Korištenje mjerača vremena 556 za pogon koračnog motora: Ova instrukcija će objasniti kako tajmer 556 može upravljati koračnim motorom. Za ovaj krug nije potreban kôd
Kontrola svjetline PWM LED kontrola zasnovana na tipkama, Raspberry Pi i grebanju: 8 koraka (sa slikama)
![Kontrola svjetline PWM LED kontrola zasnovana na tipkama, Raspberry Pi i grebanju: 8 koraka (sa slikama) Kontrola svjetline PWM LED kontrola zasnovana na tipkama, Raspberry Pi i grebanju: 8 koraka (sa slikama)](https://i.howwhatproduce.com/images/001/image-1075-49-j.webp)
Kontrola svjetline Kontrola LED -a zasnovana na PWM -u pomoću tipki, Raspberry Pi i grebanja: Pokušavao sam pronaći način da svojim učenicima objasnim kako PWM radi, pa sam sebi postavio zadatak da pokušam kontrolirati svjetlinu LED -a pomoću 2 tipke - jedno dugme povećava svjetlinu LED -a, a drugo ga prigušuje. Za program
Vožnja istosmjernim motorom pomoću H mosta: 9 koraka
![Vožnja istosmjernim motorom pomoću H mosta: 9 koraka Vožnja istosmjernim motorom pomoću H mosta: 9 koraka](https://i.howwhatproduce.com/images/004/image-11774-14-j.webp)
Vožnja istosmjernim motorom pomoću H mosta: Zdravo momci! U ovom uputstvu pokazat ću vam kako izgraditi H most - jednostavno elektroničko kolo koje nam omogućuje primjenu napona na opterećenje u bilo kojem smjeru. Obično se koristi u aplikaciji robotike za upravljanje istosmjernim motorima. Korištenjem H Brid
Arduino 3-u-1 prikaz vremena i vremena: 11 koraka
![Arduino 3-u-1 prikaz vremena i vremena: 11 koraka Arduino 3-u-1 prikaz vremena i vremena: 11 koraka](https://i.howwhatproduce.com/images/005/image-12342-7-j.webp)
Arduino 3-u-1 prikaz vremena i vremena: Volim PIC mikrokontrolere i volim programiranje na asemblerskom jeziku. Zapravo, u posljednjih nekoliko godina na svojoj sam web stranici objavio oko 40 projekata na temelju te kombinacije. Nedavno sam naručivao neke dijelove iz jednog od mojih omiljenih američkih v