Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Endüstriyel Elektronik => Konuyu başlatan: polleme - 27 Ekim 2014, 01:53:58

Başlık: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 01:53:58
Bir kare dalga üereten devreye ihtiyacım var. Basitçe 555 veya benzeri çiplerle yapabileceğimi biliyorum, elimde devre de var ama bunu yapmaya zamanım yok. Kit halinde alabileceğim bir devre önerebilir misiniz? Özellikler şöyle:

- kare dalga üretecek
- duty cycle %0-100 arasında ayarlanabilecek
- frekans 10-50000 Hz arasında ayarlanabilecek (kademeli olsa da olur, 50 KHz üstüne çıksa da sorun olmaz)
- göstergeye gerek yok

Elimde fonksiyon jeneratör var ama duty ayarlama imkanı çok sımırlı. Yardımcı olabilir misiniz?
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: Gökhan BEKEN - 27 Ekim 2014, 03:28:41
Denendi çalışıyor(frekans ayarlama kısmı en başta yapılıyor):
http://burakenez.org/2014/07/04/timer-ve-pwme-genel-bakis-stm32f4de-timer-ile-pwm-cikis-sinyali-olusturma/ (http://burakenez.org/2014/07/04/timer-ve-pwme-genel-bakis-stm32f4de-timer-ile-pwm-cikis-sinyali-olusturma/)
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 09:27:04
STM32F4 ile çok tanışık değilim ama elimde var. Adım adım anlatılmış, denemeye değer aslında bir çalışayım. Peki bunu nasıl kullanabiliyoruz? Her frekans veya duty değiştirmede kod içinde değişiklik yapıp derleyip yeniden yükleme mi gerektirir? Kullanımı hakkında bir açıklama var mı acaba?

Bilgi için teşekkürler.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: mir_as82 - 27 Ekim 2014, 09:33:34
Hocam bende inceledim verilen linki. Duty ve frekans değişikliğinde dediğinizi yapmak gerekecek. Çünkü frekansı ve duty değiştiren değişkenler derleme esnasında belirleniyor. Runtime de bu işin yapılabilmesi için dışarıdan ya pot gibi birşey ile analog okuma, veya iki buton ile birisi duty birisi freknası arttıracak şekilde basarak(ikisine aynı anda basında set eder değişkenleri ), veya portun birine 8 tane switch koyarsınız o portu okuyup değerine göre frekansı değişkenlere aktarırsınız. Yani yol çok.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 09:47:13
STM32F4 için koda pot veya buton gibi eklemeleri benim yapabilmem çok zor. En azından sabit frekans gerektiren yerler veya referans amaçlı kullanabilirim, bir yapmaya çalışayım.

mesaj birleştirme:: 27 Ekim 2014, 09:54:18

Aslında şu tip bir ürün işi görüyor ama pahalı.

http://www.ebay.com/itm/PWM-Module-1Hz-100KHz-Pulse-Signal-Generator-Servo-Signal-Duty-Cycle-1-99-/281211120976?pt=LH_DefaultDomain_0&hash=item41797d2d50 (http://www.ebay.com/itm/PWM-Module-1Hz-100KHz-Pulse-Signal-Generator-Servo-Signal-Duty-Cycle-1-99-/281211120976?pt=LH_DefaultDomain_0&hash=item41797d2d50)
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: Gökhan BEKEN - 27 Ekim 2014, 11:45:26
Aşağıdaki main kısmını ve tanımlamaları linkteki programa adapte ederseniz ledlerin parlaklığının kendi kendi değiştiğini görebilirsiniz.
#define LED1_STEP 1
#define LED2_STEP 10
#define LED3_STEP 20
#define LED4_STEP 40

int main(void)
{
unsigned int sayac1=0,sayac2=0,sayac3=0,sayac4=0;

Timer3_PWM_Output_Config(Period, Prescaler);

while (1)
{
sayac1+=LED1_STEP;
sayac2+=LED2_STEP;
sayac3+=LED3_STEP;
sayac4+=LED4_STEP;

if(sayac1>=15000)sayac1=0;
if(sayac2>=15000)sayac2=0;
if(sayac3>=15000)sayac3=0;
if(sayac4>=15000)sayac4=0;

TIM_SetCompare1(TIM3,sayac1);
TIM_SetCompare2(TIM3,sayac2);
TIM_SetCompare3(TIM3,sayac3);
TIM_SetCompare4(TIM3,sayac4);
DelayMs(1);
}
}
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 17:49:39
Basitliği ile ICL8038 ilgimi çekti. Kendim yapmak istemesem de bu entegre ile deneyebilirim. Diğer XR2206, MAX038 gibi entegreler daha karışık veya duty oranları yetersiz. 555 ucuz seçenek ama hem frekans, hem duty değiştirmek istediğinizde devre karmaşık hale geliyor.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: r32mp - 27 Ekim 2014, 20:11:46
(http://www.talkingelectronics.com/projects/50%20-%20555%20Circuits/images/MotorPWM.gif)

Frekası değiştirmek istediğinde kondansatör değeri ile oynarsın işini görürmü . Komutatör anahtar kullanarak belirli aralıklarda çalıştırabilirsin yada ayarlı kondansatör ?


En basit ve ucuz yollardan biri. Akü şarj devresinde kullanmıştım işe yarıyor.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 20:34:41
Bu devre fena değil, duty olarak istenilen aralığı veriyor ama frekans değişimi için kapasite değiştirmek çok pratik değil. Isıl kararlılık nasıldır, onu da bilmiyorum.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: r32mp - 27 Ekim 2014, 21:08:16
Alıntı yapılan: polleme - 27 Ekim 2014, 20:34:41
Bu devre fena değil, duty olarak istenilen aralığı veriyor ama frekans değişimi için kapasite değiştirmek çok pratik değil. Isıl kararlılık nasıldır, onu da bilmiyorum.

Isındıkça ne kadar sapıtır bilemiyorum hani hiç test etmedim ama çıkış bacağından çok akım çekilmediği sürece ısınma yapmıyor. Ve ortalama olarak 100 khz üzerine çıkılmadıkça. Ayarlı kondansatörde bir alternatif.

sg3525 nasıl olur ? Kit demişsiniz ama böyle bir devreye pek ihtiyaç duyan olamdığından kit olarak Türkiyede pek yok herhalde. Dc motor sürücüleri var alternatif pwm sürücüler ama frekans değişimine müsait olup olmadıklarını bilmiyorum.
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: polleme - 27 Ekim 2014, 21:21:54
Şunu inceliyorum. İş görebilecek bir kit gibi duruyor.

http://www.ebay.com/itm/PWM-Signal-Generator-10Hz300KHz-Sine-Square-Triangle-Wave-Board-/181034898785 (http://www.ebay.com/itm/PWM-Signal-Generator-10Hz300KHz-Sine-Square-Triangle-Wave-Board-/181034898785)
Başlık: Ynt: KARE DALGA (PWM) SİNYAL ÜRETECİ
Gönderen: mehmet - 28 Ekim 2014, 00:24:01
@ete hocanın bu konu ile ilgili bir
çalışması vardı diye hatırlıyorum.