LA 1

Percobaan 3



a. Prosedur[Kembali]

  • Pertama, siapkan seluruh alat dan bahan yang digunakan, yaitu STM32F103C8T6, sensor suhu LM35, kipas DC, motor driver L298N, push button, breadboard, adaptor, resistor, kabel jumper, dan sumber tegangan yang sesuai.
  • Kedua, lakukan perakitan rangkaian dengan menghubungkan pin output sensor LM35 ke pin PA0 pada STM32 sebagai input ADC. Pin VCC sensor dihubungkan ke sumber tegangan 5V dan pin GND dihubungkan ke ground.
  • Ketiga, hubungkan pin kontrol pada motor driver L298N ke pin PA2 dan PA3 pada STM32 sebagai pengatur arah putaran kipas. Selanjutnya hubungkan pin enable driver motor ke pin PWM TIM1 Channel 1 agar kecepatan kipas dapat dikontrol menggunakan PWM.
  • Keempat, hubungkan output motor driver ke kipas DC, kemudian sambungkan adaptor sebagai sumber daya utama untuk kipas agar motor dapat bekerja dengan stabil.
  • Kelima, hubungkan push button ke pin PA4 sebagai external interrupt, kemudian pasang resistor pull-up agar pembacaan logika tombol stabil saat tombol ditekan maupun dilepas.
  • Keenam, lakukan konfigurasi program dengan menginisialisasi ADC untuk pembacaan sensor LM35, PWM pada TIM1 untuk pengaturan kecepatan kipas, GPIO output untuk kontrol driver motor, serta interrupt eksternal pada push button untuk fungsi ON/OFF sistem.
  • Ketujuh, upload program ke board STM32 menggunakan software STM32CubeIDE atau software pendukung lainnya, lalu pastikan proses flashing berhasil tanpa error.
  • Kedelapan, jalankan sistem dan lakukan pembacaan nilai ADC dari sensor LM35. Nilai ADC yang diperoleh kemudian dikonversi menjadi nilai tegangan, lalu diubah menjadi nilai suhu dalam satuan derajat Celcius.
  • Kesembilan, amati respon sistem ketika suhu berada di bawah 27°C, dimana kipas harus dalam kondisi mati. Jika suhu mencapai atau melebihi 27°C maka kipas mulai menyala.
  • Kesepuluh, jika suhu meningkat hingga mendekati 35°C maka duty cycle PWM akan berubah secara bertahap sehingga kecepatan kipas meningkat. Jika suhu mencapai 35°C atau lebih, maka kipas bekerja pada kecepatan maksimum.
  • Kesebelas, tekan push button untuk menguji fungsi interrupt. Saat tombol ditekan, sistem akan berubah dari kondisi aktif menjadi nonaktif atau sebaliknya. Jika sistem OFF, maka kipas akan berhenti sepenuhnya.
  • Kedua belas, lakukan pengujian berulang dengan memberikan panas pada sensor LM35 dan mencatat perubahan kecepatan kipas serta respon sistem terhadap tombol interrupt.
  • HARDWARE

     1.    1. STM32F103C8

    Microcontroller

    ARM Cortex-M3

    Operating Voltage

    3.3 V

    Input Voltage (recommended)

    V

    Input Voltage (limit)

    2  3.6 V

    Digital I/O Pins

    32

    PWM Digital I/O Pins

    15

    Analog Input Pins

    10 (dengan resolusi 12-bit ADC)

    DC Current per I/O Pin

    25 mA

    DC Current for 3.3V Pin

    150 mA

    Flash Memory

    64 KB

    SRAM

    20 KB

    EEPROM

    Emulasi dalam Flash

    Clock Speed

    72 MHz


        2. Sensor suhu LM35




    Dalam praktiknya proses antarmuka sensor LM35 dapat dikatakan sangat mudah. Pada IC sensor LM35 ini terdapat tiga buah pin kaki yakni Vs, Vout dan pin ground.

    Dalam pengoperasiannya pin Vs dihubungkan dengan tegangan sumber sebesar antara 4 – 20 volt sementara pin Ground dihubungkan dengan ground dan pin Vout merupakan keluaran yang akan mengalirkan tegangan yang besarnya akan sesuai dengan suhu yang diterimanya dari sekitar.


        SPESIFIKASI :

    • Kalibrasi dalam satuan derajat Celsius.
    • Linearitas +10 mV/ º C.
    • Akurasi 0,5 º C pada suhu ruang.
    • Range +2 º C – 150 º C.
    • Dioperasikan pada catu daya 4 V – 30 V.
    • Arus yang mengalir kurang dari 60 μ A.

        3. Kipas DC

    Kipas DC secara luas dianggap sebagai jenis kipas yang paling efisien. Kipas ini mengonsumsi daya yang jauh lebih sedikit daripada kipas AC. Bahkan, kipas DC mengonsumsi energi hingga 70 persen lebih sedikit untuk menghasilkan daya yang sama dengan jenis kipas AC tradisional.

    Artinya, kipas DC 25 watt menghasilkan hasil yang sama dengan kipas AC 100 watt. Ini ideal untuk lingkungan komersial, seperti restoran, memungkinkan Anda untuk terus menyalakan kipas sepanjang hari tanpa menimbulkan tagihan listrik yang sangat tinggi.




        4. Motor Driver L298N







        5. Push Button

    Tombol tekan merupakan salah satu komponen elektronik yang memiliki fungsi yang sangat penting. Tombol ini dapat digunakan untuk memutuskan atau menghubungkan aliran listrik pada suatu rangkaian.

    Ketika tombol ditekan, aliran listrik akan terputus atau terhubung tergantung dari mekanisme yang digunakan.

    Mekanisme pemutusan dan penghubungan aliran ini disebut dengan sistem unlock atau tidak mengunci. Saat tombol tidak ditekan, sirkuit akan berada dalam keadaan normal. Tombol ini dioperasikan secara manual dengan cara ditekan.

    Tombol tekan juga sangat penting pada mesin-mesin industri, terutama dalam mematikan dan menyalakan mesin. Tombol ini merupakan tombol utama dalam operasional mesin, yang digunakan pada berbagai jenis mesin industri.









        6. Resistor

                                                                      
    7.Adaptor







    Proses kerja adaptor dimulai dari:

    1. PLN mendistribusikan aliran arus listrik:
      PLN, atau Perusahaan Listrik Negara, mengirim aliran arus listrik melalui sumber tegangan yang ada di rumah atau tempat kerja Kalian. Arus listrik ini berjenis arus bolak-balik atau AC (Alternating Current), dan memiliki tegangan yang cukup tinggi, biasanya 220 Volt di Indonesia.
    2. Arus listrik masuk ke dalam transformator:
      Transformator di dalam adaptor berfungsi untuk menurunkan tegangan arus listrik tersebut menjadi lebih rendah dan aman untuk perangkat elektronik Kalian. Misalnya, adaptor laptop biasanya mengubah tegangan menjadi sekitar 19 Volt.
    3. Arus listrik diubah menjadi arus searah (DC) oleh penyearah:
      Setelah diturunkan tegangannya, arus listrik masih berbentuk AC. Oleh karena itu, adaptor menggunakan komponen yang disebut penyearah untuk mengubah arus listrik tersebut menjadi arus searah (DC).
    4. Arus DC masuk ke dalam rangkaian switching:
      Adaptor modern biasanya adalah adaptor switching, yang memiliki rangkaian switching untuk mengontrol aliran listrik.
    5. Arus DC diubah lagi menjadi AC oleh inverter:
      Inverter di dalam adaptor bertugas untuk mengubah arus DC kembali menjadi arus AC, tetapi dengan frekuensi yang jauh lebih tinggi. Frekuensi tinggi ini membuat komponen-komponen di dalam adaptor bisa dibuat lebih kecil.
    6. Arus AC diubah kembali menjadi DC oleh penyearah dan elco:
      Penyearah dan elco (atau kapasitor elektrolit) bekerja sama untuk mengubah arus AC kembali menjadi DC, dan juga untuk menyaring gangguan-gangguan di dalam arus listrik.
    7. Arus DC masuk ke dalam IC dan dialirkan ke perangkat elektronik:
      IC (Integrated Circuit) di dalam adaptor mengontrol aliran listrik ke perangkat elektronik. Selain itu, IC juga berfungsi sebagai pengatur daya, agar daya yang keluar dari adaptor sesuai dengan kebutuhan perangkat.



                                                                                                                                                                                                                

             DIAGRAM BLOK  








                                                                                                                                                                   

    c. Rangkaian Simulasi dan Prinsip Kerja[Kembali]









    Prinsip Kerja

    Pada rangkaian ini, sensor LM35 berfungsi sebagai pendeteksi suhu ruangan yang menghasilkan tegangan analog sesuai perubahan temperatur. Tegangan ini dibaca oleh ADC pada pin PA0 STM32.

    Data ADC kemudian dikonversi menjadi nilai suhu dalam derajat Celcius. Jika suhu masih di bawah 27°C, maka kipas akan tetap mati. Jika suhu mencapai 27°C atau lebih, maka kipas mulai menyala.

    Semakin tinggi suhu menuju 35°C, duty cycle PWM akan berubah sehingga kecepatan kipas meningkat secara bertahap. Jika suhu mencapai 35°C atau lebih, kipas akan bekerja pada kecepatan maksimum.

    Push button digunakan sebagai interrupt untuk mengaktifkan atau menonaktifkan seluruh sistem. Saat tombol ditekan, sistem akan toggle antara kondisi ON dan OFF.

    Motor driver L298N digunakan karena STM32 tidak mampu langsung menggerakkan kipas DC yang membutuhkan arus lebih besar.


    d. Flowchart dan Listing Program[Kembali]

    FLOWCHART






    LISTING PROGRAM 

    #include "main.h" ADC_HandleTypeDef hadc1; TIM_HandleTypeDef htim1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_ADC1_Init(void); static void MX_TIM1_Init(void); uint32_t adcValue = 0; float voltage = 0; float temperature = 0; uint8_t system_on = 1; int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_ADC1_Init(); MX_TIM1_Init(); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); while (1) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY); adcValue = HAL_ADC_GetValue(&hadc1); voltage = ( adcValue / 4095.0) * 3.3; temperature = ( voltage * 100) ; if(system_on) { if(temperature >= 27.0) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET); float duty; if(temperature >= 35.0) { duty = 0.5; } else { duty = 1.0 - ((temperature - 27.0) / 8.0) * 0.5; } __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, duty * 65535); } else { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET); __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 0); } } else { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3, GPIO_PIN_RESET); __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 0); } HAL_Delay(200); } } void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; HAL_RCC_OscConfig(&RCC_OscInitStruct); RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0); PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV2; HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit); } static void MX_ADC1_Init(void) { ADC_ChannelConfTypeDef sConfig = {0}; hadc1.Instance = ADC1; hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 1; HAL_ADC_Init(&hadc1); sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = ADC_REGULAR_RANK_1; sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5; HAL_ADC_ConfigChannel(&hadc1, &sConfig); } static void MX_TIM1_Init(void) { TIM_OC_InitTypeDef sConfigOC = {0}; htim1.Instance = TIM1; htim1.Init.Prescaler = 0; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 65535; HAL_TIM_PWM_Init(&htim1); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 0; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_MspPostInit(&htim1); } static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_2 | GPIO_PIN_3; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_NVIC_SetPriority(EXTI4_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI4_IRQn); } void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_4) { system_on = !system_on; } } void Error_Handler(void) { __disable_irq(); while (1) {} }

    e. Video Demo[Kembali]

     

    f. Analisa  [Kembali]













      



    h. Download File[Kembali]

    FIle Zip  Percobaan 3 [klik disini]

    LAPORAN AKHIR [Klik Disini]

    Datasheet Sensor: 














     

    Komentar

    Postingan populer dari blog ini

    Tugas Besar