İçindekiler:

Getto Geliştirme Ortamı: 5 Adım
Getto Geliştirme Ortamı: 5 Adım

Video: Getto Geliştirme Ortamı: 5 Adım

Video: Getto Geliştirme Ortamı: 5 Adım
Video: MASSAKA SOKAKTA T€RÖR ESTİRENE HADDİNİ BİLDİRİYOR! (!) 2024, Temmuz
Anonim
Getto Geliştirme Ortamı
Getto Geliştirme Ortamı

Bir süre önce, Atmel AVR serisi yongaları programlamaya başlamak için hızlı ve kirli bir "el ucuz" yöntemi yayınladım: Ghetto Programmer (sürüm 1.0) O zamandan beri, kurulumumu yeniledim, yeniden canlandırdım ve başka şekillerde geliştirdim. Bunu belgelemenin iyi olacağını düşündüm. Amaç, esnek, kompakt, taşınabilir, her yerde kullanılabilen, AVR tabanlı bir mikro denetleyici prototipleme ortamı elde etmekti. Ucuz (ish). Yani daha fazla uzatmadan, Getto Geliştirme Ortamı (GDE) (versiyon 1.2).

Adım 1: Kit

Kit
Kit

Temel kit aşağıdaki maddeleri içerir: USB programlayıcı. Çünkü mikrodenetleyicileri dizüstü bilgisayarınızdan herhangi bir yerde programlayabilmek istiyorsunuz. Ve USB çok kullanışlı bir +5v. Programlama beşikleri kaynağı olduğu için. Oynadığınız her çip türü için bir tane. Benim için bu, biri 8 pinli (ATtiny13, 15), biri 20 pinli (ATtiny 2313) ve diğeri 28 pinli (ATmega8) anlamına geliyor. Yanıp sönen ışıklar. Kodunuzla ilgili bir sorun olduğunda, teşhis etmek için ışık yakmak gibi hiçbir şey onu temizlemez. Ayrıca LED flaşör programı mikrodenetleyicilerin "Merhaba Dünyası"dır. Breadboard. Sonuçta bu bir geliştirme kiti.

Adım 2: USB Programlayıcı

USB Programcısı
USB Programcısı
USB Programcısı
USB Programcısı

Ghetto Programmer'da (v.1.0) paralel port programlayıcı kullandım. Harika çünkü basit, ucuz ve hızlı. Ama dizüstü bilgisayarımda paralel bağlantı noktası yok. Seri bağlantı noktası programcıları yapmakla biraz uğraştım, ama dürüst olmak gerekirse, USB sürümü kadar karmaşıklar ve hatta seri bağlantı noktaları bile azalıyor. Gerçekten de, dizüstü bilgisayarımın yalnızca gerçekten USB'si var. Yani USB'dir. Etrafa baktığımızda, USBTiny programcısı oldukça basittir ve ücretsiz GNU/AVR-GCC araçlarıyla çalışır. Kendiniz yapın veya bir kit satın alın? Bir ATTiny2313'ü (paralel programlayıcı ile) programlayabiliyorsanız ve etrafta 12MHz kristal varsa, DIY yöntemi iyidir. USBTiny Page temelleri ortaya koyuyor. Programlama kablosunu paralel bir bağlantı noktasıyla sonlandırıyor, ancak yeniden başlasaydım, onu standart bir 6 pimli başlıkta bitirirdim. (Neden? Çünkü standarttır.) İşte onun pin çıkışları ve kablo düzeni için aşağıdaki resme bakın. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIKendiniz yaparsanız, lütfen deneyimlerimden öğrenin ve güzel bir plastik kutuya koyun. Bunu yapmazsanız, sonunda 12MHz kristali kırıldığında başarısız olur. Bu yüzden şimdi kullanıyorum… Hızlı ve zarif yol, Ladyada'nın USBtinyISP kitidir. Sizi 22 $ geri getirecek, ancak güzel bir PCB, önceden programlanmış ATTiny2313 ve güzel kablolara sahip temiz bir kutu elde edersiniz. Ham parçalar zaten 15-16 $ gibi ve Digikey'i arayıp sonra kendi 2313'ünüzü programlamak için endişelenmenize gerek yok. Hepsini birlikte lehimlemek 30 dakika - 1 saat sürer. Savurganlık. Güven Bana. (Üyelik yok, memnun müşteri) Ve az önce bu bağlantıyı gördüm: Bana oldukça iyi görünen Ladyada'nın AVR Eğitimi. (Ayrıca, Ladyada'nın tasarımının ve orijinal USBTiny'nin farklı USB ürün tanımlayıcı kodları kullandığını unutmayın - ikisi arasında geçiş yapıyorsanız, kimlik dizelerini bulmanız ve avrGCC'yi yeniden derlemeniz gerekir. İlgili web sayfalarında talimatlar olduğunu düşünüyorum..)

Bir Ubuntu Linux sistemindeyseniz ve USBTiny programlayıcısını kullanıyorsanız, tüm araç zincirini çalıştıracak komutlar şunlardır:sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude(test edildi Hardy Heron'da) Bir AMD64 kemeriniz varsa, ayrıca şunlara da ihtiyacınız olabilir: byacc libusb-dev flex bison libc6-devan ve ardından AVRdude'u elle derlemek için:(wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## AMD64 için gerekli yama: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 yama -p1 < avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## test etmek için)"avrdude: AVR cihazı başlatıldı ve talimatları kabul etmeye hazır" gibi bir şey görürseniz, o zaman siz' yeniden yapıldı. Oh evet, ve standart programcı pinoutlarının şeması için Wendel Oskay'a teşekkür ederiz.

Adım 3: Programlama Beşiği

Programlama Beşiği
Programlama Beşiği
Programlama Beşiği
Programlama Beşiği
Programlama Beşiği
Programlama Beşiği

Ghetto Programmer v.1.0'da, standart olmayan bir pin girişi olan ve içine bir şeyler yapıştırmak için dişi pin başlıkları olan bir programlama beşiği kullandım. Standart olmayan pimler kötü bir fikirdir çünkü beşiğinizi başka birinin programcısı ile kullanamazsınız veya bunun tersi de geçerlidir. Dişi pin başlıkları eğlenceliydi çünkü LED'leri doğrudan bunlara takabiliyordunuz, ancak daha karmaşık bir şey yapmaya başladığımda, yine de kablolamayı bir devre tahtasına yerleştirirdim. Yeni beşikle aracıyı ortadan kaldırdım. Daha az elle bağlantı = daha iyi. Ancak bu kızak tasarımının en büyük avantajı, AVR çipini takabileceğiniz hemen hemen her yere şarj ünitesini takabilmenizdir. Bu çok büyük görünüyor. Robotunuza veya herhangi bir şeye ISP devreleri tasarlamak yerine, bu beşik şeyini IC soketine yapıştırın. Ardından robotunuzun beynini devrede programlayabilir/yeniden programlayabilirsiniz. Geliştirmeyi tamamladığınızda, AVR'yi doğrudan prize takın ve bir sonrakine geçin. Beşikleri yapmak yeterince kolaydır -- tek yapmanız gereken 6 pinli başlıktaki pinleri doğru yerlere bağlamaktır. cips. Bu sefer kazınmış PCB'ler kullandım. Her şeyi perfboard üzerine elle de bağlayabilirsiniz. ATTiny13/15 kızağı, 8 pinli bir tel sarma soketi ile yapılmıştır. Bunları seviyorum. Çipi güzel yuvarlak deliklerine yerleştirmek kolaydır ve uzun ayaklar devre tahtası üzerinde ekstra boşluk sağlar. PCB izlerini bir Sharpie ile serbest el ile yaptım. ATTiny2313 kızağı, Eagle ve lazer kağıt toner transfer yöntemiyle yapılmıştır. Herhangi bir 20 pinli kablo sarmalı soket bulamadım, bu yüzden 2 adet 10 pinli başlığa lehimlenmiş 20 pinli normal bir sokete başvurmak zorunda kaldım. Bu, daha kısa bacaklı bir beşikle sonuçlanır, ancak işe yarar. Devre için kullandığım şema ve PDF aşağıdadır. Her ikisinde de fazladan bir hat çekmek zorunda kaldım. Hayat böyle.

4. Adım: Yanıp Sönen Işıklar

yanıp sönen ışıklar
yanıp sönen ışıklar
yanıp sönen ışıklar
yanıp sönen ışıklar

Sadeliğin kendisi. Bu kadar kullanışlı olmasalar bunlardan hiç bahsetmezdim.

Direnci (150-220 ohm iyi bir değerdir) doğrudan bazı LED'lerin negatif ucuna lehimleyin. 2v-6v civarında yanmadan yanar. Ve direnç, hangi tarafın negatif olduğunu hatırlamanıza yardımcı olur. Elektrik olduğunu bilmek istediğiniz yere yapıştırın. Bu transistörün patlamış olup olmadığını anlayın. Nicad pil takımını uzun ömürlü bir gece lambasına dönüştürün. Değerleri mikroişlemcinizden (yavaşça) okumak için yanıp sönen bir kod arabirimi kullanın. Veya bunlardan 8 tanesini yapın ve bir baytlık bir ekrana sahip olun (artı Cylon gözlerindeki aktif madde.) Onları yapın. Çok yap. Onları şimdi yap.

Adım 5: Son

Son
Son

Yani bu "sistem" neredeyse tüm geliştirme ihtiyaçlarımı karşılıyor. Modüler, ölçeklenebilir, kompakt ve taşınabilir.

Örneğin, bir arkadaşımın düğününe giderken uçakta 4 haneli ekranda (giriş sayfası) kayan mesajları çalıştırmak için rutinler üzerinde çalıştım. Uçuş görevlileri ile iyi bir buzkıran yapar. Bu potansiyometre -> ADC -> PWM güdümlü ampermetre kurulumu tamamen kanepem ve yemek masam arasında devre dışı bırakıldı, kodlandı ve hata ayıklandı ve arkadaşlar geldiğinde 2 dakika gibi temizleniyor. (Bu, sayaçlı saatin alarm zamanını ayarlayan kısmıdır.) Bazen kendimi bağımlı olmak istediğimde kurulumu çalıştırırım. Küçük bir çanta ekleyin (bazı kapasitörler ve dirençler, bağlantı kablosu, transistörler, piezo hoparlör, fotodiyotlar, mikrofonlar, küçük motorlar, vb.) ve MacGuyver'dan çok ileride olacaksınız, komik bile değil.

Önerilen: