Şimdi Ara

STM32 Discovery

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
17
Cevap
0
Favori
599
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • STM32 üzerinden proje geliştirmiş biri yazabilir mi?



  • Soruyu yazsaydın keşke. Proje geliştirmedim ama stm32f103 ile kütüphane kullanmadan (low level) bazı denemelerim oldu.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 10 Mayıs 2018; 20:2:50 >
  • 6 voltluk 200 rpm'lik bir dc motor süreceğim (tekerlekli), l298n motor sürücüm ve pil yatağım da var. Bunu nasıl yapabilirim? Daha önce tecrübem yok.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Tecrüben yoksa daha basit şeylerle başlasan iyi olur. stm8 gibi, led yakıp söndürmek gibi.

    DC motor sürücüler pwm ile sürülür. Bütün mikrodenetleyicilerde teknik aynı sayılır. Sorun çok genel olmuş, biraz daha özelleştirmelisin.
  • Hocam led yakıp söndürme gibi işlere baktım da okul takımında bana stm32'de dc motor sürme görevi düştü. Hozı ayarlanan sağa sola giden gibi. Anlayacağınız bir şekilde öğrenmem lazım :)



    Duty cycle gibi şeylere baktım. Tam olarak öğreneceğim doküman tarzı bir şey var mı? Yol gösterebilir misiniz?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • "Pwm ile dc motor" diye aradığın zaman yeteri kadar türkçe ders çıkar. Anlamadığın yeri sorabilirsin.

    İşlemci özelinde ise kullanacağın işlemcinin referans dokümanının ilgili bölümlerini ya da "application note" larını okumalısın. Karmaşık görünür ama bir kere okuyup anladıktan sonra 2. defa işin düştüğünde hızlıca göz gezdirip kodunu yazarsın. Aşağıdaki bağlantı stm32 timer notları.

    http://www.st.com/content/ccc/resource/technical/document/application_note/54/0f/67/eb/47/34/45/40/DM00042534.pdf/files/DM00042534.pdf/jcr:content/translations/en.DM00042534.pdf

    Kodlamada ise iki seçenek var. Ya direkt registerları kullanmak ya da st firmasının sunduğu HAL veya LL kütüphanelerini kullanmak. Kütüphaneler ile hiç tecrübem yok, birincisi bana daha kolay geliyor çünkü kütüphane kullanacak olsan dahi donanım hakkında bilgi edinmelisin.

    Hazır kod bulup birleştirme yoluna da gidebilirsin ama daha mı kolay olur yoksa daha mı zor ondan emin değilim.




  • Yardımcı olabilirim hocam. Öncelikle cubemx ve bir ide ( keil veya iar olabilir) kurdunuz mu ?

    < Bu ileti DH mobil uygulamasından atıldı >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • MalıArapFaiktenAlıyoduk kullanıcısına yanıt
    Hocam teşekkürler cevabınız için.

    CubeMX ve Keil 5 mevcut. Öncelikle CubeMX'den pinleri ayarlayıp, Keil'dan kodu yazıyoruz diye biliyorum ama tam çalışma mantığını anlamadım.
  • Hocam cubemx kabaca clock, I/O, ve alternatif fonksiyonları (haberleşme protokollerini, timerları vs.) ayarladığımız ve register ayarlarını kolay bir şekilde yapabildiğimiz bir ara yüz.
    Elinizde 407 discovery kit olduğunu düşünüyorum. Öncelikle led yakma işlemi için kit üzerinde bulunan D portuna ait 12,13,14 ve 15. Pinlerdeki LED'leri dijital output ayarlamanız gerekmektedir. Bu işlemi yaptıktan sonra CubeMX in araç çubuğundaki çark sembolüne tıklamanız gerekmekte. Burada proje ismini ve yolunu belirtip orta kısımda kullanacağınız IDE olan keil yani uvision 5 i seçmeniz gerekmekte. Daha sonra projeyi generate ettiğimizde otomatikman keil açılacak. Buraya kadar geldiğinizde haber verin devam edelim. Telefondan yazıyorum anlatımda bozukluklar ve ezberden anlattığım için eksiklikler olabilir hakkınızı helal edin.



    < Bu mesaj bu kişi tarafından değiştirildi MalıArapFaiktenAlıyoduk -- 12 Mayıs 2018; 9:6:15 >
    < Bu ileti DH mobil uygulamasından atıldı >
  • Bu arada bu işlemlerden önce keil de arm ve stm kütüphanelerini kurmanız gerekiyor.

    < Bu ileti DH mobil uygulamasından atıldı >
  • MalıArapFaiktenAlıyoduk kullanıcısına yanıt
    Önemli değil sağolun yorumunuz için.

    Hocam, dediğiniz şeylere dün baktım. Kartın üstündeki ledi de yaktım, basit bir uygulamayla. Çarşambaya kadar motoru döndürmem lazım.

    Elimde şöyle bir dc motor var.https://www.direnc.net/6v-250-rpm-motor-ve-tekerlek-seti?lang=tr&h=cc6b1986&gclid=Cj0KCQjwodrXBRCzARIsAIU59TK4t6pYiNdSono2q5Mjy47257lBjwZIOKMfgagbIo9ID7ANf4Dv_r4aAqhwEALw_wcB

    Bir dehttps://www.direnc.net/l298-dc-step-motor-surucu motor sürücü var.

    Bunlarla ne yapacağımı bilmiyorum. Çarşambaya kadar halletmem lazım. Öneriniz var mı?




  • Motorları ne ile besleyeceksiniz ?

    < Bu ileti DH mobil uygulamasından atıldı >
  • MalıArapFaiktenAlıyoduk kullanıcısına yanıt
    6 voltluk pil yatağım var. Ondan çekerim diye düşünüyorum.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Motorlar için 2kHz lik pwm sinyali uygun olacaktır diye düşünüyorum. Öncelikle cubemxden herhangi bir timerdan pwm üretmeniz gerekiyor.
    Clock source olarak internal clock seçtikten sonra channelerdan pwm generation seçilmeli daha sonra cubemx otomatik olarak pwm bacak ataması yapacaktır.
    Bu işlemlerden sonra configuration sekmesinden control bölümüne gelen timer ayarını yapmanız gerekiyor. Burada yapmanız gereken 2 seçenek bulunuyor. Prescaler ve counter period. Buralara yazacağınız değer sizin pwm frekansınızı belirleyecektir.
    Peki bu değişkenler ne anlama geliyor onu anlatayım. Prescalar seçtiğiniz timer clockunu bölme işlemi yapar. Atıyorum timer1 168 MHz de çalışıyorsa oraya yazdığınız değer çalışma frekansını bölmektedir. Counter period ise isminden de anlaşıldığı gibi sayma periyodumuzdur.
    Peki değerleri nasıl bulacağız derseniz, matematiksel işlemi şu şekildedir:
    Timer çalışma frekansı / ((prescalar + 1) x (counter period + 1)). Naçizane tavsiyem periyodu uzun tutmanızdır çünkü buraya yazdığınız değer duty değerinin maksimum değerini belirmektedir böylece yüksek duyu skalasına ulaşabilirsiniz.
    Eğer bu aşamaları başarıyla yaparsanız sonraki adımımız bir potansiyemetre ile hız kontrolü olacaktır.
    İyi çalışmalar, kolay gelsin.

    < Bu ileti DH mobil uygulamasından atıldı >




  • Clock olduğu gibi kalsın. 8 ya da 16 mhz hsi osilatör vardır bunlarda. Yavaş olursa frekans hesapları daha basit olur ve daha az güç tüketir.

    Mesela hsi 8 mhz ise;
    Prescaler 40, auto reload 100 yaparsın. 8000000/40/100 = 2 khz pwm ve 0-100 arası duty cycle olur. Frekansı yükseltmek için prescaler'ı düşürürsün. 10 yaparsan 8 khz olur mesela.
  • Prescalar ve counter period değerleri + 1 şeklinde çalışıyor. Yazdığı değerlerin bir eksiğini yazmalıyız sayın hocam.

    < Bu ileti DH mobil uygulamasından atıldı >
  • MalıArapFaiktenAlıyoduk kullanıcısına yanıt
    Üstadım, geç cevabım için kusura bakmayın. Bugün motor sürücü ile ileri geri sürebildim interrupt ile.

    Dediğiniz formülü de inceledim bu akşam eve gittiğimde cubemx'den dediğini ayarlamaları yapacağım.

    Potansiyometre ile yapacağım hız kontrolünü. Pvm sinyali üreterek. Bunu doğru anladıysam dediğiniz adımı uyguluyorum.

    Bu arada şöyle bir uygulama gördüm. Buradaki kodu kullanmam uygun mudur? Biraz aceleci davranıyorum, kusura bakmayın tekrardan. Çarşambaya yetişeceği için :)

    http://roboturka.com/stm32f4discovery/stm32f4-dc-motor-uygulamasi/



    < Bu mesaj bu kişi tarafından değiştirildi Guest-1DFD8C17B -- 14 Mayıs 2018; 18:12:43 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.