Микроконтроллеры серии STM32 для новичков.

Контроллеры, драйверы, датчики, управляющие устройства.
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Микроконтроллеры серии STM32 для новичков.

Сообщение alex1816 »

Хотя эта тема уже много-много раз описана на разных форумах, но по просьбе некоторых форумчан немножко напишу.
Я не большой специалист в этой области, но .. более опытные добавят и(или) поправят..
Ничего нового здесь скорее всего не будет … ну да ладно. Вот к примеру тема, где люди давно уже конкретные дела обсуждают: http://www.cnc-club.ru/forum/viewtopic. ... &start=220
Ядро ARM Cortex-M3 , 32бит процессор, и частоты и начинка контроллера часто посерьезнее чем в некоторых распространенных 8-битных.
Офф сайт. http://www.st.com/en/microcontrollers/s ... tId=SC1169

Что необходимо(или желательно) приобрести для начала?
1. Микроконтроллер к примеру вот такой дешевый - STM32F103C8T6. (цена около 2 уев в зависимости от величины мешка которым покупаете).
Их море на али и ебей. STM32F103C8T6 – к примеру вот такая отладочная плата- http://www.ebay.com/itm/STM32F103C8T6-A ... SwygJXhGtV.
Дабы меня не уличили в рекламе некоторых китайских продавцов дальше буду писать только названия.
2. Если вам нужно контроллер с большей частотой, памятью, портами, таймерами и тп – подбираете (к примеру по ссылке на офф сайт или в другой аналогичной таблице).
3. Программатор. Для платы указанной в п.2 я использовал ST-Link V2 китайский разумеется ценой около 2,5уев. Для других плат может понадобится Ulink2, Jlink2 и тп. У плат подороже программатор на борту и нужен только провод USB. Если нет программатора – часто можно обойтись переходником – usb uart module.
4. USB 2.0 to TTL UART Module - использовал для подключения к ПК через терминальную программу. Я только выводил в терминал отладочные данные. Может пригодится и для других целей.
5. Экран (при надобности) подбираете кому какой надо. Мне надо был семисегментный светодиодный MAX7219 8-Digit LED Display 7 Segment Digital Tube.
6. Клавиатура (при надобности). Я брал пленочную на 20 кнопок. 4x5 Matrix Array Membrane Switch Keypad Keyboard 4*5 Keys For Arduino.
7. Цифровой логический анализатор купил – пока не пользовался. Но штука как и осциллограф думаю нужная. USB Logic Analyzer Device Set USB Cable 24MHz 8CH 24MHz for ARM FPGA M100.
8. Если есть соединительные провода – хорошо, а если нет можно прикупить у китайцев что-то типа 80pcs Dupont wire cable 1p-1p pin connector 2.54mm 20cm arduino. Смотрите на количество, папа-мама, длину и тп.
9. Ну и дальше еще периферия: датчики, энкодеры, реле (механические, твердотельные и тп) что кому нужно.
10. Питание. Плата из п.2 может питаться как от 3,3В так и от 5В. Для отладки – достаточно питания от USB(от отладчика, на отладчике есть питание 3,3 и 5В, которое можно использовать еще куда-то. я экранчик запитал при отладке к примеру).

Программное обеспечение.
1. Для конфигурации контроллера рекомендую пользовать STM32CubeMX. Скачать можно с офф сайта (требует регистрацию перед скачиванием). http://www.st.com/content/st_com/en/pro ... ubemx.html
2. Среда программирования. Я использую IAR Embedded Workbench for ARM. Есть и другие к примеру Keil, Eclipse, CCS, CooCoc и т.д. Но так у меня получилось. До 32кбайт кода –IAR бесплатный, у меня пока не было надобности больше. Поэтому и пользуюсь официальной пробной. Кому надо больше – найдет варианты. Многие пользуют Keil: думаю он тоже неплох, а может даже лучше в чем то IAR.
3. Еще есть утилита от STM (скачивать рядом с кубом) - STM32 ST-LINK Utility. Может понадобиться для стирания памяти если что-то не так, прошивку смотреть и тп.
Еще чуть добавлю.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Александр, что планируете делать на основе этого МК? Или просто, делитесь начальным опытом?
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение AndyBig »

alex1816 писал(а):Если нет программатора – часто можно обойтись переходником – usb uart module.
4. USB 2.0 to TTL UART Module - использовал для подключения к ПК через терминальную программу. Я только выводил в терминал отладочные данные. Может пригодится и для других целей.
Лучше один раз чуть потратиться, но взять полноценный отладчик, тогда и выводить отладочную информацию через UART не понадобится, все можно видеть в отладчике, проходить программу по шагам, ставить точки прерывания обычные и по условиям и т.д. В общем, маст хейв :) Рекомендую JLink от китайцев. Работает быстро, поддерживает кучу контроллеров, в том числе и STM-овский двухпроводный интерфейс прошивки и отладки (SWD), в софте есть полезные утилиты - например, JFlashARM, которая по одному клику выполнит стирание, зальет бинарник, прошьет по нужному адресу очередной серийник, выполнит проверку и залочит контроллер от чтения.
Делать преобразователь USB-UART не вижу смысла при наличии интерфейса USB в контроллере. Сам контроллер может по USB прикинуться виртуальным COM-портом, драйвера на компьютере для этого дела писать не нужно, работать со стороны компьютера можно как с обычным COM-портом :)
alex1816 писал(а):Я использую IAR Embedded Workbench for ARM.
Поддержу, среда удобная, поддерживает "из коробки" отладчики, качество кода после компилятора - одно из лучших. Платный или бесплатный... Все мы ведь знаем, что при необходимости (да и без необходимости) и платную версию не проблема заиметь :)
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение alex1816 »

С чего начать.
1. Скачайте STM32CubeMX. Проверить как она работает можно и без платы(пока с Китая едет).
2. Сделайте новый проект. Выберите свой процессор, для каой среды компилировать проект и тп..
Каждую ногу можно настроить на определенное применение (порт (выход, вход (подтянуть к нулю, к питанию, вход внешнего прерывания, SPI, UART, I2C и тп,).
При удерживании Ctrl и нажимании на определенную ногу контролера мышкой – подсвечиваются(синим) ноги, куда можно эту ногу переключить. Очень полезная функция когда надо несколько ног подряд задействовать для одного шлейфа к примеру.
Если вариантов переключения ног много(в зависимости от конфигурации конкретного контроллера). к примеру SPI, UART и тд – один-два.
im1.jpg (11075 просмотров) <a class='original' href='./download/file.php?id=107602&mode=view' target=_blank>Загрузить оригинал (98.91 КБ)</a>
Желательно включить Debug в разделе SYS как на скрине – нужно для отладки.
3. Во вкладке Clock configuration настраиваем при необходимости тактирование.
im2.jpg (11075 просмотров) <a class='original' href='./download/file.php?id=107603&mode=view' target=_blank>Загрузить оригинал (80.97 КБ)</a>
4. Configuration
im3.jpg (11075 просмотров) <a class='original' href='./download/file.php?id=107604&mode=view' target=_blank>Загрузить оригинал (79.39 КБ)</a>
5. Здесь параметры прерываний(приоритеты – группы(болем високая группа прерывает низкую, а в группе – более високий раньше выполняется, но не прерывает прерывание с такой же группой).
Привязывается таймер к прерыванию при необходимости. SPI, USART и тп.
Также здесь настраивается конфигурация портов(вход-выход, притянуть вверх, вниз, прерывание, открытый колектор и тп)
im4.jpg (11075 просмотров) <a class='original' href='./download/file.php?id=107605&mode=view' target=_blank>Загрузить оригинал (103.67 КБ)</a>
В кубе можно включить FreeRTOS (операционная система реального времени). Я этим не пользовался, но думаю, что для ЧПУ-шников может пригодится. Там нужно разобраться с семафорами и тп. Но по идее после этого многое будет реализовать проще.

6. Когда все настроили – генерируем код (значок с шестеренкой на валу).
У вас уже есть программа на языке С, в которую будете добавлять свой код. Открываете проект в IAR, Keile .. и вперед.

Коротко о программировании, заливке прошивки в чип и другое.
1. ВАЖНО: Если сконфигурирован контроллер с помощью CubeMX - свой код пишите только между комментариями: «User Code Begin» и «User Code End». При повторном запуске вашей программы в кубе – он(куб) не лезет в эту область и ничего не испортит. Иначе …он затрется кубом. Кроме того он и так может затереться случайно, поэтому перед каждым запуском куба – бэкап (так надежнее).
2. Как писать программы?
Здесь я не буду подробно расписывать все что знаю и не знаю, так как это уже сотни раз описано в интернете и для каждого момента – свой урок.
Если с нуля – идем по урокам. Как всегда – зажгли светодиод(на указанной плате он есть впаянный для этого), а дальше по нужным для дела урокам: нужны порты – читаем(смотрим на ютуб) урок по портам, нужны внешние прерывания – аналогично, нужны таймеры – тоже, нужен экран - тоже).
Библиотеки ввода-вывода я старался использовать HALL – вроди бы как библиотека от stm. По идее должна получиться получше совместимость с другими моделями stm32. Кроме этого есть gpiolib (не хотел несколько разных библиотек в одну программу сунуть). Тем болем CubeMX генерирует код с использованием HALL.
Некоторые вещи реализуются проще если число напрямую в нужный порт записать.
3. Как залить прошивку в чип?
Прямо из компилятора. Скомпилировали и залили. Потом отлаживаем прямо в контроллере (не забываем включить в кубе Debug(см выше - п.2 предыдущего раздельчика).
Для заливки прошивки в указанной отладочной плате необходимо или: удерживать перед заливкой кнопочку (если много раз - неудобно), или переустановить одну из перемычек(под рукой нет – сейчас не помню).
Если установлена перемычка в режим отладки – после отключения питания прошивка пропадает(нужно опять заливать). То есть после отладки – вернуть перемычку взад.
Я пользовался отладкой прямо на чипе - другой не понадобилось. По остальным способам не силен.
4. И еще отличие от меги и других. STM32(обычно или наверное всегда) не имеет eeprom. Кто привык к ней надо или отвыкать или ставить внешнюю например по I2C.
Как можно обойти (заменить)? Флеш пам'ять – имеет меньше циклов записи чем еепром, но …. Не очень желательно писать во флеш так как она же пам'ять программ, но при необходимости можно осторожно.
Кроме того стм-ки имеют пам'ять SRAM у которой нет ограничения на количество циклов записи-чтения(SRAM быстрая – это по сути RAM). Емкость SRAM маленькая (20-40байт примерно, может в некоторых моделях чуть больше). Если к примеру нужно хранить положение енкодера при отключенном питании – самое оно. Работает SRAM от внешней батарейки 3,3В(при отладке надо подать 3,3В на соответствующий вход платы).
5. И еще общая рекомендация моего старшего товарища с бОльшим и большИм опытом на других контроллерах: используйте сопроцессоры - не стесняйтесь. К примеру если вы выделите 2 доллара контролер енкодера, клавиатуры и тп - потерь финансовых не будет, а плюсы будут.

Примерно так коротко, может непонятно, но буду рад если хоть кому то на грамм пригодится.
То есть здесь не было цели все расписать - ознакомительно и может некоторые моменты на которые стоит обратить внимание.
Подробно расписывать нет смысла - все уже украдено (описано) до нас :)
А вообще контроллеры стоящие: программируются просто, могут много - рекомендую.
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение alex1816 »

MX_Master писал(а):Или просто, делитесь начальным опытом?
Примерно так по просьбе отсюда http://www.cnc-club.ru/forum/viewtopic. ... =0#p349060
Я видел Вашу ветку с конкретным проектом - указал вначале первого сообщения.
Присоединяйтесь.
AndyBig писал(а):Лучше один раз чуть потратиться, но взять полноценный отладчик, тогда и выводить отладочную информацию через UART не понадобится, все можно видеть в отладчике, проходить программу по шагам, ставить точки прерывания обычные и по условиям и т.д.
Отладчик был в наличии тогда ST_link, но.... пока я понял как эта отладка включается :) ..... уарт применялся, хотя при частом выводе тормозил он всю программу не по детски.
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение alex1816 »

MX_Master писал(а):что планируете делать на основе этого МК?
Да в принципе планов больших нет.
Уже почти сделал двум друзьям пилорамщикам электронную линейку на пилораму(и она же в упрощенном виде будет на обрезной станок).
Осталось баги выловить, написать код записи с клавиатуры настроек(сами процедуры калибровки и записи в флеш - готовы), ну да собрать это все и установить.
Еще надо батарейку на SRAM (для сохранения координаты) подключить и в программе прописать(процедура записи в SRAM тоже сделана).
Плюс питание сделать. Мне нужно 12В(для энкодера) + 5В. В качестве конденсатора буду использовать аккумулятор - слишком большие большие просадки при включении 15кВт мотора. Приболел сейчас чуть - наверное достану самоделку и постараюсь доделать, а то меня мои друзья доделают:)
Если коротко с чем работал в этом проекте:
1. Подключил клавиатуру 4х5 пленочную с обработкой дребезга.
2. Подключил семисегментные индикаторы светодиодные на одном SPI (два блока каждый по 8 символов, каждый блок на Max7219).
3. Управление моторами через реле (здесь ничего сложного конечно как и в другом :)).
4. Энкодер абсолютный омрон 256 сигалов на оборот, на выходе 8 бит. То есть конкретная координата(на обороте) выдается прямо с энкодера.
Она в коде грея, но это не сложно. Обороты небольшие, точности большой не нужно там. Но он работает:) Пересчитывается коордианата в абсолютную (у меня в импульсах в основном, в мм - только ввод с клавиатуры и вывод на экран). Перепрыг через ноль сделан (то есть если крутится 255-0(или обратно) - все учитывается).
Вот такая фигня в общем - https://www.youtube.com/watch?v=Yz56oJy ... e=youtu.be
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Добавлю две копейки в общий разговор..

Раньше с МК дел не имел, так что заглянул на огонёк к ардуинщикам. Глянул софт - всё просто и бесплатно. Документы с примерами есть на главном сайте. Ну и тонны примеров в интернетах, стессна. А это сильно облегчает муки выбора при покупке. Собственно, заказал. И, пока оно шло, заглянул в ряды STM'щиков.

А в этих рядах у нас.. Софт, в основном, платный. Чтоб скачать бесплатное - сразу регистрация. Официального курса молодого бойца - нет. Документы - сухие, большие PDF'ки безо всяких красочных примеров. В общем, на входе нам как бы намекают, что дальше будет полный абзац :think: Большинство юных ардуинщиков в эту щель даже не пытаются пролезть. Для кого-то это, наоборот - целая пропасть, куда они не спешат падать. А ведь оно того стоит. :hehehe:

Если сравнивать юзеров AVR и STM32, можно сказать так.. AVR'ки - для тех, у кого очень мало времени вкупе с отсутствием прогерских талантов. AVR - это как обычный фрезер безо всяких ЧПУ :hammer: Легко понять, легко освоить.
А вот юзеры STM32 - это такие бородатые ардуинщики, которые исключительно по нужде, взяли яйц@ в кулак и смогли наконец освоить доки к STM32
:hottabych:
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение SVP »

Эмбеддед вообще калечит ум и способность общаться с другими людьми...

Для "начала" лучше взять эвалюэшн боард, не будет никаких проблем с питанием, программатором итп. Стоит копейки
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

SVP писал(а):Эмбеддед вообще калечит ум и способность общаться с другими людьми...
К бабке не ходи, буквально вчера не мог найти общий язык с Максом (frezeryga) :hehehe:
SVP писал(а):Для "начала" лучше взять эвалюэшн боард, не будет никаких проблем с питанием, программатором итп. Стоит копейки
Китайцы трудятся в поте лица, чтобы предложить нам свои недорогие макетки, где есть всё то же самое, но только без отладчика. Прошивать это дело можно и так, а вот если отлаживать, то самый минимальный отладчик обойдется всего в 2$. Стессна, для глубокой отладки оно не годится, зато на первых парах его вполне достаточно.

Мой минимальный набор получился таким
  • макетка за 10$ (для поигрательных целей пойдет и за 2$)
  • ST-Link V2 за 2$
  • и 8-миканальный конвертер уровней 5V-3V за 1.5$
Последний раз редактировалось MX_Master 31 мар 2017, 12:18, всего редактировалось 1 раз.
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение SVP »

MX_Master писал(а):макетка за 10$ (для поигрательных целей пойдет и за 2$)
Раньше дискавери 8-10 стоила, что-то изменилось :) ?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Аха, изменилось (:
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение alex1816 »

MX_Master писал(а):Документы - сухие, большие PDF'ки безо всяких красочных примеров. В общем, на входе нам как бы намекают, что дальше будет полный абзац
Если поглубже лезть может и так, а по мелочам информации много. Куча уроков. Вот к примеру здесь уроки и по авр и по стм32. https://www.youtube.com/channel/UCXgs4e ... ccBZS3Yp4g Не примите за рекламу, просто в свое время кое-что оттуда почерпнул, да и многое еще при надобности можно.
MX_Master писал(а):Для кого-то это, наоборот - целая пропасть, куда они не спешат падать. А ведь оно того стоит.
Не пугайте народ :) Як к примеру практически с нуля (были небольшие институтские навыки по С больше чем 20-летней давности, да тех же времен ве48) и ничего медленно и уверенно что-то делаю. К примеру с тем что делал - большого ступора не было.
MX_Master писал(а):SVP wrote:
Эмбеддед вообще калечит ум и способность общаться с другими людьми...
И я пойду доставать свой моторчик и калечить свой ум через эмбеддед :)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
bolek4321
Мастер
Сообщения: 217
Зарегистрирован: 27 сен 2014, 07:59
Репутация: 38
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение bolek4321 »

MX_Master писал(а):Раньше с МК дел не имел, так что заглянул на огонёк к ардуинщикам. Глянул софт - всё просто и бесплатно. Документы с примерами есть на главном сайте. Ну и тонны примеров в интернетах, стессна. А это сильно облегчает муки выбора при покупке. Собственно, заказал. И, пока оно шло, заглянул в ряды STM'щиков.

А в этих рядах у нас.. Софт, в основном, платный. Чтоб скачать бесплатное - сразу регистрация. ... Большинство юных ардуинщиков в эту щель даже не пытаются пролезть...
На самом деле, все не так грустно.
Был проект "Maple" - использование STM32 в ардуино среде, который впоследствии загнулся, но исходники были открыты. На основе платы Maple mini китайцы делают плату, упомянутую в первом посте, так называемую "Blue Pill" (синяя пилюля).
Однако проект окончательно не угас, он довольно успешно продолжается в виде STM32duino http://stm32duino.com/
Так что есть вполне реальная возможность писать софт для STM32 в бесплатной среде ардуино и использовать ардуинские библиотеки. Не все, конечно, получается просто и гладко, но, при желании, вопросы решаемы.
Кстати, на форуме же STM32duino прочитал, что установленный на "синей пилюле" STM32F103C8T6 на самом деле перемаркированный STM32F103CBT6 - т.е. имеет памяти вдвое больше (128 кб). Попробовал (но без особого тщания) на своей плате, действительно программа пишется за пределы 64 кб и работает. Конечно, никто не гарантирует, что это счастье будет вечным :)
SVP
Мастер
Сообщения: 6140
Зарегистрирован: 19 дек 2012, 15:49
Репутация: 884
Откуда: Москва
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение SVP »

bolek4321 писал(а):использование STM32 в ардуино среде
А есть ли смысл ?
Одно из преимуществ дуины - 5V.
Одно из преимуществ STM32 - производительность, в том числе и за счет отсутствия оберток, которые есть у дуины на уровне языка.

Смысла женить ужа с ежом немного... т.е. если нужно что-то простое, то уж лучше на родной дуине делать, ремонтопригоднее.
А если что-то непростое, то лучше от этого вайринга (или что там у неё) отказаться.

И да, с STM32 порог вхождения выше гораздо.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Осталось только придумать полезный ЧПУ проект, раз уж STM'щики есть на форуме. Думаю, еще один контроллер будет банален.
bolek4321
Мастер
Сообщения: 217
Зарегистрирован: 27 сен 2014, 07:59
Репутация: 38
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение bolek4321 »

SVP писал(а):Одно из преимуществ дуины - 5V.
Это не преимущество, так же как и 3,3 В у STM32 не недостаток: большинство входов у STM32 толерантны к 5 В. Если требуется настоящее согласование - есть дешевые модули на 4, 8 каналов (двунаправленные).
Одно из преимуществ STM32 - производительность, в том числе и за счет отсутствия оберток, которые есть у дуины на уровне языка.
У STM32 другая обертка - HAL (SPL), так что одно другого стоит. Ардуино язык на самом деле С++.
Смысла женить ужа с ежом немного... т.е. если нужно что-то простое, то уж лучше на родной дуине делать, ремонтопригоднее.
А если что-то непростое, то лучше от этого вайринга (или что там у неё) отказаться.
Опять же есть нюансы: если не хочется совсем думать и есть готовый проект - конечно проще и быстрее просто повторить на Uno, mini, Mega и т.п.
Если хочется что-то до(пере)делать, то имеет смысл рассмотреть вариант с использование STM32.
Резоны:
1. синяя пилюля дешева - 2$, дешевле, пожалуй, только mini и то ненамного.
2. быстродействие
3. аппаратные возможности - больше памяти под код программы и, самое главное, RAM, сравнительно с младшими ардуинами (Uno, mini, Leonardo...)
Правда, больший размер памяти программ частично съедается более объемной и сложной инициализацией, и большим размером кода из-за разрядности МК. Но размер ОЗУ остается несомненным преимуществом.
На STM32 можно было бы перенести, например, проект "Arduino GRBL Companion" http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=10940
там размер код уже совсем впритык к границе, а можно было бы еще каких-нибудь хотелок добавить.
Бездумно поменять процессор конечно не получится, но, я думаю, задача вполне решаемая.
И да, с STM32 порог вхождения выше гораздо.
Если в традиционных IDE + HAL (SPL), или, особенно, без них - да.
В ардуино IDE - нет, если делать простые вещи без учета аппаратных возможностей STM32.
В ардуино IDE богаче разнообразные наработки любителей - библиотеки существуют на очень многие модули и проч., поэтому время получения первого результата сильно сокращается.

Впрочем, спорить на эту тему большого смысла нет, все равно каждый сам для себя решает как ему удобнее работать. Ардуино IDE - это просто еще один инструмент, который можно использовать для проектов с STM32, один из многих.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Я всё подумываю об универсальном автономном контроллере.. Чтобы в управлении не было жёсткой привязки к ОС устройства. Мол, хочешь любой ноут слабый возьми, хошь планшет или могучий ПК. Чтоб управлялся с любого устройства.
bolek4321
Мастер
Сообщения: 217
Зарегистрирован: 27 сен 2014, 07:59
Репутация: 38
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение bolek4321 »

Для автономного контроллера ни ноут, ни ПК, ни планшет, ни ОС не нужны, достаточно карточки (флэшки) с G-кодом.
Упоминался же проект автономного контроллера на STM32 http://www.cnczone.ru/forums/index.php? ... STM32&st=0 я его тогда же пробовал скомпилировать и залить - получалось, в работе только не проверял. Наверное, есть и другие...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Микроконтроллеры серии STM32 для новичков.

Сообщение MX_Master »

Автономный с одной флэшкой это хорошо, но как ты будешь выбирать файлы с флэшки для запуска? (: А чтоб залить файлы надо будет эту флэшку вытащить, записать файл на ПК и обратно воткнуть?

В моём понимании, ПК, ноут или планшет - это просто экран управления. Они не занимаются просчётами траекторий, не парсят G код, не генерируют шаги, они - это пульт на выбор пользователя. Цель пульта - нажимать кнопки, показывать траекторию и передавать файлы УП в контроллер (желательно без проводов). А всю грязную работу делает как раз автономник. Т.е. ты послал файл с УП в автономник, нажал кнопку СТАРТ и можешь отключать планшет. При таком подходе можно одновременно видеть, что делает каждый автономник, если их несколько.

У меня дома автономный WIFI принтер, куда его не унеси, везде со всех устройств он доступен. С каждого им можно управлять.
Ответить

Вернуться в «Электроника»