Если нужно сначала померять U на 10 канале затем U на 11 ?
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; //Подключаем АЦП к линии тактирования RCC->CFGR |= RCC_CFGR_ADCPRE; //Предделитель на максимум (на RCC->CFGR |= RCC_CFGR_ADCPRE_DIV8;
](раньше так только с одного канала считывали а как с 2 или больше ? ) }
В вашем примере вы прочитаете только одно преобразование. Есть несколько путей для считывания нескольких. 1. Также как раньше, только по очереди, каждый раз перенастраивая ADC на нужный канал. К сожалению у обычной группы каналов только одна выходная ячейка для помещения результатов. 2. Использовать инжектированную группу каналов. Для инжектированной группы есть 4 регистра для помещения результатов. Соотв нужно использовать ADC_JSQR регистр для настройки каналов и еще другие настройки для работы с инжектированными каналами. По инжектированным каналам за раз можно сделать до 4 преобразований. Название инжектированные происходит от того, что эти преобразования могут временно прерывать серию обычных преобразований. Но могут использоваться и отдельно Обратите внимание на порядок преобразований в инжектированной группе. Там были какие то подводные камни, описанные в документации. То ли первый канал в последней ячейке, то ли обратный порядок преобразования в группе. Нужно смотреть документацию внимательней. 3. Использовать 1 обычный и один инжектированный канал. Где-то есть флаг для запуска инжектированной группы после основной. В основной 1 преобразование и в инжектироавнной 1 преобразование. 4. Использовать DMA для передачи только что преобразованных данных обычных каналов. Такой подход использовал я при управлении источником питания на stm32f100с4 (статья на этом сайте). Нужно было считать значения напряжения и тока. Кроме того там используется и запуск инжектированного канала после основного но уже без DMA (3 вариант). Также можно посмотреть. 5. Использовать для считывания обычных каналов прерывание.
Одна из последних разработок MOSO – универсальные драйверы X6E отличаются высокой надежностью, повышенным сроком службы и гарантией 5 лет, превосходными техническими и эксплуатационными характеристиками, возможностью управления извне по цифровым и аналоговым интерфейсам или изнутри встроенной программой по заданному алгоритму. Семейство X6E производства MOSO включает три группы изделий – всего двадцать наименований. Рассмотрим их
подробнее>>
Здравствуйте! Кто уже запускал ацп, поделитесь впечатлениями. Как уровень шумов? У меня пока получается +-8 ЕМР. т.е из 12 бит реально только 8 получается снять((.
Бренд MOSO Power пользуется популярностью во всем мире. Многочисленные вопросы свидетельствуют о том, что продукция этой компании вызывает интерес, а спрос на нее постоянно растет. Служба технической поддержки MOSO собрала наиболее частые вопросы разной тематики, чтобы лучше представить продукцию заказчику и сэкономить время инженеру-разработчику.
У меня достаточно высок уровень шумов - прыжки на десятках милливольт. Правда, грешу на свои ручонки - плату грамотнее разводить нужно было. Применяю алгоритм усреднения результатов в управляющей программе на ПК.
_________________ pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
На линейность хар-ки и прочие специфические параметры не проверял, но АЦП достаточно хорошее. В самых первых экспериментах подключал ко входу обычный переменник, значения плавали +- 1 ед http://ziblog.ru/2011/01/15/stm32-chast ... atel-atsp/
_________________ С уважением, Денис Железняков aka ZiB Мой блог: http://ziblog.ru
while (ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)==RESET) {} ADC_res=ADC_GetConversionValue(ADC1); ADC_SoftwareStartConvCmd(ADC1,ENABLE);
и вывод на USART с подсчетом крайних значений и дельты. В итоге за 905 секунд значения полученные с АЦП min:1488 max:1535 delta:47 Что-то великоват разброс для Vref
_________________ — Не говорите мне что делать и я не скажу куда Вам идти...
Не удержался решил попробовать, вот что получилось при 1.5 cycles значение 0x66D-0x66E при 239.5 cycles значение 0x675-0x676 т.е. не так уж и сильно пляшут. плата STM32-Discovery
Спасибо за тест! Хм... 1504 : 2412: min:1503 max:1511 delta:8 или 0x5DF-0x5E7 это при 239.5 циклов. Плата самодельная, емкости по питанию стоят непосредственно у ног контроллера. Тактовая 72МГц, делитель ЦАП - 8. Кусок кода:
На моей плате то же самое min:1493 max:1501 delta:8 min:1493 max:1501 delta:8
Провел дополнительно пару тестов., см рисунки (прога самописная, вся шакала 256=1, т.е. вывожу младший байт) рис2 - ожидаю-считываю-запускаю-посылаю (АЦП 14 МГц)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения