Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: z - 17 Eylül 2022, 01:13:25

Başlık: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 17 Eylül 2022, 01:13:25
Timer 2,3 ve 4 u birerbir ayni olacak sekilde ve center align modunda pwm uretecek sekilde kuruyorum.
Master Slave gibi bir kurulum yapmiyorum.

Timerlarin cnt registerleri 0.

Timer 2 yi baslatiyorum. Ardindan 10us sonra Timer 3 u baslatiyorum. Ardindan 10us sonra da Timer 4 u baslatiyorum.

Bu sartlar altinda Timerlarin pwm cikislari arasinda 10us kayma olmasi gerekir.

Fakat 3 timerdan  ikisi  senkronize cikis veriyor.

Kafayi yiyecegim.


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: muhendisbey - 17 Eylül 2022, 01:45:12
Buna benzer bir sıkıntı yaşadım ve çözemedim. Sonrasında derme çatma bir çözümle yoluma devam etmiştim. Cevabı ben de merak ediyorum.

Naçizane ilk önerim 5-20-40us gibi farklı süreler verip hangi iki timer'ın senkron çalıştığını bulmaya çalışırdım.
Sonrasında datasheet üzerinden bu timer hakkında özel bir durum var mı, bu timerları kullanan başka bir birim var mı diye bakardım.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Tagli - 17 Eylül 2022, 10:45:56
Alıntı yapılan: z - 17 Eylül 2022, 01:13:25Ardindan 10us sonra Timer 3 u baslatiyorum.
Bunu nasıl yapıyorsun? Yani 10 us gecikmeyi?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 17 Eylül 2022, 10:56:47
Alıntı yapılan: Tagli - 17 Eylül 2022, 10:45:56Bunu nasıl yapıyorsun? Yani 10 us gecikmeyi?

Timerlar ilk basta init edildi ama start edilmediler.

1. timera start ver.
10us bekle.
2. timera start ver
10us bekle.
3. timera start ver

timerlara start  vermeden once cnt degerlerini degistirerek de timerlar arasinda kayma yapabilirsin.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Tagli - 17 Eylül 2022, 11:16:28
O 10 us bekleme olayını komutların zamanlaması ile tam tutturamıyor olabilirsin. Başlatmadan önce kaydırma yapmak mantıklı. Ancak eş zamanlı başlangıç için timer'ların birbirlerini tetikleme özelliğini kullanman doğru olur. Yani 10 us kayık CNT değerleri ile 3 timer da aynı anda başlamalı. İçlerinden birini master yap, diğerleri slave timer olarak master'a bağlansın, aynı anda tetiklensinler.

3 timer'ı aynı anda başlatmak için
TIM3 ve TIM4'ü SMS = 0b110 (Slave Mode Selection = Trigger Mode) olarak ayarla
TIM3 ve TIM4'ün TS bitleri ile ITR kaynaklarını TIM2 olacak şekilde ayarla
TIM2'de MMS = 0b001 (Master Mode Selection = Enable) olarak ayarla
TIM2'yi başlat

Denemedim ama bu şekilde çalışması lazım.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 17 Eylül 2022, 11:43:31
Ben ayni anda tetiklensin istemiyorum. 10us olmasin da 8 us olsun digeri 10us sonra degil de 12us sonra olsun dert degil.

Neyse sorunu cozdum. shadow registerler sorun yaratiyor. soft olarak update event ureterek timerin 0 yada ARR degeri yuklendigini biliyoruz.

istedigim faz farkini olusturmak icin farkli zamanlarda update event olusturunca cozuldu.

Artik timer modullerine bir kez faz farki verdimmi bir daha update eventi soft olarak vermedikce MCU calistigi surece faz farki korunuyor.

Bu sayede tek MCU ile cok sayida step motor kontrol ederken sargi akimlarini cok daha dogru olcmenin yolu acilmis oldu.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 17 Eylül 2022, 13:29:09
Temp-Shadow-Load Buffer.Bu tip Buffer varsa bunları Update etmek için bir Switch olmalı.
Değeri hazırla,update et Son olarak yükle.Aksi halde içinde önceki rastgele değer ne ise
o kalacak.

Bu İşlemcilerin açık Datahshetleri yokmu?İnternetten bulduğum şemalarda bir halt yok.
Registerleri,Modülleri gösteren açık Pdfleri nerede bu işlemcilerin.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 17 Eylül 2022, 13:58:13
Sevinmistim ancak Update eventi de kod icinde yapinca gene olmadi.

Shadow registerleri devre disi birakip ilk degerleri dogrudan hedef registerlere yukluyorum. o da cozum olmuyor.

@Tagli nin yontem de ise yaramadi.

Ne oluyorsa bir sekilde iki ayri timerin pwm cikislari kendiliginden senkron hale geliyor. Fakat diger ucuncu timer istedigim gibi faz kayikligi olusturuyor.

Debug modunda timerlariin CEN bitlerini mouse ile tiklarsam sorun yok timerlar faz farkli calisiyor.
Gerci bunda da sorun var 4-5 cesit faz kayikligi olusturabiliyorum sadece.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 17 Eylül 2022, 14:57:19
Center Allingned Modu Zaten Hepsini aynı hizada başlat demek değilmi?
Eğer öyle ise bu durumda DeadBand,Blanking gibi Registerler olmalı.
Onlara vereceğin değer ile Başlangıç ve bitişleri ayarlanabilir.

Bilmediğim bir işlemci,mantık kuruyorum.





Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: marecrisium - 17 Eylül 2022, 15:22:09
Errata sheette Timerlarla ilgili çeşitli hatalardan bahsediyor. Belki sizin sorununuzun nedeni olabilirler.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 17 Eylül 2022, 15:50:56
Alıntı yapılan: JOKERAS - 17 Eylül 2022, 14:57:19Center Allingned Modu Zaten Hepsini aynı hizada başlat demek değilmi?
Eğer öyle ise bu durumda DeadBand,Blanking gibi Registerler olmalı.
Onlara vereceğin değer ile Başlangıç ve bitişleri ayarlanabilir.

Bilmediğim bir işlemci,mantık kuruyorum.

Tek bir timerin pwm cikislarindan bahsetmiyorum. Birbiriyle alakasiz timerlarla derdim.

Islemciye ne? Kimi ne zaman baslatirsam baslatirim. Bir birine senkron olsun olmasin benim tercihimde olmali.

Benim bedereksizligimdendir diyecegim ama atmadigim takla kalmadi. Belki basit bir hata yapiyorum.

Problemi gormek isteyenlerin yapmasi gerekenler;

Timer 2, 3 ve 4 u center align modda pwm uretecek sekilde kursunlar.
Compare degeri olarak hepsine %50 duty verecek yuklemeyi yapsinlar.
Sonra Timerlari farkli zamanlarda calistirarak Timerlarin faz farkli calistigini gorsunler.

Bende sadece bir timer digerlerinden faz farkli calisiyor. Diger ikisi ayni fazda calisiyor.

--------------------------

Bu arada gecen aylarda aliexpressden 5 tane blue pill sparis etmistim. ilk kez bluepill sorunu ile karsilastim.

Sorunlu kartta STM32F103C8 cipinde Time4 yok. ADC calismiyor. Rami 10K civarinda.






Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 17 Eylül 2022, 16:16:26
Timere hiçbir özellik eklemeden denedin mi normal pwm center özelliği olmayan. o zaman çalışıyor mu ? Eğer calışmıyorsa stm8 de bir deneyeyim.

Belki kesme compare vs vs istekleri cpu da fazla transitörlere yollara vs sebep olacağı için bilerek böyle tasarlamışlardır diye düşündüm.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 17 Eylül 2022, 16:45:59
3 Timerı farklı zamanlarda aktif edip Faz kayması oluşturmak pek mantıklı gelmedi.

ARR(Auto Reload Register) Bufferını temizleyip yada farklı değerler yazarak denedinmi?
Bu Buffere yazılan değer taşınca Update Event-İnterrupt oluşur diye anlıyorum.
Update Event ne demek?ARR Bufferı artık yeni değer yüklenmeye hazır demek.
Aksi halde mevcut değer işlenirken Update yapmanın mantığı yok,yapamazsın demek.

Değeri hazırla, Event oluşunca Değer otomatik yüklenir, yeni değer hazırlanır.
Buffer'a vereceğin değerlerle istediğin gibi oyna.

Ne bileyim dediğim gibi bildiğim bir işlemci değil mantık kuruyorum.






Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik kassabı - 17 Eylül 2022, 21:37:44
Soruya tam yanıt değil ama meselenin kendisi için şöyle bir fikrim var. 2 tane zamanlayıcı üniteden 3'er adet CCx alın. (CCx: her modülde 4 adet olan karşılaştırıcı) A zamanlayıcısı CCx'lerinde center-aligned-PWM'nin yükselen kenarlarını normal PWM olarak üretin. B zamanlayıcısı CCx'lerinde düşen kenarları normal ama terslenmiş PWM olarak üretin. İki zamanlayıcıyı ayarladıktan sonra hemen ardı ardına başlatırsanız faz açılarını ona göre çok kolay ayarlayabilirsiniz. PWM çıkışlarını open-drain olarak ayarlayın. CCx çiftinin çıkışlarını fiziksel olarak birleştirin. Bu düğümü pull-up yapın. Böylece bu düğüm bir VE işleminin sonucu olsun. Sonuç olarak, işte yap-boz donanımsal bir 3 faz devre :)

Soruya tam yanıt beklemek için bu zamanlayıcıları ayarlamak için ne yaptınız ne ettiniz ayrıntılı bir şekilde ortaya dökmeniz gerekir.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 12:03:16
Bu konuya kafa yoran/deneme yapan yok mu?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 22 Eylül 2022, 17:53:18
z,sen kestin attın cevap yazmadın.Sorunu çözdün sandık.
Ben STM Arm Marm anlamam.Ama bir araştırma yaptım.

Şimdi Center Aligned Mode Pwm nedir?

Clock Pulse'i Sayan bir Counter,Registere yazılan değer ile Match olduğunda Olay gerçekleşir.
STM yapısında Up/Down Counter özelliği var.

Center modu için CCR Kaydına yazılan değer 100 olsun.
Counter Saymaya başladığında 100 değerine ulaşınca Match olacak.Bu Duty'nin High olması.
Up Counter Saymaya devam ediyor ve Duty High'da ilerliyor.
Burası önemli!!Up Counter Son değerine ulaşıp Taştığı anda  UEV(Update event) gerçekleşiyor.
UEV  gerçekleşince ARR registerindeki o anki değer ne ise Tekrar Countere yükleniyor.
Örneğe göre 65535 - 100 = 64535.Duty hala High ve ilerliyor.
Bu drumda Duty'nin Orta noktası bulundu, ARR Registerindeki mevcut değer yüklendi,Up Counter Durdu,Down Counter Saymaya başladı.
Down Conter aşağı doğu sayıp CCR kaydındaki 100 değeri ile Match olduğunda Duty Fall oldu.
Conter değeri Sıfır olunca tekrar başa döndü.


Şimdi Sen bu durumda CCR değelerinin hepsini Duty %50 olsun diye aynı değeri yazdın.
Faz kaymasını sağalamak için Timerları farklı zamanlarda başlattın.
Timerları farklı zamanda başlatman önemli değil.Çünkü Timerların Clock kaynağı tektir.
Faz kayması ilk Anda Registerdeki rastgele değer geçtikten sonraki Turda eşitlenecek.
Doğal olarak Tüm Sinyallerin eşit hale gelecek.

Bunun için Center Alligned modda,Senin işlemcide böyle bir register varmıdır bilemiyorum.
Asimetrik Mode Seçeneğini seçmen icab ediyor.

*3 farklı CCR Kaydına istenilen değer kadar kayma değeri
*Center Aligned Mod.
*Asimetrik Mod.

CCR1 = 100;
CCR2 = 110;
CCR3 = 120;

Bir kaç ARM pdf'inden incelediğim şekil bu.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Tagli - 22 Eylül 2022, 18:10:58
STM32'de asimetrik mod diye bir özellik yok (gözümden kaçmadıysa).
CCR'leri değiştirmek duty değerini de değiştirecektir. Bu durumda bu da bir seçenek değil.

@z, açıkçası oturup denemeye üşendim. Daha önce yazdığımdan başka bir yöntem aklıma gelmiyor. Denersem de yine o yöntemi deneyeceğim. Bence çalışması gerekiyordu. Neden çalışmadığını ben de merak ettim. Söz vermeyeyim ama hafta sonu bir bakmaya çalışacağım.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 22 Eylül 2022, 18:21:57
Alıntı yapılan: Tagli - 22 Eylül 2022, 18:10:58STM32'de asimetrik mod diye bir özellik yok (gözümden kaçmadıysa).
CCR'leri değiştirmek duty değerini de değiştirecektir. Bu durumda bu da bir seçenek değil.

@z, açıkçası oturup denemeye üşendim. Daha önce yazdığımdan başka bir yöntem aklıma gelmiyor. Denersem de yine o yöntemi deneyeceğim. Bence çalışması gerekiyordu. Neden çalışmadığını ben de merak ettim. Söz vermeyeyim ama hafta sonu bir bakmaya çalışacağım.
CCR'leri değiştirmek Standart Pwm'da Edge Aligned modda Duty'i değiştirir.
Zaten amacı bu değilmi?
Ama Center Aligned mod olunca Durumun değişmesi gerekir.
Center Aligned modda Up/Down Counter Sayıyor.Başka türlü Center Aligned mod nasıl olacak?

Bilmediğim işlemci.Açıkçası aynı mimari olduğu için bulduğum Arm pdf'lerini inceledim.
Asimetrik mod varmı yokmu bilmiyorum.Ama mantıken olması gerekir diye düşünüyorum.

Edit;Baktığım Pdf'lerden biri 17. Sayfada Asimetrik PWM diyor.
https://www.st.com/resource/en/application_note/an4013-stm32-crossseries-timer-overview-stmicroelectronics.pdf
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 19:49:15
Yahu konuyu anlamamissin.

3 tane timer var. Her birinin 4 pwm cikisi var. Ama bosver sadece her bir Timerin sadece tek pwm cikisini kullanacagiz.

Her 3 timeri da es sekilde kuracaksin. Her biri icin pwm degerini %50 vereceksin.

Simdi bu 3 timeri ayni anda baslatirsan 3 pwm de ayni fazda olurmi ? Olur.

Peki 1, timeri baslatip ardindan 10us bekleyip 2. timeri baslatirsam be olur? Iki Pwm cikisi arasinda 10uS faz farki olur.

3. timeri da 10us sonra baslatirsam ne olur? 1. den 20us gecikmis ikinciden ise 10us gecikmis 3 sinyalim olur mu? Olur.

Ama uygulamada olmuyor. 3 Timerdan ikisi arasinda 10us faz farki cikior. ucuncusu ise bu iki timerdan birisi ile eszamanli cikis veriyor.

Tum olay bu. Ya ben beceremedim ya da donanimda bir terslik var.

Benim derdim timerlari faz farkli calistirmak.

Faz farkini bir kereye mahsus olusturacagim ve bir daha faz farkina mudahale etmeyecegim.

Niye dersen. Ben oyle istiyorum.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 22 Eylül 2022, 20:48:17
Simdi bu 3 timeri ayni anda baslatirsan 3 pwm de ayni fazda olurmi ? Olur.
Sen 3 Timerı aynı anda nasıl başlatıyorsun?

Aynı an dediğin,Timerları tek tek aktif ettiğin İnstruction kadar farklı başlar.
Buna aynı an diyebiliyormusun?
Örneğin 1 Timerı başlattın,Saymaya başladı,Sonra 2.Timerı başlattın,sonra 3.
Bunlar aynımı oldu şimdi?Senin mantığına göre yine aynı anda başlamadı zaten.
Bunların aynı olması için bir tur atmaları gerekir.İlk Anda aynı olamazlar.

Velevki aynı anda başladığını varsayalım.
Center mod olunca durum yine aynı noktada eşitlenecek.

Center mod Ortası Sabit Pwm.
Ortanın sağı eşit bir kenar,solu da eşit bir kenar.
Kenar başlangıç veya bitişlerini belirleyen değerleri değiştirmediğin sürece
Aynı Clocttan beslenen Tüm yapı Senkron bir şekilde Devam edecek.

Yukarıda Pdf ekledim,17.Sayfasına bak,yapmak istediğin şey bu değilmi?
Bu ise Adamlar sırf bunun için Asimetrik Pwm özelliği eklemiş.
Sen bunu Timerları Başlatırken gecikmeyle başlatıp aynı sonucu almak istiyorsun.

ARM uzmanı sensin,ben bildiğimi sandığımı,analizimi fikirlerimi anlatıyorum-ruz.
Beğenmiyorsan okumaz geçersin.Öyle değil böyle dersin her üye gibi.
Yok konuyu anlamamışsın Falan filan,belkide sen ne istediğini bilmiyorsun veya anlatamıyorsun.
Sırf Konun Canlı kalsın diye tartışılsın diye fikirlerimi yazıyorum.
Senin yaptığına bak.

Sen en iyi kendin çal kendin oyna.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: bulut_01 - 22 Eylül 2022, 21:08:20
silin gitsin bu başlığı.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 22:11:08
Alıntı yapılan: bulut_01 - 22 Eylül 2022, 21:08:20silin gitsin bu başlığı.

Sebep?

Begenmediysen cik git bu basliktan.

Alıntı YapCenter mod Ortası Sabit Pwm.
Ortanın sağı eşit bir kenar,solu da eşit bir kenar.
Kenar başlangıç veya bitişlerini belirleyen değerleri değiştirmediğin sürece
Aynı Clocttan beslenen Tüm yapı Senkron bir şekilde Devam edecek.

Tamam da en tepedeki ilk mesajimda ne dedigim anlasilmiyor mu?

Ohooo seninle isimiz var. 3 ayri timer var diyorum. Her birinin sayicisi ayri. Hani tek bir counter olsa da tum compare registerleri buna bagli olsa tamam da 3 ayri timer var. Her birinin counteri ayri. Bunlari diledigin zaman enable edip saydirabilir yada durdurabilirsin. Ilk deger atayabilirsin. Sayarken icerigini degistirebilirsin.



Alıntı YapSimdi bu 3 timeri ayni anda baslatirsan 3 pwm de ayni fazda olurmi ? Olur.
Sen 3 Timerı aynı anda nasıl başlatıyorsun?

Simdi laf oyunlari yappma. soft olarak baslatirsan herbirini ard arda baslatmak icin 72Mhz islemcide cok az bir kaybin olur.
Onu da gectim. Birisini master secersen diger ikisini slave yapabilirsin. @Taglinin onerdigi sekilde sen masteri enable ettiginde master da slaveleri enable eder. Gene belki 1 clk falan gecikme olabilir. Derdim zaten o degil.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: bulut_01 - 22 Eylül 2022, 22:34:03
z sen form sahibisin sen kimsinki bana cvp veriyorusun bu işleri bilmiyosan git gazate oku seni aşan işlerle kafanı yorma!
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 22:36:32
Kafan iyi mi senin?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: bulut_01 - 22 Eylül 2022, 22:37:58
benim kafa normalde sende kafa yok sordugun sorulardan  :D
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 22:39:02
Alıntı yapılan: bulut_01 - 22 Eylül 2022, 22:37:58benim kafa normalde sende kafa yok sordugun sorulardan  :D

ARM Cortex bolumune gozumden kacmadiysa tek yazdigin mesaj
Alıntı yapılan: bulut_01 - 22 Eylül 2022, 21:08:20silin gitsin bu başlığı. 
olmus.

Kimin kafasi yok cok belli.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: magnetron - 22 Eylül 2022, 22:40:13
ST'nin forumuna sordunuz mu
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 22:45:22
Burda bir yere varamazsam orda soracagim.

Hatayi kendimde saniyorum.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: mehmet - 22 Eylül 2022, 22:51:39
Alıntı yapılan: bulut_01 - 22 Eylül 2022, 21:08:20silin gitsin bu başlığı.

İlginizi çekmeyen konulara bakmazsınız,
olur biter.
Beğenmediğiniz konuya da saygısızlık
yaparak cevap vermezsiniz.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 22 Eylül 2022, 23:09:45
@z yanlis hatirlamiyorsam sen 32f103 ile 3faz surucu zaten yapmistin, center align ile senin isin yok, o sadece pulse 0 noktasinda mi baslayacak yoksa cycle ortasina mi gelecek onu ayarliyor, istedigin faz farkini pwm tablosu ile olusturman gerekmiyor mu, yani faz farki demek: gelecek fazi oturp beklemek degil, yani her faz her an bir acisal degerde olacak yada pwm acisindan bakarsak: her faz her an bir pwm degeriyle mesgul, "0" yada "duty" kadar, yani istedigin isi tek bir timer ile yapabilmen gerekir sanki, yaniliyorda olabilirm.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 22 Eylül 2022, 23:20:02
Alıntı yapılan: z - 22 Eylül 2022, 22:11:08Tamam da en tepedeki ilk mesajimda ne dedigim anlasilmiyor mu?

Ohooo seninle isimiz var. 3 ayri timer var diyorum. Her birinin sayicisi ayri. Hani tek bir counter olsa da tum compare registerleri buna bagli olsa tamam da 3 ayri timer var. Her birinin counteri ayri. Bunlari diledigin zaman enable edip saydirabilir yada durdurabilirsin. Ilk deger atayabilirsin. Sayarken icerigini degistirebilirsin.

Benimle işin yok zaten.İş senin işin.Ortaya,konuya yazman yeterli.
Bu anlattığın Standart Pwm.


Alıntı yapılan: z - 22 Eylül 2022, 22:11:08Simdi laf oyunlari yappma. soft olarak baslatirsan herbirini ard arda baslatmak icin 72Mhz islemcide cok az bir kaybin olur.
Onu da gectim. Birisini master secersen diger ikisini slave yapabilirsin. @Taglinin onerdigi sekilde sen masteri enable ettiginde master da slaveleri enable eder. Gene belki 1 clk falan gecikme olabilir. Derdim zaten o degil.
Gayet mantıklı olduğunu düşündüğüm bir şeye Laf oyunu dedinya ne diyim.

Demekki İşlemci Clock'u 72 değilde 10mhz falan olsa razı olacaksın yani öylemi?

Master-Salveları aktif ediyorda Masterın gecikmesi ne olacak?
2 Salve Senkron,Master Asenkron.

Bu İnstruction farkını senin gibi bir Matematikçi nasıl olurda kabul eder?


Senin demene göre 3 ayrı Timer var istediğin zaman bunları aktif ediyorsun.
Örneklemek gerekirse 3 ayrı işlemci ile Pwm üretmek gibi.
Senin yorumuna göre Timer ile tıpkı bunun benzerini yapmak.
Bu 3 ayrı işlemciyi işlemciyi 10'ar ms saniye arayla başlattık,doğal olarak 3 işlemci
pwm Fazları 10'ar ms kayık çalışıyor diyelim.Yani senin istediğin şekilde.

Şimdi bu ayrı ayrı Faz farklı ürettiğim Pwm'lerin orta noktalarını Aynı hizaya almak istiyorum.
Ne yapmam gerekir?İşlemci clocklarını Senkron etmem gerekmezmi?
Bunu yaparsam Pwmler aynı orjinden başlar.Ne oldu?Hepsi sendeki probleme döndü.

Sonuçta sendeki problem böyle bir şey diye düşünüyorum.
Onun için,hiç bilmediğim bir işlemcinin bir sürü Pdf'ni inceleyip sırf tartışılsın
bilen bilmeyen yarın bir gün uğraşmasın,aşina olsun diye.

Yukarıdaki pdf'in 18.Sayfasındaki sinyali istemiyormusun?
Eğer bu ise istediğin Asimetirk Pwm diye özellikle Pdf te belirtmiş.
Bunu niye yapmış bu Stm.



,






Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 23:25:37
Arkadaslar.

Sorumu  basitlestireyim:

3 ayri timeri farkli zamanlarda baslatmak istiyorum. Fakat nasil oluyorsa 3 timerdan birisi ne yapip ediyor 2 timerdan birisi ile senkron calisiyor.

Bu durumu scop ile 3 timerin pwm cikisindan kolayca gozleyebiliyorum.

-------------------------------

Ben bu durumla 3 ayri motor icin 6 ayri pwm uretirken karsilastim. O yuzden center align vs dedim. Kafa karistirici olmus.
Derdim her bir motora uygulanan voltajlari diger motorlarin voltajindan faz farkli yapmak.

Soyle dusunun.

3 tane 3 fazli alternatorum var. Bunlari gelisiguzel zamanlarda calistiriyorum. Fakat o da nesi? Iki alternator ne yaparsam yapayim daima senkron calisiyor.


23 Eylül 2022, 09:30:03
@JOKERAS dilim kopaydida es zamanli demeseydim ne diyim.

Benim derdim 3 timeri es zamanli calistirmak degil. Orda olayi anlatabilmek icin 3 timeri da es zamanli calisitirirsak 3 pwm de senkron olur demek istedim. Ama ben zaten es zamanli olmasini istemiyorum o yuzden de timer counterlari farkli zamanlarda calistiriyorum.
Yani eszamanli calistirmayi zaten istemiyorum.


Bu islemcideki timer mimarisini bilmezsen sallar durursun. Kod parcasi vs vermiyorum cunku sorunu dile getirdim. Merak eden diledigi dilde yazar gorur.

Verdigin dokumani dikkate almiyorum. Cunku asimetrik moda giris yaparken soyle demis.

This feature is not available in the original series.

Yani okumama bile gerek yok.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Erol YILMAZ - 22 Eylül 2022, 23:35:13
Frekanslarını az farklı yapabilirseniz işiniz çözülmez mi ?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 22 Eylül 2022, 23:40:11
Yok o zaman faz farki gezinir durur.

Ben bir kere faz farkini fixleyecegim bir daha hic dokunmayacagim.

Aslinda yapmak istedigimi, neden boyle bir yapiya ihtiyac duyuyorum anlatsam iyi olur fakat konu dagilir gider.

Yoksa center align mod nedir? Bir timerin 3 PWM cikisiyla  faz farkli 3 gerilim nasil elde edilir gayet iyi biliyorum. Oyle olmasa motorlari donduremem.

Umarim sorun benim sapsalligimdan cikar.

Belki bluepill deki islemci ST islemcinin clonudur timer yapisi ST ile  bire bir implement edilmemistir.


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik kassabı - 22 Eylül 2022, 23:55:09
Bu sorun bir şekilde çözülür ama hassas bir faz farkı yaratabileceğiniz bir yöntem değil bence. Daha önce yaptığım öneri programlama açısından bir seferlik de olsa uğraştırabilir ama bence denemenize değer, bu şekilde hiç uğraşmadan her işlemcide her frekansta her koşulda fazları hassas bir şekilde bölebilirsiniz. Üstelik 1 zamanlayıcı ve 2 CCx cebinizde kalır :D Daha önceki gönderiye ek olarak:

(https://i.ibb.co/mDL4qgN/drawing.jpg) (https://ibb.co/mDL4qgN)
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 00:07:38
(https://i.hizliresim.com/jtkmx33.jpg) (https://www.hizliresim.com/jtkmx33)

3 timerin 3 pwm cikisi.

Toplam 9 cikis sinyali var. Timerlarin mesela 1. kanallarina bakarsaniz duty ler ayni frekanslar ayni ama faz farki var.

Ayni sekilde 2. cikislari ve 3. cikislarda da her seyin ayni sadece faz farki oldugunu gorebilirsiniz.

Fakat ben bu durumu yapamiyorum asagidaki gibi oluyor.

(https://i.hizliresim.com/orh3fj1.jpg) (https://www.hizliresim.com/orh3fj1)
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 00:36:12
Demekki konuyu irdelemesek Sen kendi kafandakini,Üye arkadaşlar da kendi kafalarında
anladıklarına göre Sallayıp duracaktı.
Şemayı baştan çizsen bir çok kişi olayı Şak diye anlardı.
6 veya 9Pwm ilk defa şema ile anlaşıldı.Ben öyle anladım en azından.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 01:05:18
Basindan beri farkli bir sey demedim ki.

Timerlarin tek bir kanalini ornek verdim. 3 timerin da birinci cikisi uzerinden konustum. @Tagli hic ikiletmedi konuyu sak diye anladi.

Diger ikisini siz araya sokusturdunuz.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 01:52:24
o zaman timer lari @Tagli nin dedigi gibi master slave olarak kurup ITR ler ile tetiklemen gerek,
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 02:04:42
Yukaridaki mesajlarimdan birisinde ise yaramadigini yazmistim.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: flowchartx - 23 Eylül 2022, 08:12:49
Çıkışları direkt pwm olarak değilde set reset yaparak pulseları üretseniz nasıl olur acaba ?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 08:20:46
Alıntı yapılan: z - 23 Eylül 2022, 02:04:42Yukaridaki mesajlarimdan birisinde ise yaramadigini yazmistim.
yazdiginin farkindayim ama bundan baska yol yok gibi, tekrar gozden gecir istersen.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 09:52:24
Eger timerlari soft gecikmelerle enable yaparsam;

Ilk enable edilen TIM4 olursa
Ikinci enable edilen Timer 2 olursa
Ucuncu enable edilen Timer 3 olursa

Istedigim oluyor.

Fakat enable siralamasini herhangi bir sekilde degistirirsem bahsettigim sorun ortaya cikiyor.

Sorunun cozumune yonelik belki de gereksiz pek cok register yuklemesi yaptim. Simdi fazlalik oldugunu dusundugum yuklemeleri temizleyecegim.

Calisan kodlarim asagidaki gibi. (Timer Register adreslerimin index degerleri ST nin hazirladigi index degerlerinden farklidir. Fakat ayni amaci gerceklestirir.)

;***********************************************************************************************
; TIMER 4, 3, 2 PWM uretecek (Center PWM)
;***********************************************************************************************
 
TimerInit   LDR    R0, =TMR_BASE
 
            MOV    R1, #0x20                  ; ARR registeri not buffered
            STR    R1, [R0, #TIM2_CR1]
            STR    R1, [R0, #TIM3_CR1]
            STR    R1, [R0, #TIM4_CR1]
 
            LDR    R1, =PERYOD                ; ARR registerlerine derhal deger yukleyelim
            STR    R1, [R0, #TIM2_ARR]
            STR    R1, [R0, #TIM3_ARR]
            STR    R1, [R0, #TIM4_ARR]
 
            MOV    R1, #0x000
            STR    R1, [R0, #TIM2_CNT]
            STR    R1, [R0, #TIM3_CNT]
            STR    R1, [R0, #TIM4_CNT]
 
            MOV    R1, #0x7070                ; Pre Load disable, Mode=7
            STR    R1, [R0, #TIM2_CCMR1]
            STR    R1, [R0, #TIM3_CCMR1]
            STR    R1, [R0, #TIM4_CCMR1]
 
            STR    R1, [R0, #TIM2_CCMR2]
            STR    R1, [R0, #TIM3_CCMR2]
            STR    R1, [R0, #TIM4_CCMR2]
 
            LDR    R1, =PERYOD>>1             ; CH1 ve CH2 %50 pwm ile baslasin
            STR    R1, [R0, #TIM2_CCR1]
            STR    R1, [R0, #TIM3_CCR1]
            STR    R1, [R0, #TIM4_CCR1]
 
            STR    R1, [R0, #TIM2_CCR2]
            STR    R1, [R0, #TIM3_CCR2]
            STR    R1, [R0, #TIM4_CCR2]
 
            LDR    R1, =PERYOD-1
            STR    R1, [R0, #TIM2_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM3_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM4_CCR4]       ; Orta noktada event uretsin
 
            MOV    R1, #0x7878                ; Pre Load enable, Mode=7
            STR    R1, [R0, #TIM2_CCMR1]
            STR    R1, [R0, #TIM3_CCMR1]
            STR    R1, [R0, #TIM4_CCMR1]
 
            STR    R1, [R0, #TIM2_CCMR2]
            STR    R1, [R0, #TIM3_CCMR2]
            STR    R1, [R0, #TIM4_CCMR2]
 
            MOV    R1, #0xA0                  ; Artik ARR registeri buffered
            STR    R1, [R0, #TIM2_CR1]
            STR    R1, [R0, #TIM3_CR1]
            STR    R1, [R0, #TIM4_CR1]
 
            MOV    R1, #0x00
            STR    R1, [R0, #TIM2_CR2]        ;
            STR    R1, [R0, #TIM3_CR2]
            STR    R1, [R0, #TIM4_CR2]
 
            MOV    R1, #0x00
            STR    R1, [R0, #TIM2_SMCR]
            STR    R1, [R0, #TIM3_SMCR]
            STR    R1, [R0, #TIM4_SMCR]
 
            MOV    R1, #0x10
 
            STR    R1, [R0, #TIM2_DIER]
            STR    R1, [R0, #TIM3_DIER]
            STR    R1, [R0, #TIM4_DIER]
 
            MOV    R1, #0x0011                ; cmp output enable (Ch1 ve CH2)
            STR    R1, [R0, #TIM2_CCER]
            STR    R1, [R0, #TIM3_CCER]
            STR    R1, [R0, #TIM4_CCER]
 
            MOV    R1, #0xA1
            STR    R1, [R0, #TIM4_CR1] ; Timer 4 firla.
 
            MOV    R2, #1000
DLY1        SUBS   R2, #1
            BNE    DLY1
 
            STR    R1, [R0, #TIM2_CR1] ; Timer 2 firla.
 
            MOV    R2, #1000
DLY2        SUBS   R2, #1
            BNE    DLY2
 
            STR    R1, [R0, #TIM3_CR1] ; Timer 3 firla
 
            BX     LR

Hala hata yapmiyorsam ST'nin dokumante etmedigi, belki aciklamaya ihtiyac duymadigi donanim ozelligi ya da sorunu var.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 10:32:22
Bence hala olmadı o.Olduğunu sanıyorsun.

Sanırım ben olayı çözdüm.Kutlama kutlama müzikleri,çalınsın,Konfetiler
Pastalar,Havai fişekler hazırlansın.İzzet ikram beklerim.

Eğer olayı gerçekten çözdüysem bunun ne kadar basit,bir o kadar da ne
kadar zor olduğu ortaya çıkacak.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 10:33:32
@z hocam timer enable dan kastin clock aktif etmekse ilk birkac donguden sonra herkes esitlenir zaten, buda senin istemedigin durum, sanirim senin asil yapman gereken  ARR vs hangisiyse o registerlerini surekli kontrol edip timerlar ile tetikleme yapman gerekiyor, isin bitincede durduracaksin sanirim, bunun adida ust seviyede master slave olarak geciyor, yinede prg. man  bakmak gerek.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 10:37:22
Ilk bir kac donguden sonra neden esitlensin. Timer clock sinyalinin yolunu bir kereligine aciyorsun bir daha dokunmuyorsun. (Timer Clk = Clk AND Enable gibi)
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 11:21:16
Alıntı yapılan: z - 23 Eylül 2022, 10:37:22Ilk bir kac donguden sonra neden esitlensin. Timer clock sinyalinin yolunu bir kereligine aciyorsun bir daha dokunmuyorsun. (Timer Clk = Clk AND Enable gibi)
velevki dedigin gibi sirali aktivasyon bu is icin yeterli diyelim, kaymayi nasil onleyeceksin, sence bu is sansa birakilir mi, ama triger ile her dongude bu risk ortadan kalkar, bence bu tip bir uygulamada clock aktif etmek sakat.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 11:30:21
Kayma nasil olabilir?

Kayma olmasi icin

1) Timerlardan birisini susturup tekrar baslatman lazim.
2) Yazilimla Update event uretmen lazim.
3) CNT registerinin icerigini degistirmen lazim.
4) ARR ya da PSC registerini degistirmen lazim.

Ha eger ki bunlari yapmadigim halde timer counter degeri kayarsa o an STM32f103C8'i belki de ST yi terk ederim.




23 Eylül 2022, 21:33:24
Kayma nasil olabilir?

Kayma olmasi icin

1) Timerlardan birisini susturup tekrar baslatman lazim.
2) Yazilimla Update event uretmen lazim.
3) CNT registerinin icerigini degistirmen lazim.
4) ARR ya da PSC registerini degistirmen lazim.

Ha eger ki bunlari yapmadigim halde timer counter degeri kayarsa o an STM32f103C8'i belki de ST yi terk ederim.


Alıntı yapılan: Yuunus - 23 Eylül 2022, 11:21:16velevki dedigin gibi sirali aktivasyon bu is icin yeterli diyelim, kaymayi nasil onleyeceksin, sence bu is sansa birakilir mi, ama triger ile her dongude bu risk ortadan kalkar, bence bu tip bir uygulamada clock aktif etmek sakat.

Olayi yanlis anlamissin. Trigger islemini de bir kereligine yapiyorsun. Init isleminden sonra bir daha yapmiyorsun.

Master Timera basla diyorsun. Master da Slave Timerlara basla diyor.

Eger dedigin gibi her dongude bu islemi yaparsan jitter olusturursun.

Ister dedigim gibi timerlari sirayla bekleyerek baslatin. Isterseniz  Timerlarin CNT degerlerini ilk basta set edin. Sonra Masteri baslatin Master de slave leri baslatsin.

Yalniz ikinci yontem gicik is simdiden soyleyeyim. Zira eger faz kaymasini PWM Peryod/2 den buyuk PWM peryoddan kucuk yapacaksaniz Timerin U/D bitinin konum degistirmesini beklemeniz lazim.
Imkansiz degil ama fazla basit bir kurulum da degil. Boyle bir kurulum fonskiyonunu ST nin verdigi kutuphanelerde bulacaginizi da sanmam.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 11:51:37
Yalniz  durun  durun hala amacimi yanlis anlamis olabilirsiniz. Yukarida verdigim faz kaymasi orneklerini timerlar ayni cmpr degerline sahipken cizdim. (En tepedeki ilk mesajda oyle ornek verdim cunku)

PWM duty degerlerini degistirdigimde faz kaymasi olacagini dusunebilirsiniz. Haklisiniz da.

Fakat ben bir kereligine kurup calistirdigim Timerlarin center align modunda tam orta noktalari arsaindaki faz farkindan bahsediyorum.

Yani timerlari oyle bir kurayim ki Timerlarin PWM sinyallerinin tam orta noktalari arasinda faz farki olussun.

Eger farkli CMPR degerleri icin faz farki korunsun gibi bir istek zaten olamaz. Sacmalanmis olur.

Yukarida verdigim Kodlar halen sapitmadi. Sapitmaz da. Sapitmasi icin gerekli sartlari yazdim zaten.

Dalga seklinde cikan kenarlari referans vererek konuyu izah etmeye calistim.  Isin aslini bir daha aciklamak uzere grafik vereyim.

(https://i.hizliresim.com/l97bhr7.jpg) (https://www.hizliresim.com/l97bhr7)

Arkadaslarin kafa karisikliginin asil sebebinin Timer 2, Timer 3, Timer 4 u ayni timerin CH2, CH3, CH4 sanmalarindan kaynaklandigi belli.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 12:20:05
anlasilmayan birsey yok ama sende anlasildigini anlamadin oraya takildin kaldin
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 12:28:09
Hah anlasildiysa tamam o zaman.

Peki bu sekilde fazlari kaydirilmis 3 timerin uretecegi pwm sinyalleri uygulamada bize nasil bir avantaj saglar?

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 12:53:14
z, Ben olayı çözdüğümü sanıyorum.Sanıyorum diyorum çünkü
ne elimde Stm kiti var,ne de bildiğim bir işlemci.
Hayatımda ilk kez Pdf'ini bu konu vasıtasıyla açıp incelediğim bir İşlemci.
Bunu istediğin yere sor,İstersen STM Cips fabrikasına sor.
Bu mantıkla çözmen çoook zor.Ama sen dirayetli birisin çözebilirsin.
Ve tekrar ediyorum olay o kadar basit ve Bir o kadar da zor.

Bu sorun eğer çözülürse Şahane bir şey olacak.
Yalvarmanı bekliyorum açıkçası.Hatta yalvarman bile yetmeyebilir :'( 
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 12:57:33
Olayi cozdum zaten kod bir kac saatten beri calisiyor. Scop ekraninda sinyaller gozumun onunde.

Fakat neden timerlarin enable edilme sirasi onemli onu bilmiyorum.

Yalvartma beni senin yontemi de gorelim.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:07:16
Olmaaaz,Sen olayı yukarıda anlattığın şekilde çözdünse olmaz o.
Kaç saat çalışıyor olması hiç bir işe yaramayan bir Kriter.
Sen orada Timerları Kendi kafana göre bir sıra ile aktif ettin.
Sıralaman değişirse Timingler bozulur.Ayrıca Timer Counter değerin
her seferinde şartlara göre Rasgele bir değer alır.

Olay çok basit, zorla biraz kendini:)
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 13:11:44
Yontemime camur atiyorsun ama haksiz yere atiyorsun. Timer counterlara init asamasinda ilk deger yuklersen rastgele deger falan almamis olur.

Timerlari sirayla aktif etmek yerine master slave bagla ve counter iceriklerini daha isin basinda farkli set et.  (Ama gene 4, 2, 3 kuralina uyman gerekecek belki de bu kurali isletemeyeceksin)

Sonucta ayni kapiya varacaklar.



Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:14:42
Alıntı yapılan: z - 23 Eylül 2022, 13:11:44Yontemime camur atiyorsun ama haksiz yere atiyorsun. Timer counterlara init asamasinda ilk deger yuklersen rastgele deger falan almamis olur.

Timerlari sirayla aktif etmek yerine master slave bagla ve counter iceriklerini daha isin basinda farkli set et.

Sonucta ayni kapiya varacaklar.

Ben öyle çamur atma Siyaseti gütmem.
Niye rastgele bir değer alacağını olayı anlatınca anlarsın.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 23 Eylül 2022, 13:16:27
Timerlerin hepsini çalıştır sıra önemli değil. Hal delay bekleme yerine count registere bak mesela 100 ise diğer timerin count registerine 0 değerini ver daha sonra aynısnı diğer registerde yap.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 13:18:46
Acaba denememisimmidir?

23 Eylül 2022, 13:20:41
Aslinda birisi cikip kendi kodunu yazip kardesim bende dedigin gibi bir sorun cikmiyor desin isterdim.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:27:56
Alıntı yapılan: z - 23 Eylül 2022, 13:18:46Acaba denememisimmidir?

23 Eylül 2022, 13:20:41
Aslinda birisi cikip kendi kodunu yazip kardesim bende dedigin gibi bir sorun cikmiyor desin isterdim.
Bunu kimse bu mantıkta diyemez ki.
Stm Cips fabrikasındaki Mühendisler bile bu sorunda zorlanabilir, Zira
çok accayip bir mantık var.Accayip te değil aslında günlük hayatta hepimizin
Defalarca şahit olduğu bir mantık.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 13:29:37
Sadede gel.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:35:21
Alıntı yapılan: z - 23 Eylül 2022, 13:29:37Sadede gel.
Dur Acele etme.Biraz kıvran:)
Taslak Şema çiziyorum.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 23 Eylül 2022, 13:36:49
Alıntı yapılan: z - 23 Eylül 2022, 13:18:46Acaba denememisimmidir?

23 Eylül 2022, 13:20:41
Aslinda birisi cikip kendi kodunu yazip kardesim bende dedigin gibi bir sorun cikmiyor desin isterdim.

Bunu belli aralıklarla tekrar edeceksin.  Neyse çözümü bulmuş arkadaş , eğer sorun çözülmesse ben bir denerim. Cold weld kartı duruyor üzerinde stm kartı 3 senelik
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 13:40:19
@JOKERAS

Basit bir mantik hatasi yaparsan dilimden kurtulamazsin.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:53:04
Benim çözüp çözmediğim belli değil.Sanıyorum diyorum çünkü Deneme imkanım yok.

z, bunu çözersem Çamur atma siyaseti gütmeyeceğine,abuk subuk Laflar etmeyeceğine,
Biat edeceğine,Beni görünce ayağa kalkıp hürmet göstereceğine,Kral adamsın
Diyeceğine,Nusret'te Tavuk döner ısmarlayacağına, Analar ne yiğitler doğurmuş diyeceğine
vs vs söz veriyormusun?

10-0 geride başlamama rağmen ben çözemezsem sen çözersen Aynı şeyler benim içinde geçerli.
Alıntı yapılan: z - 23 Eylül 2022, 13:40:19@JOKERAS

Basit bir mantik hatasi yaparsan dilimden kurtulamazsin.
Ha ha ha.Seni benim dilimden kim kurtaracak o zaman Göreceğiz :'(
Seni yerden yere vuracağım,hatta üstünde tepineceğim.Sigara izmaritini yer atıp
git onu al Çöp at diyeceğim.Hatta her yerinde Sigara söndürecek pis pis güleceğim :'(
Aynı şeyler benim içinde geçerli.

Not:Bu varyaa öyle böyle değil çok Harika bir şey olacak diye düşünüyorum.
Tabii olursa.Olup olmadığını sen söyleyeceksin.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 13:54:38
Tamammm. Hepsine tamam.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 13:58:51
O zaman Start verilsin ve Koşu başlasın.

Önce şu çizimi bir incele.Sonra editleyerek altını Dolduracağım.Belki çizim olayı anlatır.
(https://i.ibb.co/Ry4xxpB/Timer.jpg) (https://ibb.co/Ry4xxpB)
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 14:02:42
Sen dalga mi geciyorsun. Cozum olarak sundugum ve kodlarini paylastigim yontemi cizmissin.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 14:06:33
Alıntı yapılan: z - 23 Eylül 2022, 14:02:42Sen dalga mi geciyorsun. Cozum olarak sundugum ve kodlarini paylastigim yontemi cizmissin.
Bak kurnazlık yapmaaa!Senin çözüm diye sunduğun şeylede alakası yok!
Yani senin mesajın okudum hemen 1 Dk'da olayı çözdüm yani.Haddi ordannn.
Dakika bir gol bir Çamura yattın.Birde söz vermiştin.
Hayatında STm görmemiş birine diyorsunki benim çözümümü anlatıyorsun.İşte buz gibi Gol yedin.
O zaman anlatmıyorum.Kendin çöz.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 14:14:26
@z cozumun sirali clock aktivasyonu mu, bu zaten olmuyor demedin mi en basta.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 14:14:45
Sorun ciktikca sunu da ekleyeyim diyip sisirdigim kodlari sadelestirecegimi soylemistim.

Bu da sade hali.

Hatta bazi registerler Reset ardindan 0x000000 degerini otomatik aldigi icininit asamasinda gene de sifir yukledigim register atama satirlarini da silip atabilirsiniz.

;***********************************************************************************************
; TIMER 4, 3, 2 PWM uretecek (Center PWM)
;***********************************************************************************************
 
TimerInit   LDR    R0, =TMR_BASE
 
            MOV    R1, #0xa0                  ; ARR registeri buffered
            STR    R1, [R0, #TIM2_CR1]
            STR    R1, [R0, #TIM3_CR1]
            STR    R1, [R0, #TIM4_CR1]
 
            LDR    R1, =PERYOD                ; ARR registerlerini yukleyelim
            STR    R1, [R0, #TIM2_ARR]
            STR    R1, [R0, #TIM3_ARR]
            STR    R1, [R0, #TIM4_ARR]
 
            MOV    R1, #0x000
            STR    R1, [R0, #TIM2_CNT]
            STR    R1, [R0, #TIM3_CNT]
            STR    R1, [R0, #TIM4_CNT]

            STR    R1, [R0, #TIM2_CR2]        ;
            STR    R1, [R0, #TIM3_CR2]
            STR    R1, [R0, #TIM4_CR2]
 
            LDR    R1, =PERYOD>>1             ; Tum CH1 ve CH2 ler %50 pwm ile baslasin
            STR    R1, [R0, #TIM2_CCR1]
            STR    R1, [R0, #TIM3_CCR1]
            STR    R1, [R0, #TIM4_CCR1]
 
            STR    R1, [R0, #TIM2_CCR2]
            STR    R1, [R0, #TIM3_CCR2]
            STR    R1, [R0, #TIM4_CCR2]
 
            LDR    R1, =PERYOD-1
            STR    R1, [R0, #TIM2_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM3_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM4_CCR4]       ; Orta noktada event uretsin
 
            MOV    R1, #0x7878                ; Pre Load enable, Mode=7
            STR    R1, [R0, #TIM2_CCMR1]
            STR    R1, [R0, #TIM3_CCMR1]
            STR    R1, [R0, #TIM4_CCMR1]
 
            STR    R1, [R0, #TIM2_CCMR2]
            STR    R1, [R0, #TIM3_CCMR2]
            STR    R1, [R0, #TIM4_CCMR2]
 
 
            MOV    R1, #0x10
 
            STR    R1, [R0, #TIM2_DIER]
            STR    R1, [R0, #TIM3_DIER]
            STR    R1, [R0, #TIM4_DIER]
 
            MOV    R1, #0x0011                ; cmp output enable (Ch1 ve CH2)
            STR    R1, [R0, #TIM2_CCER]
            STR    R1, [R0, #TIM3_CCER]
            STR    R1, [R0, #TIM4_CCER]
 
            MOV    R1, #0xA1
            STR    R1, [R0, #TIM4_CR1]
 
            MOV    R2, #2000
DLY1        SUBS   R2, #1
            BNE    DLY1
 
            STR    R1, [R0, #TIM2_CR1]
 
            MOV    R2, #2000
DLY2        SUBS   R2, #1
            BNE    DLY2
 
            STR    R1, [R0, #TIM3_CR1]
 
            BX     LR



24 Eylül 2022, 00:17:42
Alıntı yapılan: Yuunus - 23 Eylül 2022, 14:14:26@z cozumun sirali clock aktivasyonu mu, bu zaten olmuyor demedin mi en basta.

Mesajlari takip etmiyorsun.

Denedim ve olmadi demistim. Sebebini buldum ama aciklamasini yapamiyorum.

Timerlari sirayla aktive ederken timerlari 4,2,3 sirasiyla aktive etmezsem sorun oluyor. (Neyseki bu durumun farkina vardim.) Ilk basta 4,3,2 olarak aktive etmistim.

Normalde siralamanin hic onemi olmamasi lazim. Ama oluyor. Bu da bu basligi ilginclestiriyor. Dokumanlarda buna hic deginilmemis.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 14:27:47
Alıntı yapılan: z - 23 Eylül 2022, 14:14:45Normalde siralamanin hic onemi olmamasi lazim. Ama oluyor. Bu da bu basligi ilginclestiriyor. Dokumanlarda buna hic deginilmemis.
Sana bunu 53.Mesajda belirttim ya.

Benim yöntemim dediğin şeyi Şema çizdiğin noktaya kadardı.Çünkü
Soruyu soramadın veya yanlış sordun.Şema çizdiğin o ana kadarki yorumlar, Şema çizince Değişti.

Tekrar ediyorum Sıralamanın hiç bir önemi yok.Mantık dışı bir düşünce.
Çamura yatmasaydın verdiğin sözde dursaydın durumu anlatacaktım.Sonra kendin bile
diyecektin "vay anasını".
Denemek istersen Timer Start aralarına koyduğun Zamanları değiştir. Sinyallerin Sapıttğını göreceksin.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 14:29:35
iyide bu dedigin bariz bug. timerlar bagimsiz, hepsinin clock kaynagi ortak mi, birde farkli bir mcu ile dene istersen, ben bir ara boyle birseyde cok kivrandim, mcu yu board dan sokup lehimlemistim, sonra ortaya sacma sapan durumlar cikmisti.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 14:40:51
Bug olabilir. Ama adamlara yazmadan once bir iki kisinin daha teyid etmesi gerekir.
Genelde aptalca hata yaparim ve gunlerce goremem.

Bir baskasi bir cirpida gorebilir. Burda da boyle bir sey olma ihtimali var.

Bir baska cipte denesem de gene bir baska bluepill de deneyecegim. Elimde orjinal STM yok.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 14:43:50
Alıntı yapılan: z - 23 Eylül 2022, 14:40:51Bug olabilir. Ama adamlara yazmadan once bir iki kisinin daha teyid etmesi gerekir.

Denesem de gene bir baska bluepill de deneyecegim. Elimde orjinal STM yok.

Bug değil Kedidir o :'(
Şok Şok Şok.
Tüy dikme Sanatının incelikleri bu başlıktaaaaa.
Sen daha dur Sana neler edeceğim neler.Ha ha ha.

Mesajlarımı duymamazlıktan gelme.Yemiyoruz!

 
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 14:52:38
Kaportaci sen sus.

Bu aksam picoscopu masaya cikartip bu timer konusu ile ilgili video cekeyim.

Alıntı yapılan: JOKERAS.... Denemek istersen Timer Start aralarına koyduğun Zamanları değiştir. Sinyallerin Sapıttğını göreceksin.

Aksami bekle.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 14:58:10
Ha ha ha.Tornacı senii,bu basit şeyler seni kurtarmaz benim elimden.
Nasıl kıvıracağını şaşırdın.Seni iğdiş edeceğim.

Ve hala çözüm sunamadın.Havanda su dövmeye başladın.Ye-mi-yo-ruuuzzz!!!

Çözümün Altın anahtarı bende.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 23 Eylül 2022, 15:07:47
Ben şimdi kart üzerinde denedim ,  @JOKERAS ın dediği gibi yapınca çalıştı sorun yok  :P

Büyük bir ihtimelle asm de hata yapıyorsun , hal küpühanesinde init yaparken bazı registerlere anlamsız şekilde iki defa aynı işlemi yapıyor, açıyor kapatıor çünkü işlemci hardware bunu istiyor diye anlıyorum.
 
Assembly de kod yazıyor artisliğin kime ? artıs ne arar la bazarda.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: ahmet35 - 23 Eylül 2022, 15:07:54
Merhabalar konunun tamamını okumadım ama;

@z hocam TIM2' deki Auto-reload preload yapısına baktın mı? (Referance Manual Sayfa 299)

Bu preload' ı hiç kullanmadım fakat yapıyı doğru anladıysam faz farkı oluşturulabilir gibi geliyor bana.
ARPE aktif iken ARR değeri belirlendiğinde Timer ilk çalışmada Update Event henüz oluşamadığı için ARR 0' da kalacak.
CNT' ye, ARR(0) - CNT = 10us oluşturacak şekilde ilk değer verilip Timer başlatılırsa 10 us gecikme oluşabilir.
Tüm Timerlar aynı anda başlatılacak.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 15:22:04
Benim dediğim bir şey yok daha.Çizdiğim Şema sadece bir başlangıçtı.
Belki çözer olayı diye ip ucu verdim.Ama garibim olayı çözemek yerine Çamur Siyaseti
yapmayı seçti.Sen nasıl anladın çalıştığını?Anlatıver sana zahmet.

Tekraren yazıyorum.Bunu z'nin anlattığı mantıkla çözmek imkansız.
z, ilkolul Çocuklarının mantığında,bunun bile farkında değil.
Şuraya bakarmısınız_Neymiş efendim Zaman farkı vererek Sırayla Timerlara
Satart veriyormuş.Ba ba ba.Ne kadar zor bir mantık.
Sorunun onunla alakası yok.Mantık kuran olayı çözer.
Ve o kadar basitki.Anlattığım zaman sizlerde hak vereceğinizden eminim.
z hariç O hiç bir zaman bunu kabul etmeyecek çamura yatacak.Söz verdiği halde
sözünden caydı.

Niye akşamı bekleyeyim?Scopla gözlemleyipmi yorum yapacaksın.
Ben akşamı beklemiyorum, Şakır şukur yazıyorum.İstediğin kadar gözlem yap.
Sonuçta avcunu yalayacaksın.
Düşünmek,Hayal etmek her şeyden hızlıdır bunuda unutma!

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 15:38:29
@ahmet35

Dedigini aynen yapmis fakat sorun hala devam etmisti.

Fakat gercegi gormemi de sagladin.

Artik timerlara saymaya basla derken siralamanin onemi kalmadi.

Dedigin gibi ARR, update event olusmadan shadow registerdeki degeri yuklemedigi icin 0 kaliyor.
Bu durum olmasin diye ARR nin shadow ozelligini kaldirip dogrudan ARR'ye ilk degeri vermistim. (Ilk kodda aciklama satirinda da yaziyor)

Fakat !!!!!

ARR ye dogrudan deger yazinca ve tekrar shadow regi devreye alinca  shadow registere de deger yuklemeyince.  Ilk saymada olusacacak update isleminde  shadow rege deger yuklenmedigi icin
sorun oluyormus.  Aslinda frekans degismedigine gore  dogrudan ARR'ye yazinca shadowa da yaziliyor demektir. 

Fakat ARR'ye yazip ARR shadowa yazmayinca ne oluyorsa oluyor timerlari devreye alma siralamasi onemli hale geliyor. Burasi hala muamma.

Asagidaki kodlara bakarsaniz hem ARR registerine hem de ARR shadow registerine deger yuklendi ve timerlari hangi sirada baslatirsaniz baslatin artik faz farki korunuyor.

;***********************************************************************************************
; TIMER 4, 3, 2 PWM uretecek (Center PWM)
;***********************************************************************************************
 
TimerInit   LDR    R0, =TMR_BASE
 
            MOV    R1, #0x20                  ; ARR registeri not buffered
            STR    R1, [R0, #TIM2_CR1]
            STR    R1, [R0, #TIM3_CR1]
            STR    R1, [R0, #TIM4_CR1]
 
            LDR    R1, =PERYOD                ; ARR registerlerine derhal deger yukleyelim
            STR    R1, [R0, #TIM2_ARR]
            STR    R1, [R0, #TIM3_ARR]
            STR    R1, [R0, #TIM4_ARR]
 
            MOV    R1, #0x000
            STR    R1, [R0, #TIM2_CNT]
            STR    R1, [R0, #TIM3_CNT]
            STR    R1, [R0, #TIM4_CNT]
 
            MOV    R1, #0x7070                ; Pre Load disable, Mode=7
            STR    R1, [R0, #TIM2_CCMR1]
            STR    R1, [R0, #TIM3_CCMR1]
            STR    R1, [R0, #TIM4_CCMR1]
 
            STR    R1, [R0, #TIM2_CCMR2]
            STR    R1, [R0, #TIM3_CCMR2]
            STR    R1, [R0, #TIM4_CCMR2]
 
            LDR    R1, =PERYOD>>1             ; CH1 ve CH2 %50 pwm ile baslasin
            STR    R1, [R0, #TIM2_CCR1]
            STR    R1, [R0, #TIM3_CCR1]
            STR    R1, [R0, #TIM4_CCR1]
 
            STR    R1, [R0, #TIM2_CCR2]
            STR    R1, [R0, #TIM3_CCR2]
            STR    R1, [R0, #TIM4_CCR2]
 
            LDR    R1, =PERYOD-1
            STR    R1, [R0, #TIM2_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM3_CCR4]       ; Orta noktada event uretsin
            STR    R1, [R0, #TIM4_CCR4]       ; Orta noktada event uretsin
 
            MOV    R1, #0x7878                ; Pre Load enable, Mode=7
            STR    R1, [R0, #TIM2_CCMR1]
            STR    R1, [R0, #TIM3_CCMR1]
            STR    R1, [R0, #TIM4_CCMR1]
 
            STR    R1, [R0, #TIM2_CCMR2]
            STR    R1, [R0, #TIM3_CCMR2]
            STR    R1, [R0, #TIM4_CCMR2]
 
            MOV    R1, #0xA0                  ; Artik ARR registeri buffered
            STR    R1, [R0, #TIM2_CR1]
            STR    R1, [R0, #TIM3_CR1]
            STR    R1, [R0, #TIM4_CR1]
 
            LDR    R1, =PERYOD                ; ARR SHADOW registerlerine de deger yukleyelim !!!!!!! iste suclu burasi. !!!!!!
 
            STR    R1, [R0, #TIM2_ARR]    ; ARR ye dogrudan yukleme yaptiysan ilk update icin shadow regin de ayni degerle yuklenmesi lazim.
            STR    R1, [R0, #TIM3_ARR]
            STR    R1, [R0, #TIM4_ARR]
 
            MOV    R1, #0x00
            STR    R1, [R0, #TIM2_CR2]        ;
            STR    R1, [R0, #TIM3_CR2]
            STR    R1, [R0, #TIM4_CR2]
 
            MOV    R1, #0x00
            STR    R1, [R0, #TIM2_SMCR]
            STR    R1, [R0, #TIM3_SMCR]
            STR    R1, [R0, #TIM4_SMCR]
 
            MOV    R1, #0x10
 
            STR    R1, [R0, #TIM2_DIER]
            STR    R1, [R0, #TIM3_DIER]
            STR    R1, [R0, #TIM4_DIER]
 
            MOV    R1, #0x0011                ; cmp output enable (Ch1 ve CH2)
            STR    R1, [R0, #TIM2_CCER]
            STR    R1, [R0, #TIM3_CCER]
            STR    R1, [R0, #TIM4_CCER]
 
            MOV    R1, #0xA1
            STR    R1, [R0, #TIM4_CR1]        ; Timer 4 firla.
 
            MOV    R2, #1000
DLY1        SUBS   R2, #1
            BNE    DLY1
 
            STR    R1, [R0, #TIM2_CR1]        ; Timer 2 firla.
 
            MOV    R2, #1000
DLY2        SUBS   R2, #1
            BNE    DLY2
 
            STR    R1, [R0, #TIM3_CR1]        ; Timer 3 firla
 
            BX     LR
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 16:06:28
@JOKERAS

Bazen cok sululuk yapiyorsun. Agzinda ne geveliyorsan gevele de yaz artik.

Ben en iyisi bir fikra anlatayim. Fikra benimle seni anlatiyor.

Sehirler arasi giden otobuste kadin memesini cikartmis kucaginda aglayip duran bebegin agzina sokusturuyor ama bebek bir turlu susmuyormus.
Kadin da kiziyor bebege emecesen em emmeyecesen bak yanimizdaki amcaya verecem diye bebegi tehdit ediyormus.

Bu durum saatlerce surmus bir olmis iki olmus en sonunda koltuktaki adam hiddetlenmis, vereceksen ver be kadin Sakarya'da inecektim senin yuzunden taa Istanbul'a kadar geldim demis.

--------------------------

Sonucta yazacaksan yaz.


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 18:33:25
ilkokul Çocuklarının mantığı dememmi zoruna gitti?
Önce sen şu uslubunu düzelt sonra karşından Saygı bekle.

Sözde Çözmüşsünya.Daha benim fikrimi niye merak ediyorsun.
Benim fikrimin ARR ile uzaktan yakından alakası yok.ARR ne işe yarıyor
Center mod muhabbetinin olduğu kısımda anlatmıştım.

Eğer ben yanılmıyorsam bu bilgi, ömürünün sonuna kadar kullanacağın bir bilgi olacak.
Altın değerinde.Paha biçilemez Kaşıkçı Elmas'ı.Manyak manyak işler :'(

Çözdüysen Start aralarına verdiğin Zaman gecikmeleriyle oyna durumu gör.Bakalım olmuşmu?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 20:21:05
Alıntı yapılan: JOKERAS - 23 Eylül 2022, 18:33:25....
Çözdüysen Start aralarına verdiğin Zaman gecikmeleriyle oyna durumu gör.Bakalım olmuşmu?



@JOKERAS

Sen soyle olmus mu?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 20:39:38
Arkadaslar hepinizin zamanini aldim. Hakkinizi helal edin.

Sorun yazilimda degil scop kaynakli imis. Isyerinde analog scop kullanarak kodlari test ettim.
Evde ise HP nin eski tip digital scopu ile test ettim.

Atelyem cok daginik ve masam mekanik calismalarla dolu oldugu icin Picoscopuma zarar gelmesin diye masadan kaldirmistim.

Yukaridaki videoyu cekmek icin scopu cikarttim ve ilk basta kodlarini verdigim programin bile sorunsuz calistigini gordum.

Analog scoplar iki kanal modunda iken bazen alternate/chop modunda sinyali farkli gosterebiliyor.

HP digital scopum da cok yetenekli degil. O da nasil olduysa bu projede sapitmis.


Netice olarak Timerlari farkli zamanlarda calistirarak uretilecek pwm sinyallerin orta noktalari arasinda dilediginiz faz farkini olusturabilirsiniz.

Ikinci verdigim kod sorunsuz. Yukaridaki mesajimi karaladim.

Picoscope ile ayni kodu dongude kalmayacak sekilde calisitirinca sorun oldugunu gordum. Donguye ikinci giriste sorun kalkiyor.

Fakat 2. yayinladigim kod da hic sorun yok.


Sorun tamamen anlasildi.


@JOKERAS icin cektigim videoda bir dongu kurmus ve Timerlarin arasinda parametrik bir delay yerlestirmistim. Dongu icinde delayin delay parametresini degistirerek faz farkini supuruyordum.

Her sey mukemmel gidiyordu.

Sonra bu loop isini kaldirdim. gene bahsettigim sorun basladi.

Neyse kisa keseyim.

Init asamasindan sonra Timerlari calistirip faz farki da olusturduktan sonra artik burayla alakasi olmayan bir rutinde bir seyi demek icin yazdigim iki satirlik kod parcasi Timer 3 counteri sifirliyormus ve boyle bir kod yazdigimi tamamen unutmusum.

Dolayisi ile en basta titizlikle ayarladigim faz farki bu satir nedeniyle bozuluyormus.

Eger timerlari calistirma siralamasini 4,2,3 yaparsam init ardindan bahsettigim timer sifirlamaya kadar gecen sure sans iste zaten 0 yada sifira yakin degere kadar saymis timeri sifirladigindan senkronizasyonda bozulmaya neden olmuyor yada dikkat cekecek kadar bozulma yapmiyormus.

Fakat 3 nolu timeri enable etme sirasini degistirirsem senkron problemi basliyormus.

Sonucta benim hatam.

Burdan cikarttigim sonuc su.

Bir hata ile karsilasildiginda hata ile ilgili kodlari yeni bos bir projeye tasiyip kodlari olabildigince minik hale getirmek gerekiyor.
Ancak boyle yapilirsa suclu koseye sikisiyor.

Ben ne yaptim Timer Init rutinine takildim orada sorun arayip durdum. Halbuki sorun Init sonrasi kodun ucra bir kisminda Timer counteri sifirlayan bir tuzak koddan ibaretmis.

Cektigim videoda da bu tuzak kod var. Fakat loop icinde surekli olarak init kodu calistirildigi icin tuzagin bozdugu durum biraz sonra yeniden duzeltiliyormus.


 


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik - 23 Eylül 2022, 20:40:51
Kim kazandı? Nusret'ten Tavuk döneri kim kime ısmarlıyor?.
Kim kaybettiyse kazanana yemek sepetinden ısmarlayabilir.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 21:13:34
@z ayiptir sormasi bu ne ise yariyor,.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 21:16:59
Alıntı yapılan: Yuunus - 23 Eylül 2022, 21:13:34@z ayiptir sormasi bu ne ise yariyor,.

Hah geldik zurnanin zirt dedigi yere.

Simdi de @JOKERAS biraz kudursun?

Neden boyle fazi kayik pwm cikislarina ihtiyac duydum acaba?

@yunus bu forum ortaminda kelimelerle anlatilacak bir konu degil. Tahtaya yazarak cizerek video cekmek lazim.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik - 23 Eylül 2022, 21:54:45
3 faz motor sürücü projesimi?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 21:58:49
3 tane 2 fazli step motoru surme projesi.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 23 Eylül 2022, 22:25:41
Bak video çekiyorsun çektiğin videoda bile hakaret ediyorsun.
Sonrada Sululuk yapıyorsun,ileri geri konuşuyorsun diyorsun.Pes yaaa.
Farkındaysan Konu içinde asıl Konuyu tartışmıyoruz sayende.Geyik muhabbeti yapıyor,
birbirimizle sidik yarışına giriyoruz.Ki öyle bir derdim olmadığı halde ve sende bunu bildiğin halde.

Kaportacı.
Sen sus.
Bana bulaşma.
Sen tamircisin.
Sen anlamazsın.



Benim uslubumdan rahatsız olan bir kişi yok.
Senin bu berbat uslubun,Üyelere tepeden bakan tavrın Saysız uyenin Forumdan kopmasına sebep oldu.


Bir sürü konu oldu her konuda sen her zaman olduğu gibi olayı tartışmak yerine
kişiselleştirip hakaret boyutuna getirdin getiriyorsun.
Bak buraya not ediyorum!!!
Senin bu forumdaki mevcut uye ve daha sonra uye olacak bir çok kişi sırf senin bu
Tepeden bakan tavrın nedeniyle tartışma cıkacak yada foruma küsecek,yada kavga edecek.
Sen kendine,uslubuna bir bak sonra beni eleştir.

Ben bildiğimi sandığım,bak sandığım diyorum.Konulara yorum yaparım.
Ve her uyede sanırım aynı şekilde düşünüyordur.Ama sen oyle değilsin ne yazıkki.
Daha önceleride söyledim.Benim Ego ile,biliyor bilmiyor ile,kendini kasma ile
kıl tüy basit ve banal şeylerle işim olmaz.Bunları oldum olası komik ve banal bulurum.
Yahu ben kimimki?Ben sıradan bir Tv tamircisiyim.İşlemci ile tanışmam 10 yıl bile değildir.
Sizlerin eline değil ayağına su dökemem.Matematik bilmem,İngilizce bilmem.
Bunu da defalarca söyledim.Ayaklarım yere basmıyormuş.

Bu konuda da,konu gümbürtüye gitmesin tartışılsın diye Pdf'ini bile bu konu vasıtasıyla
incelediğim,çeviriden okumaya çalıştığım bir İşlemci için Saf temiz kalple yorum yaptım.
Sen ne yaptın?Benim algı ve bilgim senin kadar olmayabilir.Olmasıda beklenemez zaten.
Her zamanki gibi Tepeden bakan tavrınla sorduğun soruya yaptığım  yorumla başladın
Kişisel Hakaret,yafta,kaale almaz bilge tavırlar vs.
Halbuki soru soran ben olsam ilgi ve alakaları için konuya yazan herkese minnetar olurum.
Senin yaptığın gibi soru soranlarla dalaşmaya girmem.Vatandaş bildiğini yazmış diye düşünürüm.


Senin karşında çocuk yok,Emir erlerin yok,ezeceğin İnsanlar yok.
Benim senin dilinden maruz kaldığım hakaret ve yaftalara başkası olsa kavga çıkardı.
Ben Tartışma Farklı noktalar dallanacağını anladığım anda bile işi espiriye vurum ki
Karşımdaki kişi rencide olmasın diye.
Samimiyetine inandığım üyelerle daha samimi konuşurum,bazen onları kızdırırım,bazen takılır
espiri yaparım.Karşımdaki kişiyi farkında olmadan rencide edersemde özür dilemekten zerre çekinmem.
---------------------------------------
Bak yerden yere vurduğun,aşağıladığın Fasulye sayesinde bir şeyler yaptın.
Senin faz farklı Pwm üretmen benim umurumda bile değil.
Zaman farkı vererek yaptığını iddia ettiğin Faz farklı Pwm,benim mantığımda olmaz.
Bu yapın her zaman sorunlara gebe olacaktır diye düşünüyorum.
Ayrıca Zaman farkı vererek bunu çalıştırmayı düşünmek En basit yol.
Uzay mekiği değil yani.Bunu ilkokul çocukları bile düşünür.Düz mantık.

Madem bu kadar kolaydı bu kadar cevap yazan üyeyi neden yalandan yere mesgul ettin.
Yoksa böyle bir problemle karşılaşıp,sonra olayı çözüp,sonra bile bile üyeleri yanlış yönlendirip
soru sorup,filmin sonunda da Yapıp egonumu tatmin ediyorsun diye sorarlar adama.

Bana olup olmadığını soruyorsan mantığını ne yaptığını anlatman gerekiyor.
Aslında çizdiğim Şema çok güzel ip ucu içeriyor diye düşünüyorum.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik - 23 Eylül 2022, 23:06:33
Siz ikiniz birbirinize takılmadan duramıyorsunuz. çokda şeetmeye gerek yok ortada bişey yok.
Nusret işiniz ne oldu ondan haber verin çamura yatmayın :D
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 23 Eylül 2022, 23:30:35
@z slave mode senin isini zaten gormezmis, adamlar ornegin timer1 in durumlari icin event urettiriyor sonrada bu event'i timer2 ye ITR0 ile triger source olarak atama yaptiriyor, bu eventlerin registerine deger yazip mudahale ederek sen manuel olarak timer2 tetikletebilirmisin ona bakmadim lakin o kadar ugrasacagina senin yaptigin gibi timer aktif etmek en mantiklisi, ama sunuda belirteyim su anda sen islemciyi tasarlanan durumularin disina zorlayarak islem yaptiriyorsun, cunki adamlar boyle birseye mudahale etmeye senin istedigin sekilde izin vermemisler, zorluyorsun yani, ama helal olsun hakkinida vermek lazim.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 23 Eylül 2022, 23:41:44
@JOKERAS

Soylediklerin dogruysa ben ne pislik bir adammisim ya.

Amel oluyum insallah.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 23 Eylül 2022, 23:51:26
@z Amel olıyım ne demek ölüm de kurtulun anlamında mı ?  ,  googleda aradım "herşey olayım derken hiçbirşey olamadı" diye çıktı,   lan bu beni anlatıyor diye üzüldüm şahsen  :'( 

@JOKERAS fazla alıngan şu lafları yese acaba hali ne olurdu?   :D

Alıntı yapılan: bulut_01 - 22 Eylül 2022, 22:34:03bu işleri bilmiyosan git gazate oku seni aşan işlerle kafanı yorma!
Alıntı yapılan: bulut_01 - 22 Eylül 2022, 22:37:58benim kafa normalde sende kafa yok sordugun sorulardan  :D
Alıntı yapılan: devrecii - 23 Eylül 2022, 15:07:47artis ne arar la bazarda.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 24 Eylül 2022, 00:04:08
Amel olmak circir olmakla esanlamli.

Birine cemkirince karsidakinin de cemkirmesi cok normal.

Cemkirene cemkirince kotu adam ben oluyorum. Ustten bakan egolu ben oluyorum. (Ne de olsa cig sutu sadece ben emdim)

Alistim artik.

@JOKERAS

Bu basliktaki sorun ilginc bir durum idi (timerlarin senkronize calismasi). Nihayetinde sebebini debelene debelene bulduk.
Faz farki olusturmak icin ilk iki mesajda olasi yontemleri yazdim zaten. Bu sorunu cozmenin uzay gemisi yapmakla atom parcalamakla es bir yani yok.

Fakat sorunun cok basit bir register atamasi yapmamaktan kaynaklandigi alinacak ders oldu. Sen istedigin kadar bu yontemin ise yaramayacagini soylesen de
dedigin gibi ilk okul cocuguna bile sorsan soyler timerlari gecikmeli kur diye. Gecikmeli kurarsan oluyor iste.

Bu fazfarkli yapiya ihtiyacimin mantigini dedigim gibi burada yazarak anlatmak zor. Bir firsatim olursa videoda tahta basinda anlatacagim.

Ama kisa bir giris yapayim.

Eger 6 ayri bobinin akimini tek tek kontrol altinda tutacaksaniz akim bilgilerinii cok iyi elde etmelisiniz.

2 ADC var 8 tane de ADC kanalim var. Sorun yok derseniz sorun var tabiki. Akimi, akim kontrol dongunuz icin ayrilan zaman icinde olcebilmeli, gerekli kontrol algoritmalarini isletebilmeli ve nihayetinde o kanala ait pwm degerini zamanindan once pwm registerine yuklemeniz gerekir.

Merkeze gore simetrik pwm ile 6 bobine de merkezleri bir birine senkron pwm voltajlar verirseniz 6 bobinin 6 si da tam merkezde ortalama akimi akitir.

Yani pwm high oldugu anda akim rampa seklinde artarken pwm in tam ortasinda akim yapacagi delta I artisinin yarisini yapar.
Eee 6 akim da tam bu anda delta I artisinin yarisini yapacaksa 6 akimi da tam bu anda olcmek gerekir ki akimdaki rampa egimi olcum hatasina neden olmasin.

Eger her bir ADC kanalimiz kendi sample hold devresine sahip olsaydi  tam orta noktada 6 bobin akiminin o anki degerini analog olarak saklar ardindan ADC ile tek tek olcerdik. Hata da yapmazdik.

Fakat malesef STM32 dahil tum islemcilerde ADC ADC kanallarini ardisil olarak olcerler.

F103C8 her bir ADC olcumunu 1uS de yapar. Fakat Islemci USB donanimini da kullanacaksa malesef ADC yi en yuksek hizda calistiramiyoruz. 72Mhz de hem USB calissin hem de ADC max hizda calissin olmuyor.

Neyse sebebini merak eden PLL sayfasina bakar.

O zaman oyle bir uc kagit yapmaliyiz ki PWM lerin orta noktalari ust uste gelmesin. Eger orta noktalar ust uste gelmezse ADC yi soft olarak baslatabilir ya da surekli cevrim modunda birakabiliriz,

Timer 2 orta noktada int cakar 2 ADC ile o anki  iki bobin akimini olcer kontrol algolari isletir ve pwm degerlerini  yukleriz. ADC kanallarini switch ederiz ve ikinci motor akimlari olculmeye baslanir. Birazdan Timer 3 orta nokta yapar.  Bu kez ikinci motor icin o anki akim degerleri elimizde mevcut olur.

Birazdan diger timer int cakar bu kez de 3. motorun o anki akimlarini olceriz.

Yani interlive ya da pipeline diyebilecegimiz bir donanim yapisi kurmus oluruz.

Eger boyle yapmazsak tam merkezde 6 bobin akimini olcmeye kalkarsak 3 tanesi bir ADC ile 3 tanesi de diger ADC ile olculse 3. motorun akimi 3uS den daha fazla gecikme ile olculur.

Halbuki 3uS sonra akim orta noktadan 3us uzaklasmis ve akim rampasinin egiminin neden oldugu hata ile akim olculmus olur.

3us dedigim gibi en iyimser degerdir. ADC yi full speed kullanamadigimiz icin daha da buyuk olcum suresi alacaktir. 

Toplam pwm periyodunun  en iyimser durumda 62us oldugu dusunulurse 5us gecikme 3. motorda  %8 gecikme anlamina gelir.
Tum kdolamalar bitipte hala islemcinin idle durumda kaldigi zaman kaliyorsa 62us lik peryod H bridge in max frekansinkarsilik gelen peryoda kadar kisaltilir ve bu  bazen 20us ye kadar dusurulebilir. Yani 20us lik dongude 6 motor akimi denetimde tutulur, PC ile haberlesilir, vs vs

Eger motor enduktansiniz dusuk ise atik davranis sergilemek icin H kopru voltajini da buyuk tuttuysak akimdaki rampanin egimi buyuk olur. Bu da akimlarin olcumunde daha buyuk olcum hatasi yapmamiza neden olur.

O halde en az hatayi 1. motor, biraz fazla hatayi 2. motor, en buyuk akim hatasini da 3. motor yapacak demektir.

Eger pwm uretiminde motor kontrol duzenegimizde CPU daki pipeline mekanizmasinin benzerini pwm uretimi ve ADC olcumu icin bahsettigim sekilde yaparsak bu hatalardan buyuk olcude kurtuluruz.

Bahsettigim hatalara ragmen STM ile 3 step motor kontrol edilebiliyor ve isimi fazlasiyla goruyor.

Buna ragmen olusturdugum bu pipeline yapisi ile step motorlari bir segment daha iyi surmeyi hedefliyorum.

Simdi yazacaklarim gene ASM C catismasina donecektir ama tum kodlamayi ASM ile yapmak zorundayiz. Kutuphane vs ile hic olmaz.

Cunku  kuracagimiz pipeline mekanzimasina asla kaza yaptirmamaliyiz. (pipeline crash, pipe line penalty)

Bunun ustesinden de ancak ya FPGA gelebilir ya da pure assembly.

Haa siki C yazarlar da isterlerse yazmayi basarabilirler.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: benmrtild - 24 Eylül 2022, 03:36:13
Alıntı yapılan: z - 24 Eylül 2022, 00:04:08Amel olmak circir olmakla esanlamli.

Birine cemkirince karsidakinin de cemkirmesi cok normal.

Cemkirene cemkirince kotu adam ben oluyorum. Ustten bakan egolu ben oluyorum. (Ne de olsa cig sutu sadece ben emdim)

Alistim artik.

@JOKERAS

Bu basliktaki sorun ilginc bir durum idi (timerlarin senkronize calismasi). Nihayetinde sebebini debelene debelene bulduk.
Faz farki olusturmak icin ilk iki mesajda olasi yontemleri yazdim zaten. Bu sorunu cozmenin uzay gemisi yapmakla atom parcalamakla es bir yani yok.

Fakat sorunun cok basit bir register atamasi yapmamaktan kaynaklandigi alinacak ders oldu. Sen istedigin kadar bu yontemin ise yaramayacagini soylesen de
dedigin gibi ilk okul cocuguna bile sorsan soyler timerlari gecikmeli kur diye. Gecikmeli kurarsan oluyor iste.

Bu fazfarkli yapiya ihtiyacimin mantigini dedigim gibi burada yazarak anlatmak zor. Bir firsatim olursa videoda tahta basinda anlatacagim.

Ama kisa bir giris yapayim.

Eger 6 ayri bobinin akimini tek tek kontrol altinda tutacaksaniz akim bilgilerinii cok iyi elde etmelisiniz.

2 ADC var 8 tane de ADC kanalim var. Sorun yok derseniz sorun var tabiki. Akimi, akim kontrol dongunuz icin ayrilan zaman icinde olcebilmeli, gerekli kontrol algoritmalarini isletebilmeli ve nihayetinde o kanala ait pwm degerini zamanindan once pwm registerine yuklemeniz gerekir.

Merkeze gore simetrik pwm ile 6 bobine de merkezleri bir birine senkron pwm voltajlar verirseniz 6 bobinin 6 si da tam merkezde ortalama akimi akitir.

Yani pwm high oldugu anda akim rampa seklinde artarken pwm in tam ortasinda akim yapacagi delta I artisinin yarisini yapar.
Eee 6 akim da tam bu anda delta I artisinin yarisini yapacaksa 6 akimi da tam bu anda olcmek gerekir ki akimdaki rampa egimi olcum hatasina neden olmasin.

Eger her bir ADC kanalimiz kendi sample hold devresine sahip olsaydi  tam orta noktada 6 bobin akiminin o anki degerini analog olarak saklar ardindan ADC ile tek tek olcerdik. Hata da yapmazdik.

Fakat malesef STM32 dahil tum islemcilerde ADC ADC kanallarini ardisil olarak olcerler.

F103C8 her bir ADC olcumunu 1uS de yapar. Fakat Islemci USB donanimini da kullanacaksa malesef ADC yi en yuksek hizda calistiramiyoruz. 72Mhz de hem USB calissin hem de ADC max hizda calissin olmuyor.

Neyse sebebini merak eden PLL sayfasina bakar.

O zaman oyle bir uc kagit yapmaliyiz ki PWM lerin orta noktalari ust uste gelmesin. Eger orta noktalar ust uste gelmezse ADC yi soft olarak baslatabilir ya da surekli cevrim modunda birakabiliriz,

Timer 2 orta noktada int cakar 2 ADC ile o anki  iki bobin akimini olcer kontrol algolari isletir ve pwm degerlerini  yukleriz. ADC kanallarini switch ederiz ve ikinci motor akimlari olculmeye baslanir. Birazdan Timer 3 orta nokta yapar.  Bu kez ikinci motor icin o anki akim degerleri elimizde mevcut olur.

Birazdan diger timer int cakar bu kez de 3. motorun o anki akimlarini olceriz.

Yani interlive ya da pipeline diyebilecegimiz bir donanim yapisi kurmus oluruz.

Eger boyle yapmazsak tam merkezde 6 bobin akimini olcmeye kalkarsak 3 tanesi bir ADC ile 3 tanesi de diger ADC ile olculse 3. motorun akimi 3uS den daha fazla gecikme ile olculur.

Halbuki 3uS sonra akim orta noktadan 3us uzaklasmis ve akim rampasinin egiminin neden oldugu hata ile akim olculmus olur.

3us dedigim gibi en iyimser degerdir. ADC yi full speed kullanamadigimiz icin daha da buyuk olcum suresi alacaktir. 

Toplam pwm periyodunun  en iyimser durumda 62us oldugu dusunulurse 5us gecikme 3. motorda  %8 gecikme anlamina gelir.
Tum kdolamalar bitipte hala islemcinin idle durumda kaldigi zaman kaliyorsa 62us lik peryod H bridge in max frekansinkarsilik gelen peryoda kadar kisaltilir ve bu  bazen 30us ye kadar dusurulebilir. Yani 30us lik dongude 6 motor akimi denetimde tutulur, PC ile haberlesilir, vs vs

Eger motor enduktansiniz dusuk ise atik davranis sergilemek icin H kopru voltajini da buyuk tuttuysak akimdaki rampanin egimi buyuk olur. Bu da akimlarin olcumunde daha buyuk olcum hatasi yapmamiza neden olur.

O halde en az hatayi 1. motor, biraz fazla hatayi 2. motor, en buyuk akim hatasini da 3. motor yapacak demektir.

Eger pwm uretiminde motor kontrol duzenegimizde CPU daki pipeline mekanizmasinin benzerini pwm uretimi ve ADC olcumu icin bahsettigim sekilde yaparsak bu hatalardan buyuk olcude kurtuluruz.

Bahsettigim hatalara ragmen STM ile 3 step motor kontrol edilebiliyor ve isimi fazlasiyla goruyor.

Buna ragmen olusturdugum bu pipeline yapisi ile step motorlari bir segment daha iyi surmeyi hedefliyorum.

Simdi yazacaklarim gene ASM C catismasina donecektir ama tum kodlamayi ASM ile yapmak zorundayiz. Kutuphane vs ile hic olmaz.

Cunku  kuracagimiz pipeline mekanzimasina asla kaza yaptirmamaliyiz. (pipeline crash, pipe line penalty)

Bunun ustesinden de ancak ya FPGA gelebilir ya da pure assembly.

Haa siki C yazarlar da isterlerse yazmayi basarabilirler.

Z hocam kısaca pwm çıkısındaki bobine enerji verdiğiniz andaki akımı okumak içinmiş bu yazdıklarınızı yapıyorsunuz. anladığım bu doğrumu.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 24 Eylül 2022, 11:08:02
Aynen.

Aslinda 3 timera ADC olcum suresi kadar gecikme yapacak kadar faz farki birakmakda cozum olabilir.


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Cemre. - 24 Eylül 2022, 18:33:15
Yapılmak istenen şey asimetrik center aligned pwm üretme özelliği olmayan bir işlemci ile asimetrik center aligned pwm üretmek mi? Yoksa ben sonradan dahil olup bambaşka bir şey mi soruyorum :D
Eğer öyleyse, daha önce bu işi Stm32f030 ile yapmıştım. Yöntemi anlatmaya çalışabilirim?


Edit: Her neyse, ben yaptığım çalışmayı şöyle bırakayım, belki birinin işine yarar.
https://disk.yandex.com/i/f7PIv22rNddsrw
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: benmrtild - 24 Eylül 2022, 18:50:11
Alıntı yapılan: z - 24 Eylül 2022, 11:08:02Aynen.

Aslinda 3 timera ADC olcum suresi kadar gecikme yapacak kadar faz farki birakmakda cozum olabilir.



hocam sizin kadar konuya hakim değilim fakat benzer bir yöntemle akım ölçmeye çalışmıştım voltaj sabit olduğu halde bobin den geçen akımını çokta iyi ölçermemdim. elektrik saatleri için bir ic vardı onla daha net değerler aldın birde pic18 ailesinde de bazı işlemciler var bu tür işler için belki onlar daha iyi seçim olabilir.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 24 Eylül 2022, 18:57:22
Burda amac ayni fazdaki birden fazla ucgen dalga formundaki akimlarin ani degerini hep ayni T aninda olcmedeki zorluga cozum uretmek.

Buradaki cozum seklimiz akimlarin fazlarini kaydirmak.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik - 24 Eylül 2022, 21:42:47
işin özeti sırayla ölçüm yapmak.
Bobin akımlarının pik noktalarını farklı zamanlara kaydırıp sağlıklı ölçüm yapmak.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Erol YILMAZ - 24 Eylül 2022, 23:03:06
Alıntı yapılan: elektronik - 24 Eylül 2022, 21:42:47işin özeti sırayla ölçüm yapmak.
Bobin akımlarının pik noktalarını farklı zamanlara kaydırıp sağlıklı ölçüm yapmak.

Bu kadar tantana yapılan konu bu
muymuş ?

aşağılamalar, saygısızlıklar,
Z ve atışmaktan çekinmeyen diğer arkadaş
Egonuzun boş gürültüsünü buralara kadar yayacağınıza, kendi aranızda halletseydiniz daha iyiydi.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: z - 25 Eylül 2022, 00:05:22
Bu formda artik suyum isindi.

Kendi adima guzel zaman gecirdim.

Artik picproje sitesinde zaman kaybetmek istemiyorum.

Hakkinizi helal edin. Eger ki sizlerde hakkim varsa hepinize helal olsun.




Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: elektronik - 25 Eylül 2022, 00:21:58
Alıntı yapılan: z - 25 Eylül 2022, 00:05:22Bu formda artik suyum isindi.

Kendi adima guzel zaman gecirdim.

Artik picproje sitesinde zaman kaybetmek istemiyorum.

Hakkinizi helal edin. Eger ki sizlerde hakkim varsa hepinize helal olsun.

Yok hocam böyle birşeyi kabul etmiyoruz.
su ısındıysa hepimizi için ısınmıştır aynı sudayız.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: devrecii - 25 Eylül 2022, 01:02:03
Hocam abartma , meyva veren ağacı taşlayan çok olur sen gidersen picproje ölür.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Yuunus - 25 Eylül 2022, 01:49:03
@z nereye gidiyorsan soyle bizde gelek.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 30 Eylül 2022, 20:51:48
Alıntı yapılan: z - 25 Eylül 2022, 00:05:22Bu formda artik suyum isindi.

Kendi adima guzel zaman gecirdim.

Artik picproje sitesinde zaman kaybetmek istemiyorum.

Hakkinizi helal edin. Eger ki sizlerde hakkim varsa hepinize helal olsun.

@z Hayrıdır nereye gittin?Banamı kızdın?Sen bu forumdan ayrılamazsın!
Senin bu foruma bağımlılığın Sigara bağımlılığından beter:)
Hem küsmesi gereken biri varsa o ben oluyorum.Eğer Erol Yılmaz'ın sözlerine alındıysan
Alınmana sebep olacak bir söz yok orada.Erol Yılmaz doğal olarak bizim birbirimize olan
Seviyesizliğimizi,boş lakırdımızı dem vurdu.Onu Dile getirdi diye düşünüyorum.

Seni kırdıysam özür dilerim.Üzme bizi,seninle daha çoook Atışacağız.
Hadi gel,yak bir sigara barışalım :)Bak sana barış çubuğu uzatıyorum.





Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: brandice5 - 30 Eylül 2022, 22:49:36
Ah ah, bu forumu böyle böyle bitirdiler işte. Üyelik tarihime aldanmayın bu forumu 20 yıla yakındır takip ederim.
Bu forumdan ne insanlar gelip geçti. İçlerinde "world class" diyebileceğimiz bir çok kişi vardı ama iş bilmez yöneticiler yüzünden hepsi birer birer ayrıldı. Bu iş bilmezlerden biri gitti tam kurtulduk dedik ama kalanların da çok farkı yokmuş.

Ha, sen niye hala burdasın dersen, benimki artık dudak tiryakiliği. Mümkünce gelip ne var ne yok diye bakmaya çalışırım. Bilgim dahilinde ilginç bir konu varsa cevap vermeye çalışırım. Son yıllarda zaten aktivite iyice düştüğü için artık buna bile gerek kalmayacak neredeyse.

Bu forum yöneticiliğini oldum olası anlamamışımdır zaten. Bu forumda zamanında çok hararetli de olsa çok iyi tartışmalar yapıldı ama hepsi yöneticilerin bir mouse tıklamasıyla çöpe gönderildi. Sen zaman ayırıp oturup uzun uzun birşeylere cevap vermeye çalışıyorsun ama forum yöneticisi denen birisi gelip senin belki yazmak için dakikalar harcadığın yazıyı bir tıklama ile oturduğu yerden saniyesinde siliyor.

Kardeşim bırak, çok ağır küfür olmadığı sürece insanlar ne yazmak istiyorsa yazsın, sanane. Sanki buradaki herkes gerçek hayatta İstanbul beyefendisi. Karşı tarafın rahatsız olduğu birşey varsa gider savcılığa şikayet eder hakkını söke söke alır. Sen kendini neden savcı/hakim yerine koyuyorsun? Nedir bu kraldan çok kralcılık?

Ama işte ne desek boşa, şimdi yine bir "forum yöneticisi" gelip bu mesajı bir tık ile siler. Silin bakalım, daha ne kadar silebileceksiniz. İnsanlar artık "nasıl olsa silinecek" diye yazmaya bile üşenir oldu.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Erol YILMAZ - 01 Ekim 2022, 02:44:19
Evet arkadaşım ne güzel söylüyorsun,
Kraldan çok kralcı olmaya gerek yok.
Doğrusun. Haklısın.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: mustafa_cmbz - 01 Ekim 2022, 09:38:22
Hakikatten boş vaktinde girdim bakayım dedim konuya çakıldım.. Yazan tartışan adamların acaba nasıl bir boş vakti vardıda sayfalarca teknik tartışmak yerine böyle tartışmalar vakit öldürdüler.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Okan AKÇA - 01 Ekim 2022, 12:50:41
Profesyonel olarak elektronik (para kazanan) ile uğraşmayanlarda hep bu tartismalar oluyor.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: brandice5 - 01 Ekim 2022, 13:29:01
"Forum yöneticisi" yine şaşırtmayıp bu sefer benim mesajımı değil ama aradan hoşuna gitmeyen başka mesajları silmiş.
Uzunca yazıp bir çok noktaya değindiğim eleştirime ancak "sen işine bak" tarzında cevap vererek yine kısa yoldan "forum yöneticiliğini" konuşturmuş.
Bir insanı tanımak istiyosan, ona küçük bir yetki ver demişler. Kendileri kralcılık oynadığı halde bizim gibi sıradan kullanıcılara kraldan çok kralcı olma diyorlar.

Bir de hala bu durumu savunanlar var. Ne diyeyim, size herşey müstehak. Alın forumunuzun hayrını görün.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Erol YILMAZ - 01 Ekim 2022, 14:59:09
Brandice5 kardeşim gerçekten iyi tahlil yeteneğin var.

Fakat bu forum "ne benim, ne senin...",,,bir şekilde buraya ulaşan herkesin ortak ürünü.

Dolayısı ile moderatörmüş sıradan kullanıcıymış gibi ayrımların bir anlamı yok.
Eleştirmekten geri durmayıp, biraz da abarttığını düşündüğüm moderatörlüğü sen de yapabilirsin.
UYGUNDUR dersen ben moderatörlükten ayrılıp kendi yerime senin mod olmanı rica edeceğim.
Böylece bizim gibi kişilerin küsmesine, sistemin çökmesine sebep olan küçücük yetkilere sahip, gönüllü ve sıradan moderatörler de bu işler nasıl yapılıyor,, öğrenmiş oluruz.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: muhendisbey - 01 Ekim 2022, 17:58:46
Her ne kadar çoğu zaman anlaşamasak da Bülent abi forumu canlandıran başlıklar-konular bulan birisiydi. Gitmesi forum adına ciddi bir kayıp oldu, umarım anlaşmazlıklar giderilir.

Üslup, önemlidir. Forumda belli bir ahlaki düzeni sağlayabilmek adına önemli.
Ancak ortada küfürleşme-hakaretleşme olmadıkça bir müdahale de benim fikrimce yapılmamalı.
Bu konu için baktığımda bu sınırda fakat sınırı aşmış da değil. (Arada silinen varsa bilemeyeceğim.)

Erol Bey'in kasti nefretinin olmadığını da söyleyebilirim. Uzun yıllardır bu foruma emek veren birisi. Ancak "EGO" kelimesini karıştırarak uyarmamalıydı. Daha kibar bir uyarı yakışırdı.
Şu da bir gerçek, bir moderatörden kibarca bir uyarı da alınsa da sert bir uyarı gibi algılanıyor.

Forumda bir avuç insan kaldık. Bu insanlara sahip çıkmamız gerektiğini düşünüyorum.

Bir de lütfen eleştiriye açık olun. Sadece moderatör tarafı değil. Moderatör eleştirdiğinde bırakıp gitmek, ya da moderatör eleştirildiğinde "al senin olsun" demek biz eğitimli insanlara yakışan bir davranış biçimi değil.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Mr.Thinking - 01 Ekim 2022, 18:11:34
Atışma ve tartışmalar çoğu zaman iyidir. Ayarında olursa!
İnsanı hırslandırıp konuya odaklandırır ve sonuca daha hızlı ulaşılmasını sağlar. Bir nevi psikolojik baskı. Baskı altında yapılan işler akılda kalır, unutulmaz. Şahsen biri beni bir konuda öfkelendirdiğinde, o konuyu ondan daha iyi öğrenip, alt etme isteği uyandırır. Bu güne kadar öğrendiğim bir çok şeyi bu şekilde öğrendim. Kişisel hakaret içermediği sürece de tartışma ortamına da izin verilmeli.
Bunlar benim şahsi düşüncem. 16 senedir buradayım. Bir çok aşağılamaya ve küçümsemeye maruz kaldım ama bunlar beni hep daha ileriye taşıdı. Bazen benimde kızıp ayrıldığım zamanlar, hatta kullanıcı adımı değiştirip yeniden üye olduğum zamanlar da oldu ama, ilim için her şeye katlanılmalı bana göre. Hatta ilk aşağılanmaya da @brandice5 te maruz kalmıştım. Hiç unutmuyorum. Beni, bilgim olmadan fikrim olduğu konusunda bir aşağılamaya maruz bırakmıştı.  Fakat haklı olduğunu zamanla anladım. Evet, bilgim olmadan fikirler öne sürüyordum. Ama hepsi de masumane ve samimi şeylerdi. Neyse.
Konu ile ilgim yok ama içimi dökmek istedim.
Ek olarak: ego=1/Knowledge eğer    ego=Knowledge/1 ise bir yanlış var demektir.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: benmrtild - 01 Ekim 2022, 19:29:41
evet görüldüğü üzere başlık ile konuşulan arasındaki farkı herhalde herkes anlamıştır eee nerde kalmıştık diyecek kişilerde yok ben daha önce bir başlığın altına kısaca biz aşırı siyasallaştık demiştim kısaca buda ona benziyor asıl konu kaçtı arkadaşlar. ;)  :du:
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: gevv - 02 Ekim 2022, 00:52:54
Bazen @OG hocamı çok özlüyor, arıyorum neler yazardı şimdi  :)

@z hocam sendemi ?!/:;/ yapma bea
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 02 Ekim 2022, 16:20:35
Bak Aşağılayan sen,hakaret eden sen,küsen sen."Geri dön Tülaayyyy evde Çocuklar perişan oldu" diyen ben:)
Yak bir sigara barışalım.Belki bu vesileyle hatalarımızı görüp düzeltmiş oluruz.
Fazla naz aşık usandırır, nazlanma gel Atışalım kibarca:)
Daha Nusret'e gidecek Altın kaplamalı Prizola yiyeceğiz.
Ben genelde Altın Kaplamalı Prizola yediğim için aşağısı kurtarmaz.
Hesabı sen ödeyeceksin.Ödeyemezsen 1 Hafta Bulaşık yıkatırlar bize ona göre :'(

Hala çözemedin değilmi?Ha ha ha.Çözemezsinnnnn.
Bu Sivri Zeka işi, Mantık işi.Bu her babayiğidin yiyeceği Yoğurt değil.
Hele senin hiç değil.
Hasbel kader 3-5 Matematik formülü öğrendin diye çözebileceğinimi sandın Tornacı.
Bu işler Tornacılara göre değil, Tornacılar Tornacılığını bilsin Lütfen :'(


Not:Alt paragrafı bile bile yazdım.Niye yazdığımı sonra söylerim.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: muhendisbey - 02 Ekim 2022, 22:14:54
Bu tarz yakışı kalmayan bir mesaja gerek var mı? Boyunuz mu uzadı siz bilince, bir başkası bilmeyince? Bilginizi paylaşmayacaksanız "ben biliyorum söylemem" düşünceniz varsa cevap yazmamalısınız.

Üslubunuz çok bozuk. Karşınızdaki kişiyi rencide edici davranışa hiç gerek yok. Forum bilgi paylaşma yeridir. Kişisel tatminlerinizi başka platformlarda gerçekleştirirseniz biz de rahatsız olmayız. Ne bileyim instagramda, youtube'da...  beğeni toplayın. Başka da bu başlıkta söyleyecek sözüm yok.
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 03 Ekim 2022, 13:33:03
muhendisbey,Bak mesajın Alt tarafına Not diye belirtmişim.
Bile bile yazdığımı söylemişim.Evet bile bile yazdım.
z'nin Sinir uçlarını gıdıklamak istedim,çıldırsın istedim.
Buna bianen gelsin cevap yazsın istedim.

Sen çok duyarlısın madem, z sadece bu konuda değil başka konularda da
sayısız defa bana Hakaret etti aşağıladı.Beni Pejmürde etti,üstümde sigara
söndürdü.Yetmedi Video çekip hakaretini sürdürdü.O zaman neredeydin?
Kişi z olunca farklı,sıradan bir üye olunca farklımı oluyor?
Benim nezdimde buradaki her üye aynı,kimsenin kimseye bir üstünlüğü yok.

Mesajın üstünü okuyup altını Cımbızlamak bizim İnsanımıza özgü bir kavram.

Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: Erol YILMAZ - 03 Ekim 2022, 14:59:55
Alıntı yapılan: JOKERAS - 03 Ekim 2022, 13:33:03...sayısız defa bana Hakaret etti aşağıladı.Beni Pejmürde etti,üstümde sigara
söndürdü.Yetmedi Video çekip hakaretini sürdürdü...

Bu konuda hiç şikayetin oldu mu?
Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: JOKERAS - 03 Ekim 2022, 18:36:30
Alıntı yapılan: Erol YILMAZ - 03 Ekim 2022, 14:59:55Bu konuda hiç şikayetin oldu mu?
Kimseye etmem Şikayet.
Yeri,anı zamanı gelince Aynıyla mukabele görür.
Aynı tavır,uslup kişinin kendine yapılınca,ağızda nasıl bir tat bıraktığını
kendilerinin görmesi için fırsattır.

Konuda geçen olumsuz abuk subuk kişisel uslubunu,Video çekip "Sivri Zeka"
yakıştırmasına kadar sineye çektim.Kimse kimseye Sivri Zekalı diyemez!
Kimse Kral değil,Kralın oğlu değil özel değil.Her üye eşit.
Kişilerin bilgisine Saygı gösteriyoruz diye hakaret ve aşağılamalarını
yiyecek değiliz.

Empati yapan durumu net görür!Bizim toplumun en büyük sorunu zaten bu.
Empati kültürünün gelişmemiş olması.Kendine yapılmasını istemediğin bir şeyi
başkasına yapmamalısın.Olay bu kadar basit.

Neyse konuyu daha fazla uzatmanın manası yok.

z'nin gitme sebebi ben değilim,konuda geçen diyalogda haklı olmama rağmen
özür diledim,davet ettim,Damarına basıp deli ettim.
Kaç kişi rica etti.Admin sitem etti.Yıllardır Forumdasın,neredeyse forumla
özdeş olmuşsun,hala daha ajitasyon.

Not:Mesajları okuduğunu biliyorum.Cevap yazmamak için Tırnaklarını yediğini,
çıldırdığını sezebiliyorum.Gurur İnsanı yer bitirir.Sonra olan sana olur.


Başlık: Ynt: stm32f103c8 TIMER 2 ,3, 4 sorunum
Gönderen: power20 - 07 Ekim 2022, 22:50:59
Forumlar aslında zannedildiği gibi "bedava bilgi kaynağı" değil. Değerli bilgisini paylaşan kişi buna ihtiyaç duyanları bir şekilde küçümseyerek teşekkür bekleyerek dalga geçerek rahatsız ederek ücreti tahsil ediyor.  Böyle olması gerekmezdi. Kalitemizi geliştirebiliriz fakat bu durum on yıllar alabilir.