Otomatik Satış Makineleri için Bir Cihaz / Özellik Yapın: 7 Adım (Resimlerle)

Otomatik Satış Makineleri için Bir Cihaz / Özellik Yapın: 7 Adım (Resimlerle)

İçindekiler:

Anonim

Otomat makinesine bir özellik eklemek ister misiniz? Belki de yerel makamınızda bir tane var, belki de mankenin içinde, ya da belki de dünya çapındaki otomatlar için bir özellik yapmak istiyorsunuz. Otomatik satış makineleri için yeni bir özellik yapma arzunuz varsa, okumaya devam edin!

Makineden sorumlu tehditkar bir AI Chatbot koymak kadar büyük projelerden, telefonunuzdaki bir Free-Vend düğmesi kadar küçük ve basit şeylere kadar, bu özelliklerden herhangi birinin otomatik satış makinesiyle iletişim kurması gerekir. Söylemesi yapmaktan kolay! Size göstereceğim şey, satış otomatlarını ve wifi / bluetooth'u bağlayabilen "boş" bir cihaz yapmanın yoludur. Boş bir çek gibi düşün, güç var, istediğin gibi yap!

Gereçler:

Adım 1: MDB Nedir?

Otomatlarla konuşan bir cihaz yapıyorsanız, onların dilini konuşmanız gerekir. Bu dil 'MDB'. Tam adı "Çok Bırakmalı Veri Yolu / Dahili İletişim Protokolü" anlamına gelen "MDB / ICP" dir.

Bu, en azından ABD'de bir otomat makinesindeki cihazlar arasındaki iletişim için en yaygın kullanılan standarttır. NAMA (Ulusal Otomatik Ticaret Birliği) ve EVA (Avrupa Vending Association) tarafından korunan ve sahip olunan 90'lı yılların başlarında yeniden geliştirilmiştir ve otomatik satış makinelerinin haberleşme şeklini standartlaştırarak otomatik satış makinelerinin parçalarını (fatura alıcıları, madeni para değiştiriciler vb.) Sağlar..) Standardı destekleyen makine ile herhangi bir marka / modelin herhangi bir otomatında çalışmak.

Hala eski teknolojiyi kullanan ve henüz yükseltilmemiş birçok makine var, bu nedenle cihazınızın MDB özelliklerine sahip olması gereken makinelerin olduğundan emin olun. Makinenizin kullanım kılavuzunu kontrol etmekten başka, makinenizin MDB özellikleri sunduğunu gösteren kolay bir gösterge, 2x3 Molex Minifit Jr konnektörlü bir kablo demetinin varlığıdır. Bir dişi MDB fişinin resmini ekledim (metal kontaklar tarafından cinsiyetlendirilmiş).

O nasıl çalışır?

Şimdi "MDB Açıklaması" videosunu izlemenin amacı. Ürünlerine alternatiflerini tanıtmak için (çok samimi ve heyecanlı görünüyor) bu adamın videosunu kullanmakta kendimi biraz kötü hissediyorum, bu nedenle para alırsanız MDB'sini USB ürünlerine satın almayı veya sizi özel bir ürün tasarlamak yerine işe almayı düşünün Kendin yap.

Ekleyeceğim bir not, "Multidrop Bus" terimi aynı zamanda teknik (otomat dışı) bir terimdir, bu nedenle herhangi bir İnternet araması yapılırsa, MDB / ICP tam adını kullanmak en iyisi olacaktır ve / ya da belki de orada "vending" kelimesini ekleyin.

Diğer iki videosunu beğenip beğenmediğinizi kontrol edebilirsiniz, ancak kelimelerle açıklamanın çok daha kısa olduğunu düşünüyorum:

  • MDB, VMC'nin master ve tüm çevre birimlerinin slave olduğu bir master & slave konfigürasyonuna sahiptir.

  • VMC / Master, tüm iletişimleri başlatır ve sonlandırır ve periyodik olarak çevre birimlerini / köleleri sorgular (kontrol eder).

  • Periferik / Slave, VMC'den gelen tüm iletişimleri dinler ve VMC / Master'a bir şey söylemeden önce, ele alınması gereken bir komutu bekler.

  • Bu şekilde, yalnızca bir çevre birimi, Çok Noktalı Yapılandırmanın (teknik terim) gerekli olduğu herhangi bir zamanda VMC ile konuşur.

Hangi çevresel seçenekler var?

MDB standardı şu anda bu cihazlara izin vermektedir:

  • Para Değiştirici (Değişim ve değişim verir)
  • Bill Acceptors (Faturaları alır ve yeni modeller faturaları verebilir)
  • Nakitsiz Ödeme Araçları (Dijital ödeme şekillerini kabul eder)
    • Makinenin ekranına ve tuş takımına erişmek, satış güncellemelerini almak veya dosya aktarmak gibi diğer nedenlerle de kullanılabilir. Rastgele bir özellik oluşturuyorsanız, makine üzerindeki gücünden dolayı bu tür bir çevre birimi gibi göstermesini varsayılan yapmanız gerekir.
  • İletişim Ağ Geçitleri (Harici veri iletişim cihazları için DEX baskın denetim standardıdır)
  • Evrensel Uydu Cihazları (Kısacası, ödeme kabulü için ana makineye ihtiyaç duyan bir satış mekanizması / eklenti)
  • Madeni Para Hazneleri (Bir değişim makinesi gibi toplu madeni para dağıtımı)

Bilmeniz gereken birkaç ekstra şey:

  • UART, seri veri aktarımı için genel / otomatik olmayan bir standarttır. Seri veri formatı ve veri hızı yapılandırılabilir. Çoğu donanımda, gereksinimlerinize göre yapılandırılabilen bir UART devresi bulunur.
    • MDB için UART ayarları 9600NRZ, 9-N-1

      • 9600 9600 Baud Rate, saniyede 9600 bit, yani her bir bit 104 SS uzunluğundadır.
      • NRZ çoğu durumda ima edilen / standart olan Sıfırdan Sıfır olmayan anlamına gelir.
      • 9 9 veri bitini ifade eder, 8 standart ve 9 olağandışıdır. Bunun üzerine daha sonra.
      • N- Parite kontrolü yok.
      • 1 1 durdurma biti anlamına gelir.
  • RS232, RS232 Adaptörleri için çok fazla MDB vardır. Bunun nedeni, RS232'nin kolayca ve yaygın olarak UART ile kullanılan ve MDB'ye kolayca adapte olabilen MDB'yi önleyen popüler bir standart olmasıdır. Kullanmak için güçlü bir neden yoksa RS232'den uzak durmanızı öneririm. Pazar onunla doludur ve genellikle onu kullanan tasarımcıların eski (daha az verimli / iyi performans gösteren) yollarla sıkışıp kaldıklarını gösteren eski bir standarttır. Aynısı delik devreleri için de geçerlidir, ancak bu farklı bir konudur.
  • USB, neden USB adaptörleri yapmıyorlar? İyi soru!

    • İçinde tek bir çift yönlü veri hattı var. USB 2.0. MDB / UART ayrı tek yönlü İletim ve ayrı ayrı bir Alma hatları kullanır.
    • USB3.0 ayrı bir Gönderme ve Alma hattına sahiptir, ancak MDB / UART'ın Tek Uçlu sinyal kullandığı yerde (aynı zamanda USB2.0) diferansiyel sinyal verilir. Birine herhangi bir entegre devre kullanmadan (opamp'lara izin verilir, yalnızca% 100 gerekliyse kayıtları değiştir)) MD2 adaptörüne USB2.0 ve / veya USB-C yapma konusunda meydan okuyorum. yap.
    • Sahip olabileceğiniz USB - UART adaptörlerini merak edenler için, 9 bit UART'ı desteklediğimi bildiğim iki yonga MaxLinear tarafından üretildi ve ikisi de USB'den UART adaptörüne kullanılmadı. FTDI'nin yongalarının hiçbiri 9 bit UART'ı desteklemiyor ve çalışmasını sağlayacak yolu bulsak bile, ilk önceliğimizin hızlı ve kolay olduğu durumlarda, biraz ekstra çalışma (yazılım sürücüleri, COM portları, vb.) Olurdu. nedeni geliştirme kurulu kullanıyoruz.
  • EVA-DTS, bir ürün yaparken dikkat etmeniz gereken ve sektöre özel otomatize bir Veri Standardıdır. Otomat ile ilgili tüm veriler için tek tip bir format sağlar. DTS "Veri Transferi Standardı" anlamına gelir.

MDB standardının en yeni sürümünü burada bulabilirsiniz. Yapmak istediğiniz bir çevre birimi seçerseniz, sahip olduğu tüm özellikleri / seçenekleri bilmeniz için kısaca tüm bölümü gözden geçirin.

Adım 2: Gerekli Araçlar

Özel bir sürüm yapmadan önce, MDB cihazınızın bir breadboard sürümünü yapacaksınız. Başlamadan önce, bazı araçlara ihtiyacınız olacak.

Parça siparişi veren ilk iki site, DigiKey ve Amazon olacaktır. Amazon'u bir asal üyeliğe sahip olduğunuzu ve / veya bu durumun DigiKey'de bulunamadığı durumlarda tercih edilen bir yöntem olacağını düşünerek Amazon'u seçiyorum. Her şeyi bir arabada (veya ikide) almak ve parçaları bir sonraki adımdan da seçene kadar siparişe devam etmek en iyisidir.

Breadboard sürümü için gereken araçlar:

  • Havya. Her ne kadar bu Eğitilebilirlik için bir ütüye ihtiyacınız olsa da, SMD rework istasyonunda tam olmasa da, sıcak hava yetenekleri almanızı öneririm. Gençken, havalı airsoft silahlarımı sattım ve elektriğe girmek için bir sürü başka aletle birlikte aşağıdaki tamir istasyonunu satın aldım. Rework istasyonunu birkaç dizüstü bilgisayarda BGA bağlantılarını yeniden akıtmak için kullandım ve bu şekilde kendi parasını ödedi.

    • En İyi Değer (Demir, Sıcak Hava / SMD, BGA)
    • En İyi Fiyat (Demir, Sıcak Hava / SMD)
    • En İyi Kalite (Sadece Demir)
  • Lehim. Unutmayın duman zehirlidir ve kronik sağlık sorunlarına neden olur. DigikeyAmazon
  • crimpers

    • İşte bulduğum en ucuz çift.
  • Tel sıyırıcılar Herhangi biri yapacak, ama Ideal Industries 'StripMaster'ı şiddetle tavsiye ediyorum. Kalitelerine bağlı olarak, bir çift her tel ölçeri soyamaz, bu nedenle bu Eğitilebilir öğenin dışındaki kullanımlar için, muhtemelen ikinci bir çift (veya farklı ebatlarda kesici uçlar) gereksinimi duyacaksınız. Bu projede 20 ayar teli kullandığımızı unutmayın.
    • 8-22 Ölçme Sıyırıcılar veya Ekler
    • 20-30 Guage Strippers veya Ekler
    • StripMaster Frame, 2. bir çift yerine ekler sipariş etmeniz durumunda ve benim yaptığım gibi pişman.
  • Tel kesiciler (makas veya tırnak makası çalışır, ince tel kesmek için kullanılır)
  • Bir mantık analizörü. Teknik olarak isteğe bağlı, ancak iletişim yazılımında hata ayıklamaya ve donanım çalışmalarını doğrulamaya yardımcı olur.

    • DSO203 Osiloskobu'nu 3. parti mantık analiz yazılımı ile kullanıyorum ancak ucuz analizörler de var. Süslü bir şeye ihtiyacınız olduğunu bilmiyorsanız, sadece ucuz bir tane alın. Sigrok, çeşitli cihazlarla çalışan açık kaynaklı yazılımlar sunar.
  • Bir voltmetre olurkullanışlı.

Bundan sonra ihtiyaç duyulan ek araçlar:

  • Yüzeye montaj lehimleme aletleri (Sıcaklık kontrollü: Yeniden akışlı fırın ve / veya sıcak hava tabancası)
    • İşte bir yeniden akış fırını yapma talimatı
    • Sıcak hava lehimleme istasyonu% 100 gerekli değildir ve bildiğim kadarıyla bir tane satın almanız gerekecek.
  • Optik muayene ekipmanı (USB mikroskop gibi)
    • Bu kullandığım mikroskop, bildiğim kadarıyla en ucuz olanlardan biri.
  • Parçaları yerleştirmek için kullanılan hassas cımbızlar (bunlar ne kadar küçük olursa, bunları kullanırken çok büyük görünürler)

    • İşte ucuz bir set

    BURADAN TÜM ARAÇLAR İSTEĞE BAĞLI

  • Bir JTag emülatörü. JTAG, yeni monte edilmiş PCB'lerin kalite kontrolünü kolaylaştırmak için yapılmıştır.
    • Satın aldığınız emülatörün tasarımınızda kullandığınız cihazlarla uyumlu olduğundan emin olun. Bu, ESP32 için kullanılır. ESP32 Programlayıcısını sipariş ediyorsanız, bir sonraki adıma bakın ve ESP32 geliştirme kartını DigiKey yerine oradan da sipariş etmeyi düşünün.
  • Lehim şablon yazıcı / aplikatör. CYBRES SP2421'i satın aldım, ancak henüz bulamadığım daha iyi seçenekler olabileceğini hissediyorum. Çıplak bir asgari olarak, şablonunuzu sipariş ederken ara parçaları sepetinize ekleyin (OSHPark'tan).
  • Alma ve Yerleştirme makinesi (tekrarlanabilir otomatik montaj için, küçük ölçekli seri üretim için daha fazlası)
    • LitePlacer'i satın aldım (ödünç verdiğimde diğer tüm araçlarımla birlikte), ancak daha ucuz bir seçenek görüyorum.
    • Profesyonel montaj servislerinin daha büyük miktarlarda çok pahalı olmadığını unutmayın.
  • Muhafaza tasarımlarını test etmek için 3D yazıcınız (varsa).
  • CNC Freze (eğer varsa)
    • Tek seferde birinci sınıf muhafazalar veya enjeksiyonlu kalıplama için kalıplar gibi başka şeyler yapmak için idealdir.
    • Devrenizi gerçek dünyaya bağlayan mekanik parçalar yapmak için idealdir.
    • PCB'lerin yerel olarak üretilmesi için çok değerli (zaman bilge). Küçük devreler için, kimyasal olarak iz bırakmanız gerekir, ancak yine de Vias, tahta şekilleri / kesimleri, panelizasyon / depanelizing vb. İçin bir değirmene ihtiyacınız var.
  • PCB Tasarım yazılımı (PCB'nizi tasarlamak veya tasarımımı değiştirmek için)

    • EagleCAD (3D modelleme için Fusion360 ile eşleştirilmiştir), AutoDesk tarafından satın alınmadan önce her zaman kullandığım şeydi. Büyük veya ticari bir tasarıma sahipseniz (sizi ücretsiz bir lisanstan diskalifiye etmek) ve AutoDesk'ten yükseltilmiş bir lisans için paraya sahip değilseniz, ücretsiz ve açık kaynak ancak lüks alternatifler olarak değil KiCAD'dir (FreeCAD ile eşleştirilmiş). KiCAD Ben daha dik bir öğrenme eğrisi olduğunu düşünüyorum.

Adım 3: Bağlanın

Hazırlık:

Kalıcı özel donanım geliştirmeyi taahhüt etmeden önce yazılımınızı ve özelliklerinizi akıllıca kullanabilirsiniz. Bu, fikrinizin işe yaramayacağını keşfetmeniz durumunda harcadığınız çabayı en aza indirir, mümkün olan en kısa sürede geliştirmenize olanak tanır ve son tasarımınızdan önce kolayca donanım ekleyip kaldırmanıza izin verir. Bu yüzden başlamak için sadece bir breadboard model oluşturacağız. İsterseniz tam olarak bu tasarımdan sapabilirsiniz, ancak isterseniz her bölümün arkasındaki düşünceyi açıkladığım adımın sonunu mutlaka okuyun.

Parça listesi:

Alışveriş sepetiniz:

  • DigiKey Parts (Yakında bulundukları için digikey kullanıyorum, sanki "DigiKey Prime" gibi)
    • GridConnect Parts (ESP32 için JTAG programlayıcıyı satın alıyorsanız)
      • ESP32 DevKitC Geliştirme Kurulu (kadın başlıklarla birlikte gelir)
      • ESP Programlama ve Hata Ayıklama Aracı (zaten nakliye için para ödüyorsa, DigiKey'den daha ucuz)
        • Bu isteğe bağlıdır ve gerçekten özel PCB'nizi yaptığınızda gerçekten faydalıdır.
  • Amazon Bölümleri
    • 20 AWG Bağlama Teli seti (daha önce 20 ayar teli yoksa)
    • Tel Sarma (isteğe bağlı, elektrik bandı da çalışır)
    • Konteyner / Muhafaza. Maden ocağında benimkiyi de dükkandan aldım.
    • Mineral Yağ (2 Satın Alın) Regülatörleri kapsayacak kadar ihtiyacınız yok, ancak daha fazla yağ = daha fazla ısı dağılımı.
    • Sıvı Bant, kabloların çıktığı muhafazadaki deliği kapatmak için.

Montaj:

Kablo demeti montaj talimatları için videoyu izleyin, eğer ses süper ucunu layık bulursanız, sesi kapatabilirsiniz. Bir şeyleri breadboard'a lehimleme kısmına geldiğinde, her bir bağlantının yerleştirileceği koordinatlar için bu listeye bakın.

Tüm parçaları videoda gösterildiği gibi breadboard'a lehimleyin. Proto panosunun bir 3B Modelini ekledim (estetik olarak% 100 doğru değil, ancak fikir, 3B modelin, bir sonraki bölümün kafa karıştırıcı olması durumunda kendinize bakabileceğiniz bir şey vermesidir. Dosyayı buraya yükleyebilir ve görüntüleyebilirsiniz. o.

Breadboard'da Y ekseninde harfler ve X ekseninde rakamlar bulunur. Bunları her bağlantının nereye ineceğini belirlemek için kullanacağız. İçin üst ve alt güç otobüsü, bırak U & L hangisine başvuracağımızı belirtin. Ayrıca belirtmek için pozitif veya negatif otobüs, ekleyeceğiz P veya N- U veya L'ye. Örneğin, "UP3", üst pozitif güç veriyolunun '3. deliğine (numaralandırıldığı gibi) atıfta bulunacaktır. Ayrıca, mektubun eklenmesi R,, bağlantının İnternet üzerinden yapılması gerektiğini gösterir. ters Tahta tarafında.

  • Süveter

    • Yeşil: J25R ve J27R, H27R ve B27R (bu köprüden önce İzolatörü lehimleyin)
    • Kırmızı: H8 & H26
    • Sarı: LP24 ve A24, LP19 ve J19 (Bu atlatıcıyı son yapın)
    • Beyaz: D28R ve G28R, D30R ve G30R, UP30R ve I30R, UP1 ve J1
    • Siyah: UN6 ve J6, LN19 ve 19B
  • Dirençler

    • R1 (680 Ohm) LP26R & G26R
    • R2 (120 Ohm) H7R & C25R
    • R3 (680 Ohm) B26 & B23
  • Kondansatörler (Onları sipariş edecek param yok, bu yüzden kesin koordinatlar yok)

    • C1-(50V 39 uF) # R & BM # R UP (Sütunlardan herhangi biri, sadece yüksek sayıdaki sütunların yanına, regülatöre yakın bir yere yerleştirin)
    • C2 (10V 680uF) LP # Ar-LN # R (20-23 sütunları içerisinde ideal)
  • Yalıtkanlar

    • Önerilen LTV-826 çift izolatörü kullanarak pim 1'i (noktalı olan) açın E24ve pim 4 (izolatörün aynı tarafı ancak 3 pim aşağı, açık E27. Diğer pimler pcb'nin üzerine indikleri yerde lehimlenir.
  • Düzenleyiciler (Sütun 28'deki tüm giriş pinleri, sütun 30'daki çıkış pinleri)

    • Satırlardaki bir regülatör: A, C, E, F, H, J
    • İzolasyonu olmayan bir iletken kullanarak, tüm üst kanatları sıradan başlayarak lehimleyin bir6 regülatörün tümünü bağladıktan sonra, kablonun sonuna UN30
  • MDB Kablo Demeti
    • Yeşil (MDB Çizgi 6) = H25
    • Kırmızı (MDB Satır 5) = A23
    • Mavi (MDB Çizgi 4) = J24
    • Siyah (MDB Satır 2) = UN29
    • Beyaz (MDB Çizgi 1) = I28
  • Pim Başlıkları (DevKitC'yi yerleştirirken, 5V piminin ineceği şekilde yönlendirin I1ve 3v3 pimi üzerine iniyor I19.

    • I1R-I19R, A1R-A19R

Bu, bu adımın sonu! Artık oradan güç alabilen ve otomatik satış makineleriyle iletişim kurabilen bir wifi / bluetooth özellikli geliştirme panosuna sahip olmalısınız.

Parça seçimi:

Bu bölüm işleri biraz farklı yapmak isteyenler için hazırlanmıştır. Belki bir Arduino veya bir ahududu pi'niz vardır, ya da listelenen her bölüm için elinizde yedek bir parça bulunur. Yapacağım şey, her bir parçayı / değeri nasıl / neden seçtiğimde size yol göstermektir.

Öncelikle, her şeyin bir güç kaynağına ihtiyacı var.

  • Cihaza sadece geliştirme kartının USB portundan güç verebilseniz de, bu bir kaç sorun ortaya çıkarır. Son mesele, Wall Wart gibi harici bir güç kaynağı kullanmamamın nedeni.
    1. Bir dizüstü bilgisayarı nispeten kısa ve sabit bir USB kablosuna bağlı tutmalısınız.
    2. Makineyi tamamen kapatamazsınız, bu da test işlemlerini zorlaştırır.
    3. En azından benim durumumda, fikir kablosuz bir cihazdı.
    4. Daha iyi bir alternatif çok fazla çaba değil.
  • Doğrusal bir regülatör kullanmayı seçtim çünkü ucuz ve hızlı. Ancak, 34V'yi 5V'a düşürmeli, 45V'a kadar almalı ve uygun miktarda akım vermelidir. Bu, seçenekleri biraz sınırlar (sınırlı seçenekler, breadboard modeline bir yüzeye montaj cihazı eklemeye karar vermemi sağladı) ayrıca, MDB için 34V - 5V senaryomuz, bu,% 15 verim elde ettiğimiz anlamına gelir; bu, LOT ısı üretime dönüşür. Düzenleyiciler gerçekte o kadar fazla ısı üretmektedir ki, bunlardan çıkarabileceğimiz akım miktarı ısıl özelliklerle ciddi şekilde sınırlandırılmaktadır. Bununla birlikte, herkesin etrafta yatan oldukça büyük bir ısı emicisini sökebildikleri bir çöp bilgisayarının olduğunu sanmıyorum, bu da aslında sadece boşta oturan bir cihaz için yeterli soğutma değildi. Harici bir güç kaynağına veya daha karmaşık bir SMPS'ye başvurmak yerine, sadece paralel olarak daha fazla Doğrusal Düzenleyici eklemeye ve cihazı Mineral Yağına batırmaya karar verdim.
    • Mineral yağ iletken değildir ve soğutucu olarak kullanılabilir. Bunun hiçbir meraklısı formu yok, Novec ürün gamı ​​hakkında 3M ile iletişim kurmaya çalışırsanız (yüksek ısı iletkenliği, yangın geciktirici vb.), Sonunda o ürüne erişimi kısıtlayan katı çevresel düzenlemeler ve gereksinimler olduğunu anlarsınız.. Soğutma gelince, en iyi soğutucu değildir, ancak havadan 10 kat daha iyi termal iletkenliğe sahiptir. Sıvıyı tutan plastik kabına gelince, yapıldığı plastiğe bağlı olarak, muhtemelen termal olarak iletken ya da daha iletkendir, bu nedenle kısaca, soğutma için tek tıkanıklık izolatörlerin yüzey alanıdır, ısıyı ısıya aktarabilir. Mineral yağ Bu nedenle soğutucuların eklenmesi özellikle de veri sayfası değerlerinin (6 Düzenleyici = 1 Amp karar vermek için kullanılmış) dikkate alındığında, ısıl viyali ve benzeri bir 4 katmanlı PCB'ye monte edilmiş regülatörlere atıfta bulunduğunu düşünür. Neden 1 amp? Geliştirme kurulları herhangi bir zamanda maksimum 1 Ampere, çoğu operasyonda ise daha azına ihtiyaç duymalıdır. 1 Amp özelliği, gücün daha sonra kararsız davranışların gizli bir nedeni olmamasını sağlar. Son olarak, mineral yağda izolatörler, konveksiyonun doğal olarak meydana geleceği şekilde yönlendirilir ve en fazla yüzey alanına sahip taraflar, tüm yağın aktığı yerdir.

Sonra bir işlemciye ihtiyacımız var.

  • Bu proje için ilk olarak Particle'ın Foton panosunu kullandım, bana web IDE'lerini yaptığım cihazla kullanmak isteyen bir adam tarafından önerildi ve o zamanlar Arduino'dan geçmiş bir şey bilmiyordum, bu yüzden wifi vardı ve bu etkilendim. 9 bitlik UART teklif etti, ben de kabul ettim. Bir sebebiniz varsa, hemen hemen herhangi bir arduino kullanabilirsiniz, hepsinin 9 bitlik UART sundukları görülüyor. Ahududu pi görünmüyor, ancak bunun için bir ya da iki kitaplık var. Bitbanging, bana göre, sadece aşağı bir sonuç için etrafında karışıklık bir sürü gibi görünüyor. Fark ettiğiniz gibi, ESP32 9 bitlik UART sunmaz, ancak, belgelere derinlemesine dalırsanız, eşlik biti işlemek gibi üzerinde çalışabileceğiniz birkaç yol bulabilir veya bulamayabilirsiniz (örneğin gönderirken, alırken zor). Bir USB - UART kablosunuz / adaptörünüz varsa, 9 bit UART'a uyarlamak mümkün olabilir veya olmayabilir. Digikey'deki tüm köprü yongalarının tüm veri sayfalarını araştırdım ve yalnızca iki yonga 9 bitlik uart sunuyor ve MaxLinear (FTDI değil) tarafından üretildi ve herhangi bir USB kablosu / adaptör bulamadım İçinde köprü yongasını kullanan bu yüzden, eğer bir USB - UART bağdaştırıcınız varsa, büyük olasılıkla 9 bit UART'ı desteklemiyordur. Ama dediğim gibi, bunun 9 bitlik bir UART ile kullanılabileceği veya kullanılamayacağı anlamına gelmiyor, bu sadece çok daha fazla iş ve okuma ile ilgili şeyler okumak. Her neyse, ESP32 modülünü keşfettiğimde, onu özel bir PCB'de kullanma niyetindeydim ve rakipsiz bir fiyata wifi ve bluetooth sunan çok yetenekli bir donanım olarak öne çıkıyordu (o zaman bunun gerçekten popüler bir hobist olduğunu öğrendim).
  • Neden sadece bir dizüstü bilgisayarın işlemcisini kullanmıyoruz? Bu sadece en basit / en kolay / en hızlı seçenek değildir.

Son olarak, izolatör

  • Seçilen izolatör, maksimum 18US yükselme / düşme süresine ve tipik bir

    yükselme / düşme süresi sırasıyla 3 ve 4 us. Bu, veri iletişimini bozmayan ve protokolün belirlediği% 1 zamanlama doğruluğuna oldukça yakın olan bir 1uS farktır (104uS'den 1uS hatası). Tutarlı / özdeş (aynı zamanda 104uS'nin altındaki) yükselme / düşme süresinin 18uS'si, bu zaman miktarını veriyi bozulmadan mahsup eder / geciktirir. Mevcut transfer oranı 15mA civarında zirveye ulaşır ve çoğu durumda% 100 transferin üzerinde kalacağını düşünmek mantıklıdır, bu yüzden hızlı bir prototip için bunu seçiyorum. Ayrıca bunun çok önemli olduğunu bilmediğimde şans eseri topladığım için.

Parça değerlerinin seçimi:

Formül R1 = Vp / 5mA. 5mA genel / varsayılan bir akımdır ve ayarlanabilir. Partikülün Foton kartı her IO pininde 25mA'ya kadar izin veriyor, bu yüzden bu iyi bir değer. Parçacık 3.3V'de çalışır, bu nedenle Vp = 3.3V, bu nedenle formül R1 = 3.3V / 5mA = 660 Ohm'dur. Bunu en yakın standart direnç değeri için ayarlayarak 680 Ohm elde ediyoruz. Yüksek direnç değerinin sağladığı akımı iki kere kontrol edin (I = 3.3V / 680Ohms), 4.9mA alıyoruz. Pin akımı, direncin doğruluğu / toleransı içindeki değer aralığının kontrol edilmesi gerekmeyecek kadar yüksektir.

İçin formül R2 = (Vp - Vf (maks)) / (Eğer * TO (min)). 2. bölüm (Eğer * TO (dak)) 15mA veya daha fazla olması gereken aktarılmış akımı temsil eder. Minimum akım transfer oranı en az% 100 @ 10mA olan bir izolatör seçerek, CTR'nin yaklaşık 15mA'da zirvede olduğunu buluruz. Bu işe yarar, ancak yakın toleranslardan dolayı uzun vadeli bir çözüm değildir, bu nedenle ciddi tasarımlarda yeni bir regülatör bulmamız gerekecek. Bu regülatörün değerlerini takarak R2 = (3.3V - 1.4V) / (15mA * 1) elde ettik, oranın grafikte ne olduğunu bulmaya çalışmak yerine sadece 1 olarak adlandırdığım oran, 20mA'ya kadar çıkması güvenli, diğer taraftan aşırı akımı sınırladığımızı unutmayın. Bu denklemi çözerek 127 ohm, ki bir sonraki en düşük direnç değerine yuvarlanırsak 120 ohm elde ederiz. İkili kontrol, bu bize her iki tarafta da minimum 15 miliamper verir.

R3 için formül = (5V - Vf) / 10mA. 10mA rastgele / genel bir değerdir ve kullanılan izolatör diğer tarafta 5mA üretmek için 5mA ile iyi çalışır. 15mA'ya kadar çekebiliriz, ancak yalnızca 5mA çekeceğiz. Bunu yapmak için, değerleri denkleme eklemek kadar basittir. (5v - 1.4V) / 0.01A = 720. Ancak bu, R1'de kullanılan 680 ohm değerine çok yakındır, bu yüzden benzersiz parça sayısını azaltalım ve sadece bu değeri kullanalım. Elbette çift kontrol, biz sadece 0.2mA artar, bu yüzden her şey yolunda.

Adım 4: Yapılandırılmış ve Yüklenmiş İlk Kodu Alın

ESP32 için ARduino IDE Arduino-Core ürününü kurmanız gerekir. Ticari bir cihaz yapıyorsanız, ESP32 için Espressif'in kendi IDE'sini kullanmanızı öneririm. Daha az buggy olacak, daha iyi performans gösterecek ve olası tüm özellikleri sunduğunuzdan emin olun. Arduino'ya limanı tamamlamak için hala çalışıyorlar.

Artık cihazınıza MDB kodunu yüklemeniz, cihazınız için yapılandırmanız ve düşündüğünüz tüm fantezi özelliklerini MDB koduna bağlamaya başlamanız gerekir. Benim için bu 313 Page MDB v4.2 El Kitabını indirmek ve tüm ilgili sayfaları bir programa kopyalamak anlamına geliyordu (Başlangıçta bunu sadece Cashles Ödeme Cihazı ile yaptım ama geri kalanını eklemeye çalışıyorum). Bunları yapmak yerine koduma bir göz atabilirsiniz. Bu kod, son kullandığımdan bu yana çok fazla değişiklik geçirdi ve artık bir satış makinesine 7 gün 24 saat erişime sahip değilim, bu yüzden çalışacak birkaç hata olabilir. Bu yazılımı sonlandırmak, bu talimatı yayınladıktan sonra bir sonraki önceliğimdir, bu nedenle, bu noktaya geldiğiniz zaman halledilir, ve olmasa da, her şeyi yazmaktan çok daha fazla hata yapmak daha iyidir. çizik. Kodun çalışmadığını varsaymadan önce donanımınızın çalıştığını kontrol ettiğinizden emin olun. Lojik bir analizörü pinlere bağlayın ve cihazınızın ne aldığını, okudukları ve cihazınızın ne göndermesi gerektiği ile gerçekte ne gönderdiği ile karşılaştırın. Mantık analizöründe ne görmeniz gerektiğini netleştirmenize yardımcı olacak bazı resimler ekledim.

Kodumla çalışmaya başladığınızda, MDB kılavuzunda da takip etmeniz kolay olacaktır. Kullanırsanız, yaptığınız tüm iyileştirmeleri / değişiklikleri gönderdiğinizden emin olun. Bu benim ilk programım ve hala üzerinde çalıştığım tek program. Ayrıca benim github kullanarak ilk kez, biraz dağınık eğer çok üzgünüm. Kodumu kullansanız da veya kendi başınıza giderseniz (bu bir LOT, MDB koduna bağlanmak için hala daha büyük bir EVA-DTS el kitabına dalmam gerekiyor), cihazınızın makine ile akıllı bir şekilde iletişim kurmasının zamanı geldi., ardından uygulamanızı yapın ve MDB koduna bağlayın. Cihazınızın ana işlevselliğini devam ettirin. Özelliğinizin gerektirdiği şey ne olursa olsun, mikrofonları, motorları ekleyin ve hepsini ayarlayın. Özel devrelerde değişiklik yapmak daha zor ve daha pahalı olduğundan, devam etmeden önce cihazınızın işlevselliğini ve tasarımını tamamlayın.

9 bit UART'ı desteklemeyen farklı donanım kullananlar için:

Ahududu pi veya USB - UART kablosu gibi bir şey kullanmayı seçtiyseniz, bu ilgi çekici olabilir. MDB, 9 veri bit iletişimi gerektirir. Birçok UART donanımı bunu desteklemiyor. ESP32 bu tür cihazlardan biri olur. Desteklenmemesi imkansız demek değildir ve ESP32'nin belgelerine baktıktan sonra, bunu gerçekleştirebilmemiz için birkaç farklı yol görüyorum. Farklı bir donanım kullanıyorsanız, bunlar içine göz atabileceğiniz birkaç seçenek.

  • Veri gönderme
    • Göndermeden önce her bit için istenen parite ayarını elle hesaplayın.
    • Verileri ve AND paritesiyle kayıtları manuel olarak yükleme (ESP32'de bunun mümkün olup olmadığı belli değil)
    • Bitbanging (garantili ancak kaynak yoğun)
  • Veri alıyor
    • Veri alma ve 9. veri bitinin ne olduğunu söylemek için eşlik hatasını kes / bayrak (donanımınız varsa) kullanma. (Bu, kötü bir eşliğe sahip verilerin yalnızca atılmasını gerektirmez)
    • Her bit geldiğinde, kayıt defterinden yavaş yavaş el ile okuma. (Daha fazla emek yoğun)
    • Bitbanging (garantili ancak kaynak yoğun)

Eşliği, kullanılmadığı şekillerde kullandığımız için Teknik Referans Kılavuzuna (en azından ESP32'de) bakarak nelerin işe yarayacağı% 100 açık değildir, bu nedenle dokümantasyon yapılmayacaktır. bu şekilde nasıl kullanılır. Ne olduğunu bilmenin tek gerçek yolu, bazı kodları test etmek ve neyin işe yaradığını görmek. Son bir not, ESP32'nin bir "Kenar Değiştirme" kaydına / kesmesine sahip olması, bu da Hard / Bus sıfırlamasını saptamanın ve% 100 MDB uyumluluğunun tespit edilmesinin bir yolunu sağlıyor. Bir Sert / Veriyolu sıfırlaması, veri yolu yaklaşık 100mS veya daha fazla bir süre boyunca aktif olarak çekildiğinde, UART iletişiminin bir parçası olmayan bir şey olduğu için, ESP32'nin bu özelliğe sahip olması güzeldir. Bununla birlikte, Sabit / Veri Yolu sıfırlama işlevi, protokolün kendisine yanıt vermeyen tüm çevre birimlerinin kendilerine adresli (UART okunabilir) sıfırlama komutu göndermesi gerektiğini belirttiği için desteklemeye gerek yoktur.

Adım 5: Prototiplemeye Başlayın

Bundan sonra, elektronik hakkında çok daha fazla şey bilmelisin. Projeniz bu noktada da bu Talimattan çıkma eğilimindedir, bu nedenle bundan sonra gelen belgeler size nasıl yapılacağını (tamamen farklı bir elektronik / SMT konusu olacak), öğrendiğim önemli şeylerden bahsetmekten bahsedecektir. Kendi projem üzerinde çalışıyordum. Umarım bu adımda bir yerde yararlı bilgiler vardır.

Prototipleme, tüm parçaları araştırmak ve mümkün olan en düşük maliyeti bulmak, daha önce kullanacağınız şematikteki parçaları değiştirmek. Ayrıca, özel devreleri tasarlama ve bir araya getirme hakkında bilgi edinirken bir sürü deneme yanılma. Geliştirmek için çalışıyoruz Zaten çalışıyor ucuz ve kalitenin optimal dengesini bulmak için değişikliklerle tasarlayın (daha sonra değişikliklerin sistemi bozmadığından emin olun). Bir kuruşun her kesri toplanır. Birden fazla kaynaktan alınan fiyatları karşılaştırdığınızdan emin olun (Octopart bu konuda iyi bir iş çıkarır) ve bir kaynaktan mı yoksa birden fazla kaynaktan mı sipariş edileceğini dengeleyin. Parçaları ve tüm fiyatlarını düzenlemek için bir elektronik tabloyu / Malzeme Listesini açık ofiste tutuyorum. Kullanabileceğiniz bir örnek / şablon ekleyeceğim. Bu fiyata bulduğum her bir bölüme bir bit.ly bağlantısı eklerdim, ancak daha iyi bir parça bulduğum orandan dolayı sıkıcı olduğu için bunu yapmayı bıraktığımı düşünüyorum. EagleCAD'in artık bir tür BOM programı olduğuna da inanıyorum. Basit bir elektronik tablonun daha az güçlü, ama ilk başta daha az karmaşık olduğundan eminim.

Tasarımlarınız küçüldükçe, küçük ayrıntıların daha büyük bir etkisi olur. Lehim şablonunuzun kalınlığı, pasiflerinizin ayak izlerinin şekli / büyüklüğü, mekanik stres (seramik ve lehim bağlantılarını kırmaya başlar), vb. Bu belge hakkında çok şey konuşuyor, keşke bilseydim Başlamadan önce bunlar. Bütün pasifler için 0402 standart boyut olarak kullanmaya çalışıyorum. Akılda tutmanız gereken bir şey montajdır, boyutlandırılmış ve birbirine yakın kısımları güvenilir bir şekilde monte edebilir misiniz? Yoksa çift taraflı bir tasarımı lehimleme konusunda NASIL planlarınız var?

  • Her veri sayfasındaki her bir kelimeyi okuyun, değer tablosunda bir dipnotu özlediğim için doğru çalışmayan bir güç IC'm vardı.

  • Kısayolları alma, onlar yok.

  • Otomatik montaj için referanslara bakın.
  • Birkaç tane kopyasını almak istiyorsanız panelizasyona bakın.

Modül başına 3.75 dolara iyi bir güç, wifi, bluetooth ve diğer birkaç küçük şey sunan ESP32'yi öneririm. Modül kullanma hayranı olmasam da, FCC lisans ücretlerinde 10 bin veya daha fazla seçeneğin olmadığı küçük projeler için gerekli. ESP32'nin FCC sertifikasyonunu kendi tasarımınızda kullanabilirsiniz. Yanılmıyorsam, tüm ticari elektronik cihazlar FCC tarafından onaylanmalıdır, bu da başarılı veya başarısız olmak için her zaman en az bin veya iki fiyat tutacaktır. Bu yüzden bazı ön testler yapmak için bir spektrum analizörü satın almayı düşünün. İhtiyacınız olana kadar satın almayın xD Bir tane aldım ve hiç kullanmadım, şu ana kadar sadece büyük bir atık.

PCB'nizin montajdan sonra dijital olarak kendisini denetlemesini sağlamak için JTAG'ı kullanmayı düşünün. Daha önce de belirtildiği gibi, ESP32'nin kendi programlama aracı vardır.

Seçtiğiniz PCB imalat hizmetinin yeteneklerine dikkat edin. Bu adımdaki resimlere bakarsanız, OSHPark (genel / toplu bir hobi servisi) ve bazı Çinli şirketler arasındaki farkı göreceksiniz.

Bir kumpas veya başka bir şey çekin ve parçaları ne kadar küçük / küçük kullandığınızdan emin olun. Gösterilen bu modelde (Proto2, ilk PCB'm), dirençleri ve kapasitörleri aldım ve “ekranda daha LOT daha büyük görünüyorlardı” xD'yi düşündüm.

“Umarım başarısızsın!” - EEVBlog'dan Dave videolarından birinde. Başarısızlık, öğrendiğiniz anlamına gelir ve oğlum ben çok pahalı öğrenme yaptım.

Bu panoya ilişkin Eagle dosyalarına (Proto2) hâlâ (yüklendi) sahip oldum.

İşte OSH Park Emri de.

Adım 6: Tekrar Deneyin! ve yeniden! ve yeniden! (Daha fazla prototip ve çok sayıda öğrenme)

Başarısız olacaksın ve tekrar deneyeceksin! Ve yine başarısız olacaksın ve tekrar deneyeceksin! (Her linkte kurulu dosya var) Son kısım önemli olan sizsiniz irade Tekrar deneyin! Her hata / başarısızlık ile yeni bir şeyler öğreneceksiniz.

Bu prototip (ilk iki resimde proto 3) daha gerçekçi elle yerleştirilebilir pasifler kullanmaya başladım. Ancak bu durum iyi gitti, diğer potansiyel boyut sorunlarına bakmayı ihmal ettim ve Power IC'yi gerçekten elde edemediğimin farkına vardım ve OSHPark için kaliteli bir ayak izi bırakamayacak kadar küçüktü., pedler arasında lehim maskesi ile. Bu noktada, çalışan bir MVP yapmak için koştu (kullanmak için endişeli bir adamım vardı, bu yüzden biraz baskı vardı), biraz basitleştirmeye karar verdim.

İşte OS3Park'ın Proto3 panosuna bağlantısı.

3.-5. Resimlerde gösterilen Proto-4, bir modülün doğru bir şekilde lehimlendiğinden emin olmakla ilgili zaman ve sıkıntıdan kaçınmak için bir geliştirme kartı kullanmaya geri döndüm ve beklediğim wifi ile ilgili sorunlardan kaçındım. Ayrıca daha basit / daha büyük bir güç kaynağına da geçtim. Ne yazık ki, bu güç kaynağının veri sayfasında bir dipnot okumayı ihmal ettim (şimdi işler arasında acele etmek istemeye başladım) ve zamanın% 90'ını doğru voltaj vermeden bitirdi. İnanıyorum ki sadece usb portu üzerinden çalıştırmaya karar verdim ve iletişim de işe yaramadı! Kesin nedeni gerçekten hatırlamıyorum ama gerçekten optik izolatörleri fazla abarttığımı ve her birinin yeterince hızlı olduğunu varsaydığımı hatırlıyorum, ancak acele ve kaybedilen bir uykuda olmak için sadece direnç değerlerini karıştırdığımı düşünüyorum. O zaman, ciddi bir şekilde alerjim olan kedilerle yaşadım, uyanırdım ve nyquil (günlük) koyardım, böylece gün katlanılabilir hale gelirdi ve nyquil'i engellemek için bir canavar, sonra tam bir gün çalışır, sonra kalır Bu şeyler üzerinde çalışmak (ya da evden çalışmak), uyumayı atlamak, biraz adrenalin solumak için daha iyi nefes alabilmem için (kediler günlük bana biraz korkak astım verdi) ve daha uyanık kalmak. Yaptıklarımın lehine çok kötü sağlık seçimleri yaptım.Uyumayı unutma, uyku kaybı uykusuzluğa neden olur, bu da verimliliğin azalmasına yol açar. Yemeyi unutma, belli ki verimliliği düşürür. Yavaşlatmayı ve işleri doğru yapmayı, kısayollar yapmayı unutmayın veya zamanınızı ve paranızı boşa harcıyorsunuz (en iyi ihtimalle ne yapmamasını öğreniyorsunuz).

İşte Proto4 panosuna OSHPark bağlantısı.

Bu noktada, onu aldım ve geri dönüp, cihazı olması gerektiği gibi, yavaş ve sabit kalmasına odaklanmaya karar verdim. Ancak, tanıdığım bir adama gönderebileceğim ve onu mutlu edebileceğim yeniden üretilebilir prototipi kullanmaya hazır hale getirmek için son bir az çaba harcanmadan. Proto-5'in tanıtılması, "başarısız olması çok basit" bir model, temel olarak Proto-1 ile aynı devre, sadece biraz daha meraklı. Pin başlıkları kullanıldı, böylece bir cihazın kırılması veya çalışmaması durumunda foton panolarını boşa harcamamıştım, böylece bir Elektron (hücre sinyali) panosu da kolayca değiştirilebilir. Whelp, acele ediyordu, bir ya da iki bağlantıyı unuttu, bir şekilde yapmayı unuttuğum bağlantıyı bağladıktan sonra bile işe yaramadı, bir güç kaynağı sorunu gibi görünüyordu, ancak daha fazla kapasitöre lehimleyerek düzeltmeyi başaramadım. Sebebi araştırmak yerine aceleye getirdim, düşürdüm ve bir kere devam ettim. Ağladığım şey içten mi kaldı ve ilerlemeye devam etti.

İşte Proto5 kartının OSHPark bağlantısı.

Adım 7: Nihai Tasarımınızı Alın ve Üretime Hazırlayın

Sonunda geri döndüm ve Espressif'in ESP32 modülünü kullanarak bir cihaz yapımında gayret gösterdim. Tahta daha hızlı montaj için panellendi (ekmek kızartma makinesi fırınıma ve lehim şablon aplikatörüme uyan en büyük boyutta), güç kaynağı seçeneklerini yeniden araştırdım ve Proto2 ve 3 ile aynı cevabı buldum, bu yüzden şimdi bu küçük IC'yi kullanarak yaptım. montaj için yardımcı olacak bir toplama ve hız alma makinem olduğunu (artık gerekli olmadığını düşünmeme rağmen). Daha hassas yetenekler ve daha düşük maliyetler için pcb imalatçılarını değiştirdim, Çinli bir şirketle (tekrar yapmak istemediğim bir şey) gittim. Genel olarak, eylemimi bir araya getirdim ve iyi bir yönetim kurulu yaptım. Temelde iki izolatörü T-T olan bir devre boyunca çok fazla arıza ve gider.

OSHPark'ın Proto6'ya bağlantısı burada. << Buna rağmen, bu dosyayı gönderdikten sonra bazı (küçük / kritik olmayan) değişiklikler yaptığımı düşünüyorum. MDB konektörlerinin oraya giden konektörün cinsiyetini gösteren işaretlere dikkat edin, konektörü yanlış tarafa koymaktan kaçınmanın kolay bir yoludur. Artık, Eagle'ı artık kullanma lisansına sahip olmadığım için (bunun gibi işsiz ve kötü şeyler de olabilir) bu konuda değişiklik yapamam, ancak yaparsanız, izolatörü LTV826S yerine iki TCP817 izolatörü kullanmaya geçirmenizi tavsiye ederim. Ayrıca, ESP32'ye giderken JTag'i de ekleyin (sayfa 14 ve ESP32 programlayıcısında bunun için kullanılacak olanlarla eşleşen başlıkları bulun. Kullanılan pasiflerin boyutunu artırmaktan çekinmeyin ve tabii ki herhangi bir fazladan ilave edin) Kişisel olarak ihtiyaç duyduğunuz donanımlar Herhangi bir değişiklik yapmıyorsanız, en azından tasarımı gözden geçirmenizi ve BOM parçalarının gerçekten de PCB'ye uyan parçaların olduğundan emin olmanızı öneririm. Değişikliklerin size söyleyebiliyorum ki, ürün listesindeki diyot aleyhime karar verdiğimden ve gerçekte kullandığımın burada olduğunu.

Henüz bahsetmediysem, yüzey montajlı Minifit Jr konektörleri yoktur, bu yüzden kenara monte etmem en kompakt yöntemdir. İçine kenara monte edilmiş bir konektör olarak uyarlanabilen pimleri önceden yüklenmiş olarak gelen bir konektör vardır. Diğer konektör için, kıvrılmış bağlantılar takmalısınız ve bu olabildiğince kompakt olmalıdır. PCB kalınlığını ve kablo ölçeri eşleştiriyorsanız, birbirine çok iyi uyması gerekir. Bu konektörlerin seri üretimdeki montaj işlemini nasıl etkilediğini unutmayın. Bu konuda Molex ile iletişime geçtim ve milyonlarca birim sipariş etmeniz gerektiğini ve bunun için yeni / özel bir konektör hazırlamanız gerektiğini söylüyorlar. Bunu çözebileceğinizi düşünüyorsanız, kendinizinkini düşünün ve bu sizin için de bir sorun (SMT konektörü olmadan).

Bir CNC makinesinden bahseden video, Shapeoko 3'ten (cep nc) tasarruf etmeyi planladığımdan bahsetti. Bu videolar yıllar önceydi.

Satış projenizde başarılar diliyoruz, umarım bu yardımcı olur ve başarılısınız.

İkincisi

PCB Yarışması