Macademia'nın robotik ve mühendislik programı · ücretsiz seviye tespiti ve kişisel öğrenme yolu

Büyükler için · 16+ · simülasyon + kod + test

ARM (STM32) ile Gömülü Programlama

Bir Cortex-M mikrodenetleyicisini yazmaç düzeyinden FreeRTOS'a kadar öğren: bellek haritası, GPIO, saat ağacı, zamanlayıcı ve PWM, kesmeler, UART, ADC ve DMA, I²C/SPI, düşük güç. Her ünitede yazmaçları ve dalga biçimlerini gösteren bir tarayıcı simülasyonu, kayıt düzeyi ve HAL ile C kodu ve kısa bir test var. Kart olmadan başlanır; Wokwi ve gerçek Nucleo kartıyla tekrarlanır.

Ünite
11
Simülasyon
12
Saat
47

1. üniteyle başlaTüm simülasyonlarBitirme projesi

Kimler için

Hedef kitle
16 yaş ve üzeri; meslek lisesi (elektrik-elektronik), üniversite ve meslekten öğrenenler
Süre
11 ünite, yaklaşık 47 saat (ders + uygulama)
Ön koşul
C dilinde temel bilgi (değişken, işaretçi, bit işlemleri) ve Arduino ya da benzeri bir kartla deneyim. Raspberry Pi dersi yardımcıdır ama şart değildir.
Belge
Üniteleri ve bitirme projesini tamamlayanlar Macademia katılım belgesi alır.

Kazanımlar

  • Başvuru kılavuzundan yazmaç okuyup bir çevre birimini sıfırdan ayarlamak
  • Aynı işi HAL ve kayıt düzeyiyle yazıp ödünleşimini savunmak
  • Saat ağacını, zamanlayıcıları ve PWM'i hesapla tasarlamak
  • Kesme öncelikleri ve DMA ile zamanlaması güvenilir firmware yazmak
  • UART, I²C ve SPI'ı dalga biçimi düzeyinde anlayıp hata ayıklamak
  • FreeRTOS ile çok görevli, test edilmiş bir firmware kurmak

Üniteler

ÜniteKonuSaatSimülasyonlar
1Cortex-M mimarisi ve bellek haritası
ARM çekirdeği, STM32 aileleri, Harvard veri yolları ve her şeyin bir adres olduğu 4 GB'lık harita.
3Cortex-M bellek haritası gezgini
2Araç zinciri: derleme, bağlama, yükleme, hata ayıklama
STM32CubeIDE ve PlatformIO, GCC ve bağlayıcı betiği, .elf/.bin, ST-LINK ve SWD ile adım adım hata ayıklama.
4Bağlayıcı (linker) bölümleri: Flash ve RAM bütçesi
3GPIO: yazmaçlarla ve HAL ile
Saat açma, MODER/OTYPER/PUPDR ile yapılandırma, ODR/IDR ile yazma-okuma, BSRR'nin atomikliği ve HAL karşılıkları.
5GPIO yazmaç görüntüleyici: MODER, OTYPER, PUPDR, ODR, IDR, 3B STM32 geliştirme kartı
4RCC ve saat ağacı
HSI, HSE ve PLL; SYSCLK, AHB ve APB bölücüleri; zamanlayıcı saatinin iki katına çıkması; Flash bekleme durumları.
3RCC saat ağacı ve PLL hesaplayıcı
5Zamanlayıcılar ve PWM
Ön bölücü (PSC), otomatik yeniden yükleme (ARR), karşılaştırma (CCR); frekans, görev oranı ve çözünürlük; servo ve motor PWM'i.
5Zamanlayıcı ve PWM: PSC/ARR/CCR hesaplayıcı, 3B STM32 geliştirme kartı
6Kesmeler, EXTI ve NVIC
Yoklama yerine kesme; EXTI hatları; NVIC öncelikleri, iç içe kesme, kuyruk zincirleme; ISR yazım kuralları.
5EXTI ve NVIC: kesme zaman çizelgesi
7UART: seri iletişim ve komut satırı
Çerçeve (start, veri, parite, stop), baud ve BRR, saat hatası; kesmeyle satır okuma ve basit bir komut arayüzü.
4UART çerçeve görselleştirici ve BRR
8ADC ve DMA
12 bit dönüşüm, örnekleme süresi, tarama kipi; işlemci yerine veriyi taşıyan DMA, dairesel tampon ve yarım/tam aktarım.
4ADC + DMA: dairesel tampon ve yarım/tam aktarım
9I²C ve SPI: zamanlama diyagramları
I²C'de START/STOP, adres, ACK/NACK, çekme dirençleri; SPI'da CPOL/CPHA kipleri ve CS; mantık analizörüyle hata bulma.
5I²C ve SPI zamanlama diyagramları
10Düşük güç: Sleep, Stop ve Standby
Çalışma, uyku, durdurma ve bekleme kipleri; uyandırma kaynakları; görev döngüsüyle pil ömrü hesabı.
3Düşük güç kipleri ve pil ömrü
11FreeRTOS: görevler, zamanlayıcı ve senkronizasyon
Süper döngüden görevlere; öncelikli kesintili zamanlama, tick, zaman dilimleme; kuyruk, semafor, mutex ve öncelik tersine dönmesi.
6FreeRTOS zamanlayıcı görselleştirici

Bitirme projesi

Bitirme projesi: PWM motor sürücü + UART komut arayüzü

Bir DC motoru 20 kHz PWM ile süren, bilgisayardan seri komutlarla (PWM, DIR, FREQ, START, STOP, STATUS) yönetilen, acil dur butonu ve aşırı akım korumalı bir STM32 sürücü kartı yazılımı.

Proje ve teslimler

Araçlar

  • Bu platform: 11 simülasyon (yazmaç görüntüleyici, PLL, PWM, NVIC, UART, DMA, I²C/SPI, güç, FreeRTOS)
  • Wokwi: tarayıcıda STM32 kartları (Nucleo-C031C6, Blue Pill)
  • Gerçek kartla: Nucleo-F401RE ya da F411 Black Pill, ST-LINK, mantık analizörü; STM32CubeIDE ya da PlatformIO

İlgili

Esc
  • PanelAna sayfaSayfa
  • ModüllerTüm modüllerSayfa
  • ParçalarParça ansiklopedisiSayfa
  • Mühendislik yoluBüyükler için robotik: 128 parça, 7 seviyeSayfa
  • Robotik dersi (ESOF 323)Üniversite robotik dersi, 14 haftaSayfa
  • Drone dersiBüyükler için: parça, simülasyon, yazılım; 10 üniteSayfa
  • Blok atölyesiSerbest blok programlamaAraç
  • Devre laboratuvarıSanal Arduino ve devreAraç
  • Robot arenasıSanal robot sürüşüAraç
  • OyunlarBloklarla 8 öğretici oyunAraç
  • Mikro Kart atölyesiSanal LED kartı bloklarla programlaAraç
  • Robot atölyesiMikro Kart'ı robota tak, bloklarla görev yapAraç