Utwórz urządzenie / funkcję dla automatów sprzedających: 7 kroków (ze zdjęciami)

Utwórz urządzenie / funkcję dla automatów sprzedających: 7 kroków (ze zdjęciami)

Spisu treści:

Anonim

Chcesz dodać funkcję do automatu sprzedającego? Być może jest taki w twojej lokalnej makerspace, może w mancave, a może po prostu chcesz zrobić coś dla automatów na całym świecie. Jeśli chcesz stworzyć nową funkcję automatów sprzedających, czytaj dalej!

Począwszy od projektów tak dużych jak umieszczenie groźnego ChatIb AI za maszynę, aż po rzeczy tak małe i proste jak przycisk Free-Vend w telefonie, każda z tych funkcji ma taką samą potrzebę komunikowania się z automatem. Łatwiej powiedzieć niż zrobić! Pokażę ci, jak zrobić „puste” urządzenie, które może łączyć automaty vendingowe i wifi / bluetooth. Pomyśl o tym jak o pustym czeku, moc jest tam, możesz zrobić to, co chcesz, żeby było!

Kieszonkowe dzieci:

Krok 1: Co to jest MDB?

Jeśli tworzysz urządzenie, które rozmawia z automatami, musisz mówić w ich języku. Ten język to „MDB”. Pełna nazwa to „MDB / ICP”, co oznacza „Multi Drop Bus / Internal Communication Protocol”.

Jest to najczęściej stosowany standard komunikacji między urządzeniami w automacie sprzedającym, przynajmniej w USA. Utrzymywany i należący do NAMA (National Automatic Merchandising Association) i EVA (European Vending Association), został opracowany na początku lat 90. i ujednolicił sposób komunikacji automatów, umożliwiając części do automatów (akceptory rachunków, zmieniacze monet itp..) pracować w dowolnym automacie dowolnej marki / modelu, o ile ta maszyna obsługuje standard.

Istnieje wiele maszyn, które nadal używają starszej technologii i nie zostały jeszcze zaktualizowane, więc upewnij się, że urządzenia, dla których urządzenie jest przeznaczone, mają możliwości MDB. Oprócz sprawdzania instrukcji dla konkretnej maszyny, łatwym wskaźnikiem, że maszyna oferuje możliwości MDB, jest obecność wiązki przewodów ze złączem Molex Minifit Jr 2x3. Włączyłem zdjęcie żeńskiej wtyczki MDB (jest ona płciowa przez metalowe styki).

Jak to działa?

Teraz warto obejrzeć film „MDB Explained”. Czuję się trochę źle, wykorzystując wideo tego faceta do promowania alternatyw dla jego produktów (wydaje się tak przyjazny i podekscytowany), więc jeśli masz pieniądze, rozważ zakup jego MDB do produktów USB lub zatrudnij go do zaprojektowania ci produktu niestandardowego, a nie robię to sam.

Jedna uwaga, którą dodam, to termin „Multidrop Bus” jest również terminem technicznym (nie vendingowym), więc jeśli podczas wyszukiwania w Internecie MDB, najlepiej byłoby użyć pełnej nazwy „MDB / ICP”, i / lub może dodać tam słowo „vending”.

Dwa pozostałe jego filmy możesz sprawdzić, jeśli chcesz, ale czuję, że wyjaśnienie słowami jest znacznie krótsze:

  • MDB ma konfigurację master i slave, gdzie VMC jest master, a wszystkie urządzenia peryferyjne są slave.

  • The VMC / Master, inicjuje i kończy całą komunikację oraz okresowo odpytuje (sprawdza) urządzenia peryferyjne / slave.

  • ThePeripheral / Slave, nasłuchuje wszystkich komunikatów pochodzących z VMC i czeka na skierowanie do niego polecenia, zanim powie coś do VMC / Master.

  • W ten sposób tylko jedno urządzenie peryferyjne mówi do VMC w dowolnym momencie, co jest konieczne w konfiguracji Multidrop (termin techniczny).

Jakie są dostępne opcje peryferyjne?

Standard MDB obecnie zezwala na te urządzenia:

  • Zmieniacze monet (Zmienia się i daje zmianę)
  • Bill Akceptory (Bierze rachunki, a nowsze modele mogą wystawiać rachunki)
  • Bezgotówkowe urządzenia płatnicze (Akceptuje cyfrowe formy płatności)
    • Może być używany z innych powodów, takich jak dostęp do wyświetlacza urządzenia i klawiatury, uzyskiwanie aktualizacji sprzedaży lub przesyłanie plików. Jeśli tworzysz losową funkcję, powinieneś domyślnie ustawić ją jako urządzenie peryferyjne ze względu na moc nad maszyną.
  • Bramy komunikacyjne (W przypadku zewnętrznych urządzeń do przesyłania danych DEX jest dominującym standardem kontroli)
  • Uniwersalne urządzenia satelitarne (W skrócie, mechanizm / dodatek do vendingu, który wymaga hosta do akceptacji płatności)
  • Monety (Dozowanie monet luzem, jak maszyna do wymiany)

Kilka dodatkowych informacji:

  • UART, to ogólny / nie-vendingowy standard przesyłania danych szeregowych. Format danych szeregowych i szybkość transmisji danych można skonfigurować. Większość sprzętu ma układ UART, który można skonfigurować do własnych potrzeb.
    • Ustawienia UART dla MDB to 9600NRZ, 9-N-1

      • 9600 oznacza szybkość transmisji 9600, czyli 9600 bitów na sekundę, co oznacza, że ​​każdy bit ma 104uS długości.
      • The NRZ oznacza Non-Return-To-Zero, które w większości przypadków jest domyślne / standardowe.
      • The 9 oznacza 9 bitów danych, 8 jest standardem, a 9 jest nietypowy. Więcej na ten temat później.
      • The N oznacza brak kontroli parzystości.
      • The 1 oznacza 1 bit stopu.
  • RS232, jest wiele adapterów MDB do RS232. Dzieje się tak dlatego, że RS232 jest / był popularnym standardem, który poprzedza MDB, który jest łatwo i powszechnie używany z UART, dzięki czemu łatwo można go dostosować do MDB. Polecam trzymać się z daleka od RS232, jeśli nie ma mocnego powodu, aby go używać. Rynek jest zalany i jest przestarzałym standardem, który zwykle wskazuje, że projektanci go używający utknęli w starych (mniej wydajnych / wydajnych) sposobach. To samo dotyczy obwodów otworowych, ale to inny temat.
  • USB, dlaczego nie tworzą adapterów USB? Dobre pytanie!

    • Istnieje jedna dwukierunkowa linia danych USB2.0. MDB / UART osobno używa oddzielnych jednokierunkowych linii nadawania i odbierania.
    • USB3.0 ma oddzielną linię nadawania i odbierania, ale (podobnie jak USB2.0) jest sygnalizowany różnicowo, gdzie MDB / UART wykorzystuje sygnalizację pojedynczego końca. Rzucam wyzwanie, aby zrobić USB2.0 i / lub USB-C, do adaptera MDB, bez używania jakichkolwiek układów scalonych (dozwolone opampy, rejestry zmian tylko wtedy, gdy jest to konieczne w 100%), opublikuj je w sekcji „Zrobiłem to”, jeśli robić.
    • Dla tych, którzy zastanawiają się nad adapterami USB do UART, jedyne dwa istniejące układy, o których wiem, że obsługują 9-bitowe UART, są wykonane przez MaxLinear i żadne z nich nie zostało użyte w adapterze USB-UART. Żaden z chipów FTDI nie obsługuje 9-bitowego UART, a nawet jeśli znajdziemy sposób, aby to zadziałało, byłoby trochę więcej pracy (sterowniki oprogramowania, porty COM, itp.), Gdy nasz początkowy priorytet jest szybki i łatwy, w tym celu dlatego używamy tablicy rozwojowej.
  • EVA-DTS jest standardem danych branżowych vendingu, na który należy zwrócić uwagę przy tworzeniu produktu. Zapewnia jednolity format wszystkich danych związanych z automatami. DTS to skrót od „Data Transfer Standard”.

Najnowszą wersję standardu MDB można znaleźć tutaj. Jeśli wybierzesz urządzenie peryferyjne, które chcesz stworzyć, przejrzyj je na krótko, aby poznać wszystkie funkcje / opcje, które posiada.

Krok 2: Potrzebne narzędzia

Przed wykonaniem niestandardowej wersji będziesz tworzyć wersję płyty MDB urządzenia typu breadboard. Przed rozpoczęciem będziesz potrzebował narzędzi.

Głównymi dwoma witrynami do zamawiania części będą DigiKey i Amazon. Wybieram Amazon, zakładając, że masz członkostwo w Amazon i / lub byłaby to preferowana metoda, gdy rzeczy nie można znaleźć na DigiKey. Najlepiej byłoby mieć wszystko w koszyku (lub dwóch) i wstrzymać się z zamówieniem, aż do momentu wybrania części z następnego kroku.

Potrzebne narzędzia do wersji płyty:

  • Lutownica. Chociaż potrzebujesz tylko żelazka do tego Instruktażu, zalecam korzystanie z funkcji gorącego powietrza, jeśli nie pełnej na stacji przerobu SMD. Kiedy byłem nastolatkiem, sprzedałem swoje fantazyjne pistolety airsoftowe i kupiłem poniżej stację przerobową wraz z wieloma innymi narzędziami, aby dostać się do elektroniki. Użyłem stacji przerobu do ponownego połączenia BGA w kilku laptopach i zapłacił w ten sposób.

    • Najlepsza wartość (przeróbka żelazem, gorącym powietrzem / SMD, BGA)
    • Najlepsza wartość (żelazko, gorące powietrze / SMD)
    • Najlepsza jakość (tylko żelazko)
  • Lutować. Nie zapominaj, że dym jest toksyczny i powoduje chroniczne problemy zdrowotne. DigikeyAmazon
  • Crimpers

    • Oto najtańsza odpowiednia para, jaką znalazłem.
  • Ściągacze izolacji. Każdy zrobi, ale gorąco polecam StripMaster firmy Ideal Industries. Ze względu na ich jakość, jedna para nie może usunąć każdego miernika drutu, więc w przypadku zastosowań poza tym Instruktażem prawdopodobnie będziesz potrzebować drugiej pary (lub wkładek o różnych rozmiarach). Pamiętaj, że w tym projekcie używamy drutu o rozmiarze 20.
    • Ściągacze 8-22 Gauge lub Wkładki
    • 20-30 Ściągacze lub wkładki
    • StripMaster Frame, w przypadku zamówienia zamówionych wkładek zamiast drugiej pary, i żałuję tego, tak jak ja.
  • Przecinaki do drutu (nożyczki lub obcinaczki do paznokci, po prostu coś do cięcia cienkiego drutu)
  • Analizator logiczny. Opcjonalny technicznie, ale pomaga debugować oprogramowanie komunikacyjne i weryfikować działanie sprzętu.

    • Korzystam z oscyloskopu DSO203 z oprogramowaniem analizatora logiki innych producentów, ale są też tanie analizatory. Dopóki nie wiesz, że potrzebujesz fantazyjnego, po prostu zdobądź tani. Sigrok oferuje oprogramowanie open source, które współpracuje z wieloma różnymi urządzeniami.
  • Byłby woltomierzporęczny.

Od tego czasu potrzebne są dodatkowe narzędzia:

  • Narzędzia lutownicze do montażu powierzchniowego (regulacja temperatury: piec rozpływowy i / lub pistolet na gorące powietrze)
    • Oto instruktaż dotyczący wykonania pieca rozpływowego
    • Stacja lutownicza na gorące powietrze nie jest w 100% konieczna, a o ile wiem, trzeba ją kupić.
  • Sprzęt do kontroli optycznej (taki jak mikroskop USB)
    • Z tego mikroskopu korzystam, o ile wiem, że jest to jeden z najlepszych tanich.
  • Precyzyjne pęsety do umieszczania części (tak małe jak są, będą się wydawać ogromne, gdy ich używasz)

    • Oto tani zestaw

    WSZYSTKIE NARZĘDZIA Z TUTAJ SĄ OPCJONALNE

  • Emulator JTag. JTAG powstał, aby ułatwić kontrolę jakości świeżo zmontowanych płytek PCB.
    • Upewnij się, że zakupiony emulator jest zgodny z urządzeniami używanymi w projekcie. Ten jest używany do ESP32. Jeśli zamawiasz programator ESP32, spójrz na następny krok i zastanów się nad zamówieniem płyty rozwojowej ESP32 stamtąd także zamiast DigiKey.
  • Drukarka / aplikator do szablonów lutowanych. Kupiłem CYBRES SP2421, ale czuję, że mogą być lepsze opcje, których jeszcze nie znalazłem. Jako minimum dodaj przekładki do koszyka podczas zamawiania szablonu (od OSHPark).
  • Maszyna Pick and Place (do powtarzalnego automatycznego montażu, więcej do masowej produkcji na małą skalę)
    • Kupiłem LitePlacer (na pożyczkę, z wszystkimi innymi narzędziami), ale widzę tańszą, ewentualnie lepszą opcję.
    • Pamiętaj, że profesjonalne usługi montażowe nie są zbyt drogie w większych ilościach.
  • Drukarka 3D (jeśli masz) do testowania konstrukcji obudowy.
  • Młyn CNC (jeśli masz)
    • Doskonały do ​​wykonywania jednorazowych obudów najwyższej jakości lub innych form, takich jak formy do formowania wtryskowego.
    • Doskonały do ​​tworzenia części mechanicznych, które łączą obwody z rzeczywistym światem.
    • Bardzo cenny (czasowo) do lokalnego wytwarzania płytek drukowanych. W przypadku małych obwodów chemicznie wytrawia się ślady, ale wciąż potrzebny jest młyn do Vias, kształtów / wycięć na deskach, panelizacji / depanelizacji itp.
  • Oprogramowanie do projektowania PCB (Aby zaprojektować PCB lub zmienić mój projekt)

    • EagleCAD (w połączeniu z Fusion360 do modelowania 3D) jest tym, czego zawsze używałem od czasu, gdy został zakupiony przez AutoDesk. Jeśli masz duży lub komercyjny projekt (dyskwalifikujący Cię z darmowej licencji) i nie masz pieniędzy na uaktualnioną licencję AutoDesk, darmowe i otwarte oprogramowanie, ale nie tak luksusowe, jak KiCAD (sparowane z FreeCADem). KiCAD uważam za bardziej stromą krzywą uczenia się.

Krok 3: Połącz się

Przygotowanie:

Inteligentne jest tworzenie oprogramowania i funkcji przed przystąpieniem do tworzenia stałego dedykowanego sprzętu. Minimalizuje to wysiłki włożone, jeśli odkryjesz, że Twój pomysł nie zadziała, pozwala ci na jak najszybsze jego opracowanie i pozwala łatwo dodawać i usuwać sprzęt przed ostatecznym projektem. Na początek po prostu stworzymy model breadboard. Jeśli chcesz, możesz zboczyć z tego dokładnego projektu, ale jeśli to zrobisz, pamiętaj o przeczytaniu końca tego kroku, gdzie wyjaśnię tę myśl za każdą częścią.

Lista części:

Oto koszyki:

  • Części DigiKey (używam digikey, ponieważ są blisko, więc to tak, jakbym miał „DigiKey Prime”)
    • Części GridConnect (jeśli kupujesz programator JTAG dla ESP32)
      • ESP32 DevKitC Development Board (zawiera nagłówki dla kobiet)
      • ESP Programming & Debugging Tool (tańsze niż DigiKey, jeśli już płacisz za wysyłkę)
        • Jest to opcjonalne i naprawdę pomocne, gdy tworzysz niestandardową płytkę PCB.
  • Amazon Parts
    • Zestaw drutu 20 AWG (jeśli nie masz jeszcze drutu o rozmiarze 20)
    • Owijka (opcjonalnie, działa również taśma elektryczna)
    • Pojemnik / Obudowa. Kupiłem kopalnię w sklepie z dolarami, tak samo dla oleju mineralnego.
    • Olej mineralny (Kup 2) Nie potrzebujesz wiele na pokrycie regulatorów, ale więcej oleju = więcej rozpraszania ciepła.
    • Płynna taśma do uszczelnienia otworu w obudowie, w której wychodzą przewody.

Montaż:

Obejrzyj film z instrukcjami montażu na wiązce przewodów, możesz go wyciszyć, jeśli uznasz, że dźwięk jest super warty. Gdy dotrze do części, w której lutujesz przedmioty do deski, sprawdź na tej liście współrzędne, aby umieścić każde połączenie.

Przylutuj wszystkie części do płytki jak pokazano na filmie. Włączyłem model 3D płytki proto (nie w 100% dokładny pod względem estetycznym, ale chodzi o to, że model 3D daje ci coś, na co możesz spojrzeć na własne oczy, na wypadek, gdyby następna część była myląca. Możesz przesłać plik tutaj i zobaczyć to.

Płytka ma litery na osi Y i liczby na osi X. Użyjemy ich do określenia, gdzie lądują poszczególne połączenia. Dla górny i niższy magistrala zasilania, niech U & L określ, do którego się odnosimy. Również określić pozytywny lub negatywny autobus, dołączymy P lub N do U lub L. Na przykład „UP3” odnosi się do górnego trzeciego bieguna dodatniej mocy ”(jako numerowany). Ponadto dodanie listu R, wskazuje, że połączenie powinno być nawiązane na rewers strona deski.

  • Zworki

    • Zielony: J25R i J27R, H27R i B27R (przylutuj izolator przed tą zworką)
    • Czerwony: H8 i H26
    • Żółty: LP24 i A24, LP19 i J19 (Zrób ten skoczek jako ostatni)
    • Biały: D28R i G28R, D30R i G30R, UP30R i I30R, UP1 i J1
    • Czarny: UN6 i J6, LN19 i 19B
  • Rezystory

    • R1 (680 omów) LP26R i G26R
    • R2 (120 omów) H7R i C25R
    • R3 (680 omów) B26 i B23
  • Kondensatory (nie mam pieniędzy, aby je zamówić, więc nie mam dokładnych współrzędnych)

    • C1(50V 39uF) UP # R i UN # R (Każda z kolumn, po prostu umieść w pobliżu kolumn o wyższej liczbie, bliżej regulatora)
    • C2 (10V 680uF) LP # R i LN # R (Idealnie w kolumnach 20-23)
  • Izolatory

    • Używając sugerowanego podwójnego izolatora LTV-826, włóż pin 1 (ten z kropką) E24oraz pin 4 (ta sama strona izolatora, ale 3 piny w dół, włączony E27. Pozostałe szpilki zostają przylutowane tam, gdzie lądują na płytce drukowanej.
  • Regulatory (Wszystkie piny wejściowe w kolumnie 28, piny wyjściowe w kolumnie 30)

    • Jeden regulator w rzędach: A, C, E, F, H, J
    • Używając przewodu bez izolacji, przylutuj wszystkie górne płetwy, zaczynając od rzędu ZAPo podłączeniu wszystkich 6 regulatorów przylutuj koniec przewodu do UN30
  • Wiązka przewodów MDB
    • Zielony (linia MDB 6) = H25
    • Czerwony (MDB, linia 5) = A23
    • Niebieski (MDB wiersz 4) = J24
    • Czarny (linia MDB 2) = UN29
    • Biały (linia MDB 1) = I28
  • Nagłówki pinów (po włożeniu DevKitC, ustaw je tak, aby pin 5V wylądował na I1i 3v3 pin wyląduje I19.

    • I1R-I19R, A1R-A19R

To koniec tego kroku! Teraz powinieneś mieć kartę rozwojową z obsługą Wi-Fi / Bluetooth, która może być zasilana i komunikować się z automatami.

Wybór części:

Ta sekcja jest przeznaczona dla tych, którzy chcą robić rzeczy trochę inaczej. Może masz Arduino lub Raspberry Pi, lub zdarza się, że masz pod ręką część zamienną dla każdej z wymienionych części. To, co zrobię, pokaże Ci, jak / dlaczego wybrałem każdą część / wartość.

Po pierwsze, wszystko potrzebuje źródła zasilania.

  • Chociaż możesz po prostu zasilić urządzenie przez port USB płyty rozwojowej, co stwarza kilka problemów. Ostatni problem to powód, dla którego nie używam zewnętrznego źródła zasilania, takiego jak Wartownica ścienna.
    1. Musisz mieć laptop podłączony do stosunkowo krótkiego i stacjonarnego kabla USB.
    2. Naprawdę nie można całkowicie zamknąć maszyny, co utrudnia testowanie.
    3. Przynajmniej w moim przypadku chodziło o urządzenie bezprzewodowe.
    4. Lepszą alternatywą nie jest dużo wysiłku.
  • Wybrałem regulator liniowy, ponieważ jest tani i szybki. Musi jednak spaść o 34 V do 5 V, przyjąć do 45 V i wydać przyzwoitą ilość prądu. Ogranicza to nieco opcje (ograniczone opcje skłoniły mnie do podjęcia decyzji o włączeniu urządzenia do montażu powierzchniowego w modelu z płytą roboczą) Co więcej, nasz scenariusz 34V do 5V dla MDB, oznacza to, że uzyskujemy 15% wydajności, co przekłada się na DUŻO wytwarzania ciepła. Regulatory faktycznie wytwarzają tyle ciepła, że ​​ilość prądu, który możemy z nich wydostać, jest poważnie ograniczona przez właściwości termiczne. Powiedział, że tak naprawdę nie wyobrażam sobie, że każdy ma komputer śmieciowy, który może po prostu zgrać sporą ilość ciepła, również to nie było wystarczające chłodzenie, aby urządzenie po prostu siedziało w stanie bezczynności. Zamiast uciekać się do zewnętrznego źródła zasilania lub bardziej złożonego SMPS, postanowiłem po prostu dodać więcej liniowych regulatorów równolegle i zanurzyć urządzenie w oleju mineralnym.
    • Olej mineralny jest nieprzewodzący i może być stosowany jako czynnik chłodzący. Nie ma dostępnych bardziej wyszukanych form, jeśli spróbujesz skontaktować się z 3M w sprawie swojej linii produktów Novec (wyższa przewodność cieplna, ognioodporność itp.), W końcu odkryjesz, że istnieją surowe przepisy i wymagania dotyczące ochrony środowiska, które ograniczają dostęp do tego produktu. Jeśli chodzi o chłodzenie, nie jest to najlepszy płyn chłodzący, ale ma 10-krotnie lepszą przewodność cieplną niż powietrze. Jeśli chodzi o pojemnik z tworzywa sztucznego, który utrzymuje ciecz, w zależności od wykonanego z niego tworzywa sztucznego, jest on prawdopodobnie tak samo przewodzący ciepło lub przewodzący, więc w skrócie jedynym wąskim gardłem dla chłodzenia jest pole powierzchni izolatorów, przenoszące ciepło do olej mineralny. Dlatego dodano radiatory, zwłaszcza biorąc pod uwagę wartości arkuszy danych (które zostały użyte do podjęcia decyzji o 6 regulatorach = 1 amper), odnosząc się do regulatorów montowanych powierzchniowo do 4-warstwowej płytki drukowanej z przelotkami termicznymi i tym podobnymi. Dlaczego 1 wzmacniacz? Płyty programistyczne powinny potrzebować maksymalnie 1 A w dowolnym momencie i znacznie mniej podczas większości operacji. Możliwość 1 Amp po prostu zapewnia, że ​​moc nie stanie się później ukrytą przyczyną nieregularnego zachowania. Wreszcie w przypadku oleju mineralnego izolatory są zorientowane w taki sposób, że występuje naturalnie konwekcja, a boki o największej powierzchni znajdują się tam, gdzie przepływa cały olej.

Następnie potrzebujemy procesora.

  • Pierwotnie użyłem płyty Photon Particle do tego projektu, to zostało mi zasugerowane przez faceta, który chciał użyć swojego internetowego IDE z urządzeniem, które tworzyłem, a wtedy nie wiedziałem nic o arduino, więc byłem pod wrażeniem, że jest wifi I to zaoferował 9-bitowy UART, więc właśnie się zgodziłam. Jeśli masz powód, możesz użyć prawie każdego arduino, wszystkie wydają się oferować 9-bitowy UART. Raspberry pi nie wygląda na to, ale jest na to biblioteka bitbanging lub dwie. Dla mnie bitbanging wydaje się po prostu dużo zamieszania w celu uzyskania gorszego wyniku. Jak zapewne zauważyłeś, ESP32 nie oferuje 9-bitowego UART, jednak jeśli zanurzysz się głęboko w dokumentacji, możesz lub nie możesz znaleźć kilku sposobów na obejście go, takich jak manipulowanie bitem parzystości (łatwe, gdy wysyłanie, trudne przy odbiorze). Jeśli masz kabel / adapter USB do UART, może to być możliwe lub nie, dostosowanie go do 9-bitowego UART. Przeszukałem wszystkie arkusze danych każdego układu mostkowego w digikey, a tylko dwa układy oferują 9-bitowy uart, a są one wykonane przez MaxLinear (nie FTDI), a ja nie udało mi się znaleźć żadnych kabli / adapterów USB które używają swojego mostka, więc jeśli masz adapter USB do UART, najprawdopodobniej nie obsługuje on 9-bitowego UART. Ale tak jak powiedziałem, to nie znaczy, że może lub nie może być używany z 9-bitowym UART, to po prostu dużo więcej pracy i czytania. W każdym razie, kiedy odkryłem moduł ESP32, miałem zamiar użyć go na niestandardowej płytce drukowanej i wyróżniał się jako bardzo zdolny sprzęt, który oferował wifi i bluetooth w bezkonkurencyjnej cenie (wtedy stwierdzam, że jest to naprawdę popularna rzecz hobbystyczna).
  • Dlaczego po prostu nie korzystamy z procesora laptopa? To po prostu nie jest najprostsza / najłatwiejsza / najszybsza opcja.

Wreszcie izolator

  • Wybrany izolator ma maksymalny czas narastania / opadania 18uS i typowy

    czas narastania / opadania odpowiednio 3 i 4 uS. Jest to różnica 1US, która nie zniekształca komunikacji danych i spada bardzo blisko 1% dokładności synchronizacji określonej przez protokół (błąd 1uS ze 104uS). 18uS czasu narastania / opadania, będące spójne / identyczne (również w zakresie 104uS), jedynie przesuwa / opóźnia dane o tę ilość czasu bez zniekształcania go. Współczynnik transferu prądu osiąga szczytowy poziom około 15 mA i rozsądnie jest sądzić, że w większości sytuacji pozostanie on powyżej 100% transferu, więc dla szybkiego prototypu wybieram ten. Również dlatego, że wybrałem to przypadkiem, kiedy nie wiedziałem, że to ma duże znaczenie.

Wybór wartości części:

Formuła jest R1 = Vp / 5mA. 5mA jest prądem ogólnym / domyślnym i może być regulowany. Płyta Photon cząstek pozwala na 25mA na pin IO, więc jest to dobra wartość. Cząstka działa na 3,3 V, więc Vp = 3,3 V, dlatego wzór to R1 = 3,3 V / 5 mA = 660 omów. Dostosowując to dla najbliższej standardowej wartości rezystora, otrzymujemy 680 omów. Podwójne sprawdzenie prądu, którego wynikiem jest wyższa wartość rezystancji (I = 3,3 V / 680 omów), otrzymujemy 4.9mA. Prąd szpilki jest wystarczająco wysoki, aby zakres wartości w dokładności / tolerancji rezystora nie musiał być sprawdzany.

Formuła dla R2 = (Vp - Vf (max)) / (Jeśli * CTR (min)). Druga część (Jeśli * CTR (min)) reprezentuje prąd przesyłany, który musi wynosić 15 mA lub więcej. Wybierając izolator o minimalnym współczynniku transferu prądu wynoszącym co najmniej 100% @ 10mA, okazuje się, że CTR osiąga szczyt przy około 15 mA. To działa, ale nie jest rozwiązaniem długoterminowym ze względu na bliskie tolerancje, więc będziemy musieli znaleźć nowy regulator w każdym poważnym projekcie. Podłączając wartości tego regulatora otrzymujemy R2 = (3,3V - 1,4V) / (15mA * 1), stosunek, który właśnie nazwałem 1, zamiast próbować dowiedzieć się, co jest na wykresie, można bezpiecznie przejść do 20mA, pamiętaj, że ograniczamy nadmiar prądu po drugiej stronie. Rozwiązując to równanie otrzymujemy 127 omów, które po zaokrągleniu do następnej najniższej wartości rezystora otrzymujemy 120 omów. Podwójne sprawdzanie daje nam co najmniej 15 miliamperów po obu stronach.

Wzór dla R3 = (5V - Vf) / 10mA. 10mA jest wartością losową / ogólną, a zastosowany izolator działa dobrze z 5mA, aby wytworzyć 5mA po drugiej stronie. Możemy dobrać do 15mA, ale tylko 5mA. Aby to zrobić, jest to tak proste, jak podłączenie wartości do równania. (5v - 1.4V) / 0.01A = 720. Jest to jednak bardzo bliskie 680 omów zastosowanych w R1, więc ograniczmy liczbę unikalnych części i po prostu użyj tej samej wartości. Podwójne sprawdzanie oczywiście zwiększa się tylko o 0,2mA, więc wszystko jest w porządku.

Krok 4: Uzyskaj kod początkowy skonfigurowany i przesłany

Musisz zainstalować ARduino IDE Arduino-Core dla ESP32. Jeśli tworzysz komercyjne urządzenie, polecam przejście na używanie IDE Espressif dla ESP32. Będzie mniej wadliwy, działa lepiej i oferuje wszystkie możliwe funkcje. Nadal pracują nad uzupełnieniem portu do Arduino.

Teraz musisz załadować kod MDB do urządzenia, skonfigurować go dla swojego urządzenia i zacząć dodawać wszystkie wymyślne funkcje, które wymyśliłeś, łącząc je z kodem MDB. Dla mnie oznaczało to pobranie instrukcji 313 Page MDB v4.2 i przepisanie wszystkich odpowiednich stron do programu (początkowo zrobiłem to tylko za pomocą urządzenia płatniczego Cashles, ale pracuję nad dodaniem reszty). Zamiast tego wszystkiego, możesz spojrzeć na mój kod. Kod ten przeszedł wiele zmian od czasu, gdy go ostatnio użyłem, i nie mam dostępu 24 godziny na dobę do automatu, więc może być kilka błędów do rozwiązania. Sfinalizowanie tego oprogramowania jest moim kolejnym priorytetem po opublikowaniu tego, co można polecić, więc może być załatwione do czasu, aż dojdziesz do tego punktu, a nawet jeśli nie, to nadal DUŻO lepiej jest opracować kilka błędów niż napisać całość zadraśnięcie. Upewnij się, że twój sprzęt działa, zanim zakładasz, że kod nie działa. Podłącz analizator logiczny do pinów i porównaj, co urządzenie odbiera, z tym, co czyta i co urządzenie powinno wysłać, do tego, co faktycznie wysyła. Dodałem kilka zdjęć, które pomogą wyjaśnić, co powinieneś zobaczyć w analizatorze logicznym.

Kiedy zaczniesz pracować z moim kodem, powinno być łatwo, jeśli będziesz postępować zgodnie z nim w podręczniku MDB. Jeśli go używasz, upewnij się, że przesyłasz wszelkie ulepszenia / zmiany, które wprowadzasz. To mój pierwszy program i nadal jest jedynym programem, nad którym kiedykolwiek pracowałem. Również po raz pierwszy używam github, więc przepraszam, jeśli jest trochę zdezorganizowany. Niezależnie od tego, czy używasz mojego kodu, czy sam go używasz (to DUŻO, muszę jeszcze zagłębić się w większą instrukcję EVA-DTS, aby połączyć się z kodem MDB), nadszedł czas, aby Twoje urządzenie inteligentnie komunikowało się z maszyną, następnie zrób aplikację i połącz ją z kodem MDB. Uruchom główne funkcje urządzenia. Dodaj mikrofony, silniki, niezależnie od tego, czego potrzebujesz, i skonfiguruj wszystko. Sfinalizuj funkcjonalność i projekt urządzenia, zanim wprowadzanie zmian w obwodach niestandardowych będzie trudniejsze i droższe.

Dla osób używających innego sprzętu, który nie obsługuje 9-bitowego UART:

Jeśli zdecydowałeś się użyć czegoś takiego jak raspberry pi lub kabla USB na UART, może to być interesujące. MDB wymaga 9 komunikatów bitów danych. Wiele urządzeń UART nie obsługuje tego. ESP32 jest jednym z takich urządzeń. Nieobsługiwane nie oznacza, że ​​jest to niemożliwe, a po zapoznaniu się z dokumentacją dotyczącą ESP32, widzę kilka różnych sposobów, aby to zrobić. Jeśli używasz innego sprzętu, jest kilka opcji, które możesz sprawdzić.

  • Wysyłanie danych
    • Ręczne obliczanie żądanego ustawienia parzystości dla każdego bitu przed wysłaniem.
    • Ręczne ładowanie rejestrów danymi ORAZ parzystość (niejasne, czy jest to wykonalne w ESP32)
    • Bitbanging (gwarantowane, ale intensywnie wykorzystujące zasoby)
  • Odbieranie danych
    • Odbieranie danych i użycie przerwania / flagi parzystości (jeśli twój sprzęt to posiada) do określenia, jaki jest 9 bit danych. (Wymagałoby to, aby dane o złej parzystości nie były po prostu odrzucane)
    • Ręczny odczyt z rejestru krok po kroku, w miarę jak każdy bit wchodzi.
    • Bitbanging (gwarantowane, ale intensywnie wykorzystujące zasoby)

Nie jest w 100% jasne, co będzie działać po prostu patrząc na Technical Reference Manual (przynajmniej na ESP32), ponieważ używamy parzystości w taki sposób, że nie był przeznaczony do użycia, więc nie będzie dokumentacji na temat jak go używać w ten sposób. Jedyne realne sposoby sprawdzenia, co się dzieje, to przetestowanie kodu i sprawdzenie, co działa. Ostatnia uwaga: ESP32 ma rejestr / przerwanie „zmiany krawędzi”, co zapewnia nam sposób wykrywania resetu twardego / magistrali i 100% zgodności z MDB. Reset Hard / Bus, gdy magistrala jest aktywowana przez około 100 mS lub mniej, coś, co nie jest częścią komunikacji UART, więc jest miło, że ESP32 ma taką możliwość. Jednak resetowanie Hard / Bus, funkcjonalnie, nie jest konieczne do obsługi, ponieważ protokół określa, że ​​wszystkie urządzenia peryferyjne, które na nie nie reagują, po prostu otrzymują do nich adresowane polecenie resetowania (odczytywalne przez UART).

Krok 5: Rozpocznij prototypowanie

Od tego momentu powinieneś wiedzieć więcej o elektronice. Twój projekt może również odejść od tego Instructable również w tym momencie, więc dokumentacja od tego momentu zmieni się z mówienia ci, jak robić rzeczy (to byłby zupełnie inny temat elektroniki / SMT), by wspomnieć o znaczących rzeczach, których nauczyłem się Pracowałem nad własnym projektem. Mam nadzieję, że w tym kroku znajdują się przydatne informacje.

Prototypowanie dla mnie polega na badaniu wszystkich części i znalezieniu najniższego możliwego kosztu, zastępując części na schemacie, którego wcześniej używałeś. Również dużo prób i błędów, gdy uczysz się o projektowaniu i montażu niestandardowych obwodów. Próbujesz ulepszyć już pracuję zaprojektuj ze zmianami, aby znaleźć optymalną równowagę taniego i jakościowego (następnie upewnij się, że zmiany nie przerywają systemu). Każda część pensa się sumuje. Upewnij się, że porównujesz ceny z więcej niż jednego źródła (Octopart dobrze sobie z tym radzi) i balansuje, czy warto zamawiać z jednego źródła lub z wielu źródeł. Trzymam arkusz kalkulacyjny / zestawienie materiałów w biurze otwartym, aby uporządkować części i wszystkie ich ceny. Dołączę przykład / szablon, którego możesz użyć. Kiedyś w każdej cenie umieszczałem link do każdej części, w której ją znalazłem, ale myślę, że przestałem to robić, ponieważ stało się to nudne ze względu na tempo, w jakim znajdę lepszą część. Wierzę, że EagleCAD ma teraz jakiś program BOM. Jestem pewien, że prosty arkusz kalkulacyjny jest mniej wydajny, ale też na początku mniej skomplikowany.

W miarę zmniejszania się twoich projektów małe detale mają większy wpływ. Grubość twojego szablonu lutowniczego, kształt / rozmiar śladów twoich pasywów, naprężenia mechaniczne (zaczną pękać ceramika i połączenia lutowane) itp. Ten dokument mówi o wielu z nich, chciałbym wiedzieć o te rzeczy zanim zacząłem. Próbuję użyć 0402 jako standardowego rozmiaru dla wszystkich moich pasywów. Jedną rzeczą, o której musisz pamiętać, jest montaż, czy możesz niezawodnie zmontować części tego rozmiaru i tak blisko siebie? A może masz plany na lutowanie dwustronnego projektu?

  • Odczytaj każde słowo w każdym arkuszu danych, miałem układ scalony mocy, który nie działa poprawnie, ponieważ brakowało mi przypisu w tabeli wartości.

  • Nie idź na skróty, nie istnieją.

  • Wyszukaj fiducials do automatycznego montażu.
  • Sprawdź panelizację, jeśli chcesz zrobić jej kilka kopii.

Polecam ESP32, ponieważ oferuje przyzwoitą moc, wifi, bluetooth i kilka innych drobnych rzeczy za 3,75 USD za moduł. Chociaż nie jestem fanem korzystania z modułów, jest to konieczne w przypadku mniejszych projektów, w których 10-milionowe lub większe opłaty licencyjne FCC nie są opcją. Możesz wykorzystać certyfikat FCC ESP32 we własnym projekcie. Jeśli się nie mylę, cała komercyjna elektronika musi uzyskać certyfikat FCC, który zawsze będzie kosztował co najmniej tysiąc lub dwa na zaliczenie lub porażkę. Rozważ zakup analizatora widma, aby wykonać wstępne testy. Nie kupuj go, dopóki go nie potrzebujesz xD Kupiłem go i nigdy z niego nie korzystałem, po prostu duże marnotrawstwo pieniędzy.

Zastanów się nad wdrożeniem JTAG, aby twoja płytka drukowana została cyfrowo sprawdzona po montażu. Jak wspomniano wcześniej, ESP32 ma własne narzędzie do programowania.

Zwróć uwagę na możliwości wybranej usługi produkcji PCB. Jeśli spojrzysz na zdjęcia w tym kroku, zobaczysz różnicę między OSHPark (ogólną / masową usługą hobbystyczną) a jakąś chińską firmą.

Wyciągnij zacisk lub coś i upewnij się, że wiesz, jak duże / małe części używasz. Na tym pokazanym modelu (Proto2, moja pierwsza płytka drukowana) dostałem rezystory i kondensatory i pomyślałem, że „wyglądają na dużo większe na ekranie” xD

„Mam nadzieję, że ci się nie uda!” - Dave z EEVBlog w jednym ze swoich filmów. Niepowodzenie, oznacza, że ​​się uczysz, a chłopiec uczyłem się dużo drogiej nauki.

Zdarza mi się, że pliki Eagle dla tej planszy (Proto2) nadal są (przesłane).

Oto także rozkaz Park OSH.

Krok 6: Spróbuj ponownie! i znowu! i znowu! (Więcej prototypowania i dużo nauki)

Nie uda ci się i spróbujesz ponownie! I znowu ci się nie uda, a spróbujesz ponownie! (Pliki forum dostępne w każdym łączu) Ostatni bit jest ważny, ty będzie Spróbuj ponownie! Z każdym błędem / porażką dowiesz się czegoś nowego.

Ten prototyp (proto 3 na pierwszych dwóch zdjęciach) przełączyłem na używanie bardziej realistycznie ręcznych pasywów. To poszło dobrze, jednak zaniedbałem przyjrzenie się innym problemom związanym z potencjalnym rozmiarem i doszedłem do wniosku, że naprawdę nie mogę przekazać Power IC i był on również zbyt mały, aby OSHPark był w stanie stworzyć wysokiej jakości ślad dla, z maską lutowniczą między poduszkami. W tym momencie rzucił się, aby zrobić działający MVP (miałem faceta, który chciał go użyć, więc było trochę presji), postanowiłem trochę uprościć.

Oto link OSHPark do tablicy Proto3.

Proto-4, pokazany na 3. i 5. zdjęciu, wróciłem do korzystania z płyty rozwojowej, aby uniknąć czasu i kłopotów związanych z próbą upewnienia się, że moduł został odpowiednio przylutowany i uniknąć problemów z Wi-Fi, którego oczekiwałem. Przełączyłem się także na prostszy / większy zasilacz. Niestety zaniedbałem przeczytanie przypisu w arkuszu danych tego zasilacza (teraz, kiedy zacząłem się spieszyć) i skończyło się to na tym, że 90% czasu nie zapewniało odpowiedniego napięcia. Wierzę, że właśnie zdecydowałem się zasilić go przez port USB, a komunikacja również nie działała! Naprawdę nie pamiętam dokładnej przyczyny, ale pamiętajcie, że naprawdę przeceniłem izolatory optyczne i po prostu założyłem, że każdy jest wystarczająco szybki, jednak myślę, że mogłem po prostu pomieszać wartości rezystora w pośpiechu i tracić sen. Wtedy mieszkałam z kotami, na które byłam bardzo uczulona, ​​budziłam się i żartowałam (codziennie), więc dzień był znośny, a potwór przeciwdziałał nykilowi, a potem pracował cały dzień, a potem został pracować nad tymi rzeczami (lub pracować z domu), pomijać sen, wdychać adrenalinę, żeby móc lepiej oddychać (koty dawały mi trochę ostrej astmy na co dzień) i nie zasnąć. Dokonałem wielu złych wyborów zdrowotnych na korzyść gitt'n era.Nie zapomnij spać, utrata snu powoduje bezsenność, co prowadzi do obniżenia wydajności. Nie zapomnij jeść, co oczywiście zmniejsza wydajność. Nie zapomnij zwolnić i zrobić dobrze, bez skrótów lub marnujesz czas i pieniądze (w najlepszym razie uczysz się, czego nie robić).

Oto link OSHPark do tablicy Proto4.

W tym momencie miałem to i postanowiłem wrócić i skupić się na tym, aby urządzenie było takie, jak powinno być, powolne i stabilne. Ale nie bez jednego ostatecznego niskiego wysiłku, aby uzyskać gotowy do użycia, powtarzalny prototyp, który mogę wysłać do faceta, którego znałem, i uszczęśliwić go. Przedstawiamy Proto-5, model „zbyt prosty, by upaść”, zasadniczo ten sam obwód, co w Proto-1, trochę bardziej wymyślny. Użyłem nagłówków pinów, aby nie marnować płyt fotonowych w przypadku, gdy urządzenie się zepsuje lub nie działa, tak więc płytka elektronowa (sygnał komórkowy) może być tam łatwo wymieniona. Whelp, pędził, zapomniał o połączeniu lub dwóch, w jakiś sposób nie zadziałał, nawet po zminimalizowaniu połączenia, o którym zapomniałem zrobić, wydawał się być problemem z zasilaniem, ale nie byłem w stanie go naprawić, lutując więcej kondensatorów. Zamiast badać przyczynę, będąc pośpiesznym, po prostu upuściłem ją i ruszyłem na raz. Zrobiłam cały mój płacz wewnętrznie i posuwałam się naprzód.

Oto link OSHPark do tablicy Proto5.

Krok 7: Przygotuj swój ostateczny projekt i przygotuj go do produkcji

W końcu wróciłem i włożyłem przyzwoity wysiłek w stworzenie urządzenia wykorzystującego moduł ESP32 Espressifa. Płytka została poddana panelizacji w celu szybszego montażu (w największym rozmiarze, który mieści się w moim piekarniku tostera i aplikatorze do szablonu lutowniczego), ponownie zbadałem opcje zasilania i wpadłem na tę samą odpowiedź, co Proto2 i 3, więc zrobiłem to za pomocą tego małego IC teraz że miałem maszynę do wybierania i wybierania, aby pomóc w montażu (chociaż nie sądzę, żeby to było konieczne). Zamieniłem producentów płyt pcb na bardziej precyzyjne możliwości i niższe koszty, poszedłem z chińską firmą (coś, czego nie chcę robić ponownie). Ogólnie rzecz biorąc, mam swój akt i dostałem przyzwoity zarząd. Tak wiele awarii i wydatków w obwodzie, że zasadniczo są to dwa izolatory T-T.

Link OSHPark do Proto6 jest tutaj. << Chociaż myślę, że dokonałem pewnych (drobnych / niekrytycznych) zmian po przesłaniu tego dokładnego pliku. Zwróć uwagę na oznaczenia przyłączy MDB wskazujące płeć łącznika, który tam się znajduje, to łatwy sposób na uniknięcie umieszczania złącza po niewłaściwej stronie. Nie mogę wprowadzać zmian w tym, że nie mam już licencji na używanie Eagle'a (także bezrobotnych w złych rzeczach), ale jeśli to zrobisz, zalecam przełączenie izolatora na dwa izolatory TCP817 zamiast LTV826S. Dodawaj także JTag, gdy jesteś w ESP32 (strona 14, i znajdź nagłówki pasujące do nagłówków używanych w programatorze ESP32 do tego celu. Możesz zwiększyć rozmiar używanych pasywów i oczywiście dodać dodatkowe) Jeśli nie wprowadzasz do niego żadnych zmian, zalecam przynajmniej przejrzenie projektu i upewnienie się, że części BOM są rzeczywiście tymi, które pasują do PCB. Ten ostatni projekt przeszedł wiele zmian w ostatniej chwili i Mogę ci powiedzieć, że dioda na BOM jest tą, której zdecydowałem się nie stosować, a ta, której faktycznie użyłem, jest tutaj.

Jeśli jeszcze o tym nie wspomniałem, nie ma złącz Minifit Jr montowanych powierzchniowo, więc montaż na krawędziach w taki sposób, w jaki mam, jest najbardziej kompaktową metodą. Jest jedno złącze, które jest wstępnie załadowane pinami, które można dostosować jako złącze montowane na krawędzi. W przypadku drugiego złącza należy wstawić zaciśnięte połączenia, a to tak kompaktowe, jak tylko się da. Jeśli dopasujesz grubość płytki drukowanej i grubość drutu, powinieneś dobrze do siebie pasować. Należy pamiętać, jak te złącza wpływają na proces montażu w produkcji masowej. Skontaktowałem się z Molexem w tej sprawie i mówią, że trzeba zamówić miliony urządzeń i tego typu rzeczy, aby uzyskać nowe / niestandardowe złącze. Zastanów się nad stworzeniem własnego, jeśli myślisz, że potrafisz to rozgryźć, i jest to również problem dla ciebie (nie posiadający złącza SMT).

Film odnoszący się do maszyny CNC mówi o tym, za który planowałem zaoszczędzić (pocket nc), a nie o Shapeoko 3. Te filmy były lata temu.

Powodzenia w projekcie vendingowym, mam nadzieję, że to pomoże i odniesiesz sukces.

Runner Up w

Konkurs na PCB