Popularny post Matthias Napisano Lipiec 10, 2021 Popularny post Udostępnij Napisano Lipiec 10, 2021 (edytowany) Witam wszystkich!!! W poprzednim artykule przedstawiłem swoją wizję platformy Arduino UNO opartej o procesor ATmega 328 THT. Wizja nie do końca doskonała, choć dla mnie na chwilę obecną wystarczająca. Chciałem teraz, aby to było coś wyróżniającego się na tle klonów tej platformy. Coś z powiewem świeżości, nowego!!!. Bo nie sztuką jest zrobić klon 1:1 i to tylko aby zbić cenę a nieraz wykonanie niektórych klonów pod względem jakości jak i działania pozostawiało wiele do życzenia. Pierwsza wersja mojego urządzenia była tak naprawdę tylko wstępem do tego co teraz zamierzałem zrobić, co tym bardziej zachęciło mnie do zrobienia ostatecznej wersji mojego urządzenia. Wersji, która uważam zawiera ciekawe rozwiązania, których mi osobiście brakowało a na pewno znajdą się osoby, które myślą podobnie. Bo czym jest poświęcenie jednej ATmegi, której koszt wynosi mniej niż 10 PLN aby na stałe była zaprogramowana jako programator ISP , dzięki czemu możemy swobodnie wgrywać bootloader do drugiej wymiennej ATmegi, nie używając do tego dedykowanego shielda lub łącząc układ na płytce stykowej. Wygodnie prawda?. Możliwość podłączenia dowolnego konwertera, którego koszt nieraz jest mniejszy niż procesor ATmega 16U2, który dodatkowo trzeba zaprogramować lub inny układ odpowiadający za komunikację. A jako, że takie konwertery są tanie to opłaca się kupić kilka sztuk na tak zwaną "czarną godzinę" lub gdy mamy kilka projektów, które z nich korzystają. Na początku kilka słów samokrytyki!!! Pewne rozwiązania były zrobione na szybko. Owszem działały jednak na przykład: przełączanie zasilania z USB na zasilacz za pomocą przekaźników ogólnie nie jest idealne jak w oryginalnej platformie. Szczerze dla mnie osobiście to akurat było bez znaczenia gdyż tu sugerowałem się posiadanymi przeze mnie elementami oraz tym, że mi osobiście reset procesora nie przeszkadzał w momencie przełączania zasilania z USB za zasilacz i odwrotnie, ale jednak względem oryginalnej platformy, funkcjonalność ta znacznie odbiegała. Tak więc skoro moja wizja ma dorównać a docelowo być lepsza od oryginału i jego klonów, zatem działanie pewnych elementów urządzenia musi być takie samo. Poniżej kilka zdjęć nowej wersji MWuinoUNO-rev3.1 W przedstawionej przeze mnie wersji zrezygnowałem z użycia konwertera, a komunikację z procesorami wykonałem z użyciem układu FTDI232RQ. W plikach urządzenia, przygotowałem łącznie cztery wersje urządzenia. Plik do pobrania jest na końcu artykułu. Pierwszą wersję Rev3.1, którą aktualnie będę przedstawiał z użyciem FTDI 232RQ. Drugą wersja Rev3.2, także z użyciem FTDI232RQ, z tym, że zastosowany jest wydajniejszy stabilizator dla linii 5V - LM340MP-5.0/NOPB o wydajności prądowej 1,5A. Kolejne dwie wersje Rev4.1 oraz Rev4.2 gdzie do komunikacji możemy wykorzystać konwerter, tak jak miało to miejsce w prezentowanej jakiś czas temu pierwszej odsłonie mojego urządzenia, z tym że podobnie jest podobnie jak w Rev3.2, Rev4.2 ma wydajniejszy stabilizator dla linii 5V. Powstanie dodatkowych Rewizji 3.2 oraz 4.2 było podyktowane innymi rolami wyprowadzeń stabilizatora dla linii 5V - LM340MP-5.0/NOPB niż ma stabilizator NCP1117ST50T3G. Zatem obu tych stabilizatorów nie można używać zamiennie w tym przypadku. Podsumowując!!! Poprawiłem pewne niedostatki z wersji pierwszej wprowadzając odpowiednie modyfikację. Przejrzałem dostępne klony platformy UNO R3 z ATmegą 328 THT oraz ciekawe rozwiązania zaadaptowałem w swojej wersji urządzenia oraz dodałem drobne funkcje od siebie. Poniżej zdjęcia prezentujące pierwszą wersję urządzenia MWuinoUNO Rev.1 oraz aktualna prezentowana wersja MWuinoUNO Rev3.1 Uważam, że wszystko jest jak należy i więcej nic nie potrzeba dodawać. Urządzenie jest zbliżonych rozmiarów względem oryginału, a oferuje znacznie więcej niż oryginalna platforma lub jej klony. najważniejszą zaletą jest wygoda!!! W końcu dla hobbystów jak i amatorów wyeliminowanie pewnych rzeczy, które mogą nas irytować uważam że jest ważne. W końcu dla mnie elektronika oprócz zarabiania na życie to pasja, a ta raczej powinna nam zapewnić spokój i skupienie się na tym co robimy. Wiadomo, że nie jesteśmy w stanie wszystkiego przewidzieć, ale zawsze możemy próbować eliminować pewne niedogodności z tym związane. Przejdźmy zatem do omówienia mojego projektu. Porównajmy teraz moją wersję platformy Uno z oryginalną i jej wiernie wykonanymi klonami. Najważniejsze różnice są przedstawione poniżej: Cecha: UNO R3 oraz klony 1:1 MWuinoUNO Rev3.1 MWuinoUNO Rev3.2 MWuinoUNO Rev4.1 MWuinoUNO Rev4.2 Napięcie pracy 5V 5V/3,3V 5V/3,3V 5V/3,3V 5V/3,3V Jumper Bootloader Nie Tak Tak Tak Tak Złącze USB USB B micro USB micro USB nie dotyczy-brak nie dotyczy-brak Włącznik zasilania Nie Tak Tak Tak Tak Wyjście 3,3V* Prąd 150mA Prąd 300/500mA Prąd 300m/500mA Prąd 300/500mA Prąd 300/500mA Wyjście 5V Prąd 1A Prąd 1A Prąd 1,5A Prąd 1A Prąd 1,5A Oscylator Ceramiczny Kwarcowy Kwarcowy Kwarcowy Kwarcowy Wgrywanie bootloaderów Tylko z użyciem shielda Tak Tak Tak Tak lub podłączonego układu na płytce stykowej Sterownik USB ATmega16U2 FT232RQ FT232RQ UART/RS232 TTL UART/RS232 TTL konwerter konwerter Sterowanie diodą (L) wzmacniacz operacyjny MOSFET BSS138 MOSFET BSS138 MOSFET BSS138 MOSFET BSS138 *- Montujemy jeden z dwóch stabilizatorów w zależności od naszych potrzeb. Ze względu na to, że ich wyprowadzenia pełnią taką samą rolę można ich używać zamiennie. W prezentowanej wersji zamontowany jest stablizator o wydajności 300mA, gdyż 500mA na chwilę zamawiania elementów do montażu, nie był dostępny. Napięcie pracy: 5V/3,3V Przełącznik konfiguracji napięcia 3,3V/5V: ustala jakim napięciem jest zasilany mikrokontroler a tym samym z jaka logiką pracuje cały system, do wyboru 3,3V lub 5V. Jumper Bootloader: W trybie ON płytka się zresetuje po podłączeniu napięcia zasilania lub portu USB. W trybie OFF : program zapisany ruszy natychmiast po podłączeniu zasilania, płytka nie zresetuje się po podłączeniu portu USB do PC. Złącze USB: Możliwość użycia popularnego mniejszego kabla micro USB używanego w większości smartphonów, itp. Włącznik zasilania: Aby odłączyć urządzenie od zasilania nie trzeba już wyciągać wtyczki z gniazda. Można to zrobić włącznikiem ON/OFF. Wyjście 3,3V: MWuinoUNO zapewnia wyższą wydajność prądową stabilizatora 3,3V. Wyjście 5V: MWuinoUNO w Rev3.2 oraz Rev4.2 zapewnia wyższą wydajność prądową stabilizatora 5V. Oscylator: Rezonator kwarcowy zapewnia wyższą dokładność taktowania. Wgrywanie bootloaderów: W MWuinoUNO wystarczy do podstawki IC2 włożyć czysty procesor i wykonując odpowiednie czynności wgrać bootloader. Sterownik USB: Układ FT232 w MWuinoUno jest wspierany w każdym popularnym systemie operacyjnym lub wersja bez układu komunikacji FT232, gdzie możemy podłączyć dowolny konwerter UART/RS232 TTL. Sterowanie diodą (L): Sterowanie diodą LED w UNO i klonach podyktowane jest oszczędnością a tym samym wykorzystaniem drugiego wzmacniacza operacyjnego gdyż LMV358 zawiera dwa wzmacniacze. To zastosowanie ma pewne wady takie jak, że wzmacniacz operacyjny nie przenosi pełnego pasma sygnału CLK. Tak więc jasność LED nie będzie dobrze oddawała pinu CLK. Lepiej do tego celu nadaje się tranzystor, który steruje LED-em. Tranzystory MOSFET są sterowane napięciowo, więc podobnie jak wzmacniacz w konfiguracji wtórnika emiterowego, nie obciąża sygnału z pinu CLK. Tutaj też się przyznam, że większość z rozwiązań są skopiowane. Po przejrzeniu klonów platformy UNO wybrałem te użyteczne. Fakt faktem nie było tego dużo, więc wybrałem prawie wszystkie. Moje rozwiązania to tak jak w pierwszej odsłonie projektu zintegrowanie programatora ISP, dzięki, któremu możemy wgrywać bootloader do wymienialnego procesora IC2. Urządzenie posiada także sygnalizację zasilania z USB diodą LED. Rozwiązanie to niesie ze sobą dodatkową korzyść. Jak widać na schemacie załączonym w pliku: MWuinoUNO.zip - na przykład Rev3.1. Dioda LED USB jest sterowana stanem niskim wzmacniacza operacyjnego, pełniącego rolę komparatora. Generalnie do porównywania napięć przeznaczone są do tego celu komparatory. Jako, że nie mam ostatnio czasu bawić się w eksperymenty zastosowałem coś co jest sprawdzone i działa choć tutaj zastosowałem wzmacniacz, który był użyty w poprzedniej wersji do sterowania dioda użytkownika (L). Dobierając wtedy ten wzmacniacz patrzyłem pobieżnie na pewne parametry, ale zaryzykowałem i przy okazji postanowiłem zobaczyć czy się sprawdzi. No i jak widać wszystko działa dobrze. Teraz napiszę na czym polega dodatkowa korzyść z zastosowania diody LED USB oraz jej sterowania z wyjścia wzmacniacza. Rozwiązanie ze wzmacniaczem w roli komparatora jest skopiowane. Przeanalizujmy najpierw działanie wzmacniacza operacyjnego (IC10) w roli komparatora. Opis ten odnosi się do rev3.1 oraz 4.1, gdzie rezystory R18,R19 dzielnika napięć mają jednakową wartość rezystancji-10k. Zatem: Napięcie z zasilacza (VIN) jest podane na dzielnik napięcia złożonego z rezystorów R18, R19 o wartości 10 kOhm każdy, który działa w proporcji 1:2. Napięcie mierzone przez wzmacniacz (na wejściu nieodwracającym +) jest na rezystorze R19 dzielnika i jest porównywane z napięciem wzorcowym 3,3V mierzonym na (wejściu odwracającym -) wzmacniacza, które pochodzi z dodatkowego stabilizatora (IC5). Więc jeśli napięcie zasilania (VIN) jest równe lub nieco wyższe od 6,6V, tranzystor T1 nie jest sterowany z wyjścia wzmacniacza i tym samym nie przewodzi. Dioda LED USB nie świeci i do zasilania całego urządzenia wykorzystywany jest zasilacz. Najprościej rzecz ujmując: Napięcie na rezystorze R19 osiąga wartość 3,3V przy napięciu zasilania równym lub nieco wyższym od (VIN)=6,6V. Wyjście wzmacniacza operacyjnego sterującego tranzystorem T1 i diodą LED USB jest w stanie wysokim przez co tranzystor ten nie przewodzi oraz nie świeci dioda LED USB, co informuje nas, że do urządzenia podłączone jest zewnętrzne zasilanie, które także zasila nam całe urządzenie. Tutaj kluczowa jest też wartość napięcia zasilacza ze względu na minimalną wartość napięcia zasilania stabilizatora 5V. Standardowy stabilizator zastosowany w UNO i niektórych jego klonach na wejściu potrzebuje minimum 6,5V aby na jego wyjściu napięcie stabilizowane, którym zasilane są wszystkie podzespoły urządzenia, wyniosło 5V. W przypadku zastosowania stabilizatora LM340MP-5.0/NOPB minimalne napięcie zasilania tego stabilizatora wynosi 7,5V. Zatem aby urządzenie przełączało nam zasilanie z USB na zasilacz i tym samym aby mieć napięcie 5V na wyjściu tego stabilizatora, musimy zmienić wartość jednego z rezystorów dzielnika napięcia tak aby przy napięciu zasilania z zasilacza - 7,5V na rezystorze R19, napięcie wynosiło 3,3V. Zatem od czego najpierw zaczynamy. Z poniższego rysunku, (aby było nam łatwiej ustalić parametry dzielnika) widzimy, że musimy ustalić: Spadki napięć "UR18", "UR19" na rezystorach, prąd "Ir" płynący przez rezystory naszego dzielnika oraz wartość rezystancji "R18". Pierwszym krokiem będzie ustalenie rozkładu napięcia VIN na poszczególnych rezystorach dzielnika. Jako że wejście nieodwracające (+) wzmacniacza jest podłączone pomiędzy R18 a R19 to znaczy, że wzmacniacz mierzy napięcie na R19. Wiemy, że napięcie na R19 ma wynieść 3,3V przy napięciu zasilania VIN=7,6V. Zatem UR19=3,3V Znając napięcie na R19 Obliczymy teraz spadek napięcia jaki musi być na R18. Wystarczy, że od napięcia VIN odejmiemy napięcie na R19 UR18=VIN-UR19=6,7V-3,3V=4,3V. Zatem spadek napięcia na R18 wynosi 4,3V. Jak widać napięcie VIN jest sumą spadków napięć na poszczególnych rezystorach naszego dzielnika zatem: VIN=UR18+UR19=4,3V+3,3V=7,6V. Ustalamy wartość jednego z rezystorów dzielnika. Jest to istotne aby obliczyć prąd płynący przez dzielnik. Dla ułatwienia wybrałem R19 i niech będzie miał on wartość 10k. Jak widać dzielnik napięcia to po prostu połączone ze sobą dwa rezystory szeregowo. Cechą szeregowego połączenia rezystorów jest to, że płynie przez nie ten sam prąd "Ir". Zatem znając wartość rezystora R19 i spadek napięcia na nim, możemy obliczyć prąd "Ir" płynący przez oba rezystory, korzystając z prawa Ohma I=U/R zatem Ir=UR19/R19=3,3V/10k=0,33mA Z kolei znając wartość prądu płynącego przez rezystory R18, R19 dzielnika oraz spadek napięcia na R18, znów korzystając z prawa Ohma po przekształceniu wzoru I=U/R do postaci R=U/I, obliczmy rezystancję rezystora R18. Zatem R18=UR18/Ir=4,3V/0,33mA=13k Jak widzimy nasz rezystor R18 ma wartość 13k Jak widzimy w tym przypadku wyliczenie wartości potrzebnego nam rezystora jest bardzo łatwe. Dzięki temu nasz układ przełączając się z zasilania USB na zasilacz dostarczy do stabilizatora odpowiednio wysokie napięcie na jego wejście, aby na wyjściu tego stabilizatora uzyskać napięcie 5V potrzebne do zasilania podzespołów naszego urządzenia, a my dzięki diodzie LED USB będziemy wiedzieć czy tak się stało. Właśnie to jest ta zaleta. Oczywiście aby to działało sprawnie musimy obserwować diodę USB oraz ustawić odpowiednią wartość napięcia zasilania na zasilaczu. Po podłączeniu zasilania z zasilacza powinna zapalić się zielona dioda LED PWR, a niebieska USB zgasnąć. Musimy pamiętać, że zasilacze wtyczkowe regulowane przełącznikiem, mają podane na sztywno zakresy przełączanych napięć a nie wszyscy mogą wiedzieć że stabilizator aby dać napięcie 5V na wyjściu, musi mieć podane na wejście konkretną wartość napięcia. Najważniejsze, żeby pamiętać aby nie przekroczyć maksymalnego napięcia zasilania dla stabilizatora, aby tym samym go nie uszkodzić oraz innych elementów naszego urządzenia. W zależności od modelu stabilizatora, napięcie jego zasilania może mieć inną wartość. Jeżeli po podłączeniu zasilacza dioda LED USB nie zgaśnie może się okazać, że nasz zasilacz podaje zbyt niskie napięcie niż jest potrzebne do przełączenia się urządzenia z zasilania USB na zasilanie z zasilacza, a tym samym podania na wejście stabilizatora odpowiedniej wartości napięcia, aby na jego wyjściu uzyskać 5V. Będziemy też wiedzieć czy zasilacz jaki zastosowaliśmy ma odpowiednie napięcie aby zasilić nasze urządzenie. Aby ułatwić sprawę napiszę jaką wartość napięcia zasilania można podać dla danego typu stabilizatora: -stablizator NCP1117ST50T3G 5V, 1A. Producent napisał, że maksymalne napięcie wejściowe to max 20V. Natomiast minimalne to 6,5V -stabilizator LM340MP-5.0/NOPB 5V, 1,5A Producent napisał, że maksymalne napięcie wejściowe to max 35V. Natomiast minimalne to 7,5V Jak też widać pomimo, że mechanizm przełączania zasilania jest identyczny jak w platformie uno i jej klonach, to trochę podrążyłem temat co przedstawiłem powyżej. Być może komuś te informacje okażą się przydatne przy projektowaniu własnego urządzenia z użyciem dzielnika napięcia. Dodanie do obwodu diody led oraz podstawowa wiedza na temat stabilizatorów oraz dzielnika napięcia z zastosowaniem wzmacniacza operacyjnego w roli komparatora, dała nam przydatną funkcję, dzięki której wszystkie elementy urządzenia, jak i te które przyłączymy do niego, będą zasilane odpowiednią wartością napięcia. Podsumowując dzięki diodzie LED USB wiemy, czy nasze urządzenie przełączyło się na zasilanie zewnętrzne (zasilacz) tym samym przełączenie to nastąpiło w momencie, kiedy nasz zasilacz ma odpowiednią wartość napięcia potrzebną do zasilenia stabilizatora, aby ten na wyjściu dał napięcie 5V potrzebne z kolei do zasilania podzespołów urządzenia oraz elementów do niego podłączonych. W największym skrócie - jak widać zależność napięcia wejściowego "VIN" (zasilacz), do którego podłączony jest stabilizator, do napięcia wyjściowego "UR19", które steruje wzmacniaczem operacyjnym w roli komparatora, którego rolą jest przełączanie źródła zasilania jest uzależniona od wartości rezystancji dzielnika napięcia. Znając wartość napięcia potrzebnego do zasilenia stabilizatora oraz fakt, że przy tej wartości napięcie na wyjściu dzielnika ma wynieść 3,3V dobieramy odpowiednią wartość rezystorów dla tego dzielnika. Dodam jeszcze, że zrezygnowałem z połączeń pomiędzy dwoma procesorami na liniach MISO, MOSI, SCK za pośrednictwem diod, tak jak to miało w pierwszej odsłonie urządzenia. Okazało się, że w przypadku linii MISO i MOSI jest to zbędne i urządzenie działa bez problemu. Inaczej jest w przypadku lini SCK, ale tutaj zastosowałem rozwiązanie z poziomu hardware niż softu. Jako, że miałem zamówionych więcej układów analog. MUX/DEMUX, to wolałem użyć go do połączenia pinów SCK procesorów IC1 i IC2 niż bawić się w modyfikację kodu. Efekt działania w końcu jest ten sam tylko metoda prowadząca do tego efektu inna. Kolejną rzeczą choć może mniej istotną jest możliwość uśpienia programatora ISP. Jeżeli na przykład drażnią kogoś świecące się diody led. Co mi rzadko ale bywa, że przeszkadza, szczególnie jak nie używamy programatora ISP aktualnie go do wgrywania bootloderów. Oszczędzanie energii w tym przypadku nie jest specjalnie duże (około 50mA), choć z drugiej strony lepiej mieć mniej niż wcale, szczególnie gdzie port USB ma wydajność 500mA. Aby aktywować uśpienie programatora naciskamy najpierw switch S1-RESET, a następnie przez chwilę przytrzymujemy S6-IC1 SLEEP. Diody: PMODE, HBEAT, ERROR powinny na chwilę zamrugać, a następnie razem z diodami BTLDR i PROGR nie powinny się zapalić. Wtedy programator jest uśpiony. W zależności od potrzeb i upodobań danego użytkownika, przygotowałem kilka różnych wersji zmodyfikowanego sketcha ArduinoISP. Mamy do dyspozycji z przytrzymywaniem switcha S2-SELECT na czas wgrywania bootloadera, z trybem uśpienia jak i bez, oraz bez przytrzymywania switcha S2-SELECT bez funkcji uśpienia. W tej wersji urządzenia, zaraz po zmontowaniu potrzebujemy 1szt. procesora z wgranym już bootloaderem, który będzie pełnił rolę programatora ISP - IC1. Najlepiej niech to będzie ATmega8, ze względu na fakt, że jest to do dziś najtańszy procesor oraz ilość pamięci jaką posiada jest wystarczająca do wgrania skecza ArduinoISP. Sam skecz wykorzystuje około 60% pamięci tego procesora. W poprzedniej wersji urządzenia aby wgrać skecz ArdunoISP, trzeba było najpierw ten procesor umieścić w podstawce IC2. Teraz można umieścić go bezpośrednio w podstawce IC1, dzięki czemu nie ma konieczności przekładania go - niekiedy dość upierdliwa czynność. Po włożeniu procesora do podstawki IC1, zakładamy zworkę na piny IC1PROGR. Zapala na się dioda LED IC1-PROGR. Włączamy środowisko Arduino IDE. O tym jak powinno być ono skonfigurowane dla danej wersji procesora i jak wgrać skecz do procesora opisałem w artykule: https://forbot.pl/forum/topic/19357-mwuinouno-bootloader-programmer-i-arduino-w-jednym/ Aby ułatwić szukanie opisu wgrywania skeczy, szukamy podtytuł (pogrubiona czcionka) "Tak więc:" i w tekście poniżej-siódma linijka tekstu, od zdania zaczynającego się od słów "Dla przykładu". Oczywiście zamiast switcha S2 używamy switch S1 i podstawka IC2 używamy IC1. Tutaj jak widać procesor IC1 musimy zresetować ręcznie switchem S1. Na początku myślałem aby to było robione z układu FTDI232RQ, ale w sumie nikt nie będzie często przeprogramowywał tego procesora ewentualnie raz na jakiś czas o ile zajdzie taka potrzeba, a obwód to raz, że więcej elementów, niepotrzebny koszt i stopień komplikacji urządzenia. Chyba lepsze jest aktualne rozwiązanie. Łatwiej jest raz na jakiś czas przed programowaniem nacisnąć przycisk reset niż bawić się w przekładanie procesora z podstawki do podstawki. Gdybyśmy nie mieli zworki tylko przewód połączeniowy, to jeden koniec przewodu podłączamy do pinu VCC a drugi do pinu złącza IC1PROGR oznaczonego kropką. Oczywiście dla urządzenia z układem FTDI232RQ. w momencie wgrywania skecza do procesora IC2 przed wgraniem następuje jego RESET jak to ma miejsce w platformie UNO i jej klonach. W przypadku wersji wymagającej podłączenia zewnętrznego konwertera jest to uzależnione właśnie od posiadanego przez nas konwertera, czy może on resetować procesor przed wgraniem skecza. Zatem jak widać bazowałem przede wszystkim na rozwiązaniach niespotykanych w oryginalnej platformie, a niektórych klonach tej platformy. Mimo wszystko jest też kilka moich pomysłów oraz co najważniejsze i trudne to zaprojektować PCB tak aby te rozwiązania mogły być zintegrowane oraz samo urządzenie możliwie zbliżone do wymiarów oryginalnej platformy UNO. Jak widać wiązało się to z pewnymi zmianami takimi jak inny układ pinów gniazd procesora IC2. Nie podłączymy co prawda do nich shieldów czyli nakładek zwiększających możliwości naszego urządzenia, lecz dzięki bliskości tych złącz, łącząc układ na płytce stykowej powinny nam wystarczyć przewody jednakowej długości, aby wykorzystać wszystkie piny procesora. Wiedzmy też, że prócz shieldów możemy też kupić funkcjonalne moduły na mniejszych PCB niż zaprojektowane shieldy i przy pomocy przewodów połączeniowych podłączyć je do urządzenia. Tak więc pomimo niestandardowego układu wyprowadzeń, dalej jesteśmy w stanie zbudować potrzebne nam urządzenie. Niewielką rekompensatą tego rozwiązania jest umieszczenie dodatkowych złączy w wersji męskiej. Dzięki czemu możemy stosować przewody połączeniowe z końcówka męską lub żeńską. Jednak postanowiłem jeszcze oprócz samego urządzenia i korzystając z tego, że JLCPB ceny są dość atrakcyjne, zaprojektować trzy nakładki do swojego urządzenia. Pierwsza "adapter shield" to nakładka, która umożliwia przejście z niestandardowego układu pinów mojej wersji platformy uno, na układ pinów zgodny z oryginalną platformą, dzięki czemu można używać dedykowanych shieldów. Zauważyłem, że niektóre shieldy mają dodatkowo złącze ICSP w wersji żeńskiej do podłączenia, jako że nie posiadam takiego shielda, nie jestem w stanie określić czy będzie on działać w pełni po podłączeniu do adapter shield. Jeżeli nie to pozostaje tylko skorzystać modułu w postaci PCB podłączanego do pinów przewodami połączeniowymi. Tak jak mamy na przykład ethernet shield oraz moduł ethernet w postaci małej płytki PCB z wyprowadzeniami podłączanymi przewodami połączeniowymi. To co wyróżnia się najbardziej to otwory na PCB, umieszczone nad diodami USB i PWR MwuinoUNO, dzięki czemu nie ma potrzeby stosowania diod LED na nakładce oraz zawsze niewielka, ale oszczędność pobieranego prądu. Mamy również otwory pod przełącznik napięcia 3,3V/5V oraz na włącznik zasilania Co jest widoczne na zdjęciach poniżej. 1. Wszystkie nakładki - strona BOTTOM 2. Nakładka "adapter shield" strona TOP podłączona do MWuinoUNO Drugą nakładką jest sensor shield. Płytka z pinami do podłączeń, sensorów i różnych modułów PCB, pozwalająca tworzyć nam bardziej zaawansowane układy. To co wyróżnia się najbardziej to otwory na PCB, umieszczone nad diodami USB i PWR MwuinoUNO, dzięki czemu nie ma potrzeby stosowania diod LED na nakładce oraz zawsze niewielka, ale oszczędność pobieranego prądu. Shield ten od większości dostępnych dla oryginalnej platformy UNO, posiada filtrację zasilania składającą się z kondensatorów ceramicznych i elektrolitycznych. Dwie pary kondensatorów. W każdej parze kondensator ceramiczny z kondensatorem elektrolitycznym umieszczone w odpowiedniej odległości aby zapewnić odpowiednią filtrację zasilania modułów, czujników itp. Dzięki temu mamy pewność, że nasz projekt będzie działać niezawodnie i stabilnie. Mamy również otwory pod przełącznik napięcia 3,3V/5V oraz na włącznik zasilania Co jest widoczne na zdjęciach poniżej. Nakładka "sensor shield" strona TOP podłączona do MWuinoUNO Trzecią nakładką jest gniazdo procesora, a dokładniej podstawka testowa ZIF. Umożliwia nam ona szybką wymianę procesora, za pośrednictwem dźwigni dociskającej jego piny do styków podstawki. Domyślnie można na PCB dla podstawki zamontować rezonator kwarcowy z kondensatorami i używać jej kiedy mamy do zaprogramowania dużą ilość procesorów. Możemy także na niej zamontować dodatkowo kondensatory filtrujące zasilanie, dławik, rezystor oraz switch do pinu reset. Mamy tym samym spełnione minimalne podłączenie procesora i możemy podpiąć przewodami połączeniowymi jakiś prosty moduł celem sprawdzenia jego działania z procesorem. Możemy też do jego gniazd włożyć listwę kołkową męską i wystające piny listwy wpiąć na płytkę stykową, nie podłączając elementów wymaganych do samej pracy procesora a podłączać tylko te którymi nasz procesor ma sterować lub te, które mają dostarczać sygnały do niego. Nakładka IC2 socket adapter strona TOP podłączona do MWuinoUNO Na zakończenie dodam, że jest to już ostatni artykuł z serii o Arduino UNO, gdzie starałem przedstawić się zalety jak i swoją wizję tej platformy. Następne moje projekty będą się tyczyć urządzeń zbudowanych a oparciu o platformę UNO. Mam nadzieję, że wszystkie informację, które do tej pory przedstawiłem okazały się pomocne, szczególnie dla osób początkujących, które zdecydowały się na wybór Arduino UNO jako platformy, z którą zaczynają naukę programowania i budowania urządzeń. Plik do pobrania: MWuinoUNO.zip W pliku tym znajdziemy dokumentację oraz wszystkie niezbędne pliki, gdybyśmy chcieli wykonać urządzenie, w tym skecze ArduinoISP do zaprogramowania IC1, a nawet sterownik dla układu FTDI232RQ dla WIN10. Edytowano Lipiec 11, 2021 przez Matthias 7
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »