Czemu "Fishino"? Nazwa pochodzi od żartu na Prima Aprilis (po włosku "Pesce d'Aprile", a "Pesce", (czyt. pasza) oznacza rybę). Żart dotyczył pojawienia się kolejnego klonu Arduino, pod nazwą Fishino Zero. Moduł miał mieć rewolucyjne wyposażenie, więc spotkał się z ogromnym zainteresowaniem. Żart żartem, ale logo i nazwa pozostały, gdyż autorzy postanowili na prawdę skonstruować moduł tego rodzaju. Do gotowego modułu dodano nazwę UNO, mającą symbolizować to, że to pierwszy moduł z serii a jednocześnie fakt, że jest to klon Arduino, będący kompatybilny z tymi modułami, jeśli chodzi o rozmiar i połączenia.
Kolejny klon Arduino?
Nie do końca. Płytka dedykowana jest do integracji świata Arduino, z ogromną ilością bibliotek i modułów rozszerzających z komunikacją poprzez internet. Moduł wyposażony został w gniazdo karty microSD i zegar czasu rzeczywistego z podtrzymaniem bateryjnym. Wszystko to w module tańszym od Arduino i niewiele większym od tego modułu - jedyne 7 mm wystającej anteny WiFi różni go wymiarami od Arduino.
Integracja szeregu peryferiów, obecnych w module Fishino, jest koniecznością w dobie Internetu Rzeczy. Moduł tego rodzaju pozwala na tworzenie ogromnej ilości aplikacji które mogą być kontrolowane poprzez internet lub zapisywać dane do sieci.
Poniżej wymieniono szereg potencjalnych aplikacji tego rodzaju modułu
* System automatyzacji domowej, zarządzany przez przeglądarkę
* Przenośny system logowania danych, który zapisuje je na kartę SD i do sieci, gdy połączenie WiFi jest dostępne
* Kontrolowane przez sieć roboty, które obsługują kanał zwrotny danych z sensorów
Przyszłe moduły tego rodzaju przewidują możliwość programowania poprzez WiFi, co pozwoli na wgrywanie nowszych wersji oprogramowania do układów poprzez sieć - bez konieczności fizycznego kontaktu urządzenia z komputerem.
Specyfikacja techniczna
* W pełni kompatybilny z Arduino UNO
* Moduł WiFi, może być wykorzystywany jako klient lub access point sieci.
* Slot MicroSD
* Zegar czasu rzeczywistego z podtrzymaniem bateryjnym
* Zwiększony prąd zasilacza 3,3 V
* Dodatkowe złącze, poprawiające kompatybilność Arduino z płytkami stykowymi
Schemat
Zasilacz
Fishino UNO, podobnie jak Arduino UNO, może być zasilane poprzez USB lub z zewnętrznego zasilacza. Układ automatycznie przełącza się na zasilanie zewnętrzne, jeśli jego napięcie jest dostatecznie wysokie, aby liniowy stabilizator (IC5) poprawnie działał.
Odmiennie niż oryginalny moduł Arduino i większość klonów, układ może dostarczyć dosyć dużego prądu dla zasilania 3,3 V. Dostarcza on od 7 do 800 mA, zależnie od zużycia prądu w linii 5 V.
Interfejs USB
W opisywanym module zastosowano układ CH340G do zapewnienia komunikacji przez USB. Wybór ten podyktowany został możliwością uproszczenia układu i zmniejszenia kosztów, przy jednoczesnym pozostawieniu osiągów układu na tym samym poziomie.
Układ ten wymaga jedynie kilku elementów zewnętrznych do pracy: kwarcu 12 MHz i trzech kondensatorów. Zasilany może być z napięcia 3,3 V lub 5 V. Zapewnia on wszystkie sygnały RS 232 - linie danych (Rx i Tx) oraz linie kontrolne (CTS, DSR, DXD, DTR i RTS).
Mikrokontroler Atmega328P
Ta część układu jest niemalże taka sama jak w oryginale, jedynie w montażu SMD z uwagi na wymagania co do wielkości płytki.
Złącza I/O
Jak widać na zdjęciach, dodany został dodatkowy 10 pinowy konektor, mający za zadanie ułatwić podłączanie modułu do płytki stykowej. Dzięki przesunięciu jej względem oryginalnego złącza nie ma problemów z kompatybilnością z istniejącymi shieldami do Arduino.
Interfejs SPI
Większość układów Fishino pracować może z napięciem 5V, jedynie kata microSD i moduł WiFi bezwzględnie muszą być zasilanie napięciem 3,3 V i komunikować się w takim standardzie, inaczej mogą ulec uszkodzeniu. Dlatego też w układ wbudowano translatory poziomu, pozwalające na zmianę 5 V na 3,3 V z pomocą dzielnika napięciowego (w drugą stronę komunikacja przebiega bez dodatkowej pomocy).
Takie rozwiązanie jest bardzo proste i pozwala oszczędzić sporo kosztów i powierzchni PCB. Można oczywiście było zastosować tranzystor FET lub dedykowane, scalone translatory, ale to znacznie zwiększa koszt układu. Jest tylko jeden problem z opornikami - ich rezystancja spełniać musi jednocześnie dwa przeciwne wymagania: impedancja dzielnika musi być możliwie duża, aby nie przeciążać wyjść ATmegi i jednocześnie możliwie mała, aby nie wprowadzać opóźnień na skutek wysokiej pojemności. Wartości dobrano eksperymentalnie, aby były kompromisem pomiędzy tymi wymaganiami.
Interfejs karty MicroSD
Interfejs karty SD jest dosyć prosty i w zasadzie jest taki sam, jak w modułach rozszerzających dla Arduino. Karta MicroSD podłączona jest do mikrokontrolera poprzez SPI, wykorzystując linie MOSI, MISO, SCK i SDCS.
Moduł WiFi
Jeśli ATmega jest mózgiem układu, to moduł WiFi jest jego oknem na świat zewnętrzny i głównym elementem, który odróżnia ten moduł od innych klonów Arduino. Pomysł zainstalowania modułu WiFi w takim systemie pojawił się wraz z potrzebą zarządzania np. systemami automatyzacji domowej, poprzez internet. Nie jest to nowatorski pomysł, jednakże dotychczas nie było to możliwe z wykorzystaniem jednego modułu, a konieczne były dodatkowe.
Moduł WiFi w Fishino oparty jest o kontroler ESP8266. To niewielki, ale bardzo potężny moduł zbudowany wokół 32 bitowego procesora z dużą pamięcią FLASH (od 1 do 4 MBit) i około 90 KB RAMu. PCB modułu posiada zintegrowaną antenę.
Układ resetujący
System resetowania jest w Fishino trochę inny niż w Arduino. Wynika to z konieczności resetowania ATmegi oraz modułu z ESP8266. Dodatkowo, aby możliwe było wgrywanie programu poprzez WiFi to moduł ESP musi móc zresetować samą ATmegę. Rozwiązano to dodatkowym układem w module.
Zegar czasu rzeczywistego
Ostatnim opisywanym elementem sprzętu w module, jest zegar czasu rzeczywistego. Jest to układ scalony DS1307 firmy Maxim, pracujący wraz z oscylatorem 32 kHz jak zegar, podtrzymywany baterią. Komunikuje się on z układem poprzez interfejs I2C. Moduł jest kopią schematu aplikacyjnego z noty katalogowej firmy Maxim i jest w pełni kompatybilny z bibliotekami Arduno RTC.
Sterowniki USB
Jak napisano powyżej, Fishino korzysta z modułu USB/port szeregowy CH340G, do którego wymagane są sterowniki, przynajmniej w Windowsach do wersji 7. Od wersji 8 i powyżej sterowniki tego rodzaju wbudowane są w Windows. Pod Linuxem nie ma tego problemu, sterowniki domyślnie są w kernelu.
Źródło: http://www.open-electronics.org/fishino-arduino-become-wireless/
Kolejny klon Arduino?
Nie do końca. Płytka dedykowana jest do integracji świata Arduino, z ogromną ilością bibliotek i modułów rozszerzających z komunikacją poprzez internet. Moduł wyposażony został w gniazdo karty microSD i zegar czasu rzeczywistego z podtrzymaniem bateryjnym. Wszystko to w module tańszym od Arduino i niewiele większym od tego modułu - jedyne 7 mm wystającej anteny WiFi różni go wymiarami od Arduino.
Integracja szeregu peryferiów, obecnych w module Fishino, jest koniecznością w dobie Internetu Rzeczy. Moduł tego rodzaju pozwala na tworzenie ogromnej ilości aplikacji które mogą być kontrolowane poprzez internet lub zapisywać dane do sieci.
Poniżej wymieniono szereg potencjalnych aplikacji tego rodzaju modułu
* System automatyzacji domowej, zarządzany przez przeglądarkę
* Przenośny system logowania danych, który zapisuje je na kartę SD i do sieci, gdy połączenie WiFi jest dostępne
* Kontrolowane przez sieć roboty, które obsługują kanał zwrotny danych z sensorów
Przyszłe moduły tego rodzaju przewidują możliwość programowania poprzez WiFi, co pozwoli na wgrywanie nowszych wersji oprogramowania do układów poprzez sieć - bez konieczności fizycznego kontaktu urządzenia z komputerem.
Specyfikacja techniczna
* W pełni kompatybilny z Arduino UNO
* Moduł WiFi, może być wykorzystywany jako klient lub access point sieci.
* Slot MicroSD
* Zegar czasu rzeczywistego z podtrzymaniem bateryjnym
* Zwiększony prąd zasilacza 3,3 V
* Dodatkowe złącze, poprawiające kompatybilność Arduino z płytkami stykowymi
Schemat
Zasilacz
Fishino UNO, podobnie jak Arduino UNO, może być zasilane poprzez USB lub z zewnętrznego zasilacza. Układ automatycznie przełącza się na zasilanie zewnętrzne, jeśli jego napięcie jest dostatecznie wysokie, aby liniowy stabilizator (IC5) poprawnie działał.
Odmiennie niż oryginalny moduł Arduino i większość klonów, układ może dostarczyć dosyć dużego prądu dla zasilania 3,3 V. Dostarcza on od 7 do 800 mA, zależnie od zużycia prądu w linii 5 V.
Interfejs USB
W opisywanym module zastosowano układ CH340G do zapewnienia komunikacji przez USB. Wybór ten podyktowany został możliwością uproszczenia układu i zmniejszenia kosztów, przy jednoczesnym pozostawieniu osiągów układu na tym samym poziomie.
Układ ten wymaga jedynie kilku elementów zewnętrznych do pracy: kwarcu 12 MHz i trzech kondensatorów. Zasilany może być z napięcia 3,3 V lub 5 V. Zapewnia on wszystkie sygnały RS 232 - linie danych (Rx i Tx) oraz linie kontrolne (CTS, DSR, DXD, DTR i RTS).
Mikrokontroler Atmega328P
Ta część układu jest niemalże taka sama jak w oryginale, jedynie w montażu SMD z uwagi na wymagania co do wielkości płytki.
Złącza I/O
Jak widać na zdjęciach, dodany został dodatkowy 10 pinowy konektor, mający za zadanie ułatwić podłączanie modułu do płytki stykowej. Dzięki przesunięciu jej względem oryginalnego złącza nie ma problemów z kompatybilnością z istniejącymi shieldami do Arduino.
Interfejs SPI
Większość układów Fishino pracować może z napięciem 5V, jedynie kata microSD i moduł WiFi bezwzględnie muszą być zasilanie napięciem 3,3 V i komunikować się w takim standardzie, inaczej mogą ulec uszkodzeniu. Dlatego też w układ wbudowano translatory poziomu, pozwalające na zmianę 5 V na 3,3 V z pomocą dzielnika napięciowego (w drugą stronę komunikacja przebiega bez dodatkowej pomocy).
Takie rozwiązanie jest bardzo proste i pozwala oszczędzić sporo kosztów i powierzchni PCB. Można oczywiście było zastosować tranzystor FET lub dedykowane, scalone translatory, ale to znacznie zwiększa koszt układu. Jest tylko jeden problem z opornikami - ich rezystancja spełniać musi jednocześnie dwa przeciwne wymagania: impedancja dzielnika musi być możliwie duża, aby nie przeciążać wyjść ATmegi i jednocześnie możliwie mała, aby nie wprowadzać opóźnień na skutek wysokiej pojemności. Wartości dobrano eksperymentalnie, aby były kompromisem pomiędzy tymi wymaganiami.
Interfejs karty MicroSD
Interfejs karty SD jest dosyć prosty i w zasadzie jest taki sam, jak w modułach rozszerzających dla Arduino. Karta MicroSD podłączona jest do mikrokontrolera poprzez SPI, wykorzystując linie MOSI, MISO, SCK i SDCS.
Moduł WiFi
Jeśli ATmega jest mózgiem układu, to moduł WiFi jest jego oknem na świat zewnętrzny i głównym elementem, który odróżnia ten moduł od innych klonów Arduino. Pomysł zainstalowania modułu WiFi w takim systemie pojawił się wraz z potrzebą zarządzania np. systemami automatyzacji domowej, poprzez internet. Nie jest to nowatorski pomysł, jednakże dotychczas nie było to możliwe z wykorzystaniem jednego modułu, a konieczne były dodatkowe.
Moduł WiFi w Fishino oparty jest o kontroler ESP8266. To niewielki, ale bardzo potężny moduł zbudowany wokół 32 bitowego procesora z dużą pamięcią FLASH (od 1 do 4 MBit) i około 90 KB RAMu. PCB modułu posiada zintegrowaną antenę.
Układ resetujący
System resetowania jest w Fishino trochę inny niż w Arduino. Wynika to z konieczności resetowania ATmegi oraz modułu z ESP8266. Dodatkowo, aby możliwe było wgrywanie programu poprzez WiFi to moduł ESP musi móc zresetować samą ATmegę. Rozwiązano to dodatkowym układem w module.
Zegar czasu rzeczywistego
Ostatnim opisywanym elementem sprzętu w module, jest zegar czasu rzeczywistego. Jest to układ scalony DS1307 firmy Maxim, pracujący wraz z oscylatorem 32 kHz jak zegar, podtrzymywany baterią. Komunikuje się on z układem poprzez interfejs I2C. Moduł jest kopią schematu aplikacyjnego z noty katalogowej firmy Maxim i jest w pełni kompatybilny z bibliotekami Arduno RTC.
Sterowniki USB
Jak napisano powyżej, Fishino korzysta z modułu USB/port szeregowy CH340G, do którego wymagane są sterowniki, przynajmniej w Windowsach do wersji 7. Od wersji 8 i powyżej sterowniki tego rodzaju wbudowane są w Windows. Pod Linuxem nie ma tego problemu, sterowniki domyślnie są w kernelu.
Źródło: http://www.open-electronics.org/fishino-arduino-become-wireless/
Cool? Ranking DIY