1

Тема: arduino плюси і мінуси

Цю тему я хотів почати писати в розділі схемотехніка, електроніка, але більше хотілосяб обговорити, чим нарікати. Я з ардуіно працюю пів року, до цього лиш контролер та AVR studio, bascomavr, але прийшов на іншу роботу і використання ардуіно обовязкове, бо це:
- готові бібліотеки
- не треба паяти плату, все готово

Це все добре, але при роботі такі мінуса:
- обмеження в максимальній роботі
Купуєш плату за приблизно 95 гривень, ти береш плату для роботи в 8 MHz, якщо тобі потрібно стабільно працювати в 16 MHz, то вже купи плату за 250 грн., звісно воно буде робити, але чи стабільно, ніхто гарантії не дає.

- обмеження в швидкості
Я купив платку дешеву за 95 грн. і швидкість в Serial.print(9600) я маю визначати, в 155200 це вже крякозяблики

- Взяв arduino mini чи nano крім обмежень по швидкості, є ще проблема з тим що виведені не всі контакти

- купа дротиків, а як ні докупляй дотакову плату для "надставки" на ардуіно
замічаю це при роботі з ардуіно, коли ми з братом робили власний проект, то травили лиш плату і оновні дроти це були по живленню, чи до трмодатчиків які були 30 см. від плати, навіть ADC зовнішній в платі був. В ардуіно якщо і продається котовий модуль, то фіг ти його візьмеш і тими контактами просто приєднаєш, ті ж дротики

- людина програмує лише готові прилади
Вона навіть не розуміється в протоколах, чи як працює AVR, ARM, це як АРІ для arduino

А які плюси чи мінуса ви замітили, в код AVR Studio vs Arduino ще невникав, але дивився відео, код зібраний студією, компактний ( навіть на С ), чим на ардуіно

Подякували: 0xDADA11C7, leofun01, Chemist-i4

2

Re: arduino плюси і мінуси

Я не звязуюсь з Ардуїно через її гіпстерську дегенеративну спільноту, бо як почитаєш їхні потуги -- блювати хочеться, а так з інженерної точки зору добра річ.

Подякували: leofun011

3 Востаннє редагувалося HetmanNet (24.04.2016 15:05:10)

Re: arduino плюси і мінуси

reverse2500 написав:

Цю тему я хотів почати писати в розділі схемотехніка, електроніка, але більше хотілосяб обговорити, чим нарікати. Я з ардуіно працюю пів року, до цього лиш контролер та AVR studio, bascomavr, але прийшов на іншу роботу і використання ардуіно обовязкове, бо це:
- готові бібліотеки
- не треба паяти плату, все готово

Це все добре, але при роботі такі мінуса:
- обмеження в максимальній роботі
Купуєш плату за приблизно 95 гривень, ти береш плату для роботи в 8 MHz, якщо тобі потрібно стабільно працювати в 16 MHz, то вже купи плату за 250 грн., звісно воно буде робити, але чи стабільно, ніхто гарантії не дає.

- обмеження в швидкості
Я купив платку дешеву за 95 грн. і швидкість в Serial.print(9600) я маю визначати, в 155200 це вже крякозяблики

- Взяв arduino mini чи nano крім обмежень по швидкості, є ще проблема з тим що виведені не всі контакти

- купа дротиків, а як ні докупляй дотакову плату для "надставки" на ардуіно
замічаю це при роботі з ардуіно, коли ми з братом робили власний проект, то травили лиш плату і оновні дроти це були по живленню, чи до трмодатчиків які були 30 см. від плати, навіть ADC зовнішній в платі був. В ардуіно якщо і продається котовий модуль, то фіг ти його візьмеш і тими контактами просто приєднаєш, ті ж дротики

- людина програмує лише готові прилади
Вона навіть не розуміється в протоколах, чи як працює AVR, ARM, це як АРІ для arduino

А які плюси чи мінуса ви замітили, в код AVR Studio vs Arduino ще невникав, але дивився відео, код зібраний студією, компактний ( навіть на С ), чим на ардуіно

Arduino плюс це простота.. мінус це повільність та складність використання деяких функцій мікроконтролера.. щодо компактності коду, то не вірю що повірили в той бред.. бо тупо розвод коли показують тобі сотні строк і кажуть що він через них повільний, коли в реальності при компіляції з них буде взято п'ять саме під твій arduino.. насправді повільність через те що arduino робить багато пауз і т.д. наприклад вмикаючи gsm модуль тупо чекаєш півхвилини.. і такого багато..

4

Re: arduino плюси і мінуси

то не вірю що повірили в той бред..

приклад був простий digitalWrite(13, LOW), приклади наводились як в ардуіно це робиться і в AVR студії

5 Востаннє редагувалося raxp (24.04.2016 20:10:06)

Re: arduino плюси і мінуси

та складність використання деяких функцій мікроконтролера

як раз складнощів тут нема, бо орієнтоване на непрограміста, біолога, гітариста...

- обмеження в максимальній роботі
Купуєш плату за приблизно 95 гривень, ти береш плату для роботи в 8 MHz, якщо тобі потрібно стабільно працювати в 16 MHz, то вже купи плату за 250 грн.

1- це залежить не вiд плати, а вiд типу МК, встановленого кварца та напруги живлення. Дивись даташит.
2- ситуація така, що сучасні AVR можуть працювати і на гарантованих 16 МГц, досить кварц поміняти.
3- щодо ціни - на алi нано з 16 МГц десь вiд ~ 45 грн з безкоштовною доставкою за півтора-два тижні.

- обмеження в швидкості
...
приклад був простий digitalWrite(13, LOW)

це обмеження макросів середовища виконання, ніхто не забороняє прискорювати роботу Сі-викликами, продовжуючи працювати в тій же Arduino IDE (якщо вже вимога така). Зроблено це не тому, що IDE така погана або програмісти погані, а тому що саме рішення орієнтоване на масове побутове застосування, де швидкості не потрібні. Для управління сервою або світлодіодом моргнути цілком вистачить.

Наприклад замість 2 мілісек digitalRead () можна відразу написати if (PINA == B00000001) {... і прискоритися до 19 мкс. Аналогічно з analogWrite(), яка дає стандартним засобом PWM максимум = 480-490 Гц при 16 МГц. Пишемо прямо в рідному середовищі:

void setup()
{ 
TCCR1B = TCCR1B & 0b11111000 | 0x02;
TCCR2B = TCCR2B & 0b11111000 | 0x02;

і вже частота PWM аж 4 кГц. І вже точно ніхто не забороняє прямо в рідному середовищі Arduino IDE писати на ASM:

ldi r16,(1<<CS00) ;
  out TCCR0B,r16 

Або ось читання АЦП рідним макросом 110 мкс, а прямим вже ~18 мкс (стягнуто з Хабра):

#define FASTADC 1

// defines for setting and clearing register bits
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

void setup() {
int start ;
int i ;

#if FASTADC
// set prescale to 16
sbi(ADCSRA,ADPS2) ;
cbi(ADCSRA,ADPS1) ;
cbi(ADCSRA,ADPS0) ;
#endif

Serial.begin(9600) ;
Serial.print("ADCTEST: ") ;
start = millis() ;
for (i = 0 ; i < 30000 ; i++)
analogRead(0) ;
Serial.print(millis() - start) ;
}

Причому ресурсів Arduino (AVR) вистачає для розрахунку FFT realtime у звуковому дiапазонi:
https://www.youtube.com/watch?v=bFXTujPKTpc
і це не примітивний метод п'яти ординат.

0xDADA11C7 написав:

Я не звязуюсь з Ардуїно через її гіпстерську дегенеративну спільноту, бо як почитаєш їхні потуги -- блювати хочеться

негоже всіх під одну гребінку. А потім, як раз саме різноманітність професій розробників, які використовують модуль дає тільки суцільні плюси, бо дозволяє розширювати свій кругозір іншим розробникам в суміжних дисциплінах.

При виконанні будь-якої роботи не можна тупо писати тiльки код і бути просто програмістом, потрібно розуміти техпроцес під який пишеш ПО і відчути його. Саме тому таке різноманіття інженерних спеціалізацій, включаючи технологiв.

Не потрібно дивитися на модуль як невідповідний для промислового використання, там той же МК, що і в багатьох промислових контролерах, а то і крутіше за можливостями. Ось наприклад мій промисловий графічний термінал оператора:
http://сайт-злодій/img/img7/fs/sized_1.1461518874.jpg

На чому думаєте зроблений? На мега128 (1 2), iнтерфейси є додатковi і виконання пиловологозахищене корпусу лише )

А ось Segnetics SMH-2010 зi власним середовищем графічної розробки типу на FBD як у SCADA (SMLogix):
http://www.ventaus.ru/images/stories/smh2010.png

На чому? На мега128, а це вже древнiсть.

Резюмуючи

На Dou я вже розпинався на цю тему, не подобається AVR і не вистачає ресурсів? Arduino є на ARM-ах і Intel, так-так з Linux (Arduino Yun від RS Components з додатковим чіпом Atheros AR9331 і бездротовим стеком OpenWrt. А ще є Maple і Maple-mini на STM32F103). Моє ставлення до Arduino цілком собі прагматичне, як й до будь-якого iншого кубiбоарду. Є інструмент, є бюджет та переваги - можна використовувати. Хоча для серйознiших вісокошвідкісніх проектів волію FPGA, хоч це й вельми спеціфічній напрямок.

Цю тему я хотів почати писати в розділі схемотехніка, електроніка, але більше хотілосяб обговорити, чим нарікати.

темi якраз мiсце в залiзяках та электронiцi, бо вона для таких обговорень й створена. Нiчого в флудороздiлi тонути.

Подякували: 0xDADA11C7, reverse2500, leofun01, DOP, Yola5

6

Re: arduino плюси і мінуси

reverse2500 написав:

- обмеження в швидкості
Я купив платку дешеву за 95 грн. і швидкість в Serial.print(9600) я маю визначати, в 155200 це вже крякозяблики
...
код зібраний студією, компактний ( навіть на С ), чим на ардуіно

9600 та 115200 — то проблема не ціни плати. Стандартно на них на всіх кварц 16 МГц, а це «недружня» до UART частота.
З 14.7456 була б лише на 8 відсотків менша швидкість роботи процесора, але нема проблем з UART.

З приводу компактності коду — з одного боку, різниця є, з іншого, як вже казали, порівняння некоректне. У стандартному варіанті arduino відразу підтягуються деякі бібліотеки і виходить наче 2000 байт проти 100 байт. Але при збільшенні програми, наповненні її алгоритмами, це буде, наприклад, 12000 байт проти 10100 — різниця вже і не дуже помітна.
Компактність коду зараз не так і важлива, закидати 30 кілобайт в Arduino/mega328 не так просто, якщо акуратно писати, хоч і з бібліотеками arduino. Мало — є 2560-та :-)

Відчутніша різниця на швидкості роботи, але вона відчутніша при «ручному ногодригові» — тут між прямою роботою на регістри і викликами функцій (чого ото було не зробити шаблонами?) різниця суттєва. Але, знову ж таки, вже писали, ніхто не заважає і по регістрах товктися.
А от при роботі з АЦП — ну додався call/ret, що там його. Різниця вже невелика.

Тобто продукт, який має свою нішу і непогано підходить для тих, кому треба швиденько зробити щось у своїй предметній області, не заморочуючись з нижнім рівнем.
Щодо швидкості — вибачте, «Електроніка-60», на ній виробничі лінії автоматизували, мала менше 1 МГц команд. Хай і 16-бітних, але вони не завжди треба, ну там архітектурні різні речі — можна сперечатися, але ж все одно маємо 16 Мгц.
Для дуже багато чого швидкості за очі навіть при її «розтринькуванні».

Подякували: 0xDADA11C7, leofun012

7

Re: arduino плюси і мінуси

Я б назвав Arduino цікавою забавкою для розумних дітей. Хоча річ і досить універсальна, але підходить скоріше  для навчання або демонстрації проекту.

8

Re: arduino плюси і мінуси

То Ви не бачили, що люди на arduino роблять.
Кажу ж — «штука для тих, кому треба швиденько зробити щось у своїй предметній області, не заморочуючись з нижнім рівнем», включно з паянням реле/силових ключів. І хай хтось потім казатиме, що у них   ̶г̶о̶р̶и̶з̶о̶н̶т̶ ̶з̶а̶в̶а̶л̶е̶н̶о̶ неефективно використовується процесорний час чи вони використали «забавку», а треба було для олдскульності скляним рейсфедером бакелітовим лаком самим плати малювати, але вони взяли і швидко зробили те, що потрібно їм для них.
Наприклад, https://habrahabr.ru/post/130399/

Подякували: 0xDADA11C7, DOP2

9

Re: arduino плюси і мінуси

Можливо, але в мене пристрій із купую оголених дротів довіри не викликає, скоріше асоціюється із потенційними замиканнями та окисленням дротів із часом.

10

Re: arduino плюси і мінуси

То не використовуйте arduino з «купою оголених дротів», якщо це не подобається!

На «робочий» екземпляр поставте шілд з реле і клемниками, закінцюйте і заджгутуйте дроти — виглядатиме пристойно і працюватиме без замикань та окислень.

А на етапі розробки, бува, страшненько виглядає і те, що зрештою в герметизованих корпусах ітиме і з самого початку робиться на платах під ті корпуси.

Подякували: 0xDADA11C7, leofun012

11

Re: arduino плюси і мінуси

Arduino mini-FAQ. Теорія та практика

Подякували: leofun011

12

Re: arduino плюси і мінуси

0xDADA11C7 написав:

Я не звязуюсь з Ардуїно через її гіпстерську дегенеративну спільноту, бо як почитаєш їхні потуги -- блювати хочеться, а так з інженерної точки зору добра річ.

Ардуінки не айс, але іноді виручають. Свій приклад:
коли ще лиш перший місяць працював на новій для себе роботі, шеф приніс чорну коробочку з двома оченятами. Завдання було просте - оце або відремонтувати, або зробити таке жю на післязавтра.
Після довгого спілкування з гуглом виявилось, що то детектор "сцикуна" для "розумного" пісуара, і коштує така штука більше 100 баксів. А відремонтувати ніяк, бо залито все епоксидкою. Але є опис як ця штука має працювати.
І тут виручила ардуінка, яку я перший раз взяв в руки. За день встиг і розібратися з примітивною мовою для скетчів, зробити маленьку птатку для гальванічної розв'язки, награтись з інфрачервоним вимірювачем відстані і впихнути все це в підходящий маленький корпус.
Моя "гордість" (ну як тоді - перший проект, як не як :) ) працює і по цей час в виставковому центрі в Києві.

А щодо що краще Ардуінки - раджу приглянутись до STM32 Це досить потужні платформи (на одні відладочці ми Дум запускали :) )

Подякували: 0xDADA11C7, quez, funivan, leofun014

13

Re: arduino плюси і мінуси

Arduino буває і на Cortex-M, тільки не від STM, а від атмел, і на інтелівському «ембеддерському» чи не 500-мегагерцовому процесорі, і з FPGA, у яку запхано софт-контролер, і все це через те ж саме середовище і тими ж скетчами програмується, оболонка підтягує потрібний gcc-компілятор і підставляє потрібні бібілотеки.

Подякували: 0xDADA11C7, Torbins2

14 Востаннє редагувалося ReAl (07.09.2016 23:50:46)

Re: arduino плюси і мінуси

Збрехав по пам'яті.
Ардуїнка з 400-мегагерцовим процесором Intel Quark
І ще
Ардуїнка з Cortex-M3
Ардуїнка з FPGA (soft-core mega328 на не надто великій швидкості, але довільна своя периферія).

Ну і про ставлення до ардуїнки як до цілком придатної для профі (до речі, зверніть увагу на обсяг та «некрикливість» реклами, а також на розміщення ілюстрацій до тексту, яке дає змогу почати читати текст).

Ще зараз дуже модно на плати з чим завгодно ставити гнізда під ардуїнівські «шілди», але то, звісно, не ардуїно, просто познайомитися з купою різних чогозавгодновимірювачів та дочогозавгоднопідключаторів зручно і дешево через ті масові платки.

Подякували: 0xDADA11C71

15

Re: arduino плюси і мінуси

як на мене у кожного інструмента свої задачі.
- Ардуіно для тих хто не шарить у всяких мікроконтролерах але є ідея як зробити якусь штуку.
- На ардуіно непогано робити прототипи. Чух чух і готово))

16

Re: arduino плюси і мінуси

funivan написав:

- Ардуіно для тих хто не шарить у всяких мікроконтролерах але є ідея як зробити якусь штуку.

Це можна переформулювати так: «Ардуіно для профі в іншому».

17

Re: arduino плюси і мінуси

ReAl написав:
funivan написав:

- Ардуіно для тих хто не шарить у всяких мікроконтролерах але є ідея як зробити якусь штуку.

Це можна переформулювати так: «Ардуіно для профі в іншому».

Не так давно мені дали стабілізатор напруги. Наш, український. Попросили глянути, як буде час, бо щось не стабілізує. В кишках виявив: звичайний транс з трьома відводами з другої обмотки (до речі, як українською "вторичка"?), чотири реле і розпаяну атмегу 128. Угадайте, як він мав "стабілізувати" :). Бренд не буду вказувати, але це лайно продається в наших супермаркетах.

18 Востаннє редагувалося raxp (09.09.2016 12:58:37)

Re: arduino плюси і мінуси

...фото сабжу з обох сторон плати та трансу сюди.

Iснують "стабілізатори напруги" за ступенем двійки шляхом перемикання вiдводiв вторинної обмотки трансу.

19

Re: arduino плюси і мінуси

pandor777 написав:

Бренд не буду вказувати, але це лайно продається в наших супермаркетах.

Вказуйте, чого соромитись

20

Re: arduino плюси і мінуси

quez написав:
pandor777 написав:

Бренд не буду вказувати, але це лайно продається в наших супермаркетах.

Вказуйте, чого соромитись

Мені його обіцяли принести для експериментів. Якщо принесуть - зроблю фото кишок і зовні. А так... Марку пам'ятаю, а модель ні. Може вона одна у них така "продвинута".