Atmel'e Geçmeyi Düşünüyorum Doğru Mu Yapıyorum?

Başlatan rkinaci, 19 Ocak 2010, 20:18:11

rkinaci

Merhaba arkadaşlar. Uzun zamandır pic ile (CCS C ve Mikroelektronica MikroC kullanarak) basit uygulamalar geliştiriyordum. Son yaptığım uygulama ise acaba pic doğru seçim mi sorusunu sormama neden oldu. Basit bir uygulama ile 7 giriş 7 çıkış kontrolü yapacaktım ama saç baş yoldurdu. İlk önceleri sorunun neden kaynaklandığını anlayamadım ama sonra pic devresine 1 metre uzakta çeken bobinlerin pic'in saçma sapan davranmasına neden olduğunu anladım. ilk defa başıma geldiği için çok şaşırdım çünkü 1 metre uzakta çeken 3 adet 24V AC bobin bir mikrodenetleyici nasıl olurda bu kadar etkiler diye düşündüm. Sonra forumda biraz aradım ve gördüm ki böyle sorunlarla pic ile uğraşan birçok kişini boğuşuyormuş. Çözüm ararkende hiç aklımda olmayan AVR, ARM gibi mikrokontrolörleri duydum (daha öncede duymuştum ama hiç uygulama geliştirmeyi düşünmemiştim) ve pic ile yaşanan sorunların çoğunun AVR ile yaşanmadığı gibi mesajları gördüm. Fakat yeterli bilgiye ulaşamadım ve bende sizden bu konuda beni biraz bilgilendirmenizi rica ediyorum.

1-) PIC ile CCS C kullanıyordum. AVR programlamak için AVR Studio ve WinAVR programlarını indirdim bunlarla CCS C de ki gibi C ile AVR programlayabilir miyim veya C ile programlamak için en uygun yazılım hangisi ve nasıl temin edilir? (AVR assembly de öğrenmek istiyorum ama C bildiğim için başlangıç için daha kolay olur diye düşünüyorum).

2-) En çok kullandığım mikrodenetleyiciler 16F628 ve 16F877 idi. AVR kullanmak istersem yukarıdaki denetleyicilere en yakın özellikteki denetleyiciler hangisidir satın almak için?

3-) Programlamak için önereceğiniz USB programlayıcı var mıdır?

4-) AVR' ye geçmek hakkında düşündüklerimde sizce haklımıyım doğru bir seçim mi, neden?

Aklıma geldikçe ekliceklerim olacaktır mutlaka cevaplarınız için şimdiden teşekkürler...
Ne kadar bilirsen bil, söylediklerin karşındakinin anladığı kadardır!

Amenofis

Bence avr'ı bir dene. Eğer datasheet ten bakıp kodlama alışkanlığın varsa avr çok hoşuna gider.Register yapısı çok sadedir.Mesela 16 bitlik reg ler picteki gibi l'ye ayrı h'ye ayrı değil bir bütün olarak bulunur.Her kesmenin ayrı vektörü var.Kesmeye girdiğinde ilgili bayrak otomatik sıfırlanır. Bunun gibi birçok güzellikleri var.Sorularına gelirsek:
1- Avrstudio ve winavr biçilmiş kaftandır.Ücretli program bulup ilaçlamana gerek yok.Avr assembly'yi ise çok özel durumlar dışında kullanmana gerek kalmaz.Zaten pic asm'ye hiçmi hiç benzemediği için afallayabilirsin.
2- Pic16 karşılığı attiny olabilir ama zannedersem 28 pinden fazla olanı yok.
Daha çok pin ve geniş hafıza için atmega serisi var.
3- http://www.fischl.de/usbasp/
4- Eğer türkiyede her modeli bulunabilseydi kesinlikle doğru seçim derdim ama... artık sen bilirsin.

xenix

Önce picin neden rölelerden etkilendiğini bulmalısın bence. Ya picin sağlam bir beslemesi yoktur (bypass kondansatörü vs.), ya röleye koruma elemanları (ters diyot, kondansatör vs.) bağlanmamıştır. Avr ye geç, iyi olur, ama aynı devre tasarımı ile avr ye geçersen yine başın ağrıyabilir.

Çok gürültülü ortamlarda çalışan uygulamalar yapılıyor pic ile, tıkır tıkır çalışıyor. Elbette mikrodenetleyicilerin gürültüden etkilenme seviyelerinde farklılıklar olacaktır, ama bu farklar çok küçük olmalı, CMOS değil mi bunlar sonuçta. Devre tasarımındaki küçük düzeltmeler gürültü konusunda çok daha büyük farklar getirir bence.

ayhani

Bir zamanlar forumdada yayınladığım 5 katlı asansör projesinde 16F877 kullanmıştım. Sizdeki problem bendede çıkmıştı.
İleri-geri kontaktörleri her devreye girdiğinde devre saçmalıyordu.
Sonra kendimce çözümler aldım ve sorun çözüldü sistem tıkır tıkır çalıştı
Size tavsiyem
1-Pic beslemesi ile bobin beslemelerini aynı trafodan yapmayın.
2-Ben 7805 li basit bir besleme kullanmıştım. 7805'in çıkışına picin +- girişlerine 100 nf kondansatör bağlayın.(Mümkünse switch mode güç kaynağı kullanabilirsiniz)
3-Bobinlere ters paralel diyot bağlayın.

Bunları yaptığınızda sorun kalmayacaktır.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

fahri-

PIC lerle ARM leri aynı katagoride değerlendirmeyin.
Eğer tasarımda hatalarınız olursa aynı tür parazit kapma problerinin AVR nin de problemi olduğunu çeşitli forumlarda okumuştum. Parazitlerin etkisi ve önlenmesi ile ilgili çok başlık var incelenebilir.

rkinaci

Arkadaşlar dediğiniz hemen hemen bütün önlemleri aldım zaten devreyide çalıştırdım. Benim merak ettiğim denetleyicinin dışarıdan gelen parazitlerden (daha çok manyetik alanı kastediyorum) neden bu kadar çok etkilendiği. Daha önce benimde başıma gelen bir olay, pic ile LCD sürmede elimi bacaklara yaklaştırınca LCD' de hatalı karakter görme başkalarınında başına çok sık geldiğini biraz araştırınca gördüm. Atmel ile yapılan birkaç LCD uygulamasınıda inceledim ve projeyi yapanların böyle olaylarla karşılaşmadığını gördüm. İşyerinde birkaç farklı entegre ile deneme yaptım , kapılardan ve flip-floplardan oluşan bir devre yaptım ve yine yanında bobin çektirdim ama devre saçmalamadı :) Yani demek istediğim yaptığım devreler çok karmaşık uygulamalar değil. Zaten benim istediğimde stabilite. Pic sanki bu birkaç olayla bana bu yönleriyle (kolay bulunabilirliği, döküman, uygulama kolaylığı hariç) atmelin arkasında kaldığını hissettirdi. Ama dediğim gibi bu şimdilik pic'ten vazgeçmem için bir sebep değil :)
Ne kadar bilirsen bil, söylediklerin karşındakinin anladığı kadardır!

serdararikan

ATMEL bir çok komutu tek clack darbesinde işleyebilme yeteneğine sahip dolayısı ile aynı kristal ile PIC ten 4 kat dahahızlı işlem yapabilrsin.Ayrıca (yeni nesil PIC'ler hariç ) PIC lerde offsetli adresleme işemleri normal işlemci sistemlerinden daha zor.ATMEL komutlarına bakarsanız birden fazla offsetli işlem komutunun olduğunu görürsünüz bu da C dilinde pointer kavramının daha etkin kullanılabileceği anlamına gelir kanımca...

murataltas

devreyi iyi saf bakır bir kutu içerisine göm kutuyuda toprağa bağla manyetik alan sorunları tamamen çözülür.

elektromer

Alıntı yapılan: "rkinaci".... Benim merak ettiğim denetleyicinin dışarıdan gelen parazitlerden (daha çok manyetik alanı kastediyorum) neden bu kadar çok etkilendiği. Daha önce benimde başıma gelen bir olay, pic ile LCD sürmede elimi bacaklara yaklaştırınca LCD' de hatalı karakter görme başkalarınında başına çok sık geldiğini biraz araştırınca gördüm. ......

Merhaba,
Öncelikle manyetik alan ile ilgili konuya dilim döndüğünce cevap vereyim.
Yapılan elektronik devrenin kullanılacağı ortam manyetik alan olarak çok kuvvetli bir yerde ise, endüstriyel uygulamalarda da görüldüğü üzere elektronik devreler metal kutu içerisine monte edilir ve dışı şaselenir .  
Gördüğüm kadarı ile yukarıdaki örneklemede belirtilen durum ise hayli ilginç. LCD ekranında hatalı karakter görmek.  Şu ana kadar yaptığım uygulamalarda buna benzer problemler yaşamadım. Böyle bir şey yaşanıyorsa, devre tasarımı ciddi anlamda gözden geçirilmelidir.

Devre tasarımı oluştururken parazitsel etkileri giderecek önlemler almak gerek.
Bunlardan başlıcaları,
-Sağlıklı bir besleme oluşturmak.
-Mikrokontrolör ve kullanılmışsa diğer entegrelerin besleme ayaklarının mümkün olan en yakın noktalarına kondansatör eklemek.
-Giriş ayaklarını uygun potansiyele çekmek.

Bu noktada hemen şöyle bir örnekleme vereyim.
Mikrokontrolör tasarımında giriş olarak kullanacağım ayaklarda  kendi tabirimle "NEGATİF MANTIK" kullanarak parazitten etkilenmeyi en aza indirmeye çalışırım.
NEGATİF MANTIK nedir?
Giriş olarak kullandığım ayakların ön gerilimlemesini +5V seviyeye çekerek, giriş ayaklarının Lojik 1 seviyesinde olmasını sağlarım.
Dışarıdan gelecek tetikleme veya bilginin bu lojik 1 seviyeyi Lojik 0'a çekecek şeklinde tasarlarım. Bunun bize sağlayacağı en büyük avantaj parazitlerden kesinlikle etkilenmemesidir.

Son olarak, Kullandığınız mikrokontrolörler ne olursa olsun. Birbirlerine göre farklılıkları ve avantajları olması kaçınılmazdır.  
Bunları üreten teknolojiler yüksek ve bunların tasarımlarıda mesleğinde oldukça iyi durumda olan mühendisler tarafından geliştirilmiştir.
Ve elektronikte ciddi bir problem olan parazit konusunun bu tasarımcılar tarafından atlanacağını sanmıyorum.

Yaptığımız devrede parazitsel etkilenmelerle ilgili sorunlarla karşılaşıyorsak, devre tasarımımızı mutlaka gözden geçirmemizde fayda var diyorum...:)
Her şey gönlünüzce olsun..

Erol YILMAZ

Alıntı yapılan: "elektromer"
Bu noktada hemen şöyle bir örnekleme vereyim.
Mikrokontrolör tasarımında giriş olarak kullanacağım ayaklarda  kendi tabirimle "NEGATİF MANTIK" kullanarak parazitten etkilenmeyi en aza indirmeye çalışırım.
NEGATİF MANTIK nedir?
Giriş olarak kullandığım ayakların ön gerilimlemesini +5V seviyeye çekerek, giriş ayaklarının Lojik 1 seviyesinde olmasını sağlarım.
Dışarıdan gelecek tetikleme veya bilginin bu lojik 1 seviyeyi Lojik 0'a çekecek şeklinde tasarlarım. Bunun bize sağlayacağı en büyük avantaj parazitlerden kesinlikle etkilenmemesidir.

Çünkü...
5v beslemede ,
TTL tipi girişte;

0 lojik durumu   0.....1.5V arası
1 lojik durumu   1.5...5V arası  sağlanıyor.

Pinin 0 olması 1 olmasına göre çok daha zor.
Bu ayrıntı için teşekkürler Elektromer...

Analyzer

Alıntı yapılan: "elektromer"Bunun bize sağlayacağı en büyük avantaj parazitlerden kesinlikle etkilenmemesidir.
Selam,

Parazitlerden nispeten daha az etkilenir ancak bu seferde mcu'ya fazladan yük bindirip daha çok enerji harcamasına sebep olursunuz. O pini analog in olarak bırakırsanız; hem daha az enerji tüketecek hem parazitlerden en az seviyede etkilenecektir. Zaten çoğu ARM çekirdekli işlemcilerin insider's guide'larında bu şekilde yazar.

Analyzer
Üşeniyorum, öyleyse yarın!

elektromer

Alıntı yapılan: "Analyzer"Selam,
.... ancak bu seferde mcu'ya fazladan yük bindirip daha çok enerji harcamasına sebep olursunuz. ......
Analyzer

Merhaba,
Sorumu cahilliğime verin.:) MCU'ya fazladan yük bindirip ... deniyor. benim bildiğim PIC microlar MOSFET tasarımına sahip olduklarından, giriş olarak tanımlanan ayağın +5V seviyeye çekilmesi ile ne kadar bir güç harcaması olur.

+5V ile O (şase) arasına 4K7 değerli bir direnci doğrudan bağladığımızda bile yaklaşık 1,064 mA akım geçer. Bağladığımız yer ise giriş ayağı olması ve MOSFET giriş yapısı olması nedeniyle bu akım µA seviyelerine inecektir.
Ancak girişin Buton, optik vs ile şaseye çekilmesiyle sözü edilen akım geçecektir...

Yanlış bilgilendirmem olursa affola....:)
Her şey gönlünüzce olsun..

mcan

Alıntı yapılan: "murataltas"devreyi iyi saf bakır bir kutu içerisine göm kutuyuda toprağa bağla manyetik alan sorunları tamamen çözülür.
Topraklanmış saf bakır kutu içindeki devreye manyetik alanın etkisi nasıldır?

ferdem

Alıntı Yap
Merhaba,
Sorumu cahilliğime verin.:) MCU'ya fazladan yük bindirip ... deniyor. benim bildiğim PIC microlar MOSFET tasarımına sahip olduklarından, giriş olarak tanımlanan ayağın +5V seviyeye çekilmesi ile ne kadar bir güç harcaması olur.
Estağf.
Zaten siz de belirtmişsiniz, port inputa ayarlandığında "gate" den içeri akım akmadığından yok denecek kadar az bir güç harcaması olur. 628A nın katalogunda bu akım "leakage current" 0.5-1 uA olarak belirtilmiş.

Alıntı Yap
Topraklanmış saf bakır kutu içindeki devreye manyetik alanın etkisi nasıldır?
Söylenen olay Faraday kafesi. Faraday kafesi ilk defa statik elektrik alanlardan korunma amaçlı tasarlanmıştır ancak bu yapı değişen elektrik alana(aynı zamanda değişen manyetik alana, em dalga) karşı da etkilidir. Herhangi bir elektrik devresine değişen(ani değişim veya periyodik değişim) bir alan(elektrik veya manyetik) uygulanırsa devrede iletken yolların geometrisine göre akımlar indüklenir, bu indüklenen akımlar alan şiddetine göre istenmeyen sonuçlara sebep olacak kadar(örn: lojik seviyeleri değiştirebilecek kadar veya devreyi yakabilecek kadar("electromagnetic bomb")) fazla olabilir.

İletken bir yapıya elektrik alan uygularsanız, yapıdaki yükler içerisindeki alanı 0 yapacak şekilde yeniden düzenlenir, bu çok kısa bir süre alır. Kapalı bir iletken kutuya E alan uygularsanız kutudaki yükler çok kısa bir sürede kutu içerisindeki E alanı 0 yapacak şekilde düzenlenir. Bu özellikten  iletken kapalı kutular alan değişimlerinden korunmak isteyen yapılar için kullanılabilir. Kutunun kalınlığı, maddesi, uygulanan frekans... gibi parametrelere göre içeride şiddeti azalmış da olsa yine değişen bir alan olacaktır.

mcan

Faraday kafesinin içinde pusula nasıl bir davranış sergiler?