Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => MikroC ARM => Konuyu başlatan: ~ENES~ - 21 Ekim 2018, 12:52:01

Başlık: stm32f103 pwm
Gönderen: ~ENES~ - 21 Ekim 2018, 12:52:01
Arkadaşlar merhaba ;
STM32f103c işlemcisi olan modül var elimde. Bu modül ile pwm üretmek istiyorum. Fakat ne yaptıysam başarılı olamadım. Yazdığım kodu ekliyorum sizce nerede hata yapıyorum ? A8 pininden pwm almak istedim. Pini çıkış yaptım pwm ayarlarını da yaptım lakin hiç hareket yok :( yardımcı olabilirseniz memnun olurum.

  analog  = 2500;                        // initial value for current_duty
  period = PWM_TIM1_Init(5000);
  PWM_TIM1_Set_Duty(analog,  _PWM_NON_INVERTED, _PWM_CHANNEL1);  // Set current duty for PWM_TIM1
  PWM_TIM1_Start(_PWM_CHANNEL1, &_GPIO_MODULE_TIM1_CH1_PA8);
Başlık: Ynt: stm32f103 pwm
Gönderen: Firzen - 21 Ekim 2018, 14:16:17
kodun tamamı bu mu?
Başlık: Ynt: stm32f103 pwm
Gönderen: Murat Mert - 21 Ekim 2018, 15:49:42
aşağıdaki kodu kullanarak pwm sinyalini kontrol etmiştim.

      period= PWM_TIM4_Init(10000);
      PWM_TIM4_Set_Duty(0,  _PWM_NON_INVERTED, _PWM_CHANNEL2); 
      PWM_TIM4_Start(_PWM_CHANNEL2, &_GPIO_MODULE_TIM4_CH2_PB7);
       pwm_yuzde= period/100;

     while(1)
 
{

      PWM_TIM4_Set_Duty(pwm_yüzde*50,  _PWM_NON_INVERTED, _PWM_CHANNEL2);//10 khz %50 pwm
}


Başlık: Ynt: stm32f103 pwm
Gönderen: ~ENES~ - 21 Ekim 2018, 16:14:22
@muratmertgenc hocam verdiğin kodda çalışıyor b7 den pwm alabiliyorum lakin ayarları tim1 kanal 1 e göre yapınca çalışmıyor .. acaba kütüphanelerde mi problem var ?
Başlık: Ynt: stm32f103 pwm
Gönderen: Murat Mert - 24 Ekim 2018, 15:33:14
Alıntı yapılan: enes1153 - 21 Ekim 2018, 16:14:22@muratmertgenc hocam verdiğin kodda çalışıyor b7 den pwm alabiliyorum lakin ayarları tim1 kanal 1 e göre yapınca çalışmıyor .. acaba kütüphanelerde mi problem var ?

Sn. @enes1153 herbacağın timer kanalı aynı değil ve istediğin timer i atayamazsın. CubeMX programını indirip pinlere bakmanız lazım.
Başlık: Ynt: stm32f103 pwm
Gönderen: Murat Mert - 24 Ekim 2018, 15:49:48
timer1 pwm kanalları:
ch1_PA8
ch2_PA9
ch3_PA10
ch4_PA11

timer2 pwm kanalları:
ch1_PA0
ch2_PA1
ch3_PA2
ch4_PA3

timer3 pwm kanalları:
ch1_PA6
ch2_PA7
ch3_PB0
ch4_PB1


timer4 pwm kanalları:
ch1_PB6
ch2_PB7
ch3_PB8
ch4_PB9

Bütün kanalları seçerek yaptım. Bazı kanalar diğer timerlerde çalışabilir. Hepsini seçince sıralama şeklinde göstermiş olabilir örn. tim2_ch3 başka kanalda daolabilir gibi. Kolay gelsin.