Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Автоматизация установки магнетронного напыления STM32F303

Чт ноя 15, 2018 18:28:47

Всем доброго времени суток! Прошу подсказать некоторые моменты относительно программирования микроконтроллера STM32.

Ситуация такова – делаю дипломную работу (она больше практическая), цель – автоматизировать работу установки магнетронного напыления. В наличии имеется отладочная плата STM32F303 Discovery kit, на борту установлен МК STM32F303VCT6. Вот значит нужно запилить: во-первых, программу на ПК для управления МК, во-вторых программу собственно для самого МК. Моя идея - пишу графический интерфейс (с кнопками, показаниями датчиков) на C# WinForms, и используя класс SerialPort, общаюсь с МК. Насчет самого МК потруднее, я имею небольшой опыт только с Ардуиной, с STM-ми не сталкивался. Немного начал просматривать про них инфу, и оказалось очень много разных нюансов, библиотек, сред разработок и т. д. Таким образом возникло несколько вопросов:

1) Какую IDE выбрать (наиболее низкий порог вхождения, или наиболее удобная)?

2) Программировать МК, наверное, буду на Си, но может лучше С++?

3) Узнал про как минимум две библиотеки – HAL и StdPeriph. Использовал и первую и вторую, чтобы зажечь светодиоды, т. е. функционал, как я понял у них вроде как одинаковый. Тогда вопрос - какую легче всего юзать?

4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче? (здесь нужно чтобы нажав на ПК кнопку, сигнал уходил на МК, например, подавалось бы питание на одну их ног, а также нужно, чтобы показания с датчиков установки уходили на МК далее через АЦП и выводились на ПК.

Прошу помочь, подсказать, посоветовать, так как я, ну можно сказать, новичок во всех этих делах.

Заранее благодарю за отзыв!

Re: Автоматизация установки магнетронного напыления STM32F30

Чт ноя 15, 2018 19:11:04

Michael_2018 писал(а):Какую IDE выбрать (наиболее низкий порог вхождения, или наиболее удобная)?
На мой взгляд EmBitz.

Michael_2018 писал(а):Тогда вопрос - какую легче всего юзать?
Если выбирать между HAL и SPL, я бы взял последнюю (SPL), что и делаю в своих проектах.

Michael_2018 писал(а):Как организовать двухстороннюю связь МК-ПК?
Есть много способов. Я бы сделал через USB, но если вы только начинаете знакомство с МК, возможно не получится.

Michael_2018 писал(а):нужно чтобы нажав на ПК кнопку, сигнал уходил на МК, например, подавалось бы питание на одну их ног
Вот пример, но для другого МК. http://purebasic.mybb.ru/viewtopic.php?id=592#p7394
USB библиотека поддерживает STM32F30x т. е. ваш МК.

Re: Автоматизация установки магнетронного напыления STM32F30

Чт ноя 15, 2018 19:30:05

1) Какую IDE выбрать (наиболее низкий порог вхождения, или наиболее удобная)?

Любую, лучше одну из самых распространённых. Например IAR.

2) Программировать МК, наверное, буду на Си, но может лучше С++?

Без разницы.

3) Узнал про как минимум две библиотеки – HAL и StdPeriph. Использовал и первую и вторую, чтобы зажечь светодиоды, т. е. функционал, как я понял у них вроде как одинаковый. Тогда вопрос - какую легче всего юзать?

Начинать нужно не с библиотек, а с выкачивания и изучения юзер-мануала и даташита на ваш МК с сайта STM. И по юзер-мануалу изучать по примерно такому порядку: 1) систему тактирования, организацию памяти; 2) мультиплексор пинов + GPIO; 3) прерывания; 4) остальную нужную периферию, UART например; ...

4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче? (здесь нужно чтобы нажав на ПК кнопку, сигнал уходил на МК, например, подавалось бы питание на одну их ног, а также нужно, чтобы показания с датчиков установки уходили на МК далее через АЦП и выводились на ПК.

Начинать нужно с изучения стандартных протоколов обмена для последовательного канала. Один из самых простых и в то же время достаточных для Вашей задачи - SLIP. Его и советую. Можно ещё COBS посмотреть, но для новичка он наверное будет сложноват. Modbus не советую.

Re: Автоматизация установки магнетронного напыления STM32F30

Чт ноя 15, 2018 20:08:32

Натыкать в кубе USB-CDC, сдать и забыть. Дел на пол часа с перекуром.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 07:56:02

Начинать нужно с изучения стандартных протоколов обмена для последовательного канала. Один из самых простых и в то же время достаточных для Вашей задачи - SLIP. Его и советую. Можно ещё COBS посмотреть, но для новичка он наверное будет сложноват. Modbus не советую.


А что думаете насчет виртуального COM порта, например, Uart или CDC?

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 07:59:12

А что думаете насчет виртуального COM порта, например, Uart или CDC?
Посмотрите на современный компьютер/ноутбук, куда вы вашу поделку будете втыкать? Ответ будет очевиден.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 09:47:02

А что думаете насчет виртуального COM порта, например, Uart или CDC?
Посмотрите на современный компьютер/ноутбук, куда вы вашу поделку будете втыкать? Ответ будет очевиден.

Ну так это, в USB :roll:

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 10:34:17

адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 16:19:21

адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.
Это у вас аврщиков проще, а у нас USB "искаропки".

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 16:28:54

ARV писал(а):Это у вас аврщиков проще, а у нас USB "искаропки".

И тут? :shock:
С этим уже просто что-то надо делать.
СТМщики совсем не толерантны к АВРщикам. ПИКовщики как всегда прогуливают бои.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 16:30:20

Слышь, название темы почитай. STM32F303 видал?

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 16:47:58

цель – автоматизировать работу установки магнетронного напыления.

Пока вышезаквоченное не будет представлено в более развернутом виде, можно давать только советы общего плана. Хрен там знает, какая у вас автоматизация на уме. Автоматизация может быть в виде подключения к трем кнопкам на пульте в параллель, а может быть внедрение в саму технологию на низком уровне. От этих нюансов будет зависеть, насколько глубоко ван потребуется погружаться в изучение микроконтроллеров.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 17:01:16

Repytw писал(а):СТМщики совсем не толерантны к АВРщикам.
Что мешает АВРщикам юзать МК с аппаратным USB? Среди AVR есть несколько таких.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 17:43:36

Накидаю цитат просто так, не для чего.

Michael_2018 писал(а):4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче?


ARV писал(а):адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.


ARV писал(а):Это у вас аврщиков проще, а у нас USB "искаропки".


a5021 писал(а):Что мешает АВРщикам юзать МК с аппаратным USB? Среди AVR есть несколько таких.


Что мешает STMщикам юзать МК с аппаратным USART? Наличие USB в периферии мешает?
Если задача не предполагает (как я понял) потоковой передачи данных, то применение UART вполне себе оправдано.
И со стороны ПК (опять-таки насколько мне известно) обращаться удобнее с виртуальным com портом.

И еще.
Товарищ VladislavS видимо сам не замечает как кидает камни в сторону AVR, хотя исходная тема предполагает использование STM.
При тыкании его носом в его новую попытку разжигания межконфессиональной розни пишет:
VladislavS писал(а):Слышь, название темы почитай. STM32F303 видал?

:facepalm: Нехорошо, товарищи...

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 18:17:58

не халовая USB full speed device library:
https://www.st.com/content/st_com/en/pr ... 32121.html
Virtual COM Port пример есть. Немножко SPL есть - GPIO настройка в основном, при желании вычищается. Аналогичная для STM32F042 нормально работает.
Если МК находится далеко от ПК, USB не очень годится. Лучше USART->RS485. Для ПК USB-485 бывают.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 18:25:56

Repytw, все очепятки как раз в жилу. :)))
И шли бы вы к себе, здесь и провокатора ARV хватает...

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 18:27:49

Repytw писал(а): Наличие USB в периферии мешает?
Лично я потратил значительное время и раскурил USB на уровне регистров. USB - это как минимум интересно. Так что если у ТС есть время и желание то почему бы и нет?
Repytw писал(а):И со стороны ПК (опять-таки насколько мне известно) обращаться удобнее с виртуальным com портом.
Не удобнее, а проще программу написать. USB как раз удобнее, программа сразу будет видеть отключение и подключения твоих девайсов и не надо ей указывать через какой COM порт общаться (если конечно же у тебя не COM порт организован, а, например, HID).

Michael_2018 писал(а):1) Какую IDE выбрать (наиболее низкий порог вхождения, или наиболее удобная)?
Не думаю что тут кто-то Вам поможет, тут может больше личных предподчтений. Для меня для вхождения самой простой средой оказался CoCoox. Проект умер (в плане развития), нормально работающая версия 1.7.8
Michael_2018 писал(а):2) Программировать МК, наверное, буду на Си, но может лучше С++?
Наверное ++ избыточен, но это не точно :)
Michael_2018 писал(а):3) Узнал про как минимум две библиотеки – HAL и StdPeriph. Использовал и первую и вторую, чтобы зажечь светодиоды, т. е. функционал, как я понял у них вроде как одинаковый. Тогда вопрос - какую легче всего юзать?
Если рабоать на уровне регистров, то будешь точно знать что у тебя и как программе. Скорее всего предпочтительней смешанный подход, надо же знать как работает МК, но почему бы и не облегчить себе жизнь библиотеками. Когда я только пробовал "помигать" на STM32 и искал примеры, в основном попадались примеры на библиотеках и от этого понятнее мне не становилось. Перешел на уровень регистров, оказалось обычный МК, только с неприлично большой периферией :).
Michael_2018 писал(а):4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче? (здесь нужно чтобы нажав на ПК кнопку, сигнал уходил на МК, например, подавалось бы питание на одну их ног, а также нужно, чтобы показания с датчиков установки уходили на МК далее через АЦП и выводились на ПК.
Конечно UART самое простое для понимания, но про USB я сказал уже выше свое мнение. А так можно и TCP/IP (смотря что Вам хочется и на что желаете время тратить). Возможно "цель – автоматизировать работу установки магнетронного напыления" не проще чем USB курить :)

На меряющихся письками контроллерами не обращайте внимание, наверное скоро они и в теме анекдотов будут говорить "смешно, но если применить этот МК то будет намного смешнее".

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 16, 2018 18:30:15

Что мешает STMщикам юзать МК с аппаратным USART? Наличие USB в периферии мешает?
У вас со зрением всё в порядке? Автор пишет:
В наличии имеется отладочная плата STM32F303 Discovery kit, на борту установлен МК STM32F303VCT6.
У него на борту уже всё есть чтобы просто воткнуть USB- кабель и работать.

Если задача не предполагает (как я понял) потоковой передачи данных, то применение UART вполне себе оправдано.
Зачем ему какие-то переходники сомнительного происхождения сопливить?

со стороны ПК (опять-таки насколько мне известно) обращаться удобнее с виртуальным com портом.
Кто-то запрещает виртуальный ком на контроллере запустить?

Товарищ VladislavS видимо сам не замечает как кидает камни в сторону AVR, хотя исходная тема предполагает использование STM.
Не перекладывай с больной головы на здоровую. Это не я с авр-овским подходом залез в тему про stm32.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 23, 2018 18:35:13

А что думаете насчет виртуального COM порта, например, Uart или CDC?

Что удобнее - без разницы.
CDC не отменяет необходимости протокола обмена. Не важно через что он ходит - реальный UART или виртуальный.

Re: Автоматизация установки магнетронного напыления STM32F30

Пт ноя 30, 2018 11:55:57

А как поджиг магнетрона и регулировка высокого организовано в установке? Возьмите цифровой скоп и снимит осциллограму помеховой обстановки в момент розжига. А то STM32 с его низковольтным ядром и входами чудно реагирует на помехи от старых советских установок ( родная электроника таких установок была релейная или на высоковольтной 511 серии малочувствительнйо к помехам). Я не утверждаю, что делать на STM32 нельзя, но уж не на Discovery. Или нужна дополнительная плата с EMI фильтрами и развязками там где надо и герметичный по помехам корпус.
Зы. И отладчик изолированный ищите сразу - порты SWD палятся на раз по петле USB провода к компу при запуске плазмы.
Ответить