İçindekiler:

AVR Assembler Eğitimi 8: 4 Adım
AVR Assembler Eğitimi 8: 4 Adım

Video: AVR Assembler Eğitimi 8: 4 Adım

Video: AVR Assembler Eğitimi 8: 4 Adım
Video: 8 4 MOTOR BLOĞU (CATIA-ASSEMBLY DESIGN) 2024, Kasım
Anonim
AVR Assembler Eğitimi 8
AVR Assembler Eğitimi 8

Eğitim 8'e hoş geldiniz!

Bu kısa eğitimde, prototipleme bileşenlerimizi ayrı bir "basılı" devre kartına nasıl taşıyacağımızı göstermek için, montaj dili programlamanın yeni yönlerini tanıtmaktan biraz uzaklaşacağız. Bunun nedeni, bu noktada, ana prototipleme devre tahtamız o kadar çok çip, kablo, düğme ve LED ile tıkanıyor ki, yeni şeyleri test etmek zorlaşıyor ve sonuçta bileşenleri zaten kendi panolarına taşımak zorunda kalıyoruz., şimdi başlayabiliriz. Birçoğunuz muhtemelen bu eğitimde ele alacağımız konularda zaten yetkinsiniz ve bu nedenle bu Eğitime yalnızca kodlamadan rahatlatıcı bir mola olarak bakabilirsiniz.

Bu nedenle bugün, zar atma merdanemizi ATmega328P ve beraberindeki zar çiftini, iletişim ve güç sağlamak için ana kartımıza bağlantıları olan harici bir tahtaya taşıyacağız. Bunun dışında, zarın kablolaması ve işleyişi bu bileşen içinde kendi kendine yetecektir.

Muhtemelen bundan, nihai hedefimizin, yol boyunca oluşturduğumuz bileşenlerin her biri ile bunu yapmak olduğunu tahmin edebilirsiniz, böylece işimiz bittiğinde hepsini, hepsini görmeden düğmelere basarak çalışacak güzel görünümlü bir pakette gizleyebiliriz. teller ve iç işler.

Bu eğitimin çoğunu bir devre tasarlamak, bir prototip panosunu haritalamak ve bir şeyleri birlikte lehimlemek gibi fiziksel görevler yaparak geçireceğiz, ancak bir şeyleri hareket ettirdikten sonra yapmamız gereken biraz programlama var. Bunun nedeni, ana "ana" denetleyicimiz ile bu eğitim dizisindeki genel projemizin bileşenlerini oluşturan tüm "bağımlı" denetleyiciler arasında iletişim kurmak için sonunda 2 kablolu Seri Arabirimi kullanacağımızdır ve, Hatırladığınız gibi, Eğitim 6'da, zar atışlarımızı zar silindirinden (Eğitim 4), zar atışının sonucunu 8 LED'de ikili olarak görüntüleyen Register Analyzer'a (Eğitim 5) iletmek için bir tür Mors Kodu tipi yöntemi icat ettik.. Bu, kullanmaya karar verdiğim bir "kendin yap" iletişim yöntemiydi çünkü o zamanlar 2 kablolu seri iletişime geçmek için çok erkendi. Şimdi neredeyse seri iletişimin derin ucuna dalmaya hazırız ve bunu Eğitim 10'da yapacağız, ancak şimdilik bu gelişmeyi öngörmemiz ve ikisini serbest bırakmak için zar silindiri LED'lerimizi yeniden kablolamamız gerekiyor. seri iletişim için ihtiyacımız olan pinler.

Bunlar ATmega328P üzerindeki SCL ve SDA pinleridir. Analog-Dijital dönüştürmelerde kullanıldıklarında ADC5 ve ADC4 olarak da adlandırıldıklarını pinout şemasından görebilirsiniz, "Pin Change Interrupt" pinleri olarak kullanıldığında PCINT13 ve PCINT12 olarak adlandırılırlar ve son olarak genel olarak PC5 ve PC4 olarak adlandırılırlar. basitçe PortC'deki pinler olarak düşünüldüğünde. Bu iki pimi çeşitli nedenlerle zar silindirimizin bir parçası olarak kullandığımızdan (esas olarak kodlamayı kolaylaştırması ve karttaki LED'lere kablolamayı kolaylaştırması), şimdi kodumuzu değiştirmemiz ve hafifçe yeniden kablolamamız gerekecek. Gelecekteki iletişim için bu pinleri serbest bırakın.

Bu yüzden tasarım, kesme, kablolama ve lehimleme yaparak başlayacağız. Ardından, yeni kurulumumuzla çalışmak için zar silindirini yeniden yazacağız ve son olarak hala çalıştığından emin olmak için test edeceğiz.

Bu Eğitimi tamamlamak için aşağıdaki öğelere ihtiyacınız olacak:

  1. Her zaman ihtiyaç duyduğunuz standart şeyler, her zaman tekrarlamayı bırakacağım: prototipleme panonuz, veri sayfasının ve talimat setinizin kopyası ve beyinleriniz.
  2. Bunun gibi bir kablosuz devre prototipleme PCB kartı: https://www.ebay.com/itm/191416297627 Bu kartın Measure Explorer 103RAWD sürümünü kullanacağım: https://www.ebay.com/itm/103RAT -circuit-proto-proto… çünkü elimde bunlardan bir sürü var, ancak yukarıda bağlantı verdiğim 103RAW-0 sürümü de gayet iyi çalışacak.
  3. Makası, teli, lehimi, havyası, "yardımcı eli" ya da her şeyi tutması vs vs vs. yine buradan sonra bu şeyleri de listelemeyi bırakacağım. Bu Öğreticilerde gerçekten bu kadar ileri gittiyseniz, muhtemelen tüm bunlara zaten sahipsiniz.

İşte AVR montajcı eğitimlerimin tam koleksiyonuna bir bağlantı:

Adım 1: Bir Bağlantı Şeması Tasarlayın

Bir Bağlantı Şeması Tasarlayın
Bir Bağlantı Şeması Tasarlayın
Bir Bağlantı Şeması Tasarlayın
Bir Bağlantı Şeması Tasarlayın
Bir Bağlantı Şeması Tasarlayın
Bir Bağlantı Şeması Tasarlayın

Measure Explorer panolarıyla ilgili harika olan şey, biraz zaman ayırırsanız ve başlangıçta bir şeyleri planlarsanız, sonunda kendinizi çok fazla kablolamadan kurtarabilirsiniz. Bu yüzden herhangi bir şeyi lehimlemeye başlamadan önce düzenimizi tasarlamaya biraz zaman ayırarak başlayacağız. Bu tür bir pano ile, bir grup bağlantı kablosunu kesmeniz gerekiyor, bu o kadar kolay değil, ancak sonuç, minimum karışık kablo karmaşası olan çok güzel bir kompakt pano. Yapmamız gereken ilk şey, Devre, tahtaya sığacak şekilde. Bunu yapmanın güzel bir yolu, tahtanın haritasını indirmek ve daha sonra işe yarayan bir tane bulana kadar farklı tasarımlarla oynamak için kullanmaktır. İşte ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Adım 2: Karttaki Devreyi Kesin

Panodaki Devreyi Kesin
Panodaki Devreyi Kesin
Panodaki Devreyi Kesin
Panodaki Devreyi Kesin
Panodaki Devreyi Kesin
Panodaki Devreyi Kesin

Önce bir keskin nişancı alın ve önceki adımda haritasını çıkardığınız düzeni kullanarak devrenizi tahtaya çizin. yani telleri temsil etmek için çizgiler çizin. Bileşenler açısından bir şey çizmeyin, sadece ilk resimde gösterildiği gibi bağlantı telleri. Hata yaptığınızda (ve benim gibiyseniz, bu adımlarda birçok kez her şeyi berbat edeceksiniz) bir silgi kullanarak çizgiyi silebileceğinize dikkat edin. Bunu tahtanın her iki tarafı için yapın.

Ardından, hatların etrafındaki bağlantıları kesmeniz gerekir. Tahtaya yakından bakarsanız, her pim deliğinin tahtanın her iki yanındaki 4 bitişik olana bağlı olduğunu, böylece başladığınızda tahtadaki tüm deliklerin birbirine bağlı olduğunu göreceksiniz. Bu nedenle, onları izole etmek için her bir telinizin her iki tarafını da kesmeniz gerekir. Bu kesimi yapmanın en yaygın yolu bir Exacto bıçağıdır. Ama Exacto bıçaklarına bayılırım ve muhtemelen kendimi keserdim. Bu yüzden ince bir kesici alet eki olan bir Dremel kullanıyorum. Keşke keskin bir noktaya gelen bir tür taşlama ataşmanım olsaydı, çünkü bu en iyi şekilde işe yarardı - ama benim böyle bir ataşmanım yok, bu yüzden kesme testere ataşmanını kullandım. (Not eklendi: Bu projeyi bitirdikten sonra, Dremel'ler için daha küçük "ağır hizmet tipi kesme diski" kafalarının en iyi sonucu verdiğini, küçük zımpara kağıdı daireleri gibi göründüklerini ve burada gösterilen kesici alet gibi çalıştıklarını, ancak daha küçük çaplı olmaları ve böylece nerede kestiğinizi görmek ve kontrol etmek çok daha kolay)

Yol boyunca tahtayı ışığa tutup tellerin gerçekten kesildiğinden emin olmakta fayda var. Tahtanın her iki tarafında da bağlantıların olması canınızı sıkabilir, bu yüzden kesme işlemini diğer tarafla tekrarlamanız gerekiyor ama işiniz bittiğinde bunun ne anlama geldiğini anlayacaksınız. Çok fazla hata yaptım, kesilmemesi gereken kabloları kesmek ve diğer tarafın hala bağlı olması güzel oldu.

Devreyi tahtaya kesmek biraz zaman ve sabır alacak ama bir kez iyileşince eğlenceli oluyor.

Adım 3: Bileşenleri Lehimleyin ve Test Edin

Bileşenleri Lehimleyin ve Test Edin
Bileşenleri Lehimleyin ve Test Edin
Bileşenleri Lehimleyin ve Test Edin
Bileşenleri Lehimleyin ve Test Edin
Bileşenleri Lehimleyin ve Test Edin
Bileşenleri Lehimleyin ve Test Edin

Artık devre kartınızdaki tüm kabloları izole ettiğinize göre, ayrı bileşenler üzerinde lehimlemeye başlayabilirsiniz.

Önce zarlardan biri için LED'leri lehimledim, sonra devre tahtamdan pozitif ve negatif uçlar aldım ve birbirinden izole olduklarından ve çalıştıklarından emin olmak için her bir LED'in bağlantılarını test ettim.

Benzer şekilde diğer ölür.

Ardından direnci her bir kalıba ve kartın arkasındaki 10K direncine bağlayın.

Ardından kristal osilatörü, 22pf kapakları, butonları ve ATmega328P'yi takın. Bir çip soketini lehimlemek ve ardından ATmega328P'nizi buna takmak isteyebilirsiniz, böylece isterseniz çıkarabilir ve başka bir şeyde yeniden kullanabilirsiniz. Çipimi tahtaya lehimledim, çünkü sonunda tüm bu öğreticilerle ne inşa ettiğimizi biliyorum ve bunu yeterince seveceğimi ve çipi çıkarmak istemeyeceğimi biliyorum.

Tahtanın arkasına bakarak başlıkları nasıl eklediğimize dikkat edin. Uzun pin başlıkları kullandım ve tahtadan dışarı çıkmamaları için horozontal olarak büktüm. Bu, sonunda panoyu bir kap ile butonların ve LED'lerin seviyesine kadar kapatabilmem ve başlıkların araya girmemesi için. Çipi programlayabilmemiz için Tx, Rx için bir başlığımız var, daha sonra 2 kablolu iletişimi kullanabilmemiz için SDA, SCL için bir başlığımız var. ve kartın diğer tarafında AVCC, AREF, GND için 3 pinli bir başlığımız var. Tüm topraklama pinleri ve VCC pinleri çip üzerinde birbirine bağlı olduğundan sadece bir güç girişine ihtiyacımız var.

Son olarak, her şey kablolandığında, her iki zarı da sadece 9 iğne ile kontrol edebilmemiz için, breadboard'da yaptığımız gibi die 1'i die2'ye bağlarız.

Şimdi kodumuzu bu yeni kurulumu kontrol edecek şekilde değiştirmemiz gerekiyor.

4. Adım: Montaj Kodu ve Videosu

Montaj kodunu ve çalışır durumdaki zar silindirinin videosunu ekledim. Tüm yaptığım, Öğretici 6'dan zar silindirimizin kodunu almak, pimleri yeni düzene uyacak şekilde değiştirmek ve yazacağımız için iletişim alt rutinini kaldırmaktı. Öğretici 10'da yeni bir tane. Bir dahaki sefere tuş takımımızı tekrar kıracağız ve 7-segment ekranların nasıl kontrol edileceğini öğreneceğiz. O zaman görüşmek üzere!

Önerilen: