Arduino yerine doğrudan MCU chip

Sumer Yamaner

Moderator
Katılım
17 Eyl 2013
Mesajlar
8,761
Tepkime puanı
23,144
Yaş
61
Konum
İstanbul
Web sitesi
www.sumeryamaner.com
İlgi Alanı
Uçak
Arkadaşlar uzunca bir süredir değişik Arduino projeleri ile uğraştık. Farketmişsinizdir ki hem boyutları en aza indirmek hem de maliyeti düşürmek için birçok projeyi Arduino Uno ile geliştirdikten sonra Attiny85 mikroişlemcisine aktarıyorum ve pratik uygulamada sekiz bacaklı bu küçük devi kullanmaya bayılıyorum. Ancak işlemciyi önce bir Arduino ile programlamak gerekiyor. Elimdeki iki Arduino Uno'dan birisini sadece bu işte kullanılmak üzere ayırdım ama bu sefer de breadboard gerekiyor ve ortaya kablo salatası çıkıyor. Bu amaçla üretilmiş USB Tiny Programmer gibi boardlar var. Bir tane sipariş ettim bile ama o gelene kadar başka bir çözüm üretmek istedim. Bu amaçla elimdeki kullanılmayan Arduino Nano'lardan yardım almaya karar verdim. Gerekli şemaları bularak bir tane Attiny85 için bir tane de Atmega328 için olmak üzere iki adet programlama kartı ürettim.
Nano kullanmamın amacı boyutu küçük ama üzerinde bir USB mini bağlantı var. Yani ayrıca USB shield almama gerek kalmıyor. Programları kolaylıkla aktarabiliyorum.

[attachimg=1]

Soldaki Atmega328 için olanı. Arduino Nano yerine takılmış halde. Sağdaki de Attiny85 içinolanı. Arduino Nano'nun soketi ile Attiny soketini görebiliyorsunuz. LED ise Error LED olarak bağlı. Aslında pek de bir işe yaramıyor.

Hem mikroişlemci sokette hem de Arduino Nano sokette. Yani tek Nano'yu birinden diğerine takıp çıkararak iki board da çalışabiliyor. Arduino Nano'ya her Arduino IDE kurulumu ile gelen Arduino as ISP programını yüklüyoruz bir sefer. Daha sonra Nano'yu programlayıcı olarak kullanıyoruz ve yazdığımız programları Attiny85 ya da Atmega328'e aktarabiliyoruz.
 

Ekli dosyalar

  • pic0001.jpg
    pic0001.jpg
    55.5 KB · Görülme: 201
Arduino yerine doğrudan MCU chip

Yok yok ben umutluyum, dönecek aramıza Sümer abi :lollol: :lollol:
 
Arduino yerine doğrudan MCU chip

Bu konuyu biraz hortlatalım... Birkaç tane birden takometre üretince ve yeni modellerde Attiny85 yerine Atmega328 kullanmaya başlayınca bu programlama modülü göreve çağrıldı. Ama gel gör ki Atmega'yı o sokete takıp çıkarmak bir ölüm. Tabii ki ZIF soketli bir modelin üretilmesi şart oldu. Tam da havya konusu açılmışken, Özgür Kılınç kardeşimizin aldığı Sunline 936B modeli ciddi ciddi ilgimi çekmişti. Hemen bir tane alıverdim. Ürün gerçekten de başarılı. İnce işler için ideal. Mükemmel incelikte bir ucu var. Bugün yeni versiyon programlayıcıyı onunla lehimledim. Çok beğendim. Weller gibi evladiyelik değil ama evladiyelik olması da çok gerekli değil. Hele ki fiyatı düşünüldüğünde fiyat performans oranı mükemmel.
Yeni programlama modülümüz hazır...

[attachimg=1]
 

Ekli dosyalar

  • pic000001_001.jpg
    pic000001_001.jpg
    49.2 KB · Görülme: 114
Arduino yerine doğrudan MCU chip

Yeni lehim makinası daha ilk ısinden gecer not aldı demek ki :halay:


Sent from my iPhone using Tapatalk
 
Arduino yerine doğrudan MCU chip

Sümer Yamaner' Alıntı:
Birkaç tane birden takometre üretince ve yeni modellerde Attiny85 yerine Atmega328 kullanmaya başlayınca bu programlama modülü göreve çağrıldı.

Sumer bey Attiny85'ten neden vazgectiniz? Ben daha once Attiny85 kullanmadim. Atmega328 kullanicisiyim ben de.

Attiny85:
Atmega328:
 
Arduino yerine doğrudan MCU chip

Abdullah Dağlı' Alıntı:
Sumer bey Attiny85'ten neden vazgectiniz? Ben daha once Attiny85 kullanmadim. Atmega328 kullanicisiyim ben de.

Attiny85:
Atmega328:

Öncelikle yanlış anlaşılma olmasın, Attiny'den vazgeçmedim. Sadece bu projede Attiny yerine Atmega kullanmaya başladım. Attiny85 benin vazgeçilmezim. Yazılımsal ve donanımsal gereksinimleri karşıladığı sürece tüm projelerimi Attiny85 üzerine kuruyorum.
Takometrede ilk kullandığım OLED ekran sonrasında 7 segment LED göstergeye geçmiştim ve Banggood'dan bulduğum dört haneli modüllerde ikişer shift register vardı. Bu sayede göstergeyi seri iletişimle ve toplam üç port kullanarak sürebiliyordum. Bu da Attiny85 için uygundu. Gösterge modüllerinin bazı saçmalıkları nedeniyle piyasada çok daha koay bulunan shift registersiz standart göstergelere yönelince bir anda gerekli port sayısı 3'ten 12'ye çıktı. Bu da doğal olarak Atmega328 demekti. Sonuçta modül boyutunu gösterge boyutu belirliyor ve işlemci için yeterice yer var. Ayrıca Atmega328'in fiyat farkı bir iki TL gibi bir şey. O nedenle takometrede Atmega328 kullanılmaya başlandı. Attiny85 ise her zaman favorim.
 
Arduino yerine doğrudan MCU chip

Sümer Yamaner' Alıntı:
Öncelikle yanlış anlaşılma olmasın, Attiny'den vazgeçmedim. Sadece bu projede Attiny yerine Atmega kullanmaya başladım. Attiny85 benin vazgeçilmezim. Yazılımsal ve donanımsal gereksinimleri karşıladığı sürece tüm projelerimi Attiny85 üzerine kuruyorum.
Takometrede ilk kullandığım OLED ekran sonrasında 7 segment LED göstergeye geçmiştim ve Banggood'dan bulduğum dört haneli modüllerde ikişer shift register vardı. Bu sayede göstergeyi seri iletişimle ve toplam üç port kullanarak sürebiliyordum. Bu da Attiny85 için uygundu. Gösterge modüllerinin bazı saçmalıkları nedeniyle piyasada çok daha koay bulunan shift registersiz standart göstergelere yönelince bir anda gerekli port sayısı 3'ten 12'ye çıktı. Bu da doğal olarak Atmega328 demekti. Sonuçta modül boyutunu gösterge boyutu belirliyor ve işlemci için yeterice yer var. Ayrıca Atmega328'in fiyat farkı bir iki TL gibi bir şey. O nedenle takometrede Atmega328 kullanılmaya başlandı. Attiny85 ise her zaman favorim.

O 7segment display'ler için demediğini bırakmamıştın abi bana zamanında :laugh: :laugh: :p
 
Arduino yerine doğrudan MCU chip

Sümer Yamaner' Alıntı:
Hadi yaa... Ne demiştim?! :D :D :D

Sümer Yamaner' Alıntı:
Doğrusu ben de 2 x 16 bir LCD ekran kullanmayı tercih ederdim. LiquidCrsytal library ile kullanım çok basitleşiyor. 7 segment LED ile işin içine hem sürücü transistörleri girecek hem de eğer yazılım iyi düzenlenemez ise pır pır etme sorunu oluşacak.
Arduino çıkışlarının akım sınırı var. Normalde doğrudan LED sürülebilir (akım sınırlayıcı direnç ile) ama ne kadar sağlıklı olacağını kestiremiyorum. Ancak her ne olursa olsun her bir 7 segment modülün ortak anodu ya da katodu da Arduino tarafından sürülecek ve tüm segmentlerin akımı oradan geçecek. Yani 40 mA sınırını aşmamak için segment başına 5 mA falan kullanmak lazım ki 5 mA ile displayin okunabilirliği ne olur bilmem.
Akım ölçümü için ACS serisi Hall sensörlü modülleri denemiştim. Ben oldukça düşük akımlar ölçtüğüm için istediğim gibi olmamıştı. Kullandığım modül 5A olandı ve ben 100 - 200 mA gibi akımlar ölçmeye çalışıyordum. Hall sensörü manyetik gürültüye çok açık olduğu için çok tutarsız ve oynak ölçümler yapıyordu. Ama 1 - 2 Amper gibi ölçümlerde muhtemelen daha kullanılabilir sonuç verecektir.

sumeryamaner' Alıntı:
Dur bi düşüneyim... Akım sensörünü oku, LCD'ye yaz. Ufff acayip boğuşacaksın kodla. :D

sumeryamaner' Alıntı:
7 segment LED kullanırsan, her bir digit'i peşisıra tek tek aktive edeceksin. Yani son değer orada kalsa bile senin kodun sürekli koşup tazelemek zorunda. Eğer statik sürmeye kalkarsan 4x7=28 port lazım.
Şunlara dikkat etmelisin: genel olarak 25Hz tazeleme ile çalışacaksan, 100Hz timer interrupt kullanacaksın. Her bir digit sürenin sadece dörtte biri kadar aktif kalacağı için akımları artırman gerekecek. Yani normalde sürekli yanarken 15mA ile yeterli parlaklığı sağlayabilirken multiplex çalışmada belki 50mA gerekecek.

Sümer Yamaner' Alıntı:
Az sonra yanık bi Atmega 328'in olmasın da! :p :D
Kod sekiz satır öyle mi? Include ettiğin library kaç satır??? :p

Daha devamı var abi... :D Sonrasında yalan oldu gitti bu proje de... Sonunu getiremedim.
 
Arduino yerine doğrudan MCU chip

Bu arada o BG'daki driver'lı 7seg.disp.'lardan ben de almıştım, neden beğenmedin abi onları? Çok kolaylaşıyor o şekilde
 
Arduino yerine doğrudan MCU chip

Bak sennn. Arşivin derinliklerinden Arduino acemiliğimdeki yazıları çıkarmış. Ehh denedim ve gördüm ki yazdıklarım ve kaygılarım telemsizmiş. Gayet de güzel sürüyor Atmega göstergeyi. Hem de tek bir transistör olmaksızın. :)

Haa neden memnun kalmadım. Herifler konnektörü lehimli gönderiyorlar. Ama konnektör hem yanlış yerde hem de 90 derece. Benim kullanabilmem için o konnektörü söküp alttan düz konnektör takmam gerekiyor. Lehim pompası şu bu para etmedi. Sökerken PCB zedeleniyor. Dört beş tane göstergeyi heba ettim. Sonradan akıl edip iki tanesinin göstergesini söktüm. Ayrıca kullanırım diye. :) Ama iki tanesini de sinirden parça parça ettim. :) Gerçekten de işi kolaylaştırıyor ama hem konnektör sorunu hem de Banggood'dan paket bekleme sorunu nedeniyle piyasada bolca bulunan standart göstergelere geçtim. Atmega 328 Attiny85'den iki TL daha pahalı sadece. Ehh zengin adamız, paranın lafı bile olmaz! :) :p :D