Proteus ile Arduino simülasyonu yapmak

208 views
Skip to first unread message

tahsin kol

unread,
Apr 7, 2013, 6:02:58 AM4/7/13
to mtd...@googlegroups.com

Yapacaklarımız kısaca şunlar:
Yeni bir isis tasarımı açıp sayfamıza bir ATmega328 mikrokontrolör ekliyoruz çalışması için gerekli olan cristali ve kapasitorleri bağlıyoruz ATmega’nın çalışması için minumum devreyi hazırlıyoruz. Bu arada simülasyon yapmak için elimizde programımızın .hex dosyası olması gerek maalesef arduino idesi bunu doğrudan bize vermiyor. Ama .hex dosyasını arduino idesinde yazdığımız programı upload ettiğimizde temp klasöründen bulabiliyoruz.


      1. İlk olarak yeni bir isis tasarımı açalım.
      1. Device kısmımıza ATmega328 mikrokontrolörü, CRYSTAL kristal ve CAP kapasitör yani kondansatör ekliyelim. Sonra sayfamıza bir ATmega328 mikrokontrolörü , bir adet kristal ve 2 adet te kondansatör yerleştirelim. Aşağıdaki gibi yerleştirir iseniz bağlantıları çizerken daha kolay olabilir.
      1. Şimdi kristal ile ATmega arasındaki bağlantıyı resimdeki gibi yapalım. Dikkat edin kristalin bir ucu PB6/XTAL1 bacağına diğeri ise PB7/XTAL2 bacağına bağlanılacak. Ardından kutupsuz kondansatörlerimizin bir bacağını kristalin bir bacağına diğerine ise toprağa şekildeki gibi bağlayalım.
        (görselde ufak bir hata var. C2 kondansatörünün değeri 22pf olacak!)
      1. Bu arada kristalimizin frekansını ve kondansatörlerimizin değerlerini ayarlamayı unutmayalım. Kristalimizin frekansı 16Mhz’e, Kondansatörlerimizin değerleri ise 22pf olacak.
      1. Sonrasında devremize bir power terminali ekleyelim. Kontrolörümüzün çalışması için minumum gerekli devre için PC6/RESET, AREF ve AVCC bacaklarını VCC olarak ayarlanmış olan Power terminalimize bağlayalım.


      1. Şimdi yazdığımız programı simüle edebilmek için devremizdeki ATmega328 mikrokontrolörü üzerinde birkaç ayar yapmamız gerek çünkü kullandığımız ayarlar standart ayarlar değil ve simülasyonda ATmega’nın çalışması için osilatör ayarlarının doğru yapılması gerek. Devremizdeki ATmega’nın üzerine çift tıklatarak açtığımız ayar penceresini aşağıdaki resimdeki gibi düzeltin. CLKDIV8 yazan bölümü “(1) Unprogrammed” olarak değiştirin. Ardından CKSEL Fuses bölümünü de “(1111) Ext. Crystal 8.0-Mhz” olarak değiştirin.  Clock frequency bölümünündeki “(Default)” yerine “16Mhz” yazın. İşte tamamdır.
      1. Şimdi sıra devremizi simüle etmek için yazdığımız programı mikrokontrolörümüze yüklemeye geldi. Öncelikle şunu bilmeliyiz ki Isis’te simüle etmek için programımızın hex olarak derlenmiş olması gerekiyor. Arduino idesi bize doğrudan .hex dosyasını vermiyor. Ama programı upload ettiğimizde program hex olarak derlenip arduinoya yükleniyor bu sırada da hex geçici dosya olarak temp klasörüne gidiyor. Biz .hex dosyasını oradan alacağız. Temp klasörü windows 8 ve windows 7 için “C:\Users\<kullanıcı_adı>\AppData\Local\Temp”  yolunda, windows xp için “C:\Documents and Settings\<kullanıcı_adı>\Local Settings\Temp” yolunda olması gerek eğer yanlışım varsa lütfen düzeltin. Unutmayın Arduino idesinin programı derleyeceği boardın Arduino Uno olduğundan emin olun.
      1. Ben Arduino örneklerinden Blink’i upload ettim  Biliyosunuz blink’te 13.pine bağlı olan ledi yakıp söndürüyorduk. Tabii arduino bilgisayarıma bağlı değildi ve bağlı olmasınada gerek yok, com.. Port bulunamadı diye bir hata alabilirsiniz hiç önemli değil es geçin lütfen. Sizde programınızı yazdıktan sonra upload tuşuna basın. Sonra temp klasörüne girip son değiştirilen klasöre girelim karşımıza Sketch_ismi.cpp.hex gibi bir dosya çıkacak muhakkak oradadır. Onu kopyalayıp istediğimiz bir yere yapıştıralım temp klasöründe durması sakıncalı çünkü silinebiliyor bir süre sonra. Ardından tekrar isis’teki sayfamıza dönelim ATmega’nın üzerine çift tıklayıp açtığımız düzenleme penceresinden Program file bölümündeki tuşa tıklayalım yapıştırdığımız yoldan .hex dosyamızı seçelim ve ok diyip çıkalım.


      1. Vee neredeyse herşey bitti şimdi sadece play tuşuna basıp devremizi simüle etmek kaldı.
        Eğer tüm adıları doğru takip edip uyguladıysanız devreniz mutlu mesut çalışacaktır. Eğer bir sorun varsa tekrar tekrar denemekten vazgeçmeyin hatanızı bulmak için en baştan başlayabilirsiniz. Birde şunu söylemem gerek hangi bacak hangi pin oluyor diye soracak olursanız aşağıdaki resimde ben her bir pini ifade eden terminaller bağladım sizde yapabilirsiniz. Hatta aşağıda makalede yer alan tüm dosyaları (isis tasarımı, .hex dosyası ve makale görsellerinin yer aldığı bir klasör) ekliyorum. İstediğiniz gibi kopya çekin, üzerinde yapın, değiştirin, geliştirin.



KAYNAK : http://arduinoturkiye.com/proteus-isis-arduino-simulasyonu-yapmak/

Reply all
Reply to author
Forward
0 new messages