
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13




Bu talimatta, size nasıl yapılacağını açıklayacağım
- DC motoru PWM ile kontrol edin
- UART aracılığıyla iletişim
- zamanlayıcı kesintilerini yönet
Her şeyden önce, Aliexpress'de yaklaşık 4 USD bulabileceğiniz bir AVR Çekirdek sistem Geliştirme kartı kullanacağız. Geliştirme kartı bağlantısı burada. Ayrıca yazılımımızı programlamak ve hatalarını ayıklamak için Atmel ICE Debugger ve Atmel Studio'yu kullanacağız.
1. Adım: Veri Sayfasına ve Kaynak Koduna Derinlemesine Dalış - Saat Hızı



1. mermide, geliştirme panosunda görebileceğimiz kristal frekansımızı tanımlarız.
Adım 2: UART Kayıtlarını Ayarlama




UART ile iletişim kurmak için USART Baud Rate Registers - UBRRnL ve UBRRnH'yi doğru bir şekilde ayarlamanız gerekir, bunu kendiniz hesaplayabilir veya doğru değerleri kolayca elde etmek için çevrimiçi hesap makinesini kullanabilirsiniz.
Cevrimici hesap makinesi
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Böylece MYUBBR değeri hesaplanır, UCSR0B kaydında RXEN0(recv etkinleştirme) TXEN0 (iletim etkinleştirme) ve RXCIE0'ı (interrupt için RX) etkinleştiririz. UCSR0C kaydında 8 bit karakter boyutunu seçeriz.
RX kesme bitini ayarladıktan sonra USART0_RX_vect için ISR fonksiyonunu eklemeliyiz.
ISR(USART0_RX_vect){ char rcvChar = UDR0; if(rcvChar != '\n') { tampon[bufferIndex] = rcvChar; tamponIndex++; } }
Kesinti hizmeti rutininizde herhangi bir iş mantığı yapmamalısınız. İşlevin en kısa sürede geri dönmesini sağlamalısınız.
Adım 3: PWM Ayarları

initPWM işlevinde CPU saat ölçekleyicimizi, Zamanlayıcı/Sayaç modunu Fast PWM olarak ayarladık ve davranışını COM bitleriyle ayarladık
Ayrıca DC motoru Tablo 66'da belirtilen OC2 pinine bağlamalıyız. Datasheet'imizde Çıkış Modu, Hızlı PWM Modu ile karşılaştırın, OC2 pininin (OC2/OC1C) PB7 olduğunu da göreceksiniz.
4. Adım: Sonuç


Ekteki kaynak kodunu yüklediğinizde.
DC Motor hızını ayarlamak için UART'tan (arduino seri port terminalini kullanabilirsiniz) yeni bir PWM değeri (0-255) girebilirsiniz.
Önerilen:
555 Zamanlayıcı IC Kullanarak Servo Kontrolü: 3 Adım

555 Zamanlayıcı IC Kullanarak Servoyu Kontrol Edin: İlk talimatım "Analog Joystick kullanarak Servoları Kontrol Etmek" idi. O zamandan beri, örneğin servo gerektiren birkaç proje paylaştım: Robotik kol ve Yüz izci. Servoları kontrol etmek için her zaman bir mikro denetleyici kullandık. Ama
Butonlar, Raspberry Pi ve Scratch ile Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: 8 Adım (Resimlerle)

Basmalı Düğmeler, Raspberry Pi ve Scratch Kullanarak Parlaklık Kontrolü PWM Tabanlı LED Kontrolü: Öğrencilerime PWM'nin nasıl çalıştığını açıklamanın bir yolunu bulmaya çalışıyordum, bu yüzden kendime 2 basmalı düğme kullanarak bir LED'in parlaklığını kontrol etmeye çalışma görevi verdim - bir düğme bir LED'in parlaklığını arttırır ve diğeri onu karartır. Programlamak için
H Köprüsü Kullanarak DC Motor Sürüşü: 9 Adım

H Bridge Kullanarak DC Motor Sürüşü: Merhaba arkadaşlar! Bu talimatta size her iki yönde de yüke voltaj uygulamamızı sağlayan basit bir elektronik devre olan H Köprüsünün nasıl kurulacağını göstereceğim. DC Motorları kontrol etmek için robotik uygulamada yaygın olarak kullanılır. H Brid kullanarak
PWM DC Motor Hız ve Işık Kontrolü - DC Dimmer: 7 Adım

PWM DC Motor Hız ve Işık Kontrolü | DC Dimmer: Bugün bu videoda size ışıkları nasıl kısacağınızı, DC veya doğru akımda bir motorun hızını nasıl kontrol edeceğinizi göstereceğim, hadi başlayalım
Lazer Bisiklet ve Gece Sürüşü: 4 Adım

Lazer Bisikleti ve Gece Sürüşü: Son zamanlarda EL telini keşfettim “Elektrolüminesan tel (genellikle EL teli olarak kısaltılır), üzerine bir AC Akımı uygulandığında parlayan, fosforla kaplanmış ince bir bakır teldir. Çok çeşitli uygulamalarda kullanılabilir - araç ve