Если нужно сначала померять 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. Использовать для считывания обычных каналов прерывание.
Опубликованы материалы вебинара, посвященного пленочным конденсаторам компании Hongfa, на котором была представлена текущая линейка и модельный ряд продукции этого направления, включая новые, недавно вышедшие серии.
На вебинаре были приведены актуальные примеры применения пленочных конденсаторов Hongfa в источниках питания, зарядных станциях для электротранспорта, преобразователях частоты, фотоэлектрических преобразователях и ветрогенераторах.
Здравствуйте! Кто уже запускал ацп, поделитесь впечатлениями. Как уровень шумов? У меня пока получается +-8 ЕМР. т.е из 12 бит реально только 8 получается снять((.
Компания Hongfa - один из лидеров азиатского рынка пленочных конденсаторов с полным циклом производства. Она выпускает пять серий помехоподавляющих конденсаторов этого типа как для бытовой, так и для трехфазной промышленной сети, а также для автомобильного применения. Продукция компании по ассортименту, параметрам и количеству серий конденсаторов ЭМП не уступает другим крупным производителям этого сегмента и может легко заменить ассортимент ушедших из РФ брендов.
У меня достаточно высок уровень шумов - прыжки на десятках милливольт. Правда, грешу на свои ручонки - плату грамотнее разводить нужно было. Применяю алгоритм усреднения результатов в управляющей программе на ПК.
_________________ 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 МГц)
Сейчас этот форум просматривают: sashach и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения