Перейти к содержанию

Mini Stm32 V3.0


CMaxx22

Рекомендуемые сообщения

Здравствуйте! Недавно приобрёл плату разработки на STM32F103RBT6 вот такую . При подключении через USB играет дэмо. Один из мини USB заходит в USB to SERIAL converter PL2303. Я так понимаю, что через него можно залить прошивку? JTAG у меня нет. Вобщем нужно повесить на него 5 термометров DS/8B20 и один аналоговый датчик давления. Я разбираюсь в программировании и в электронике, но с МК встречаюсь впервые. Первый вопрос: где найти исходники примеров под эту плату и второй вопрос: как их туда залить через USB? Драйвера на 2303 установил, но не знаю чем лить. Вопросов ещё много, но сначала нужно решить эти Спасибо тем, кто решит потратить время на новичка, я быстро схватываю.

Изменено пользователем CMaxx22
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Ссылка нерабочая. Если через последовательный порт, то скорей всего прошивается он при помощи специального загрузчика применительно к конкретному бут-лоадеру прошитому в контроллер. Что за плата? если универсальная с проекта Arduino - посети сайт разработчика, там есть все необходимые инструменты. Кстати, а в демке разве не крутится адрес сайта?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Ссылка нерабочая. Если через последовательный порт, то скорей всего прошивается он при помощи специального загрузчика применительно к конкретному бут-лоадеру прошитому в контроллер. Что за плата? если универсальная с проекта Arduino - посети сайт разработчика, там есть все необходимые инструменты. Кстати, а в демке разве не крутится адрес сайта?

Ссылку исправил, посмотрите пожалуйста. Там есть USB, на плате распаян конвертер, продавец пишет, что через USB можно залить ISP. Ссылка крутится, ведёт на китайский сайт где ничего не понятно и примеры с описанием на китайском. Также в комплекте диск с двумя прогами и текстовым документом. Проги это Keil и J-link/J-flash . В текстовом документе описание на китовском с картинками, показано что надо запустить J-flash, выбрать свойства проекта и там выбрать модель контроллера, это получается. Затем надо зайти в target и нажать Download, тут то у меня и выскакивает ошибка, что нет связи с контроллером через USB. Вобщем я совсем не представляю с чего начать...

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Мда... хрень всякую покупать без документации а потом думать что делать... проще это выкинуть на свалку. Потмоу как для китайского процессора нужен свой компилятор, а поддержку на отечественных форумах фиг найдешь. Проще взять аналогичный модуль Arduino - этот проект отлично документирован и на более распространенных контроллерах типа ATMEGA32 примерно таких же по характеристикам как и то устройство.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Мда... хрень всякую покупать без документации а потом думать что делать... проще это выкинуть на свалку. Потмоу как для китайского процессора нужен свой компилятор, а поддержку на отечественных форумах фиг найдешь. Проще взять аналогичный модуль Arduino - этот проект отлично документирован и на более распространенных контроллерах типа ATMEGA32 примерно таких же по характеристикам как и то устройство.

Проц там вполне обычный STM32F103RBT6. Кроме него помоему только конвертер PL2303. Схематика достаточно стандартная, похожие платы часто встречаются. Мне эта подходит по всем параметрам. Купить 8ми битный проц, подпаять его к ком порту и прошить написав прогу на бэйсике от микроэлектроники я смог бы и сам. Тут нужен совет именно по таким решениям, PDF со схемой данной платы есть в сети, но мне это не помогает. Прошу ответов по существу, как залить прошивку через USB? Если в комплекте идёт кеил то значит он поддерживается? Для чего вообще кеил? Чтоза прога J-flash и сможет ли она шить этот девайс через USB и PL2303?

Также, возможно глупый вопрос, можно ли слить ту дэмку с устройства и как нибудь получить исходник? Я бы по нему уже разобрался что делать. Ещё скачал кучу примеров для похожей платы, но не знаю чем их открыть (там куча файлов и папок в каждом примере) и как заливать...

Ссылка на комментарий
Поделиться на другие сайты

Ссылку исправил, посмотрите пожалуйста. Там есть USB, на плате распаян конвертер, продавец пишет, что через USB можно залить ISP. Ссылка крутится, ведёт на китайский сайт где ничего не понятно и примеры с описанием на китайском. Также в комплекте диск с двумя прогами и текстовым документом. Проги это Keil и J-link/J-flash . В текстовом документе описание на китовском с картинками, показано что надо запустить J-flash, выбрать свойства проекта и там выбрать модель контроллера, это получается. Затем надо зайти в target и нажать Download, тут то у меня и выскакивает ошибка, что нет связи с контроллером через USB. Вобщем я совсем не представляю с чего начать...

Через USB он не программируется. Для программирования можно использовать ARM jtag или swd программатор ST-link, stm32vl-discovery (все это железяки а не программы).Для заливки прошивки можно использовать также rs323. http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/SW_DEMO/um0462.zip - деменстрационная программа загрузки флеша. Ей то и нужно загружать через rs323 - usb конвертер.

Хорошим ресурсом по stm32 является we.easyelectronics.ru, форумы electronix.ru

Проц там вполне обычный STM32F103RBT6. Кроме него помоему только конвертер PL2303. Схематика достаточно стандартная, похожие платы часто встречаются. Мне эта подходит по всем параметрам. Купить 8ми битный проц, подпаять его к ком порту и прошить написав прогу на бэйсике от микроэлектроники я смог бы и сам. Тут нужен совет именно по таким решениям, PDF со схемой данной платы есть в сети, но мне это не помогает. Прошу ответов по существу, как залить прошивку через USB? Если в комплекте идёт кеил то значит он поддерживается? Для чего вообще кеил? Чтоза прога J-flash и сможет ли она шить этот девайс через USB и PL2303?

Также, возможно глупый вопрос, можно ли слить ту дэмку с устройства и как нибудь получить исходник? Я бы по нему уже разобрался что делать. Ещё скачал кучу примеров для похожей платы, но не знаю чем их открыть (там куча файлов и папок в каждом примере) и как заливать...

1. Flash loader demonstartor for stm32 and stm8. Необходимо перекоммутировать одну или две ноги контроллера для активизации соответвующей внутренней программы контроллера(boot0 и boot1 название ног). Соответвующий документ искать на сайте st.

2. Кейл - это программа для создания прошивки из исходников на языке С. Компилятор и т.д. Может программировать через j-tag или swd. Железяка под swd зовется st-link. Самая дешевая встроена в stm32vl-discovery.

3. J-flash - прога для прошивки и отладки через j-tag. Нужна дополнительная железяка.

4. Исходник должен идти с платой. Если нет - то из контроллера не вытащишь.

5. Примеры открываются как раз тем самым кейл. Ну или могут им открываться.

По моему оригинальную прошивку можно сохранить на диск перед прошивкой новой.

Посмотрите на радиокоте у меня статья по источнику на stm32f100c4. Там я написал как пользоваться загрузчиком. Современный загрузчик должен поддерживать все кристаллы без извращений.

Изменено пользователем Galizin
Ссылка на комментарий
Поделиться на другие сайты

Ссылку исправил, посмотрите пожалуйста. Там есть USB, на плате распаян конвертер, продавец пишет, что через USB можно залить ISP. Ссылка крутится, ведёт на китайский сайт где ничего не понятно и примеры с описанием на китайском. Также в комплекте диск с двумя прогами и текстовым документом. Проги это Keil и J-link/J-flash . В текстовом документе описание на китовском с картинками, показано что надо запустить J-flash, выбрать свойства проекта и там выбрать модель контроллера, это получается. Затем надо зайти в target и нажать Download, тут то у меня и выскакивает ошибка, что нет связи с контроллером через USB. Вобщем я совсем не представляю с чего начать...

Через USB он не программируется. Для программирования можно использовать ARM jtag или swd программатор ST-link, stm32vl-discovery (все это железяки а не программы).Для заливки прошивки можно использовать также rs323. http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/SW_DEMO/um0462.zip - деменстрационная программа загрузки флеша. Ей то и нужно загружать через rs323 - usb конвертер.

Хорошим ресурсом по stm32 является we.easyelectronics.ru, форумы electronix.ru

А зачем тогда на плате распаян чип конвертер усб ту сериал? И один из портов идёт через него? Вроде как при наличии бутлоадера можно заливать прошивку через этот USB порт (который на конвертер идёт) и запускать... Так продавец сказал, но детали не пояснил пока. Щас скачаю и посмотрю прогу, спасибо за ссылку на сайт, почитаю.

Ссылка на комментарий
Поделиться на другие сайты

А зачем тогда на плате распаян чип конвертер усб ту сериал? И один из портов идёт через него? Вроде как при наличии бутлоадера можно заливать прошивку через этот USB порт (который на конвертер идёт) и запускать... Так продавец сказал, но детали не пояснил пока. Щас скачаю и посмотрю прогу, спасибо за ссылку на сайт, почитаю.

Я имел ввиду внутренний USB контроллера. Через usb-rs232 конвертер должен программироваться как через обычный rs232. То есть Flash loader demonstarator - ом. Почитайте - для активации бутлоадера нужно подтянуть какие то 2 ноги соотв образом при старте. Отладка через rs232 недоступна в отличие от st-link.

Сказал я это так потому что некоторые из stm32 могут программироваться через их же собственный usb без конвертеров.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за ответы! С заливкой прошивки разобрался, подключаю через USB и лью Flash Demonstratorом без проблем. Только пока заливаю свою родную прошивку с дэмкой, которую заблаговременно слил и сохранил. Также нашел исходники примеров под похожую плату, открываю кеилом пример GLCD,жму билд таргет, он компилит и выдаёт кучу мусора, среди которого есть маленький (около 33кб) HEX файл. Зашиваю его - белый экран. Заливаю назад свою прошивку - работает. Сейчас бы хотелось найти такой исходник для кеил, чтобы он инициализировал экран и хотябы квадратик рисовал или "хелло ворлд" какое-нибудь. Дальше думаю сам разберусь :) Как это можно осуществить? Микросхема которая (похоже) управляет экраном называется 74HC573D...

Ссылка на комментарий
Поделиться на другие сайты

Это просто 8-разрядный регистр-защелка. Ты лучше попытайся разобраться в коде. Есть схема от устройства? даташит на индикатор? Из этого и надо исходить... в демонстрационных программах может есть в тексте пример инициализации. Кстати, демка может и не работать с экраном - например демонстрация возможности ввода/вывода, вывод в последовательный порт и т.д. Работа с экраном обычно очень проста - есть шина 8 бит для передачи данных и управляющие сигналы - вот ими надо манипулировать так чтобы указывать индикатору команды и заливать в его память данные, которые потом будут отображены.

п.с. без отладчика будет туго...

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Это просто 8-разрядный регистр-защелка. Ты лучше попытайся разобраться в коде. Есть схема от устройства? даташит на индикатор? Из этого и надо исходить... в демонстрационных программах может есть в тексте пример инициализации. Кстати, демка может и не работать с экраном - например демонстрация возможности ввода/вывода, вывод в последовательный порт и т.д. Работа с экраном обычно очень проста - есть шина 8 бит для передачи данных и управляющие сигналы - вот ими надо манипулировать так чтобы указывать индикатору команды и заливать в его память данные, которые потом будут отображены.

п.с. без отладчика будет туго...

Рабочего кода нет, иначе я бы уже давно попытался разобраться. Есть только .HEX дэмки. Я видел в примерах как там программируют, чтото типа include GLCD затем пара команд инициализации и дальше всё просто и понятно: circle, rectangle, text итд. Вот бы найти рабочий исходник тогда конечно я в нём раскопаю всё, что нужно.

Ссылка на комментарий
Поделиться на другие сайты

Тогда лучше сразу иди на форум посвященный этому процессору, там может и покажут исходники какие-то. Но ведь для этого вначале надо найти графическую библиотеку - индикатор сам по себе не умеет выводить фигуры, он только умеет отображать попиксельно.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Тогда лучше сразу иди на форум посвященный этому процессору, там может и покажут исходники какие-то. Но ведь для этого вначале надо найти графическую библиотеку - индикатор сам по себе не умеет выводить фигуры, он только умеет отображать попиксельно.

Дали исходник. А чем его компилить? Кеил чёто не хочет... Кто сможет откомпилировать и выложить чтобы я смог проверить?

ucosii_2.83_miniSTM32F103RB.rar

Ссылка на комментарий
Поделиться на другие сайты

Всё, я разобрался. Нашел исходники и документацию к этой плате, светодиодами мигал, инфу на экран выводил. Конечно многое ещё не понятно. Например я буду благодарен, если кто-нибудь мне подскажет где найти пример или туториал как подружить цифровые термометры DS18B20 с STM32F106. Чтобы штук пять на одной шине 1-wire... Или хороший пример аналогово милливольтметра (для подключения датчика давления)...

Ссылка на комментарий
Поделиться на другие сайты

Мне уже такая мысль в голову приходила. Но дело сделано, плата куплена и надо теперь рожать. Тем более, что мне надо сделать один вполне определённый девайс и возможно больше к МК не возвращаться (хотя кто знает :)), ради этого не хотелось бы весь огромный материал штудировать и начинать с малого. Неужели никто не сможет подсказать как сделать 3 и более ноги МК милливольтметрами, чтобы данные о напряжении на ногах в трёх и более переменных сохранялись, а я мог их уже использовать как захочу?

Ссылка на комментарий
Поделиться на другие сайты

А в чем именно проблема? Ты уже прочитал по диагонали даташит на микроконтроллер?

В микроконтроллерах всегда имеется только один АЦП и мультиплексор подключающий один из выводов порта ко входу АЦП, технически нельзя измерить сразу три напряжения - но можно измерять их последовательно с достаточно большой скоростью, НО... везде есть "НО" - чем выше быстродействие АЦП тем хуже результат, страдает точность и появляется шум. Кстати шум - это основная проблема интегрированных АЦП, это надо иметь в виду если собираешься измерять напряжение с датчиков давления - шум может превысить диапазон измерения. Для этого предусмотрены специальные команды процессора - например перевести его в спящий режим на время измерения. По этой причине, лучше всего нормализовать сигнал перед измерением при помощи инструментальных усилителей(с минимальным напряжением смещения нуля) к диапазону 0..5В(или до опорного напряжения для АЦП, как правило =2.56В).

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

А в чем именно проблема? Ты уже прочитал по диагонали даташит на микроконтроллер?

В микроконтроллерах всегда имеется только один АЦП и мультиплексор подключающий один из выводов порта ко входу АЦП, технически нельзя измерить сразу три напряжения - но можно измерять их последовательно с достаточно большой скоростью, НО... везде есть "НО" - чем выше быстродействие АЦП тем хуже результат, страдает точность и появляется шум. Кстати шум - это основная проблема интегрированных АЦП, это надо иметь в виду если собираешься измерять напряжение с датчиков давления - шум может превысить диапазон измерения. Для этого предусмотрены специальные команды процессора - например перевести его в спящий режим на время измерения. По этой причине, лучше всего нормализовать сигнал перед измерением при помощи инструментальных усилителей(с минимальным напряжением смещения нуля) к диапазону 0..5В(или до опорного напряжения для АЦП, как правило =2.56В).

С аналоговыми входами разобрался, милливольтметр на 4 канала готов. Теперь дело за датчиками DS18B20. Насколько я понял в STM32 шины 1-wire нету и её заменяет I2C? Как бы подружить цифровой датчик с нею...

Насчёт шумов всё верно, чёто шумит. Сейчас мои продвижения на уровне измерения напряжения на любом из выходов МК (с использованием DMA) с выводом результатов на встроенный дисплей. Также освоил передачу по UART, тоже может пригодиться. Так вот я сейчас смотрю на напряжение одной из пользовательских кнопок (в режиме "отжата") и оно равно 409100 (похоже это 2.595 вольт). И иногда самопроизвольно прыгает до 409200 (2.596 вольт). Это и есть шумы? Тоесть на одну тысячную вольта всего? Или это при высоком напряжении только так, а при низком будут больше? Ноль (кнопка в "нажато") держит уверенно :)

Ссылка на комментарий
Поделиться на другие сайты

а кнопка подключает вход к опорному напряжению? Нет, это не шум... шум это когда младший разряд прыгает. Кстати, а какая разрешающая способность АЦП? сколько бит? что-то многовато для 12 битного, неужели 16 бит?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Кнопка когда отжата садит вывод РА0 на 3.3 вольта через резистор 10ком. Когда нажата на массу. Вы правы, это я результат работы АЦП умножил на 10 и забыл :) С отжатой кнопкой получается диапазон 4085-4095, с нажатой 9-10. Так что младший бит и скачет. Шумы? АЦП вестимо 12 битный.

Ещё хотел спросить - если я перед считыванием настраиваю АЦП вот так:

ADC_RegularChannelConfig(ADC1, channels, 1, ADC_SampleTime_55Cycles5);

то на месте channels при вызове подставляю от 0 до 3. Это соответствует опросу ножек РА0-РА3. А если я хочу мониторить скажем РС4-РС7 что тогда вводить?

Изменено пользователем CMaxx22
Ссылка на комментарий
Поделиться на другие сайты

А ты почитай документацию на контроллер, это полезно. Особенно про функции выводов. Скорей всего это попросту невозможно, АЦП закреплен за строго определенными выводами.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

А ты почитай документацию на контроллер, это полезно. Особенно про функции выводов. Скорей всего это попросту невозможно, АЦП закреплен за строго определенными выводами.

Как раз выводы РС0-5 и привязаны к АЦП, это видно на схеме. Похоже я понял, если посмотреть схему, то там всего 15 ног привязаны к АЦП, а 16 тая нога стоит на внутреннем датчике температуры. Просто надо номер от 0 до 15 использовать.

Ссылка на комментарий
Поделиться на другие сайты

Ужас! Оказывается почти все эти 15 ног используются то экраном то картридером, ледами и кнопками. На одной висит подстроечник для проверки АЦП и только одна свободна... Получается остальные использовать никак нельзя? Кроме тех, с которых можно убрать периферию (леды, кнопки и подстроечник)? Также нет ни одной свободной I2C Хотя если я правильно понял, I2C можно и параллелить, но кто знает настроены ли эти ноги именно на I2C...) на них сидит картридер и часть дисплея... :(

Ещё в процессе наблюдений за ногами РВ0 и РВ1 (на РВ0 висит подстроечник, а РВ1 единственная не занятая) заметил, что РВ1 выдаёт значение около 2700 хотя на ней ничего нет... При замыкании на землю показывает честный ноль, при замыкании на 3.3в показывает 4095, а в покое 2700... Почему это? Также непонятно, почему когда крутишь подстроечник (РВ0) то диапазон показаний можно изменить от 0 до 4095, но при этом меняются и показания с РВ1, довольно значительно (от 1700 до 3000) хотя с РВ0 она никак не связана... Проясните пожалуйста.

Ссылка на комментарий
Поделиться на другие сайты

Также непонятно, почему когда крутишь подстроечник (РВ0) то диапазон показаний можно изменить от 0 до 4095, но при этом меняются и показания с РВ1, довольно значительно (от 1700 до 3000) хотя с РВ0 она никак не связана... Проясните пожалуйста.

Всякий изолятор - чуть чуть проводник (полупроводник). Добро пожаловать в реальный мир.

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

Изменено пользователем Galizin
Ссылка на комментарий
Поделиться на другие сайты

Также непонятно, почему когда крутишь подстроечник (РВ0) то диапазон показаний можно изменить от 0 до 4095, но при этом меняются и показания с РВ1, довольно значительно (от 1700 до 3000) хотя с РВ0 она никак не связана... Проясните пожалуйста.

Всякий изолятор - чуть чуть проводник (полупроводник). Добро пожаловать в реальный мир.

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

Тоесть это наводка от соседней ноги? :blink: Получается что когда я оторву лишнюю разводку и посажу на эти ноги датчики то всё более менее успокоится? Просто странно както, этот "изолятор" ведёт себя совсем не как изолятор, даже плохой. Так как показания с соседней ноги изменяется аж на треть, это больше похоже на то, что ноги между собой резистором соединены :angry: Как же свободно болтающаяся нога может показывать половину от максимума и более? Чёто не верится... Может там какие-нибудь подтягивающие резисторы включены и их можно отключить?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...