
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37




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



U 1. točki definiramo našu kristalnu frekvenciju koju možemo vidjeti na razvojnoj ploči
Korak 2: Postavljanje UART registara




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

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


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: 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 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 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: 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: 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