PİC EĞİTİMİ

Ben c kısmını sıkıntı yapmıyorum. zaten haftaya c dili ve pic programlama eğitimi almaya başlayacam.
devre şemasını nasıl halledicem onu bilmiyorum işte. Benim aslında en önemli sıkıntım devre şemasını çıkartamamak. onun dışında c dilimi biraz geliştirirsem yazılımı nasıl atacağımı, isis, ares kullanımını ccs-c kullanımını biliyorum zaten. şema hazırlayamıyorum.
 
Otomotiv sektöründe kullanılacaksa devir saati vs. göstergeler bilgilerini çok büyük olasılıkla can bus üzerinden okuyordur. Bildiğim kadarı ile de can bus üzerinde de farklı protokoller tanımlı. Bana göre can bus ile uğraşacağınız zaman step motor ile uğraşacağınız zamanın en az bir kaç katı.
Daha önce de sormuştum. Sistem verilerini ne şekilde alıyor diye. Buralarda sıkıntı çıkmaz ise geri kalan kısımda zaten çıkmaz.

Motoru direkt mcu ile sürebilmek için motorun 10-20 mA ile çalışabiliyor olması gerekir.
Adım adım gidersek;
Kullanılacak motorun sargı dirençleri, endüktansı nedir gibi bilgiler mevcut mu?.
Gösterilecek bilgi ne şekilde, hangi protokolle gelecek. ?
Buna göre prototip bir donanım hazırlayıp yazılım kısmına daha sonra girmeniz gerekir.

Can bus benim için sonraki aşama. Şuan ticari araçlar üzerinde uygulama yaptığımız için veri can bus üzerinden gelmiyor. Motorlar ile ilgili bipolar step motorun içinde 2 tane sargı var. bunların değerleri 280ohm. civarı. o kısımlar zaten sorun değil. bu motorları biz kullanıyoruz şuanda zaten. şu devre şemasını halledebilsem gerisi hiç önemli değil. verileri ne şekilde alıyor demişsin ama tam anlayamadım ben. sensörden gelen veriyi analog olarak göstericek. sorduğun buysa eğer.
 
misal projenizin hangi kısmının devresini kuramıyorsunuz?
 
Veriler ne şekilde alınıyor derken, gösterilecek değer ne şekilde mcu ya iletiliyor usart mı, analog voltaj veya akım mı, dişliden hall ile üretilen darbeleri saymak mı gibi.. Buna göre uygun donaımsal modülleri olan bir denetleyici seçmek için..

Motorlar direkt olaraka mcu ile sürülebiliyorsa, her bir motor sarımı için bir çift çıkış kullanmak yeterli görünüyor.
Step motorların hız ile endüktansı çok değiştiğinden motorun hızlı hareket ederken ve dururken çektiği akımlar çok farklılık gösterir. Bu nedenle akımı kontrol edebilmek için motorları sürdüğünüz çıkışların donanımsal PWM destekli çıkışlar olmasında fayda var. Ama belki de PWM de gereksizdir, direnç vs de iş görebilir. motora bağlı..
Öte yandan sargılar motor akımı kesildiği durumda EMK üretirmi gibi şeyler de var. En azından test aşmasında garanti olsun diye çıkışlara bipolar 5.1V zener veya tvs gibi şeyler, yeterince küçük değerli kapasitör vs. konabilir.

Yazılım kısmında ise önerim, motoru full- half-mstep sürmenize göre, full step için 4 half için 8 elemanlı bir array kullanıp motorun elektiriksel döngünün hangi aşamasında olduğunu tutun. Her bir adımda indisi arttırıp azaltarak ve indisin 0-4 veya 0-7 aralığında olmasını da sağlayıp çıkışları array'e önceden atanmış değer ile set edin. PWM ile ilgili registerleri de bu şekilde kullanmak mümkün.
Birde genel olarak kaç derece açı için hangi pozisyon da olduğunuzu tutmak yeterli. Geriye hızlanmalar vs. gibi şeyler kalır. Söylediğim işleri bir timer kesmesinde yaparsanız timer set değerleri ile oynayarak istediğiniz hıza ulaşabilirsiniz.
C bilgisi olarak da öyle ahım şahım bilgi gerekmez. Registerlere, değişkenlere değer atamak, basit matematik işlemler, basit if blokları yazabilmek yeterli olur.
 
Şöyle söyliyeyim. Bizim göstergelerimiz de sensör den gelen 8 impuls 1 devir oluyor. yani 8 kare dalga
1 devire eşit gelmekte. pic ile motor arasında driver kullanılıyor. örneğin elimdeki devir göstergesi pcb'sinde de kullanılan driver ax1201728sg. ama aynı motor farklı pcblerde mesela km saatinde direk mcu ya bağlı. motor içinde 280 ohmluk iki bobin var. 4 uçlu bu motoru direk 4 ucunuda mcu ya bağlamışlar. motor resmini de gönderiyorum size
.
x27.589_stepper-2.jpg
 
Motorun direkt mcu ile yada driver ile sürülmesinin nedeni motorun ne kadar hızlı hareket etmesi gerektiği ile ilgili sanırım.
Km göstergesinde 0 dan 100 konumuna gelmesi gereken süre atıyorum 10 sn iken devir göstergesinde 0 dan 3000 konumuna gelmesi gereken süre max 1 sn olabilir. Sonuçta öncelikle kullanacağınız motorların bir tam devri için gereken puls sayısı, motorun hızı gibi şeyleri bilmek gerekir.
Yerinizde olsam öncelikle l293 vs. yada elinizde ne varsa bir motor sürücü de kullanarak istenen hızlarda motoru adım kaçırma olmadan garantili bir şekilde çalıştırma için gerekli akım ve voltaj değerlerini ölçer sonra nihai devreye, kullanılacak elemanlara karar verirdim.

Kullanılacak işlemci de en fazla işlem yükü eğer dış kesme veya IC gibi modüller kullanırsanız puls saymak için kullanılır. Ki 10000 devir için bile 80000 puls ediyor ve herhangi bir 8 pin mcu ile bile kontrol edilebilir bir değer.
Mcu başka işlere de bakacak veya aynı anda bir kaç göstergeyi kontrol edecekse de ona göre bir mcu seçilir. Mesela QEI modülü olan bir mcu..
Öte yandan mcu fiyatı vs. önemli ise stm8 gibi serilere de bakılabilir.
16F serisi işlemci fiyatına, giriş seviyesi CM0 serisi 32 bit ARM işlemci de alınabiliyor.
 
Çorluda oturuyorum. istersen eğitim verebilirim.
 

Forum istatistikleri

Konular
129,834
Mesajlar
930,598
Kullanıcılar
452,662
Son üye
Yılmaz Çetiner

Yeni konular

Geri
Üst