2 / 2 / 0
Регистрация: 12.11.2018
Сообщений: 362
|
||||||||||||||||
1 | ||||||||||||||||
Некорректные данные АЦП20.01.2021, 13:17. Просмотров 1077. Ответов 9
Настроил несколько каналов АЦП по запуску от таймера, для проверки соединил с землей все входа АЦП. Данные отправляю по USART. Получаю примерно такой результат:
ADC0: 11 ADC1: 862 ADC2: 0 ADC0: 0 ADC1: 1032 ADC2: 24 ADC0: 1 ADC1: 0 ADC2: 0 ADC0: 0 ADC1: 299 ADC2: 0 ADC0: 0 ADC1: 704 ADC2: 0 Может кто знает почему такие значения? Плата stm32f746 nucleo Цикл while
0
|
|
20.01.2021, 13:17 | |
stm32f4 discovery некорректные данные в USART_DR RTC портит данные АЦП Данные с двух каналов АЦП по очередно.[Решено] Прочитать данные с ацп AD7799 |
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
||||||
20.01.2021, 13:24 | 2 | |||||
смущает
0
|
2 / 2 / 0
Регистрация: 12.11.2018
Сообщений: 362
|
||||||
21.01.2021, 06:52 [ТС] | 4 | |||||
Ну там в HAL для прерывания от АЦП и от DMA используется один и тот же коллбэк, поэтому не суть, но все-таки генерируется он по окончанию работы DMA, ну и глобальные прерывания настроены только у DMA. Но опять же, мне не принципиально как его называть, прерывание от DMA или от АЦП
Добавлено через 37 минут Voland_, Во всех примерах вроде так и пишут
0
|
2 / 2 / 0
Регистрация: 12.11.2018
Сообщений: 362
|
||||||
21.01.2021, 09:57 [ТС] | 6 | |||||
ValeryS, Ага, указатель на область памяти, в данном случае на массив, куда писать данные с АЦП
Но мне кажется проблема в другом, т.к. изменила на
ADC0: 97 ADC1: 0 ADC2: 0 ADC0: 0 ADC1: 1092 ADC2: 0 ADC0: 0 ADC1: 562 ADC2: 0
0
|
2 / 2 / 0
Регистрация: 12.11.2018
Сообщений: 362
|
|
22.01.2021, 07:30 [ТС] | 7 |
Voland_, locm, ValeryS, Настроил просто АЦП для единичного измерения по программному запуску, и ЦАП на выход в половину напряжения, т.е. 2048
Получаю ADC0 2084 ADC0 2041 ADC0 2022 ADC0 2053 ADC0 2023 ADC0 1869 ADC0 1948 Разброс больше чем на 2 сотни значений, что примерно 156 млВ. Это нормально для АЦП в подобных платах (stm32f746 nucleo)?
0
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
|
22.01.2021, 10:40 | 9 |
![]() Решение
думаю нет. Нужно поизучать причину такого результата. Про референц Вам уже сказали, но посмотрите по схеме - может на плате что-то еще сидит на ноге АЦП? Ну, и для тестов - попробуйте померять какой-то внешний сигнал (от батарейки 1,5В, например), попробуйте померять температуру и собственное напряжение (это внутренние сигналы). Это много может разъяснить.
1
|
2 / 2 / 0
Регистрация: 12.11.2018
Сообщений: 362
|
|
27.01.2021, 11:21 [ТС] | 10 |
Voland_, ValeryS,
Да, действительно на используемых ногах мк что-то сидело (уже точно не помню что), изменил ножки, все стало работать нормально, всем спасибо за помощь). С этими платами всегда надо внимательным быть.
0
|
27.01.2021, 11:21 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Как получить данные с АЦП? (WinAvr) Данные АЦП в ATmega128 надо отобразить на MT-16S2H по 8-ми линиям. На Assembler Некорректные данные из com порта Отправляются некорректные данные на COM порт Программа не распознаёт некорректные данные Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |