AntiDriver 0 2 мая, 2015 Опубликовано 2 мая, 2015 · Жалоба Всем доброе время суток. Проектирую систему управления, в состав которой входит операция по суммированию 20 источников сигнала (по напряжению), обработка полученного значения и формирование из него четырёх выходных аналоговых сигнала. То есть сумматор на 20 каналов с 4 выходами. Можно было бы сделать аналоговый сумматор, но сложность заключается в том, что функции выходных сигналов зависят не только от начальных значений, но и от того, сколько каналов активно на данный момент времени. При проектировании получалось что без логики управления не обойтись и микроконтроллер был нужен в любом случае. Так как в современных микроконтроллерах есть встроенный АЦП и ШИМ, то возникла идея сделать всё устройство на одном микроконтроллере. Все 20 входов (и один запасной, в сумме 21) завести на микроконтроллер и подключить их к каналам АЦП, реализовав программу, которая последовательно опрашивает каждый канал и выполняет операцию суммирования уже в цифровом виде. Выходы сделать на основе ШИМ, то есть использовать один таймер и 4 выхода, установив на каждый выход свою скважность. То есть получается система, которая последовательно оцифровывает 21 вход, считывает значение активности входа (обычный цифровой вход), исходя из этих данный проводит математическую операцию, по результатам выдает на 4 выхода ШИМ сигнал, которой поступает на ФНЧ и формируются 4 аналоговых выхода. С микроконтроллерами опыта большого не имел (когда-то программировал 8-разрядные pic контроллеры на ассемблере), в основном занимаюсь аналоговой схемотехникой, поэтому хотелось бы получить советы по поводу использования микроконтроллера, можно ли завести на одном контроллере такую периферию и на каком конкретно? Так сложилось, что использовать могу только микроконтроллеры STM. Из поиска вроде бы подходит STM32F103ZCT6. Подскажите пожалуйста, можно ли реализовать всё что я задумал на данном микроконтроллере? Если кратко, можно ли на STM32F103ZCT6 организовать последовательный опрос 21 канала и оцифровкой каждого, соответственно 21 обычных GPIO и 4 ШИМ выхода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 3 мая, 2015 Опубликовано 3 мая, 2015 · Жалоба Нет, нельзя. Если вы посмотрите на распределение функций по выводам, то увидите, что все 16 входов обоих АЦП разпределены на одни и те же 16 ног корпуса. Т.е. корпус имеет всего 16 аналоговых входов. Можно добавить внешний аналоговый мультиплексор, но я телепатически предположу, что этот вариант вас не устраивает, потому что в этом случае подойдет любой контроллер с АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 3 мая, 2015 Опубликовано 3 мая, 2015 · Жалоба ..можно ли на STM32F103ZCT6 организовать последовательный опрос 21 канала и оцифровкой каждого, соответственно 21 обычных GPIO и 4 ШИМ выхода? 4 шима юзаю на STM32F4xx, а вот АЦП на 21GPIO - не скажу. Лучше всего Вам нужно поставить се на комп программку STM32Cube(Ранее назывался MicroXplorer) от ST - именно она Вам подскажет по возможностям периферии, ножкам и т.п. вещам по любому ARMу из любой линейки ST. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SMaster 0 3 мая, 2015 Опубликовано 3 мая, 2015 · Жалоба Вам подойдет серия STM32F3. Рекомендую обратить внимание конкретно на STM32F303VC: 4 АЦП на 5 мегавыборок/с, 39 аналоговых каналов. И самое главное: копеешная отладочная плата STM32F3DISCOVERY. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 4 мая, 2015 Опубликовано 4 мая, 2015 · Жалоба Куб надо ставить. Он вам не только ответ даст, но и готовый код вашей задачи. Код будет так себе, конечно, но если опыта нет, то сгодиться (без математики, просто сбор и выставление данных). Без куба в голове понять сколько у вас входов, выходов, и как они друг другу будут мешать понять оооочень сложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 4 мая, 2015 Опубликовано 4 мая, 2015 · Жалоба Нет, нельзя. если речь про STM32F103ZCT6 в tqfp-144 корпусе, то там 3 АЦП и у мультиплексора 21 вход, как оно там потом по АЦП распределено не важно, оцифровать 21 канал можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SMaster 0 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба если речь про STM32F103ZCT6 в tqfp-144 корпусе, то там 3 АЦП и у мультиплексора 21 вход, как оно там потом по АЦП распределено не важно, оцифровать 21 канал можно. Только он стоит дороже STM32F303VC при том, что у f3 покруче ядро и периферия Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба Только он стоит дороже STM32F303VC при том, что у f3 покруче ядро и периферия да те же 10$, если искать максимально дешевый МК с 21 АЦП, то тогда вообще какой-нибудь PIC или silabs 8051 за пару $ взять можно, ну или MK02FN64VLH10 за 3$ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба если речь про STM32F103ZCT6 в tqfp-144 корпусе, то там 3 АЦП и у мультиплексора 21 вход, как оно там потом по АЦП распределено не важно, оцифровать 21 канал можно. Судя по даташиту, у всех STM32F103 всего-то 18 каналов АЦП, 2 из которых — внутренние. Т.е. больше 16 внешних каналов туда никак не запихнуть! Другой камушек выбирать надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 4 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба Судя по даташиту, у всех STM32F103 всего-то 18 каналов АЦП, 2 из которых — внутренние. Т.е. больше 16 внешних каналов туда никак не запихнуть! Другой камушек выбирать надо. Обратите внимание, что у ADC3 каналы с 4 по 8 подключены к другим ножкам, чем у ADC1 и ADC2. Это даёт дополнительные 5 входов в 144-ногих корпусах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба И правда, меня с толку картинка 22 (Doc ID 13902 Rev 14, страница 208). А вот на следующей странице refman'а действительно пишут, что до 21 канала. Т.е. получается, что можно, скажем, на ADC1 повесить 16 ног, а дополнительные 5 на ADC3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 5 мая, 2015 Опубликовано 5 мая, 2015 · Жалоба В озвученном ТС МК есть 21 внешний вход АЦП (см. DS): Three 12-bit analog-to-digital converters are embedded into STM32F103xC, STM32F103xD and STM32F103xE performance line devices and each ADC shares up to 21 external channels АDC123 - 0,1,2,3,10,11,12,13 ADC12 - 4,5,6,7,8,9,14,15 ADC3 - 4,5,6,7,8 Но я бы воспользовался советом насчет STM32F303VC. В партии от 10 штук: STM32F303VC - $5.5430 против STM32F103ZCT6 - $6.8527, что примерно на 20% дешевле. Плюс ядро Cortex-M4F и куча других плюшек (ака, ремап периферии, встроенные операционные усилители и компараторы). От использования "аналоговой" серии STM32F3xx самые приятные впечатления. Серию F1xx стараюсь забывать как страшный сон... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AntiDriver 0 3 июля, 2015 Опубликовано 3 июля, 2015 · Жалоба Спасибо за ответы. Выбрал следующий путь решения проблемы: Так как мне все эти каналы нужно просуммировать, каждые 5 я суммирую аналоговым сумматором на LM358 (операционник не прецизионный, но большая точность мне не нужна, моделирование дало удовлетворительные результаты, как и готовое устройство), в итоге имею 25 входов и 5 выходов. Именно 5 выходов хочу послать на МК с последующей оцифровкой. Использую для оцифровки STM32F103VBT6, в нем 6 ножек посадил на АЦП (один на переменный резистор как тестовый). Это входы PA0..PA5. Так получается, что сигнал с PA0 и PA1 оцифровывается успешно, а вот с остальных считываются нули. Побробнее тема обсуждается здесь: http://electronix.ru/forum/index.php?showtopic=128992 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться