27khz pwm Sinyali %50 Duty Cycle Ters ve Düz Smps için .Kare Dalga
40khz PWM Sinyali %50 Duty Cycle Kara dalga düz .
10 khz pwm Sinyali %50 Duty Cycle Kare Dalga düz. Bir kaç anlayan bilir kişiye sordum ama yapılamaz dedi pic ile. Pic ile yapılacak sinyallerden biri hesaplandığında diğer sinyaller doğru frekansları veremezmiş ? Böyle birşey yapmak istiyorum ama olabilir mi ?
Burada bir uygulamada yapılmış ama.
(https://i.ibb.co/6nX00mW/taramps.jpg) (https://ibb.co/6nX00mW)
Pic ile veya herhangibir mcu ile yapılabilir.
Kısaca yazılımsal PWM ile yapılabilir.
Bu frekansların en küçük ortak katını üretebiliyorsan kolay.
Sadece 40kHz ve 10kHz üreteceksin diyelim,
40kHz için timer kesmesi ile
minimum 1/80k periyodlu bir kesme kurdun,
her kesmede bir pini toggle edersen 40kHz sinyal üretmiş olacaksın.
Şimdi aynı kesme içinde her 4 kesme geldiğinde
başka bir pini toggle edersen
o pindende 10kHz üretmiş olursun.
Bu veya benzeri mantıkla yapabilirsin.
Donanımsal PWM modülü ile çalıştığında
bazı piclerde Complementary Output var
yani ürettiği sinyalin tam tersini başka bir pinden veriyor.
27kHz yi donanımsal PWM ile
diğerlerinide yukarıdaki gibi bir yöntemle üretirsin olur biter.
Ek:
CCP1, CCP2 gibi birden çok PWM modülü olan Picler ile yapmakda mümkünmüş ve
çok daha kolay.
https://www.ccsinfo.com/forum/viewtopic.php?p=90366
setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_ccp2(CCP_PWM |CCP_USE_TIMER3 ); // sets up CCP2 to use alternate Timer
// setup your timers 2 and 4
setup_timer_2(T2_DIV_BY_1, 150, 1);
setup_timer_4( T4_DIV_BY_1, 50, 1);
while(1)
{
set_pwm1_duty(value);
set_pwm2_duty(value);
}
Denedim, örnek olarak bulunsun:
CcsC proje, isis simulasyon dosyaları:
http://www.mediafire.com/file/x86m930efmmquku/RaMu_20200103_16F1827_MultiplePwmFreqs.7z/file
(https://lh3.googleusercontent.com/3jEnyiMpaZNFn3OfjxwSfttknlze8HjQQhi7SqJc_yjFObLC_9R_XhOJvWq8lM1ZldIkEnSCWH8U2TPWija1Cicpp3tzpm4Q2Ott9qrMptzfUv-rAhvRgcF8OYF6RQNhcVbcL_UjvVkPx2ye77r6WOU9pTEd7EspOJ0ADfiZEPLdcBD1OQrkXpwRsGvvEO8LTw5XDiAgxXQb9qaPPsZQkuZU_q-x2BopUB6wvgzat-gTgZrtW79JrSuuJrR0Ti2QVl3HDT2FbXhYBTHNvBtZIZ4MaPI17yzWSmH5Hzt03bVEJw1vtSs8SJX8IgsWiZddzONQTzpzC5_xa5L4H-zXqbI8HDbwBAeuF9l5ra1H8wcqoXjgB8nZAN1cyfuXNUdDtCUEg0ZtKKCsqHNF6E_NhKHrZpfPhMl4p54eXJEwW_ZgB4b7OnHbSAFQ4L3Z08RRrGB2CPDsnsr2ARsdSsNV0gQBrRCXHXqxTopH-P_LVkDsyjWlcXIDkBsg1ptIsnFK-ULrvxUxIAYIPVc8gWiL8eFFN-HiuiIs80bfZXB9eoYATR3564PyRqPvz3-CAfaLT1umni0iMlWkQ7CWwXB7zSbvI2jJVZO1Vtz5OkhE5QK8I6Kw_e0d9IpcAcvIxzgoZrIZvPlxUEqx_5iKQU8HLaBCimKAbWU7xas8lByT6ybN1HFCd8NuIwk=w1347-h566-no)
#include <main_MPF.h>
void main()
{
setup_timer_2(T2_DIV_BY_4,199,1); //100 us overflow, 100 us interrupt
setup_timer_4(T4_DIV_BY_4,49,1); //
setup_ccp1(CCP_PWM|CCP_PWM_HALF_BRIDGE|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
//orjsetup_ccp4(CCP_PWM);
setup_ccp4(CCP_PWM |CCP_TIMER4 ); // sets up CCP2 to use alternate Timer4 !!!!!!!!!!
set_pwm1_duty((int16)398);//398);
set_pwm4_duty((int16)398);
while(TRUE)
{
//TODO: User Code
}
}
Elünize sağlık simule edip deneyeceğim . Ancak 3 tane dalga görüyorum. Tam istediğim detayları bu Pic ile yapabilirmiyiz ? Yada yazabilirmisiniz ?
Doğru demişler.Kullandığımız işlemciler seri işlem yapan
makinalar.
Bura da en önemli sinyal Smps için olanı
Smps için Complement Sinyal Almakla iş bitmiyor.
Dead Band,Blanking, hiç olmadığı kadar önemli hale geliyor.
Ayrıca Smps'in Feedabck'i ne olacak?Onları neyle hesaplayacaksın?
Yazılımlamı?:)
Onu hesaplamaya kalktığında iş çığrından çıkacak.
Sürekli değişen Feedback Doneleri sürekli değişeceğinden hesplama zamanıda
hep değişiklik gösterecek.
Smps'i ayrı yaparsan diğerleri kolay.
DsPic ler var sırf bu işler için tasarlanmış.Göz at.
Bu feedbacksiz çalışma. Yani geri bildirimi deneyleyecek birşey yok. Sadece osilatör bir yeri tetikleyecek okadr. Yani sistemde sadece bu frekansların çıkması yeterli.
Alıntı yapılan: JOKERAS - 04 Ocak 2020, 13:03:02Doğru demişler.Kullandığımız işlemciler seri işlem yapan
makinalar.
Bura da en önemli sinyal Smps için olanı
Smps için Complement Sinyal Almakla iş bitmiyor.
Dead Band,Blanking, hiç olmadığı kadar önemli hale geliyor.
Ayrıca Smps'in Feedabck'i ne olacak?Onları neyle hesaplayacaksın?
Yazılımlamı?:)
Onu hesaplamaya kalktığında iş çığrından çıkacak.
Sürekli değişen Feedback Doneleri sürekli değişeceğinden hesplama zamanıda
hep değişiklik gösterecek.
Smps'i ayrı yaparsan diğerleri kolay.
DsPic ler var sırf bu işler için tasarlanmış.Göz at.
Bana sadece 100khz %50 duyt ve cycle , 27khz %50 duty ve cycle ters ve düz sinyal , birde 100 %50 duty ve Cycle gerekiyor. Bu olsa işimi göreecek
O zaman Ramu'nun önerdiği Donanımsal CWG,COG barındıran işlemciler var onlardan
kullan.
PIC10F320, PIC10F322, PIC12F1501, PIC16F1503, PIC16F1507, PIC16F1508, PIC16F1509
Bunları buldum evet ama. Ben kod yazmayı bilmiyorum . Complementary Waveform Generator olarak bu Pic lerden birisi olurmu ? Yoksa yukarıdaki Ramu arkadaşın verdiği Hex i simule ettim ama frekansı ölçemedim.Yani zor iş mi gerçekten şu kodu yazmak ?
Rayman dostum,kod yazmayı bilmiyorsan zaten zor.
Bilen için kolay.
Olmaz diyen bilirkişiler senin sorduğun soruyu anlamamışlardır,benim anlamadığım gibi.
Yukarıdaki işlemcilerin çoğuyla olur,incelemek lazım.
Ama sen kod yazmayı bilmiyorum diyorsun.Asıl mesele o.
Bence o bilirkişilere durumu tekrar izah et.Bu sefer olur diyeceklerinden eminim.
Zaten onun için sordum yapabilen olurmu ? Çokmu uğraştırır ? Benim anladığım bir iş değiş kod yazmak. Yani bilmiyorum açıkcası. Sadece bu istediğim şey lazım okadar
Bunu yapacak kadar programlamayı öğrenmek biraz vakit alır. Günde 6 saat anlatan biri olsun 2 gün yeterli. Zaten direk bunu anlatsın. Bu kişinin yanında bellek olur içinde gerekli programlar ve ilaçları mevcut olur. Ne gerekiyorsa onu anlatır. ASM den başlamaya gerek yok.
Sürekli programlama lazım olmayacaksa sorunu çözecek birine müracaat en iyisi. Test edip hex i teslim alabilirsiniz.
Kod yazmaya başlamak için FLOWCODE ile başlamanı öneririm.
Buş zamanlarında takıl.
Çok fazla eğitimede gerek yok.
Ancak çok kanallı PWM istiyorsan donanımsal olarak çok kanal PWM aygıtı olan bir işlemci ile yapabilirsin.
Soft PWM fazlaca karışık olabilir.
https://www.youtube.com/results?search_query=flowcode+dersleri (https://www.youtube.com/results?search_query=flowcode+dersleri)
Herşey görsel..
Alıntı yapılan: rayman - 04 Ocak 2020, 13:45:55Bana sadece 100khz %50 duyt ve cycle , 27khz %50 duty ve cycle ters ve düz sinyal , birde 100 %50 duty ve Cycle gerekiyor. Bu olsa işimi göreecek
Alıntı yapılan: rayman - 04 Ocak 2020, 14:15:54Zaten onun için sordum yapabilen olurmu ? Çokmu uğraştırır ? Benim anladığım bir iş değiş kod yazmak. Yani bilmiyorum açıkcası. Sadece bu istediğim şey lazım okadar
Tolerans kurtarırsa sadece bir tane ne558 veya birkaç tane 555, dirençler, kondansatörler vs ile halledebilirsiniz. Daha kararlı olsun isterseniz mesela komparatör ic ve kristal ile tetikleme de uydurulabilir, böyle bir iş için mcu, kod vesaire şart değil.
Alıntı yapılan: tyildizak - 04 Ocak 2020, 17:04:48Tolerans kurtarırsa sadece bir tane ne558 veya birkaç tane 555, dirençler, kondansatörler vs ile halledebilirsiniz. Daha kararlı olsun isterseniz mesela komparatör ic ve kristal ile tetikleme de uydurulabilir, böyle bir iş için mcu, kod vesaire şart değil.
Zaten bu dediğinizi icm7556 cmos ike yapabilirim. Mesele Mcu ile yapmak
Kendi kendinize Pici öğrenmeye başlamak ve bunu yapacak hale gelmek aylar hatta yıllar sürebilir. Bunun yerine bilen biriyle çay içmeniz yararlıdır. 1 günlük iş.
Alıntı yapılan: rayman - 04 Ocak 2020, 18:07:24Zaten bu dediğinizi icm7556 cmos ike yapabilirim. Mesele Mcu ile yapmak
Pic ile nasıl yapılacağını yukarıda
@RaMu tarif etmiş, ben de mesela ccs c rtos komutları ile yapardım, herhalde en basit yol da bu olurdu, başka bir çok yol da önerilebilir, siz de deneyebilirsiniz, sonuçta bir yerden başlamak lazım.
Elimde 12F1572 adlı 8 pinli bir pic var, 3 tane 16-bit donanımsal PWM içeriyor, benzer bir problem için kullanmıştım ve işe yaramıştı. Ters sinyali de bir transistörle yada CWG ile üretebilirsin. Böylece yazılımsal pwm den kaynaklı gecikme de yaşanmaz.
Programlama bilmiyorsan en iyi çözüm profesyonel yardım almaktır.
Bir çok seçenek sunulmuş, birini seçip başlayabilmen dileğiyle..
Evet bu iş sanırım zahmetli gibi geldi. Ama Ramu arkadaşın yaptığı çalışmayı simule ettim isis te.frekansı ölcemedim. Belki bunun üzerine eksik olan frekans kısmına yazılabilir mi ?
İş zahmetli değil, sadece tecrübe istiyor,
kendin yapmak istesen yardımcı olurum
herkes olur oluyor zaten ama
balık veremem.
(https://lh3.googleusercontent.com/OISEDF1jNAUSyBqPLAvFnow8PHbMAlt1N7Hh95cDpu725-hd6TECU-87vXl0mgDh-LVmITzdiAZnQnE1-tXntnizBQyNm4hfgWXBtcnJm1Qx4lj_25Y6W4xZcpoqz-3H7CmtNxFzXEiF6fLb-2jHCukyHLMfcmc8MDA4nxeDLZpVOWaQwv50Isvy1i2q6Di9uRs6pX7W6y1Zv2XrtUUl1lmb2qM-3Gvca3PmtFM0yHMXC7YstQpXsGS_kwVL3x8vIeHfHS1_Isf8UcS4Z9117r3OevKxzP2DKptTJvXcsHCsnjkrQS8ayLOgNwvGsxWGa3AoRkIfVZVzvo6XOepIhqBfnhmMyoxtt_IwuTfUD1RZ60ErxiaSgyYAb4lSjVup6dXKyVNMoIXGguWc7WOY78NvSPPHdXNk4wRY1gEmwQHBEcerskLT7iPRVB-JazHZzVFFGx2laEIz-ZlvStQHEUsie_yFBPZdzDppjD8yYzoVqJ7eNp22fZJsLKC9PeveIF28Orw8--FC8l7HTnIn9oXg_2_EfU8f6L0NLM85ojQnSPel7n-O0TWjQ8unAfdHA5JeZLJZL6jmzpnv-6sGPQm-a3Na-uc4Xrcrj66S9x_gYnyD6pmlxiM9qrFX0m6DhZe_iZolzouh3aF7FlqgpGuud09IM9IjAZTnQ8dONb84b6pJozBp_fZmT6GVeFr9rAmYM0ozhtppXo8Q_TmGot4LUv4Sn6nSO9nDeBxTfrbZRinJ=w1254-h695-no)
Teşekkkürler olmuş frekansı ben osilaskopun çıkışından ölçmedim. Picin girişine takmıştım. Ve balık veremem derken şunumu anlıyorum '' Şekilde A da hreşeyi denedim çalışıyor ama bunu sana veremem gibi ''.
yapacak kişiyle Çay içmen lazım
Kahvede ısmarlarız yani ne varki bunda :D Ben sadece Programlamayı bilmiyorum o yüzden.
Alıntı yapılan: rayman - 05 Ocak 2020, 12:40:10Kahvede ısmarlarız yani ne varki bunda :D Ben sadece Programlamayı bilmiyorum o yüzden.
Rayman, "Ne varki bunda" işi bilen için söylenen Klasik laf.
Testere Necmi'nin Kankası Kılıç diyorki...
Çay iç, Çay içerken arada işi ve işin Meblağını konuşursunuz demek istiyor.
Sen olayı Kahveye bağladın.Bu da çok kurnazcaydı:)
Bak Ramu yapmış işte,bence işine yarıyorsa Ramu ile görüş, Fiyatta anlaş.
Olayı bitir.Öyle daha keyifli olacağını empati yaparsan anlarsın.
Yoksa emin ol Tırmalayıp durur,zaman ve para kaybedersin.
Tasarımda, donanımda,yazılımda yapacağın çok küçük mini minnacık bir hata sana çok pahalıya mal olur.
Dediydi dersin.
Kimse kimseye bedava bir şey vermez.Balık mevzu, nasıl yapıldığını mantığı anlatırım gerisine karışmam demek istiyor sanırım.
İnternette bolca gördüğün, "Ne varki bunda" diye nitelenen örneklerin bir çoğu kimsenin işine yaramaz.
Yok, sen CcsC yi kur, bir led yak söndür örneği yaz,
yani elini taşın altına koy,
kendin yapman anlaman için yardımcı olurum.
Aman ya elinizemi yapışcek iki dakka yazıverinde yollayın gari
diyorsan, olmaz o iş, senden başka kimseye faydası yok onun.
74ls14 smitt trigger entegresi var bu entegre ile 3 farklı frekansda hem de inverse çıkışlarıyla yapabilirsin. Tabi illa picle yapacaksın biliyorum :D sonra da insanlar para istediğinde azarlıyorsun ;D
Birden bire bu olayı kavramam Pic te kod yazmam çok zor iş. Çünkü en ufak birşeyde sürekli anlayan birine soracağım bak burada bu nedne oluyor diye. En ufak detayda olsa soracağım kişiler anında bana dönemeyecek ister istemez soğuyacağım bu işten.. O yüzden biri bu işleri yapıyorsa ondan faydalanmak iyi birşey ..
FLOWCODE da Complementer PWM olmadan..
16F628 de 4MHz Internal Colck modda
10KHz %50 PWM çıkış...
Eşleniğini not buffer ile yapabilirsin.
(https://i.ibb.co/9WrGjWN/resim.png) (https://ibb.co/9WrGjWN)
PICin bir serisinde digital kontrollu osilator blogu yokmuydu?
Alıntı yapılan: z - 06 Ocak 2020, 15:58:25PICin bir serisinde digital kontrollu osilator blogu yokmuydu?
Kastettiğiniz internal OSC ise neredeyse olmayan PIC yok gibi.
Üstelik yeni nesil PIC lerde PLL ile istediğin Frekansa set et.
Umarım yanlış anlamamışımdır Üstad.
Yok internel osc degil. Frekansini yazilimla belirledigin osc blogu var diye hatirliyorum.
Alıntı yapılan: z - 07 Ocak 2020, 10:33:57Yok internel osc degil. Frekansini yazilimla belirledigin osc blogu var diye hatirliyorum.
Aynı şeylerden bahsediyorsak Bazı registerları set ederek istediğiniz frekansa set ediyorsunuz ancak programın kendi içinde değil Config olarak hallediliyor diye biliyorum.
MPLAB X IDE de kılavuzunun olduğunuda hatırlıyorum. Harmony ile bazı şeyler düzenlenebiliyordu.
Ama programlandıktan sonra değişiklik yapılamıyordu.
Sanırım bu değil baksettiğin.
(https://i.ibb.co/hy5xdvv/resim.png) (https://ibb.co/hy5xdvv)
Alıntı yapılan: z - 06 Ocak 2020, 15:58:25PICin bir serisinde digital kontrollu osilator blogu yokmuydu?
Evet, "Numerically Controlled Oscillator" (NCO) : https://www.microchip.com/design-centers/8-bit/peripherals/core-independent/numerically-controlled-oscillator
Alıntı yapılan: tyildizak - 07 Ocak 2020, 12:09:39Evet, "Numerically Controlled Oscillator" (NCO) : https://www.microchip.com/design-centers/8-bit/peripherals/core-independent/numerically-controlled-oscillator
NCO, CWG özelliğinin alt yapısını oluşturan bir özellikmiş sanırım.
Şimdi farkettim.
PIC16F1503 PDF (http://ww1.microchip.com/downloads/en/DeviceDoc/40001607D.pdf)
2. Sayfanın başında
Alıntı yapılan: Mehmet Salim GÜLLÜCE - 07 Ocak 2020, 10:23:50Kastettiğiniz internal OSC ise neredeyse olmayan PIC yok gibi.
Üstelik yeni nesil PIC lerde PLL ile istediğin Frekansa set et.
Umarım yanlış anlamamışımdır Üstad.
Yeni serilerde NCO "numerically controlled oscillator" var.
CWG(Complementary Wave Generatör) Adında anlaşılacağı üzere
Complement Sinyal üreten bir Modül.
Bunun illaki NCO çalışacağı anlamına gelmiyor.
NCO Kaynak sinyallerden herhangi biri.
CWG,Ayrı osilatör kaynağı olan,bu sayede Complement Sinyallerin yükselen ve düşen kenarlarına
uygulanması muhtemel gecikmeleri sağlaması ve ilgili sinyalin Complementini alma özelliği olan bir Modül.
Aslında NCO'nun da bir özelliği yok.
Yazılıma yaptığımız şeyi Donanımla yapmışlar.
Güzelliği Acümülatör Buffer olması.Acümülatör değerini değiştirip bir hamlede update
işlemini donanımsal yapıyor olması.
Arkadaşlar bu işi yapacak biri vardı. Ramu galiba sanırım. Ücreti neyse vereceğiz. Bana özelden ulaşabilirse yapalım şu işi bekliyorum mutlaka haber.
Ben sizden birşey anlayamadım ? Kavrayamadım algınızı ? Hem diyorsunuz bu iş farklı yönden halledilebilir '' Maddi anlamda '' hemde soruyorum nasıl çözeriz paralı yapalım diye yine cevap yok üstelik mesaj yazdığım halde..
Özel mesajda sorun var sanırım. Ben de yolladım. Sizden cevap yok.
İş ilanı kısmında iletişim bilgilerinizle birlikte ilan açmanız yerinde olur.
Bende sorun yok sizde var . Biri fiyat vermiş ama çok uçmuş tereciye.tere satmak gibi ;) O fiyatın çok aşağısında olmali
(https://i.ibb.co/HCf2R7c/Screenshot-2020-01-15-00-41-56.png) (https://ibb.co/HCf2R7c)
Engelliler listesini düzenle diyorum. Liste boş. Garip durum.
Eğer engellediysen yada böyle birseye niyetlendiysen hiç konuşmayalım biz !
Sorunu buldum. Engelleme değil. Sadece yöneticilerden özel mesaj gelsin şeklinde işaretli imiş. Onu kaldırdım. Tüm üyeler seçtim. Zaten rakam yüksek gelir. Fazla umutlu değilim. Tekrar mesaj attım. Ayardan önce yolladım
Belki yine gitmemiştir
PIC ile 555 ile uğraşma.
CD4060 dan iki tane kullan. İlki 27Khz için. Diğeri ise diğer 40Khz ve 10Khz için. Daha bir sürü frekans daha elde edersin.
Yapacağın tek şey çipe istediğin frekansı belirleyecek R ve C bağlamak. Frekansı ayarlı olsun dersen trimpot.
27Khz yerine 28.4Khz olur dersen osc yi R ve C yerine alıcıların 455 Khz seramik filitreleri ile yapabilirsin.
CD4060ları SMD kılıfta seçersen minicik olur.
http://www.ti.com/lit/ds/symlink/cd4060b.pdf
Yok ille de MCU ile olsun dersen ayda kaç tane alacaksın? Oturup fiyat belirleyelim.
Ben zaten Pic harici her bir çok entegre ile bu İşleri yapiyotum. Bana sadece pic ile yapilmasi lazım. Tabi . Neyse istekler bölümüne ilan açayım ben .
PIC derken mikrocipin pici mi yoksa ST nin pici de olur mu?
ST ile Pic in ne alakası var acaba ? :D St bir firma entegre üreten firma. Pic in buradaki önemi şu :
Lojik anlamda , sadece pwm üretmek için tasarlanan Sg3525 -TL494 Vs. gibi Analog işlem yapan entegrelerle olmaması ... Bu işi şuda kullanacaklar : Pic sistemin çalışması için belli yerlere sürekli bu frekansları göndermesi gerekiyor. Hatta kullanım alanı şöyle bir yerde olacak :
(https://i.ibb.co/B4Z3mPw/taramps-1.jpg) (https://ibb.co/B4Z3mPw)
Ne demek ne alakasi var?
ST de Programmable Integrated Circuit uretiyor.
Pardon ya, zaten baslik mikrocip mis.
Analog yapılarda Soğuk ve sıcak olduğu durumlarda Frekans kayması olacaktır.
İşlemcilerin Osilatörleride Analog ama onlar için ekstra önlemler alınmış.
Frekanslar Krıtik değilse sorun olmaz.
St'nin'de Pic'i var, Texas'ında.Hatta Tommiks'in de:)
Film adamsın z:)
St nin Pic i olduğunu ilk defa gördüm ... Yok bizde bir film yok ya , hayat yani Türkiye de yaşananlar daha komik : Dün zenger elektroniktan Fişek alayım dedim Havyanın 90 tl ama havyanın kendisi 50tl :D Demekki şuna benziyor hali hazırda ben her türlü St nin entegreleri ile çok iyi pwm çıkarabiliyorum ama Pic ile birşey yapmaya kalksam 200tl versem yapan olur mu ? :D