Arduino w przemyśle zdecydowane NIE.
O tym raczej będzie decydować przemysł. Kto zabroni np. właścicielowi fabryki wstawić arduino jako kontroler do drukarki 3d czy innego urządzenia? Dużo jest tam mniej odpowiedzialnych miejsc gdzie takie tanie rozwiązanie się sprawdzi.
Sam z nudów kilka dni temu zrobiłem płytkę z ATMega w SMD.. (https://www.elektroda.pl/rtvforum/topic3704631.html)
Gratuluje ukończonego projektu. Tak na marginesie, ktoś tam widzę zauważył, że pin13 podpięty do zasilania. Powinieneś uruchamiać DRC to by ci takie błędy KiCad wyłapał. W podanym przez ciebie pdf na stronie 62 p13.2.6 pisze wyraźnie, że porty nie można podłączać do zasilania bo to może skutkować zwiększonym zużyciem prądu co najwidoczniej miało miejsce. Nieużywane piny w μC niech wiszą w powietrzu, skonfigurowane jako wejście z włączonymi rezystorami podciągającymi. Bez tych rezystorów bramka Schmitta na wejściu chroni co prawda przed stanem pływającym, ale okupione jest to większym zużyciem prądu.
Dlatego gdybym zobaczył w jakimkolwiek komercyjnym sterowniku wsadzone Arduino ( o przemysłowym nawet nie mówię bo to kpina ) albo inne "RaspBerryPI" to bym takiego producenta zwyczajnie wyśmiał a już na 100% takich rozwiązań bym nie kupił.
ale że co? zakaz RPi w produktach? Przecież sama fundacja ma np wersję "Compute module" dla tych co by chcieli mieć procesor aplikacyjny w swoich urządzeniach.
Podsumowując. Do zabawy i nauki zdecydowanie polecam ale od przemysłu WON z zabawkami.
W rękach dziecka może być zabawką. Ktoś z głową może zrobić z tego użytek mając na uwadze wszystkie ograniczenia tej platformy.
O braku możliwości stosowania debugerów sprzętowych nie ma się nawet co rozpisywać.
zgadza się, to duża wada że IDE nie wspiera, ale ATmega328 ma debugWIRE (współdzieli z linią RESET dostępną na złączu ISP) i można kontrolować wykonywanie programu zewnętrznym debugerem (np. Atmel-ICE, AVRDragon, etc) w AtmelStudio
Zapoznanie się z tylko tymi dwoma specyfikacjami pozwala na zaimplementowanie wszystkiego co można na Arduino tylko w bardziej elegancji i tańszy sposób:
-
Tańszy bo zastosujesz tylko te elementy, które są niezbędne;
ceną raczej nie pobijesz masowo produkowanych tanich klonów
-
Bezpieczniejszy bo pozbędziesz się zbędnych drutów i ścieżek, które są źródłem zakłóceń ( w szczególności w przemyśle ) gdzie walka z zakłóceniami to bardzo poważna sprawa. Zbyt długie ścieżki mogą powodować indukowanie prądów i napięć np. resetujących CPU;
Przemysłowe linie RS-485/422 przekraczają 1km i indukowanie napięć im nie straszne. Problemem może być PCB, które w Arduino nie zaprojektowano z myślą o odporności na zakłócenia. Bez odpowiedniego "stackup-u" PCB, prowadzenia ścieżek oraz zwracania uwagi na prądy powrotne, itp. własna płytka może być tak samo podatna albo i nawet gorzej.
-
Czytelniejszy - tu chyba nie ma wątpliwości, że to zaleta zarówno na samym PCB jak i schemacie;
Robienie projektu opartego na modułach generuje proste schematy blokowe, które są jeszcze bardziej czytelne.
-
Mniejszy - w elektronice im mniejsza powierzchnia układów tym lepiej.
miniaturyzacja prowadzi też to wzrostu ceny.
Zatem stosowanie takich nakładek nie idzie w parze z dobrą praktyką (ogólnie dąży się do minimalizacji zużycia materiału) przekłada się to bezpośrednio na cenę produkcji układu.
Stosowanie modułów to bardzo dobra praktyka. Jak chcesz mieć np. wifi na płycie to nie będziesz projektował sekcji wysokoczęstotliwościowej i bawił się z uzyskaniem certyfikatów dla urządzeń radiowych tylko wlutujesz albo wepniesz gotowy moduł radiowy. Chcesz sterować silnikami krokowymi? Wlutowujesz podstawki dla dostępnych modułów, które w razie awarii łatwo wymienić, itp.
... Podane przez @cerrato linki oraz znajdujące się tam informacje nie mają właściwie żadnej wartości merytorycznej poza tym promują kolejny paskudny nawyk wykorzystywania w elektronice całych płytek zamiast odpowiednich komponentów elementarnych. To łamanie zasad i błąd. Generalnie kierunek niewłaściwy a w poważnej firmie elektronicznej raczej śmieszny i niedopuszczalny.
Eh, te paskudne wszystkie obecne procesory, chipsety, moduły pamięci, wszystko na osobnych płytkach. Weźmy takiego Ryzena, toż to przecież kilka kości trochę kondensatorów wlutowanych do małej i bardzo drogiej płytki PCB, ktrórą umieszcza się w odpowiednim złączu. Moduły przenoszą nas w trzeci wymiar i nie zawsze da się rozmieścić wszystko na jednej płaszczyźnie. To skraca też długość połączeń co może być zaletą
Zaproponuj w firmie jedną dużą, drogą, wielowarstwową PCB bo kilka układów to miniaturki z małymi ścieżkami, a wymiary podyktowane są dużymi prądami w sekcji mocy. Rozbicie takiego projektu na moduły to są duże oszczędności w cenie samej płytki PCB. Nie rozumiem więc jakie to łamie się zasady.
Podsumowując, arduino też bym nie polecił już prędzej coś opartego o 32-bitowe ARM. Np. ciekawie wygląda płytka NUCLEO-F103RB https://www.mouser.ie/ProductDetail/STMicroelectronics/NUCLEO-F103RB?qs=sGAEpiMZZMv0WPLDnYsI7wUVMbD8TFZNRrFxY5wLDaz8WDIXWQ93OQ%3D%3D ma gniazda do modułów arduino i jest tam sprzętowy debugger. Czasami te 8-bitowe atmegi są po prostu trochę za słabe, a niektóre arm-y mają sprzętową obsługę float-ów, dodatkowo wbudowane USB, CANbus, etc.