stm32f4 discovery ile ADC'den gerilim ölçme

stm32f4 discovery ile ADC'den gerilim ölçme LCD gösterme

1. STM32F4 Discovery İncelemesi

STM32F4 Discovery kiti üzerinde ARM Cortex M4 tabanlı 168 MHz’lik bir mikrodenetleyici bulunuyor. Cortex M4 standart mikrodenetleyici uygulamalarının yanısıra DSP fonksiyonlarını da içinde barındıran bir mimaridir [1].
ARM’ın Cortex M3 çekirdeğinde sadece mikrodenetleyici uygulamaları esas alınmışken, M4 çekirdeğinde ise M3′e ekstra olarak bir de FPU(Floating Point Unit) bulunmaktadır. Bununla birlikte pek çok ekstra özellik de bulunmaktadır. Kit üzerinde mikrofon ve ses çıkış jakı da bulunmaktadır.
Donanım:
·         32-bit ARM Cortex-M4F çekirdeğine sahip STM32F407VGT6 mikrodenetleyicisi, 1 MB Flash ve 192 KB RAM
·         Dahili ST-LINK/V2 JTAG Debugger
·         USB veya harici kaynaktan doğrudan 5v ile çalışabilme
·         3 V ve 5 V luk çıkış pinleri
·         3-eksen dijital ivmeölçer (LIS302DL)
·         Omni-Directional Mikrofon (MP45DT02)
·         D sınıfı yükselteçli ses sürücü çipi(CS43L22)
·         Sekiz adet LED:
·         LD1 (kırmızı/yeşil)(USB haberleşmesi için)
·         3v3 power on/off LEDi
·         Dört adet kullanıcı LEDi, LD3 (turuncu), LD4 (yeşil), LD5 (kırmızı) ve LD6 (mavi)
·         2 adet USB OTG LEDi, LD7 (yeşil) ve LD8 (kırmızı)
·         Bir adet Reset ve bir adet kullanıcı tanımlı buton
·         USB OTG için mikro-AB konnktör.
·         100 pin’in tamamını kullanabilmeye imkan tanıyan çıkışlar.

Özellikleri:
·         Core: ARM 32-bit Cortex™-M4F CPU with FPU, Adaptive real-time accelerator (ART Accelerator™) allowing 0-wait state execution from Flash memory, frequency up to 168 MHz, memory protection unit, 210 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
·         Memories
o   Up to 1 Mbyte of Flash memory
o   Up to 192+4 Kbytes of SRAM including 64-Kbyte of CCM (core coupled memory) data RAM
o   Flexible static memory controller supporting Compact Flash, SRAM, PSRAM, NOR and NAND memories
·         LCD parallel interface, 8080/6800 modes
·         Clock, reset and supply management
o   1.8 V to 3.6 V application supply and I/Os
o   POR, PDR, PVD and BOR
o   4-to-26 MHz crystal oscillator
o   Internal 16 MHz factory-trimmed RC (1% accuracy)
o   32 kHz oscillator for RTC with calibration
o   Internal 32 kHz RC with calibration
o   Sleep, Stop and Standby modes
o   VBATsupply for RTC, 20×32 bit backup registers + optional 4 KB backup SRAM
·         3×12-bit, 2.4 MSPS A/D converters: up to 24 channels and 7.2 MSPS in triple interleaved mode
·         2×12-bit D/A converters
·         General-purpose DMA: 16-stream DMA controller with FIFOs and burst support
·         Up to 17 timers: up to twelve 16-bit and two 32-bit timers up to 168 MHz, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
·         Debug mode
o   Serial wire debug (SWD) & JTAG interfaces
o   Cortex-M4F Embedded Trace Macrocell™
·         Up to 140 I/O ports with interrupt capability
o   Up to 136 fast I/Os up to 84 MHz
o   Up to 138 5 V-tolerant I/Os
·         Up to 15 communication interfaces
o   Up to 3 × I2C interfaces (SMBus/PMBus)
o   Up to 4 USARTs/2 UARTs (10.5 Mbit/s, ISO 7816 interface, LIN, IrDA, modem control)
o   Up to 3 SPIs (37.5 Mbits/s), 2 with muxed full-duplex I2S to achieve audio class accuracy via internal audio PLL or external clock
o   2 × CAN interfaces (2.0B Active)
o   SDIO interface
·         Advanced connectivity
o   USB 2.0 full-speed device/host/OTG controller with on-chip PHY
o   USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
o   10/100 Ethernet MAC with dedicated DMA: supports IEEE 1588v2 hardware, MII/RMII
·         8- to 14-bit parallel camera interface up to 54 Mbytes/s
·         True random number generator
·         CRC calculation unit,
·         96-bit unique ID
·         RTC: subsecond accuracy, hardware calendar




KODLAR microC for ARM ile yazılmıştır...

Yukarıda kodlarını verdiğim uygulamada, görsellik açısından daha düzgün olması ve POT ile ayar yapılırken çok fazla anlık değişmeler olmaması açısından, 3V giriş gerilimini 12 bit üzerinden aralıklara bölerek 0.25V aralıklarla LCD üzerinde gösterdim. Okunan değeri olduğu gibi ekranda yazdırmak da mümkündür. Bu durumda if {} döngüleri içerisine girilmeyecek ve ADC1_Read(1) ile okunan değer, string’e çevrilerek ekrana olduğu gibi yazdırılacaktır.




LCD bağlantıları

(Lcd 'nin + ve - uçlarını harici bir güç kaynağına bağlayalım.)

  1.ucu >>> GND
  2.ucu >>> +5V
  3.ucu >>> 10K  Potansiyometre üzerinden +5V
  4.ucu >>> PA2
  5.ucu >>> GND
  6.ucu >>> PA3
  7.ucu >>> Boş
  8.ucu >>> Boş
  9.ucu >>> Boş
10.ucu >>> Boş
11.ucu >>> PA4
12.ucu >>> PA5
13.ucu >>> PA6
14.ucu >>> PA7
15.ucu >>> 100 ohm direnç üzerinden +5V
16.ucu >>> GND


ADC bağlantıları

1. ucu Discovery KİTİ PA1 pini
2. ucu Discovery KİTİ 3V pini
3. GND






KAYNAKLAR
http://www.mcu-turkey.com/stm32f4-discovery-gelistirme-kiti-incelemesi/
http://www.fatihinanc.com/diger/stm32f4-discovery-gelistirme-kiti-incelemesi/
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN11/PF252140
http://baef.blogspot.com
http://www.picproje.org

Hiç yorum yok:

Yorum Gönder