Страница 1 из 1
Автоматизация установки магнетронного напыления STM32F303
Добавлено: Чт ноя 15, 2018 18:28:47
Michael_2018
Всем доброго времени суток! Прошу подсказать некоторые моменты относительно программирования микроконтроллера 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
jcxz
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]1) Какую IDE выбрать (наиболее низкий порог вхождения, или наиболее удобная)?[/uquote]
Любую, лучше одну из самых распространённых. Например IAR.
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]2) Программировать МК, наверное, буду на Си, но может лучше С++?[/uquote]
Без разницы.
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]3) Узнал про как минимум две библиотеки – HAL и StdPeriph. Использовал и первую и вторую, чтобы зажечь светодиоды, т. е. функционал, как я понял у них вроде как одинаковый. Тогда вопрос - какую легче всего юзать?[/uquote]
Начинать нужно не с библиотек, а с выкачивания и изучения юзер-мануала и даташита на ваш МК с сайта STM. И по юзер-мануалу изучать по примерно такому порядку: 1) систему тактирования, организацию памяти; 2) мультиплексор пинов + GPIO; 3) прерывания; 4) остальную нужную периферию, UART например; ...
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче? (здесь нужно чтобы нажав на ПК кнопку, сигнал уходил на МК, например, подавалось бы питание на одну их ног, а также нужно, чтобы показания с датчиков установки уходили на МК далее через АЦП и выводились на ПК.[/uquote]
Начинать нужно с изучения стандартных протоколов обмена для последовательного канала. Один из самых простых и в то же время достаточных для Вашей задачи - SLIP. Его и советую. Можно ещё COBS посмотреть, но для новичка он наверное будет сложноват. Modbus не советую.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Чт ноя 15, 2018 20:08:32
VladislavS
Натыкать в кубе USB-CDC, сдать и забыть. Дел на пол часа с перекуром.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 07:56:02
Michael_2018
[uquote="jcxz",url="/forum/viewtopic.php?p=3505492#p3505492"]Начинать нужно с изучения стандартных протоколов обмена для последовательного канала. Один из самых простых и в то же время достаточных для Вашей задачи - SLIP. Его и советую. Можно ещё COBS посмотреть, но для новичка он наверное будет сложноват. Modbus не советую.[/uquote]
А что думаете насчет виртуального COM порта, например, Uart или CDC?
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 07:59:12
VladislavS
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505725#p3505725"]А что думаете насчет виртуального COM порта, например, Uart или CDC?[/uquote]Посмотрите на современный компьютер/ноутбук, куда вы вашу поделку будете втыкать? Ответ будет очевиден.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 09:47:02
Michael_2018
[uquote="VladislavS",url="/forum/viewtopic.php?p=3505727#p3505727"][uquote="Michael_2018",url="/forum/viewtopic.php?p=3505725#p3505725"]А что думаете насчет виртуального COM порта, например, Uart или CDC?[/uquote]Посмотрите на современный компьютер/ноутбук, куда вы вашу поделку будете втыкать? Ответ будет очевиден.[/uquote]
Ну так это, в USB

Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 10:34:17
ARV
адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 16:19:21
VladislavS
[uquote="ARV",url="/forum/viewtopic.php?p=3505833#p3505833"]адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.[/uquote]Это у вас аврщиков проще, а у нас USB "искаропки".
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 16:28:54
Repytw
ARV писал(а):Это у вас аврщиков проще, а у нас USB "искаропки".
И тут?

С этим уже просто что-то надо делать.
СТМщики совсем не толерантны к АВРщикам. ПИКовщики как всегда прогуливают бои.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 16:30:20
VladislavS
Слышь, название темы почитай. STM32F303 видал?
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 16:47:58
a5021
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]цель – автоматизировать работу установки магнетронного напыления.[/uquote]
Пока вышезаквоченное не будет представлено в более развернутом виде, можно давать только советы общего плана. Хрен там знает, какая у вас автоматизация на уме. Автоматизация может быть в виде подключения к трем кнопкам на пульте в параллель, а может быть внедрение в саму технологию на низком уровне. От этих нюансов будет зависеть, насколько глубоко ван потребуется погружаться в изучение микроконтроллеров.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 17:01:16
Мурик
Repytw писал(а):СТМщики совсем не толерантны к АВРщикам.
Что мешает АВРщикам юзать МК с аппаратным USB? Среди AVR есть несколько таких.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 17:43:36
Repytw
Накидаю цитат просто так, не для чего.
Michael_2018 писал(а):4) Как организовать двухстороннюю связь МК-ПК? Через что будет легче?
ARV писал(а):адаптер USB-USART намного проще применить, чем даже USB-CDC освоить.
ARV писал(а):Это у вас аврщиков проще, а у нас USB "искаропки".
a5021 писал(а):Что мешает АВРщикам юзать МК с аппаратным USB? Среди AVR есть несколько таких.
Что мешает STMщикам юзать МК с аппаратным USART? Наличие USB в периферии мешает?
Если задача не предполагает (как я понял) потоковой передачи данных, то применение UART вполне себе оправдано.
И со стороны ПК (опять-таки насколько мне известно) обращаться удобнее с виртуальным com портом.
И еще.
Товарищ
VladislavS видимо сам не замечает как кидает камни в сторону AVR, хотя исходная тема предполагает использование STM.
При тыкании его носом в его новую попытку разжигания межконфессиональной розни пишет:
VladislavS писал(а):Слышь, название темы почитай. STM32F303 видал?

Нехорошо, товарищи...
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 18:17:58
oleg110592
не халовая 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
dosikus
Repytw, все очепятки как раз в жилу.
И шли бы вы к себе, здесь и провокатора ARV хватает...
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 16, 2018 18:27:49
Z_h_e
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
VladislavS
[uquote="Repytw",url="/forum/viewtopic.php?p=3506213#p3506213"]Что мешает STMщикам юзать МК с аппаратным USART? Наличие USB в периферии мешает?[/uquote]У вас со зрением всё в порядке? Автор пишет:
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]В наличии имеется отладочная плата STM32F303 Discovery kit, на борту установлен МК STM32F303VCT6.[/uquote]У него на борту уже всё есть чтобы просто воткнуть USB- кабель и работать.
[uquote="Repytw",url="/forum/viewtopic.php?p=3506213#p3506213"]Если задача не предполагает (как я понял) потоковой передачи данных, то применение UART вполне себе оправдано.[/uquote]Зачем ему какие-то переходники сомнительного происхождения сопливить?
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]со стороны ПК (опять-таки насколько мне известно) обращаться удобнее с виртуальным com портом.[/uquote]Кто-то запрещает виртуальный ком на контроллере запустить?
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505448#p3505448"]Товарищ VladislavS видимо сам не замечает как кидает камни в сторону AVR, хотя исходная тема предполагает использование STM.[/uquote]Не перекладывай с больной головы на здоровую. Это не я с авр-овским подходом залез в тему про stm32.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 23, 2018 18:35:13
jcxz
[uquote="Michael_2018",url="/forum/viewtopic.php?p=3505725#p3505725"]А что думаете насчет виртуального COM порта, например, Uart или CDC?[/uquote]
Что удобнее - без разницы.
CDC не отменяет необходимости протокола обмена. Не важно через что он ходит - реальный UART или виртуальный.
Re: Автоматизация установки магнетронного напыления STM32F30
Добавлено: Пт ноя 30, 2018 11:55:57
khach
А как поджиг магнетрона и регулировка высокого организовано в установке? Возьмите цифровой скоп и снимит осциллограму помеховой обстановки в момент розжига. А то STM32 с его низковольтным ядром и входами чудно реагирует на помехи от старых советских установок ( родная электроника таких установок была релейная или на высоковольтной 511 серии малочувствительнйо к помехам). Я не утверждаю, что делать на STM32 нельзя, но уж не на Discovery. Или нужна дополнительная плата с EMI фильтрами и развязками там где надо и герметичный по помехам корпус.
Зы. И отладчик изолированный ищите сразу - порты SWD палятся на раз по петле USB провода к компу при запуске плазмы.