AVTDuino UNO R4 Plus

AVTDuino UNO R4 Plus

Pojawienie się na rynku Arduino UNO R4 wzbudziło spore zainteresowanie, jednak wersja bazowa płytki Minima ma kilka niedoskonałości, które zostały wyeliminowane w zaproponowanym AVTDuino UNO R4 Plus.

Podstawowe parametry:
  • płytka kompatybilna z Arduino UNO R4,
  • zakres napięcia zasilania to 6,5...30 V (nieco więcej niż w przypadku UNO R4),
  • zasilane poprzez złącze USBC, zawiera układ idealnej diody (nie wnosi spadku napięcia),
  • miejsce na dodatkową pamięć EEPROM typu 24C128,
  • złącze BAT dla napięcia podtrzymania zegara RTC,
  • złącza SWD, UART, CAN, I²C.

Identycznie jak w Arduino UNO R4, nakładka zawiera procesor R7FA4M1AB3CFM z rodziny R4M firmy Renesas, którego budowę pokazano na rysunku 1. Układ zawiera 32-bitowy rdzeń ARM M4 taktowany zegarem do 48 MHz, jest wyposażony w jednostkę FPU i bogate peryferia. Pozwala to na znaczące zwiększenie wydajności i możliwości aplikacyjnych w porównaniu z UNO R3.

Rysunek 1. Budowa wewnętrzna procesora R7FA4M1 (za notą Renesas)

Budowa i działanie

Schemat AVTDuino UNO R4 Plus został pokazany na rysunku 2. W porównaniu do wersji Minima całkowicie zmieniony został obwód zasilania. Zewnętrzne zasilanie poprzez rozłączane złącze śrubowe DCIN typu MC1.5 doprowadzone jest do przetwornicy obniżającej U1 typu MPQ4420. Układ ten wybrano ze względu na szeroki zakres napięcia zasilania, względnie prostą aplikację i przystępną cenę. Układ pracuje w fabrycznej aplikacji. Zakres napięcia zasilania, przy którym przetwornica pracuje poprawnie, to 6,5...30 V, więc nieco więcej niż w przypadku UNO R4. Dioda Schottky’ego D1 zabezpiecza układ przed odwrotnym podłączeniem zasilania, transil TVS1 przed skutkami przepięć. Kondensatory CE1, C1, C2 zapewniają filtrację zasilania.

Rysunek 2. Schemat AVTDuino UNO R4 Plus

Napięcie wejściowe ze złącza DCIN po zabezpieczeniu przez D1, TVS1 doprowadzone jest poprzez zworę VIN do złącza PWR Arduino. Zastosowanie zwory, która dla bezpieczeństwa powinna być domyślnie rozwarta, zabezpiecza nakładki, korzystające z zasilania poprzez wyprowadzenie VIN, przed uszkodzeniem w wyniku podania zbyt wysokiego napięcia VIN>12 V, do którego R4 jest przystosowane, a nakładki już niekoniecznie. Dzieje się tak pomimo nieco mylącego zapewnienia ze strony zespołu Arduino o pełnej zgodności, która, jak się okazuje, nie dotyczy napięcia zasilania.

Arduino R3 i nakładki np. Motor Shield R3 pracują poprawnie przy zasilaniu VIN maksymalnie 12 V, podobnie nie wiadomo, jak zachowa się Ethernet Shield 2 w wersji PoE, gdy zostanie zasilony napięciem >12 V od strony wyprowadzenia VIN, nie wspominając już o zachowaniu nakładek alternatywnych zaprojektowanych poza zespołem Arduino, których zgodność z R4 należy zweryfikować we własnym zakresie.

UWAGA: proszę zwrócić szczególną uwagę na zgodność zakresu napięcia zasilania zastosowanych nakładek z napięciem zasilania Arduino R4 UNO MINIMA/Wi-Fi oraz AVTDuino UNO R4 Plus, gdyż podanie napięcia VIN większego niż 12 V, z którym każda wersja płytki R4 pracuje poprawnie, może je uszkodzić!

Dzielnik R1, R2 jest elementem zabezpieczenia podnapięciowego ULVO, z określonym progiem 4,8 V (+ spadek na D1), poniżej którego przetwornica zostanie wyłączona. Rezystory R4, R5, R6 są dzielnikiem ustalającym napięcie wyjściowe przetwornicy, które w modelu ustalone jest na ok. 5,2 V, aby częściowo skompensować spadek na kluczu zasilania (D2). Wydajność prądowa przetwornicy to 1 A, z krótkotrwałą możliwością poboru do 1,5 A.

AVTDuino UNO R4 Plus może być oczywiście zasilane poprzez złącze USBC. W wersji UNO R4 kluczowanie napięć zrealizowane jest tylko przez jedną diodę, co skutkuje sporym spadkiem napięcia 5 V, gdy zasilamy Arduino ze złącza USBC. Jest to szczególnie uciążliwe, gdy obwody zasilania we współpracującym komputerze potraktowano równie oszczędnie, wtedy napięcie 5 V potrafi obniżyć się do 4,5 V, co nie gwarantuje poprawnej pracy podłączonych rozszerzeń.

W AVTDuino UNO R4 Plus do kluczowania zasilania z portu USBC zastosowano diodę idealną U2 typu LTC4411. Zapewnia ona zabezpieczenie przeciwzwarciowe (2,6 A), zabezpiecza przed wstecznym przepływem napięcia V50P z wbudowanej przetwornicy do portu USBC oraz umożliwia współdzielenie prądu obciążenia z przetwornicą U1 zasilaną z zewnętrznego źródła. Ze względu na to, że układ U2 jest dosyć drogi, zrezygnowałem z użycia go także w obwodzie zasilania przetwornicy U1 (potencjał V50P), zastępując go diodą Schottky’ego D2 o ultraniskim spadku napięcia (katalogowo Vf=350 mV przy 1 A) typu RB051LAM i kompensując częściowo spadek napięcia podniesieniem napięcia wyjściowego przetwornicy do 5,2 V.

Dioda LD1 PWR sygnalizuje obecność zasilania 5 V. Z 5 V uzyskiwane jest dodatkowe napięcie 3,3 V o obciążalności 150 mA (chwilowo 200 mA), które doprowadzone jest do złącza PWR. Zrezygnowałem z wbudowanego w procesor stabilizatora LDO na rzecz układu U4 typu MCP1703. Rezygnacja z wbudowanego LDO zabezpiecza procesor przed uszkodzeniem w przypadku pomyłek przy uruchamianiu lub przeciążenia wbudowanego LDO, eliminując też dodatkowe nagrzewanie układu przy większych obciążeniach.

Złącze BAT, niedostępne w UNO R4 Minima, umożliwia podtrzymanie zegara RTC zewnętrznym źródłem zasilania, np. baterią 3 V, chociaż w dalszym ciągu nie rozwiązano problemu poprawnej obsługi RTC w środowisku Arduino.

Sama aplikacja procesora U3 typu R7FA4M1AB3CFM nie odbiega od wersji UNO R4. Pozostawiłem procesor w obudowie TQFP64, gdyż jest to aktualnie jedyna wersja dostępna w ilościach detalicznych. Filtry FB2, C18, FB3, C17 filtrują dodatkowo zasilanie części analogowej. Na płytce pozostawiono miejsce na zewnętrzne oscylatory procesora XT1, C12, C13 oraz zegara RTC XT2, C22, C23, które standardowo pozostają niewlutowane. Można ich użyć do własnej implementacji zmian w systemie taktowania U3.

Interfejs USBC został zabezpieczony przed skutkami przepięć przez układ TVS2 typu ESD204. Przycisk RES umożliwia manualny restart procesora U3. Wszystkie wbudowane diody sygnalizacyjne LED, tj. P012, P013, L, są odseparowane od procesora poprzez bufory U5, U7 typu LVC2G34. Pozwala to odciążyć wyprowadzenia IO oraz wyprowadzenie zasilania U3 i przeznaczyć kilka dodatkowych mA dla potrzeb użytkownika. Należy pamiętać, że procesory R7FA4M1Axx oferują tylko 8 mA obciążalności prądowej wyprowadzeń IO.

Na płytce znalazło się miejsce na opcjonalną, uzupełniającą wbudowaną w procesor pamięć DATA Flash pamięć EEPROM U6 typu 24C128 (lub dowolną inną zgodną wyprowadzeniami), której interfejs I²C może zostać odłączony przełącznikiem E2PROM.

Złącze SWD umożliwia podłączenie zgodnego programatora/debuggera. Dodatkowo na złącza Grove (standard 5 V) wyprowadzono sygnały interfejsów szeregowych UART, CAN, I²C lub odpowiadających im sygnałów cyfrowych i analogowych ułatwiające szybkie prototypowanie.

Od spodu płytki na pady wyprowadzono zasilanie 5V i masę oraz sygnały P400, P401, P402, na które można skonfigurować drugi interfejs I²C jak w UNO R4 Wi-Fi.

Montaż i uruchomienie

Układ zmontowany jest na dwustronnej płytce drukowanej zgodnej z Arduino (Shield) Rev3, której schemat został pokazany na rysunku 3.

Rysunek 3. Schemat płytki PCB AVTDuino UNO R4 Plus

Montaż należy wykonać zgodnie z ogólnymi zasadami i nie wymaga on szczegółowego opisu. Zmontowany moduł został pokazany na fotografii 1.

Fotografia 1. Wygląd zmontowanego modułu

Moduł nie wymaga uruchamiania. Po zmontowaniu przy zasilaniu z USBC i zasilacza zewnętrznego należy sprawdzić obecność napięć 5 V i 3,3 V. Obecność zasilania powinna być sygnalizowana świeceniem diody LD1 PWR. Jeżeli napięcia są obecne, należy zaprogramować bootloader zgodny z Arduino. W tym celu należy ze strony Renesas pobrać i zainstalować oprogramowanie RFPP Renesas_Flash_Programmer_Package_Vxx w aktualnej wersji (wymagana rejestracja). Po poprawnej instalacji do komputera z systemem Windows należy podłączyć płytkę AVTDuino UNO R4 Plus ze zwartym do masy wyprowadzeniem MD (złącze PWR), które uruchomi tryb programowania procesora. Plik Bootloader dfu_minima.hex dla Arduino R4 UNO znajduje się w katalogu użytkownika:

Users\NazwaUżytkownika\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.0.5\bootloaders\UNO_R4\

Zgodnie z rysunkami 4 i 5 należy ustawić opcje połączenia: Connect Settings oraz programowania: Operation Settings. Następnie w zakładce Operation należy wybrać aktualną ścieżkę bootloadera dfu_minima.hex i rozpocząć programowanie (rysunek 6) po przyciśnięciu przycisku RES na płytce AVTDuino UNO R4 Plus. W przypadku problemów z zaprogramowaniem należy powtórzyć całą procedurę.

Rysunek 4. Ustawienie opcji połączenia
Rysunek 5. Ustawienie opcji programowania
Rysunek 6. Programowanie bootloadera Arduino

Alternatywnie, jeżeli posiadamy programator J-Link, procesor można zaprogramować, używając złącza SWD. Jeżeli programowanie przebiegło poprawnie, należy płytkę odłączyć od komputera, zamknąć oprogramowanie RFPP i ponownie podłączyć AVTDuino UNO R4 Plus do komputera. W systemie Windows 10 instalacja odbędzie się automatycznie i płytka powinna pojawić się jako urządzenie portu COM.

Po uruchomieniu środowiska i ewentualnej instalacji lub aktualizacji (najnowsza wersja 1.0.5) płytek Arduino R4 UNO Boards by Arduino płytka powinna być widoczna w wyborze menedżera płytek i dostępna do programowania. W przypadku problemów z wgrywaniem aplikacji należy sprawdzić poprawność instalacji urządzenia DFU-RT Port i odpowiadającego urządzenia szeregowego USB(COMxx). W przypadku problemów należy ponownie zainstalować drivery w trybie administratora. Jeżeli wszystko działa poprawnie, można zastosować płytkę we własnych projektach.

Adam Tatuś, EP

Wykaz elementów:
Rezystory: (SMD0603, 1%)
  • R1, R4, R18: 100 kΩ
  • R2: 41,2 kΩ
  • R3: 20 Ω
  • R5: 27 kΩ
  • R6: 18 kΩ
  • R7, R25, R26, R27: 220 kΩ
  • R8...R24: 5,1 kΩ
Kondensatory:
  • C1: 4,7 μF/50 V (SMD1206)
  • CE1: 47 μF/50 V (CESMD6.3)
  • C2, C3, C5: 0,1 μF/50 V (SMD0603)
  • C4A, C4B: 22 μF/10 V (SMD0805)
  • C6, C7, C8, C25, C26: 10 μF/10 V (SMD0603)
  • C9, C11, C15, C16, C17, C21, C24, : 0,1 μF/10 V (SMD0603)
  • C10, C14, C19, C20: 4,7 μF/10 V (SMD0603)
  • C12, C13, C22, C23: 12 pF COG (SMD0402) (opcja)
  • C18: 1 μF/10 V (SMD0603)
Półprzewodniki:
  • D1: dioda Schottky’ego Low Vf B250-13-F (SMB_D)
  • D2: dioda Schottky’ego Ultra Low Vf RB051LAM-40 (SOD128)
  • D3: dioda Schottky’ego podwójna wspólna katoda BAT54C (SOT-23)
  • LD1: dioda LED czerwona (SMD0603)
  • LD2, LD3: dioda LED żółta (SMD0603)
  • LD4: dioda LED zielona (SMD0603)
  • TVS1: SM6T33A (SMB_D) Transil
  • TVS2: ESD204 (USON10)
  • U1: MPQ4420GJ (TSOT23-8)
  • U2: LTC4411 (SOT-23-5)
  • U3: R7FA4M1AB3CFM (LQFP64)
  • U4: MCP1703T-330MB (SOT-89)
  • U5, U7: 74L VC2G34GW,125 (SC88)
  • U6: 24LC128 (SO8) (opcja)
Pozostałe:
  • AD: listwa męska SIP6 (Arduino)
  • BAT: złącze JST 2 mm 2 piny proste (opcja)
  • CAN, UART1: złącze Grove proste (110990030)
  • DCIN: złącze MC1.5 kątowe + wtyk
  • E2PROM: przełącznik DIP, 2 poz. Omron
  • FB1: dławik BLM18EG101 (SMD0603)
  • FB2, FB3: dławik BLM18AG601 (SMD0603)
  • I²C, UART: złącze Grove kątowe (110990037)
  • IOH: listwa męska SIP10 (Arduino)
  • IOL, PWR: listwa męska SIP8 (Arduino)
  • ISP: złącze IDC 6 (2×3 piny)
  • L1: 6,8 μH SRP5030T-6R8M
  • RES: mikroprzełacznik PB 6×3 mm
  • SWD: złącze szpilkowe 2×5 pinów 1,27 mm
  • USBC: złącze USBC USB4110GTC
  • VIN: listwa żeńska SIP2 + zwora
  • XT1: kwarc 16 MHz (3,2×2,5)
  • XT2: kwarc 32,768 kHz (ABS05)
Artykuł ukazał się w
Elektronika Praktyczna
styczeń 2024
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje maj 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich czerwiec 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów