Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino nie jest tylko dla hobbystów

ghost666 19 Wrz 2017 15:08 4569 26
  • Arduino nie jest tylko dla hobbystów
    Niedawno przestrzegaliśmy, na łamach forum, żeby nie korzystać z modułów Arduino jak i samego IDE w zastosowaniach komercyjnych. Wielu z Was się z tym zgadzało, ale były także głosy sprzeciwu. Wielu konstruktorów się z Wami zgadza, uważają oni, że moduły Arduino rzeczywiście nadają się do konstrukcji urządzeń.

    Arduino okazało się być idealnym wyborem dla JF Machines Ltd - producent zaawansowanych, przemysłowych drukarek cyfrowych. Dzięki wykorzystaniu bezpiecznej, otwartej i sprawdzonej platformy sprzętowej i programowej firma mogła stworzyć niedrogi interfejs do podłączenia swoich drukarek do komputera PC w bardzo krótkim czasie i niewielkim nakładem sił.

    Autor artykułu pracował w JF Machines w 2009 roku, gdzie odpowiedzialny był za tworzenie oprogramowania operatorskiego dla nowej cyfrowej drukarki - PicoColour. Taka drukarka to nic więcej, jak tylko znacznie większa, szybsza i wytrzymalsza drukarka o zasadzie działania podobnej do tych domowych urządzeń - 1,5 tony precyzyjnej mechaniki i elektroniki. Dotychczasowo sterowana ona była z pomocą dedykowanych układów elektronicznych i sterowników programowalnych (PLC), jak ma to miejsce w większości tego rodzaju urządzeń - produkowanych w niewielkich seriach, zaawansowanych systemów.

    PLC jest zazwyczaj programowany w jakimś wysokopoziomowym języku programowania, często np. w języku drabinkowym. Idealnie nadaje się do sterowania urządzeniami przemysłowymi, nie wymaga zbyt dużej ilości zewnętrznych układów elektronicznych etc, ale nie jest pozbawiony wad. Głównym problemem jest tutaj ogromne przywiązanie do marki. W większości wypadków, jak nie w każdym, PLC to rozwiązania mocno dedykowane, więc jeśli zaprojektowało się już całą platformę, osprzęt i oprogramowanie dla danej aplikacji wykorzystującej konkretny moduł PLC ciężko jest wykorzystać inny moduł. Jeśli producent w takim momencie zaprzestanie produkcji konkretnego modułu lub też, co gorsza, z jakiegoś powodu w ogóle wycofa się z rynku, to mamy poważny problem.

    Jeśli mamy odrobinę szczęścia, to może okazać się, że dana firma wprowadziła do swojej oferty podobny, nowszy PLC, będący jego funkcjonalnym zamiennikiem - nie da się nim od tak po prostu zastąpić starego PLC, ale ma podobne możliwości, więc nie jest wymagane zbyt wiele pracy, aby podmienić moduł PLC. Identyczny problem jest z oprogramowaniem - jest ono pisane w oprogramowaniu dedykowanym do modułów danego producenta i danej rodziny PLC. Oznacza to, że w momencie wycofania wsparcia dla konkretnego PLC nasze oprogramowanie staje się zupełnie bezwartościowe. Z uwagi na te zależności wykorzystanie modułów PLC w seryjnie produkowanych urządzeniach jest problematyczne i co jakiś czas trzeba mierzyć się z takimi wyzwaniami jak opisane powyżej. Jeśli teraz dołożymy do tego wysoką cenę takich urządzeń, to nie ma co dziwić się, że wiele firm robi wszystko co możliwe aby z nich zrezygnować. Ale czy są jakieś alternatywy?

    Jedną z takich alternatyw jest Arduino. Większość z nas zna je z hobbystycznych, amatorskich projektów, ale nie oznacza to, że nie może znaleźć zastosowania w profesjonalnych, złożonych systemach. Przed takim wyzwaniem postawił właśnie ten ekosystem autor artykułu. Postanowił on oprzeć kontroler systemu cyrkulacji tuszu w drukarce o moduły Arduino. Sprawne działanie tego modułu jest kluczowe dla długofalowego powodzenia w druku, a jednocześnie sterowanie nie jest aż tak bardzo złożone. System ma za zadanie sterować precyzyjnie podnoszeniem i opuszczaniem pięciu pojemników z tuszem, znajdujących się w drukarce, aby utrzymać stałe ciśnienie tuszy. Dodatkowo układ mierzy także temperaturę w układzie (trzeba dostosowywać do niej ciśnienie tuszy), informuje użytkownika o ewentualnych awariach jak i komunikuje się z operatorem. W takiej aplikacji doskonale sprawdzić by się mógł moduł PLC, jednakże Arduino okazało id być równie dobrym rozwiązaniem.

    Na zdjęciu poniżej widzimy płytkę drukowaną dedykowaną do podłączenia pięciu zwykłych modułów Arduino.

    Arduino nie jest tylko dla hobbystów


    Wraz z tworzeniem nowego systemu autor był coraz bardziej przekonany, że była to dobra decyzja. Autor wymienia kilka zasadniczych zalet wykorzystania Arduino, nawet w środowisku przemysłowym w gotowym, dedykowanym produkcie:

    Bezpieczeństwo dostaw - nawet jeżeli firma Arduino zatrzyma produkcję swoich modułów i wycofa się z rynku, to wiele innych firm produkuje kompatybilne moduły, szczególnie że cały wszystkie moduły są w pełni otwarte. Co więcej, nawet gdyby coś miało zmienić się w projekcie, to łatwo zaprojektować można np. przejściówkę z nowego na stary pinout... istnieje też duża szansa, że zważywszy na ogromne środowisku ludzi pracujących z Arduino, taka przejściówka pojawiłaby się za grosze na rynku komercyjnym. Można z pewnością założyć, że tego typu moduł będzie dostępny tak długo, jak producent mikrokontrolera - Atmel (niedawno kupiony przez Microchipa - sprzedawać będzie ten układ. W najgorszym wypadku moduł kompatybilny z Arduino produkować można samodzielnie, cała dokumentacja jest dostępna.

    Elastyczność - platforma Arduino jest niezwykle elastyczna. Od momentu zaprojektowania systemu kontroli ciśnienia tuszu JF Machines znalazło szereg dodatkowych zastosowań dla tych modułów w maszynie. Jednym z nich jest na przykład kontrola głównego silnika krokowego drukarki, co przydaje się aby np. manualnie wycofać papier z drukarki - w przypadku krótkich serii i drukowania niewielkiej ilości można wycofać zaczętą rolkę, dzięki czemu oszczędzić można kilka metrów bieżących dosyć drogiego papieru.

    Łatwość łączenia z komputerem PC - Podstawą większości aplikacji jest kontrola jakiegoś systemu i komunikacja z zewnętrznymi urządzeniami, na przykład komputerem PC. Arduino sprawdza się w tym zakresie doskonale, ponieważ wyposażone jest standardowy port COM emulowany poprzez USB. Dzięki wysokopoziomowemu podejściu do komunikacji z tym systemem, jest to niezwykle proste i łatwe do implementacji, tak po stronie mikrokontrolera, jak i komputera PC. Dzięki temu możliwe było zaimplementowanie w urządzeniu wielu dodatkowych, przydatnych funkcji, pozwalających np. oszczędzać tusz.

    Możliwość modyfikacji po instalacji - dzięki dużej elastyczności system ten można bardzo łatwo przeprogramowywać. Wyobraźmy sobie sytuację w której maszyna wymaga zmiany parametrów albo wprowadzenia poprawek w programie już po instalacji jej u klienta. W przypadku wykorzystania modułu PLC oznaczałoby to konieczność wizyty technika z laptopem i specjalnym kablem do programowania, co oznacza duże koszty, które ktoś musiałby ponieść. Jeśli wykorzystani Arduino, to nic nie stoi na przeszkodzie, aby po prostu wysłać do klienta nowy moduł zaprogramowany uaktualnioną wersją oprogramowania. Moduł jest na tyle tani, że koszt takiej operacji jest niemalże pomijalny, a dzięki temu np. aktualizacje softu wysyłać można po prostu pocztą, jako list polecony. Stare moduły Arduino mogą być odsyłane z powrotem do producenta systemu, albo utylizowane bądź po prostu wykorzystywane gdzieś, prze hobbystów, cieszących się z darmowego modułu :).

    Niskie koszty - gdy rozmawia się z hobbystami na temat modułów Arduino często słyszy się przeciwny argument, tj. że moduły te są drogie. Jest to poniekąd prawda, bo jeśli chodzi o koszt zakupu modułu i wykorzystywanie go do jednostkowo projektowanych urządzeń, to jest on wysoki, aczkolwiek - raczej taniej sami tego nie zrobimy. Jednakże jeśli porównujemy koszty modułu Arduino z kosztem sterownika PLC, to zasadniczo koszty tego pierwszego są zerowe.

    Oczywiście, te wszelkie zalety to nie koniec - są też pewne problemy. Pierwszym z nich może być konieczność nauki nowego środowiska programistycznego, co jest potrzebne tak do stworzenia aplikacji jak i jej późniejszego modyfikowania i utrzymywania. Na szczęście Arduino IDE jest bardzo prostym pakietem, a wykorzystywany w nim język jest uproszczoną wersją C++, co znacznie ułatwia naukę i korzystanie z całego ekosystemu.

    Kolejnym problemem jest kontrola wersji kodu. W zakresie takim jak pracuje JF Machines, to znaczy maszyn dopasowanych do zamówienia od konkretnego użytkownika jest to o tyle problematyczne, że kusi, aby każda wersja kodu dla każdego klienta była osobnym forkiem kodu, jednakże - analogicznie jak w przypadku sprzętu - utrzymanie tak złożonej struktury systemu kontroli wersji nastręcza wielu problemów. Było to oczywiście nie mniejszym problemem w przypadku modułów PLC - tam dodatkowo dochodził problem tego, że poszczególne moduły PLC wykorzystują własne, dedykowane rozwiązania programistyczne, co oznacza, że ich programy nie są przenaszalne. Zaleta używania C w Arduino jest to, że jest to standardowy język, którego kod jest przenaszalny. Pozwala to stosować typowe systemy kontroli wersji, takie jak np. Git, aczkolwiek nie można przesadzić z rozbudowanym drzewem wersji...

    Arduino nie jest tylko dla hobbystów
    Pięć modułów Arduino wewnątrz dukarki


    Podsumowanie

    W przypadku prezentowanego powyżej projektu Arduino sprawdziło się idealnie. Jedynym problemem była konieczność nauczenia się nowego środowiska do programowania i nowego "ekosystemu", ale przyniosło to ogromne zyski. W takim zastosowaniu - zaawansowanym technicznie, ale o niskim wolumenie produkcji - Arduino sprawdza się idealnie, gdyż pozwala na stworzenie taniego i elastycznego rozwiązania, dzięki wykorzystaniu gotowej i uniwersalnej platformy, która już dawno sprawdziła się w działaniu. Pozwoliło to istotnie zredukować koszty i nakład prac na opracowanie układu.

    Jeśli chcecie wypowiedzieć się na temat oryginalnego artykułu możecie skomentować go na Reddicie lub Hackaday, gdzie wywiązała się burzliwa dyskusja na temat użytkowania Arduino w systemach przemysłowych. Możecie też komentować poniżej - czy Aurdino rzeczywiście sprawdza się w takim zastosowaniu jak zaprezentowano powyżej?

    Źródło: https://www.paulfurley.com/arduino-isnt-just-for-hackers/

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9431 postów o ocenie 7364, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • Relpol przekaźniki
  • #3
    a_noob
    Poziom 22  
    leonow32 napisał:
    Jaki sens??? Skoro już projektują swoje własne płytki to już mogli tam umieścić tą ATmegę, co za problem :)

    Dokładnie, na tych płytkach w sumie nie ma nic po za mikrokontrolerem. A jeżeli chcieli już koniecznie mieć wymienne moduły i nie projektować ich samemu, to mogli zastosować wersję nano, co dodatkowo obniżyłoby koszty modułów i zmniejszyło powierzchnię płyt głównych. Wiem że to dla nich pomijalna różnica w kosztach ale widzę tu zwyczajnie drogę obraną na początku projektu, a później nikt nie zastanawiał się nawet "dlaczego tak?". Dodatkowo wstawienie tych mokrokontrolerów bezpośrednio na płytę główną i odrobina chęci pozwoliłyby na aktualizację oprogramowania z pliku przez samego użytkownika, a nie bezsensowne programowanie każdej płytki osobno, wysyłanie ich do klienta pocztą (do kilku tygodni oczekiwania w zależności od lokalizacji) i wreszcie grzebanie przez tego w sprzęcie.

    Arduino w tym przypadku uzasadnione byłoby w fazie prototypowania, zaś w produkcji docelowej, nawet niskonakładowej, nie widzę większego sensu w takim posunięciu. Zwyczajnie zostawili projekt w fazie prototypu i jak tylko zadziałał zaczęli go sprzedawać.
  • Relpol przekaźniki
  • #4
    siewcu
    Poziom 34  
    Lepsze jest wrogiem dobrego ;) Po co zrobić coś raz a dobrze, skoro można naokoło? Moim zdaniem takie projekty to zabawa do domu co najwyżej, w celach hobbystycznych... Bo innego zastosowania dla tego czegoś nie widzę. Ani to wygodne, ani się sprawdzi przemysłowo... Sztuka dla sztuki chyba, żeby tylko pokazać, że się da - i nic więcej. Albo podsumowanie, że się sprawdziło idealnie... Nie wiem co to znaczy idealnie w tym przypadku - żeby idealnie pokazać, że da się coś takiego stworzyć w oparciu o tę platformę?
  • #5
    tmf
    Moderator Mikrokontrolery Projektowanie
    IMHO tu nie chodzi o to, że to Arduino jest tam potrzebne, tylko o marketing. Po prostu firma podpina się pod markę Arduino, a że jest to marka teraz na topie, to umieszczając modulik za kilkadziesiąt centów mają reklamę wartą pewnie setki tysięcy, jeśli nie miliony dolarów.
  • #6
    tronics
    Poziom 37  
    @tmf - z drugiej strony jeśli coś padnie to:
    1. na gwarancji - kupują sobie arduino, programują i wysyłają do klienta na podmianę
    2. po gwarancji - klient kupuje sobie arduino, wgrywa dostarczony przez producenta wsad i ma to w nosie
    Prawda jest taka, że wielu większych producentów za taki komponent sterownika o funkcjonalności płytki arduino sobie życzy więcej choć koszt produkcji jest niewielki. Zatem z jednej strony to jest jakieś rozwiązanie. Raczej niszowe, bo nie zawsze będzie warto i nie wszędzie się to sprawdzi, ale jednak jest!
  • #7
    Krzysztof Kamienski
    Poziom 43  
    Zbudowałem swego czasu na Arduino Leonardo synchronizator rejestru drukarskiej dwukolorowej maszyny offsetowej Muller - Martini. Jak na razie jest dobrze :D (pół roku), czyli jak najbardziej komercyjno - przemysłowe zastosowanie.
    Arduino nie jest tylko dla hobbystów Arduino nie jest tylko dla hobbystów
  • #9
    tronics
    Poziom 37  
    W przypadku DIP nie ma problemu, ale dla SMD nawet dobre podstawki to co najwyżej do prototypowania i programowania się nadają, a nie pracy w rzeczywistym układzie.
  • #10
    chudybyk
    Poziom 29  
    Kto świadomie kupiłby urządzenie za wiele tysięcy dolarów mając świadomość, że zostało zaprojektowane z użyciem kilku Arduino? Ja nie.
    Zastosowanie Arduino wskazuje, że ktoś jest opętanym fanem tej platformy, albo też soft pisali praktykanci-studenci wydziału Marketingu w Pcimiu, bo przez nic bardziej skomplikowanego nie potrafili się przegryźć.
    Gdyby zamiast tych Arduino byłyby tam moduły z 8051, to miałbym mniejsze podejrzenia.
    Argumenty o zaletach tego "designu" uważam za wodolejstwo:
    - aktualizacje przez paczki pocztowe - no tak, a do tego instrukcja obrazkowa jak z Ikei, żeby klient to rozkręcił i skręcił mając spory ubaw.
    - serwis przez wysyłkę modułów Arduino - tak, tylko elektronika będzie ostatnią rzeczą, która się skopie. Prędzej polecą złącza, kabelki, styki, cała mechanika i sztandarowy kawałek kartki zablokowany w miejscu, gdzie światło nie dociera. A jak już poleci Arduino, to okaże się, że nie jedno a trzy jednocześnie.
    - koszty - tak, będzie taniej, jeśli zamiast PLC wrzucimy kilka Arduino. Oczywista oczywistość. Tylko czemu akurat Arduino?
    - elastyczność - chyba sobie jaja robią. Najbardziej elastycznym elementem Arduino jest kabelek zasilania. "Elastyczniej" byłoby to zrobić na RaspberryPi. Tylko studentom nie udało się zainstalować Win10 Pro 64bit.
  • #11
    tronics
    Poziom 37  
    @chudybyk - Nie znasz realiów, czym się różni użycie arduino do produktu za kilka tysięcy PLN od użycia eval kita PIC32 do produktu za grubo ponad 100000? A takie coś już widziałem. Koledzy z R&D z Francji w moim poprzednim zakładzie mieli słabość do Microchipa. Dalej:
    Cytat:
    aktualizacje przez paczki pocztowe - no tak, a do tego instrukcja obrazkowa jak z Ikei, żeby klient to rozkręcił i skręcił mając spory ubaw

    Jak ktoś dostaje urządzenie z szafą sterowniczą to nie od parady jest tam schemat i wykaz części zamiennych. Mijasz się kolego z prawdą.
  • #12
    siewcu
    Poziom 34  
    A w ogóle ktoś zwraca uwagę na zawartość modułu sterującego w sprzętach jak w temacie? Bo ja myślę, że nie. Ma działać bezawaryjnie i koniec kropka, a czy jest sterowane arduino nano czy dedykowanym układem...
  • #13
    chudybyk
    Poziom 29  
    tronics napisał:
    @chudybyk - Nie znasz realiów, czym się różni użycie arduino do produktu za kilka tysięcy PLN od użycia eval kita PIC32 do produktu za grubo ponad 100000?

    Realia często zadziwiają. Można zrobić sterowanie linii produkcyjnej używając Commodore 64, tylko to niczego nie dowodzi. Co najwyżej fantazji twórców.
    Arduino to środowisko dla hobbystów. Można łatwo posterować kilkoma prostymi elementami, nie wgłębiając się zbytnio w budowę procesora, ale do czegokolwiek poważniejszego trzeba przekroczyć Rubikon, wywalić arduino-podobne usprawnienia i po inżyniersku zrobić projekt optymalizując narzędzia.
    Sens dla stosowania kitów lub Arduino widzę tylko w jednostkowych autorskich projektach, gdzie sprzedaje się klientowi to co zamówił.
    Już nie chcę rozwodzić się nad faktem, że w przemyśle należałoby stosować rozwiązania sprzętowo-programowe dedykowane dla przemysłu, bo rozpętałbym burzę.

    Cytat:
    Jak ktoś dostaje urządzenie z szafą sterowniczą to nie od parady jest tam schemat i wykaz części zamiennych. Mijasz się kolego z prawdą.

    Schemat i wykaz części zamiennych do drukarki? A na schemacie Arduino1, Arduino2, Arduino3 itd.. Części zamienne i eksploatacyjne - podejrzewam, że znajdziemy tam informacje na temat obsługi, typów papieru, informacje o instalacji sterowników, oraz telefon do serwisu. W czasach komuny, gdy elektronika była bardzo dyskretna, nieraz zdarzało się znaleźć schemat serwisowy, ale dzisiaj?
    W jakim sensie mijam się z prawdą? Napisałem coś, co przeczy faktom?
  • #14
    tronics
    Poziom 37  
    Cytat:
    Arduino to środowisko dla hobbystów

    Arduino IDE z całą pewnością, ale co konkretnie wg kolegi dyskwalifikuje płytki Arduino od tego by wykorzystywać je w urządzeniach przemysłowych o budowie modularnej? (ja mam parę argumentów przeciw bo mam przed sobą Nano i widzę te "cięcia kosztów", ale jestem ciekaw kolegi argumentacji)
    Cytat:
    ale do czegokolwiek poważniejszego trzeba przekroczyć Rubikon, wywalić arduino-podobne usprawnienia i po inżyniersku zrobić projekt optymalizując narzędzia.

    Jeszcze zapytam dla pewności... co stoi na przeszkodzie by podłączyć się Atmel-ICE do ICSP Arduino Nano i programować w Atmel Studio 7 bez arduino.h? Nic? Aha... Baaa, wiele nie trzeba by wykorzystać wbudowany bootloader więc nawet programatory atmela nie są potrzebne (ale się może przydać debugWire).

    Cytat:
    Już nie chcę rozwodzić się nad faktem, że w przemyśle należałoby stosować rozwiązania sprzętowo-programowe dedykowane dla przemysłu
    Zależnie od konieczności. Często nie ma nic bardziej sensownego niż PLC, niemniej czasem jest. Jak tutaj widać czasem jest to nawet arduino.
    Cytat:
    Schemat i wykaz części zamiennych do drukarki?

    Nie, schemat i wykaz części zamiennych w szafie sterowniczej... dowolnego urządzenia. Czy to będzie CNC, czy to będzie robot, czy prasa, czy gilotyna, czy hvac czy cokolwiek innego.
    Cytat:
    W jakim sensie mijam się z prawdą

    W sensie, że w dokumentacji jest nr do serwisu i jak coś się dzieje to trzeba dzwonić i czekać aż ktoś przyjedzie. Tak może być np. z modułem napędu siemensa gdzie się po prostu odsyła do Niemiec i na następny dzień przyjeżdża nowy na podmianę. W przypadku zaś np. obrabiarki Comau nawet gdyby na miejscu był serwisant z Comau to służby utrzymania ruchu i tak mają dokumentację centrum obróbczego i wymieniają owe styczniki, czujniki etc. etc, a nie dzwonią po serwis. W tym właśnie sensie mija się kolega z prawdą.
  • #15
    chudybyk
    Poziom 29  
    tronics napisał:

    Arduino IDE z całą pewnością, ale co konkretnie wg kolegi dyskwalifikuje płytki Arduino od tego by wykorzystywać je w urządzeniach ...

    Arduino bez IDE to już nie Arduino. Bez bibliotek, bootloadera i całej otoczki to już normalne środowisko programowania AVR-ków. Nie można już tego nazwać Arduino, bo nie posiada jego funkcji. A na gołych AVR-kach można już zrobić coś w przyzwoitej formie na profesjonalnym poziomie, z pełną kontrolą zasobów procesora.
    A co do mijania się z prawdą: oczekiwałem jakiegoś faktu, np. "tak wygląda instrukcja serwisowa tej drukarki 'Link'". Bez tego przypomina to spór wędkarzy, który miał większą. ;-)
  • #16
    tronics
    Poziom 37  
    Cytat:
    Nie można już tego nazwać Arduino, bo nie posiada jego funkcji

    Zaraz zaraz, jak biorę nano i programuję po rejestrach w atmel studio to nagle przestaje automagicznie być arduino? Nie. Nie przestaje. To nadal arduino. Keypad shield to też arduino, nfc shield to również arduino. 1/2/4/8/16 relay module to również część ekosystemu arduino. Zrobione dobrze (nie 100% dobrze, bo przekaźniki jadą na krawędzi ...) ale jednak. Masowo dostępne, określone wymiary, względna kompatybilność z różnych źródeł. Nic tylko używać.
  • #17
    lemgo
    Poziom 12  
    ghost666 napisał:
    ... a wykorzystywany w nim język jest uproszczoną wersją C++, co znacznie ułatwia naukę i korzystanie z całego ekosystemu.

    Jak dla autora kompilator GCC 4.9, który wspiera templaty, type_traits, lambdy, semantykę move, wirtualizację interfejsów, w zasadzie implementuje pełne C++11 i sporo z C++14 jest uproszczoną wersją, to co musiałby implementować, żeby nie popełniać takich uproszczeń?
  • #18
    ghost666
    Tłumacz Redaktor
    lemgo napisał:
    ghost666 napisał:
    ... a wykorzystywany w nim język jest uproszczoną wersją C++, co znacznie ułatwia naukę i korzystanie z całego ekosystemu.

    Jak dla autora kompilator GCC 4.9, który wspiera templaty, type_traits, lambdy, semantykę move, wirtualizację interfejsów, w zasadzie implementuje pełne C++11 i sporo z C++14 jest uproszczoną wersją, to co musiałby implementować, żeby nie popełniać takich uproszczeń?


    Wydaje mi się, że autor materiału miał na myśli wysokopoziomowe biblioteki jakie oferuje Arduino IDE.

    Ale z drugiej strony - na ARMy jest HAL, a to w sumie coś podobnego... nie?
  • #19
    lemgo
    Poziom 12  
    ghost666 napisał:
    lemgo napisał:
    ghost666 napisał:
    ... a wykorzystywany w nim język jest uproszczoną wersją C++, co znacznie ułatwia naukę i korzystanie z całego ekosystemu.

    Jak dla autora kompilator GCC 4.9, który wspiera templaty, type_traits, lambdy, semantykę move, wirtualizację interfejsów, w zasadzie implementuje pełne C++11 i sporo z C++14 jest uproszczoną wersją, to co musiałby implementować, żeby nie popełniać takich uproszczeń?


    Wydaje mi się, że autor materiału miał na myśli wysokopoziomowe biblioteki jakie oferuje Arduino IDE.


    Te wszystkie biblioteki są nadal dostępne w innych IDE, od ręki. Zwykle trzeba zainstalować najpierw Arduino IDE (bo tam jest kompilator, toolchain i biblioteki), a potem inne IDE, które wykorzystuje narzędzia z Arduino.

    Fakt. Arduino nie wspiera wyjątków (z założenia, bo kosztowne) i standardowej biblioteki C++ (bo mało pamięci i wektory czy inne kontenery nie bardzo się przydają). Jest za to mnóstwo repozytoriów, z których można pobrać to, co potrzebne. Widziałem gdzieś nawet próbę użycia boost, a to jest wymagająca biblioteka
  • #20
    Urgon
    Poziom 36  
    AVE...

    Samo IDE jest uproszczone, zbyt wręcz prostackie jak na mój gust. Co do bibliotek to większość jest przeładowana różnymi śmieciami, testami i innymi takimi, które spowalniają wykonywanie właściwego kodu. Ale jeśli nie zamierzam korzystać z bibliotek właśnie z tego powodu, to sensownie jest wywalić całe IDE do kosza i wziąć coś normalnego. A skoro już sięgam po dojrzałe IDE, to po co kupować przepłacone płytki Arduino i do nich dostosowywać projekt PCB? Równie dobrze mogę zaprojektować płytkę pod konkretny mikrokontroler, który ma dość mocy obliczeniowej, pinów IO i odpowiednie peryferia dla mojego projektu...

    Arduino zostało zaprojektowane jako uproszczona platforma edukacyjna ucząca technik programowania i ogólnie podstaw, przeznaczona dla ludzi, którzy nie mają na co dzień do czynienia z elektroniką i mikrokontrolerami. Dlatego dla mnie wizja produktu opartego o Arduino napawa pewnym lękiem, bo sugeruje, że producent nie zna się na tym, co robi albo zatrudnia programistów, którzy nie są w stanie programować w czymś bardziej zaawansowanym, niż Arduino IDE. Czy wydalibyście ciężkie pieniądze na urządzenie ze znaczkiem Arduino Inside, wiedząc że firmware mógł napisać absolwent marketingu i zarządzania, który miesiąc wcześniej był bezrobotny? A jeśli jest to coś krytycznego dla bezpieczeństwa lub sprawności większego urządzenia, jak na przykład moduł ECU zrobiony na Arduino?
  • #21
    Krzysztof Kamienski
    Poziom 43  
    chudybyk napisał:
    Sens dla stosowania kitów lub Arduino widzę tylko w jednostkowych autorskich projektach, gdzie sprzedaje się klientowi to co zamówił.
    Słusznie. Tak zatem zrobiłem. 40-stoletnia maszyna, oryginalny synchronizator to skrzynia pół metra na pół metra na dwadzieścia centymetrów wypełniona ,,Logisterami" :D , a znaczy to, że np. jedna bramka NAND na 10 tranzystorach, diodach i rezystorach, zalane w żywicy, w pudełku wielkości paczki papierosów. I takich pudełek w środku kilkanaście. Ktoś naprawi ? Można to gdzieś kupić jako oryginal? :D Zatem ..Arduino - Leonardo ..i do dzieła. :D
  • #22
    Urgon
    Poziom 36  
    AVE...

    A nie mogłeś znaleźć wadliwego logistera i go zastąpić albo samodzielnie zrobionym układem DTL albo odpowiednią bramką logiczną z rodziny 74xxx? Zresztą mówimy o jednostkowej naprawie starego urządzenia, a nie o seryjnej produkcji nowych maszyn...
  • #23
    Krzysztof Kamienski
    Poziom 43  
    @Urgon Mogłem i znalazłem. Dorobiłem w ciagu roku trzy i miałem dość. Dwa razy bramka, raz timer. Zbudowałem nowy na sterowniku programowalnym APB z Telmatiku i okazał sie zbyt wolny w działaniu. Mogłem go zrobic na bramkach i układach z serii MCY na PCB, ale własciciel maszyny ,,napalił sie :D " na ,,HiTech", wyswietlacz, i poszlo w ruch Arduino.
    Arduino nie jest tylko dla hobbystówArduino nie jest tylko dla hobbystów
  • #24
    ghost666
    Tłumacz Redaktor
    Krzysztof Kamienski napisał:
    chudybyk napisał:
    Sens dla stosowania kitów lub Arduino widzę tylko w jednostkowych autorskich projektach, gdzie sprzedaje się klientowi to co zamówił.
    Słusznie. Tak zatem zrobiłem. 40-stoletnia maszyna, oryginalny synchronizator to skrzynia pół metra na pół metra na dwadzieścia centymetrów wypełniona ,,Logisterami" :D , a znaczy to, że np. jedna bramka NAND na 10 tranzystorach, diodach i rezystorach, zalane w żywicy, w pudełku wielkości paczki papierosów. I takich pudełek w środku kilkanaście. Ktoś naprawi ? Można to gdzieś kupić jako oryginal? :D Zatem ..Arduino - Leonardo ..i do dzieła. :D


    Logistery produkuje nadal chociażby Telpod - https://www.telpod.pl/hybrydowe :D :D :D
  • #26
    Krzysztof Kamienski
    Poziom 43  
    @ghost666 Dziekuję za informację, ale ...Logister Logisterowi nie równy :cry: .....Oryginalne, jak pisałem, to aluminiowe pudełka zakończone od dołu wtykiem 14 stykowym Amphenol'a i wielkości paczki papierosów oraz całkowicie zalane żywicą epoksydową. Można by spróbować te Telpodowskie i dolutować do nich wtyki....Ale oprócz bramek, są w tym synchronizatorze cztery timery, zakonczone od góry osią potencjometru. Zatem, wolałem jednak zrobic jak zrobiłem, a nie dodatkowo szukać po Świecie pasujących złączy, może jeszcze pudełka o identycznych wymiarach wytłoczyć z blachy ? :D
  • #27
    ghost666
    Tłumacz Redaktor
    Krzysztof Kamienski napisał:
    @ghost666 Dziekuję za informację, ale ...Logister Logisterowi nie równy :cry: .....Oryginalne, jak pisałem, to aluminiowe pudełka zakończone od dołu wtykiem 14 stykowym Amphenol'a i wielkości paczki papierosów oraz całkowicie zalane żywicą epoksydową. Można by spróbować te Telpodowskie i dolutować do nich wtyki....Ale oprócz bramek, są w tym synchronizatorze cztery timery, zakonczone od góry osią potencjometru. Zatem, wolałem jednak zrobic jak zrobiłem, a nie dodatkowo szukać po Świecie pasujących złączy, może jeszcze pudełka o identycznych wymiarach wytłoczyć z blachy ? :D


    Nie no, ja się poniekąd zgadzam z tym co mówisz. Sztuką najlepszą byłoby zrobienie takich modułów samodzielnie na jakim s uC/FPGA... ale czas, czas... i pieniądze ;)