Belajar mikrokontroller Multiparameter Measurement Using ADC dengan mudah yipppiiii...



Judul    : : Multi Parameter Measurement Using ADC.
Tujuan  :
-     - Mampu melakukan seting ADC untuk berbagai jenis pengukuran Tegangan DC diatur dari potensiometer,  Cahaya menggunakan LDR dan Suhu menggunakansensor suhu LM-35.
-     - Mampu melakukan konfigurasi channel pada ADC sesuai urutan masukan,
-     - Mampu melakukan perhitungan konversi parameter terukur menjadi informasi tertampil pada LCD,
-     - Mampu menyusun, menjalankan dan melakukan debugging program sesuai dengan permasalahan berbasis Bahasa pemrograman C dengan menggunakan Keil uVisonAlat  : Personal Computer, modul MCU, Modul buck converter, kabel USB,  ST Link downloader.

A.Problem :
Akan dibuat sebuah system untuk mengukur parameter tegangan DC, intensitas
cahaya dan suhu ditampilkan pada LCD, seperti ditunjukkan pada Gambar 1.


1. Plant Layout:
Plant Layout  Akan dibuat sebuah system Untuk mengatur tegangan luaran menggunakan potensio dan mengatur kecerahandengan mengunakan ldr dan mengatur suhu ruangan dengan menggunakan lm 35

B. User Requirement
User Requirement  Pada plant ini, digunakan untuk pengaturan tegangan motor DC dengan menggunakan potensio dan bisa mengatur kecerahan pada uangan dengan menggunakan ldr serta suhu ruangan dengan menggunakan lm35.




LDR
 


D. I/O Table
       INPUT
No
Device
Address
note
1
POT
PC02
PC03
Memasukkan nilai konversi adc yang mana nanti akan menjadi suatu tegangan maksimal 2.958 V  
2
LDR
PB01
PB08
Memasukkan nilai konversi adc yang mana nanti akan menjadi suatu satuan cahaya   
3
LM35
PBC1
PBC5
Memasukkan nilai konversi adc yang mana nanti akan menjadi suatu satuan suhu CELCIUS



G. Source Code
float Volt_POT1, Volt_POT2, LDR1, LDR2, Suhu_LM1, Suhu_LM2;
uint32_t ValADC_POT1,ValADC_POT2, ValADC_LDR1, ValADC_LDR2,ValADC_LM1, ValADC_LM2;

HAL_ADC_Start(&hadc1);

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_POT1=HAL_ADC_GetValue(&hadc1);
Volt_POT1=(HAL_ADC_GetValue(&hadc1)/4095.0)*2.958;

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_POT2=HAL_ADC_GetValue(&hadc1);
Volt_POT2=HAL_ADC_GetValue(&hadc1)/4095.0*2.958;

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_LDR1=HAL_ADC_GetValue(&hadc1);
LDR1=HAL_ADC_GetValue(&hadc1)/4095.0*100.0;

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_LDR2=HAL_ADC_GetValue(&hadc1);
LDR2=HAL_ADC_GetValue(&hadc1)/4095.0*100.0;

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_LM1=HAL_ADC_GetValue(&hadc1);
Suhu_LM1=((HAL_ADC_GetValue(&hadc1)/4095.0)*2958)/10.0;

if(HAL_ADC_PollForConversion(&hadc1,50)==HAL_OK)
ValADC_LM2=HAL_ADC_GetValue(&hadc1);
Suhu_LM2=((HAL_ADC_GetValue(&hadc1)/4095.0)*2958)/10.0;

HAL_ADC_Stop(&hadc1);
HAL_Delay(10);

H. running test procedure
1. Nilai Vref ADC = VDD, ukur tegangan VDD saat itu dengan menggunakan
     multitester. Untuk menghitung tegangan dari potensio meter:
     Volt=Nilai konversi ADC/4095 * Vref ADC
     Cahaya=Nilai konversi ADC/4095*100
     Suhu=Nilai konversi ADC/4095*Vref ADC/10;
    
2. Sambungkan power supply 5 volt pada modul, dan hubungkan downloader pada
    USB PC
3. Nyalakan PC untuk mempersiapkan konfigurasi perangkat keras MCU serta
    pemrograman.
4. Gunakan STM32CubeMX untuk melakukan konfigurasi perangkat keras serta
    menghasilkan source code..
5. Gunakan Keil uVision untuk melakukan pemrograman dan kompilasi dari source
    code yang dihasilkan oleh STM32CubeMX.
6. masukkan nilai dengan cara memutar untuk potensio, menutup ruang cahaya untuk LDR dan  memegang LM35 untuk suhu

I.Integration Result
Link Video on you tube

 



No comments:

Post a Comment

Pages