74HC595 PWM acil yardım...

Başlatan slymn60, 09 Kasım 2016, 16:53:01

slymn60

merhaba arkadaşlar 18f4550 entegresi ile 74HC595 shift registerını sürüyorum. Yapmak istediğim PWM sinyalini shift register çıkışlarında kullanmak ancak bunu her çıkışta birbirinden bağımsız olarak almak istiyorum. Pic PWM çıkışı sihift register OE bacağına bağlı ledlerin parlaklığı ile oynadığımda tüm çıkışlarda aynı anda parlaklık değişiyor ben bu çıkışlarda birbirinden bağımsız PWM sinyalini nasıl yakalarım lütfen yardımcı olur musunuz ?

skara1214

şimdi bu entegreyi 100 khz gibi bir hızla güncellersen ve parlaklık beklentin 100 adım gibiyse 1khz frekans üretecek şekilde ayar yapabilirsin.kendin duty ayarına göre 1 yada sıfır yaparsın
Herkes ölür ama herkes gerçekten yaşamaz

slymn60

cevabınız için teşekkür ederim ancak anlayamadım kusuruma bakmayın.Her çıkışın parlaklığını örneğin birinci çıkış %100 parlak ikinci si %60 üçüncüsü%30 gibi aynı anda birbirinden bağımsız nasıl sürebiliriz bunu anlayamıyorum.

HexfeT

#3
Her farklı oran için bağımsız PWM çıkışına ihtiyacınız var. 74H595'i pwm ile sürerek olmaz bu iş. 74HC595'i bir döngü içinde istenen pwm'i oluşturacak 8bit veri ile kesintisiz sürerek 8 kanal pwm'i yazılımsal olarak elde etmek mümkün. PWM frekansı sınırlı olur ama. MCU pin sayısı yeterli ise direk portlaradan birini bu işe ayırarak da yapabilirsiniz.

RaMu

Bir kaç gün önce aynı konu açılmıştı,
orada biraz daha detaylı bahsedildi,
ilgili konu linki:
https://www.picproje.org/index.php/topic,66168.0.html
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html


slymn60

ShiftPWM ile ilgili paylaşılan kaynakları, örnekleri 2 gündür inceliyorum üzerinde çalışıyorum micro c kullanıyorum fakat olarak 74HC595 entegresini kullanarak 8 bitlik çıkış bir türlü alamadım elinde kaynak olan arkadaşlar varsa paylaşabilir mi

muhittin_kaplan

#7
595 kullanarak, her çıkışına ayrı pwm değeri vermek istiyorsunuz diye anlıyorum. ben olsam TLC7940 5940 gibi bir entegre kullanırdım.

slymn60

evet doğru anlıyorsunuz, ancak yazılımsal olarak ayrı ayrı 8 bitlik pwm üretmek ve bunu 595 ile kullanmayı deniyorum yanlış mı yapıyorum böyle birşey mümkün değil mi ? bahsettiğiniz entegreyi internette aratınca göremedim tam olarak paylaşabilirmisiniz adını 

muhittin_kaplan

sanırım yanlışlık olmuş. tlc5940

slymn60

bu entegreyi nerde bulabiliriz tr de satılmıyor galiba

muhittin_kaplan

onu bilemiyorum.
595 e gelecek olursak,

pwm i üretmede problem var mı ? eğer yoksa bu ürettiğiniz pwm değerini 595 in ilk kanalına vereceksiniz. sonra ikinci pwm değerini üretecek bunu 595 in ikinci kanalına göndereceksiniz. tarama yöntemiyle farklı değildir diye düşünüyorum. yukardaki linkte anlatılmış.

slymn60

pwm üretmede problem yok onu üretiyorum, ancak ürettiğim pwm sinyalini(0-255) arası 595 in çıkışına gönderince 595 bu sinyali aynı anda tüm çıkışlara veriyor yani ben 0.çıkışa 125 lik pwm verip 1. çıkışa 190 lık pwm uygulayamıyorum öreneğin 125 mi gönderdim hepsine 125 lik sinyal uyguluyor entegre yukardaki gayet açıklayıcı ancak 2 gündür de onu referans alarak yazmaya çalışıyorum bir türlü olmuyor ve artık şunu düşünmeye başladım o linkte bazı şeyler eksik olduğu için ve dili farklı olduğu için mi bir türlü sonuç üretemiyorum

muhittin_kaplan

ilk etapta
%50 lik bir duty yi Sadece 595 in ilk kanalına gönderin diğerleri "0" olsun.

Tagli

Soruyu görünce aklıma gelen şey donanımsal değil yazılımsal PWM oldu. Örneğin 4 kademeli PWM olduğunu ve 595'in 4 çıkışının olduğunu varsayalım. Eğer sırayla 1111 1110 1100 1000 verilerini kaydırırsam sırayla %100, %75, %50 ve %25 duty cycle elde etmiş olurum. Tabi kaydırmalar sırasında OE kapalı olacak, her kaydırmanın sonunda bir kez aktif edilecek.
Gökçe Tağlıoğlu