Помогите победить АЦП

Ответить
Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#1

Сообщение Berserker » 01.06.2020{, 07:38}

Есть аналоговый датчик давления выдает значение в рамках 0-5в его надо считать преобразовать, выдать в виде аналогового напряжения. Использую arduino pro mini 5v 16mHz, ЦАП MCP4725 и конвертер rs485 сам проэкт
map_analog_rs485.flp
(319.23 КБ) 45 скачиваний
. Питание контроллера 5.001в на входах стоят две RC цепи, с ЦАП чтение идет на прямую на аналоговый вход МК. Проблема возникает в точности чтения показания меняются даже с фильтрами на 0,05 вольта и это в лабораторных условиях. Как можно победить сей недуг?
По осциллографу криминала на входах и питании нет.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Помогите победить АЦП

#2

Сообщение Ingwar » 01.06.2020{, 08:21}

Berserker писал(а):
01.06.2020{, 07:38}
Проблема возникает в точности чтения показания меняются даже с фильтрами на 0,05 вольта
Не совсем понятен вопрос.
Где у Вас меняются показания - в модбас, дисплей или на ЦАП?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#3

Сообщение Berserker » 01.06.2020{, 08:38}

Модбас просто передает данные для записи на флешку, дисплей подключается для проверки в основном он выключен, так как снята перемычка. Дисплей просто для визуального контроля, но и на нем не стабильные показатели АЦП, ЦАП в точности повторяет что приходит на А0 ток в масштабе. Я пробовал на ЦАП просто подавать константу, но при чтении происходит разброс, на цешке все чинно благородно.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Помогите победить АЦП

#4

Сообщение Ingwar » 01.06.2020{, 08:42}

Berserker писал(а):
01.06.2020{, 08:38}
Я пробовал на ЦАП просто подавать константу, но при чтении происходит разброс
Вы сами читаете, что пишите?
Berserker писал(а):
01.06.2020{, 08:38}
на цешке все чинно благородно.
Я задал конкретный вопрос - в каком месте у Вас разброс 0,05в? В разных местах контроля будет разный шаг измерения.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#5

Сообщение Berserker » 01.06.2020{, 09:10}

С какого перепугу в разных местах при стабильном сигнале будут разные значения? АЦП принял значение например 500 и у меня где-то это значение будет не 500? даже при конвертации этого значения, оно не поменяется, и при передаче по модбасу будет тоже значение, пока на АЦП не изменится. Так проблема что на АЦП значение не стабильно при поданном стабильном напряжении(сигнале) хоть с датчика с модуля ЦАП, и не помогает фильтрация, дальше грубить не получится потеряю полезный сигнал.
У меня выход ЦАП завязан на аналоговый вход ардуинки A1. Поэтому и говорю что читаю показания ЦАП.
Мне проще оперировать напряжением чем целыми числами. Для этого на отображение я просто значения АЦП преобразую в напряжение.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Помогите победить АЦП

#6

Сообщение Ingwar » 01.06.2020{, 09:37}

Жесть... Я не знаю, что является причиной невнимательности - молодость или черта характера...
Ingwar писал(а):
01.06.2020{, 08:42}
В разных местах контроля будет разный шаг измерения.
Berserker писал(а):
01.06.2020{, 09:10}
С какого перепугу в разных местах при стабильном сигнале будут разные значения?
Не буду дальше спорить :smile390:
Порекомендую только сделать тест - подать с питания ардуино на аналоговый вход через делитель из 2ух постоянных резисторов (не важно какое соотношение) и отсылать данный в порт для проверки. Все провода должны быть пропаяны. Так можно проверить ацп атмеги.
Аналоговые входа лучше шунтировать (чтобы датчик работал на нагрузку, рекомендованную производителем).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#7

Сообщение Berserker » 01.06.2020{, 09:55}

Ingwar писал(а):
01.06.2020{, 09:37}
Жесть... Я не знаю, что является причиной невнимательности - молодость или черта характера...
Ingwar писал(а):
01.06.2020{, 08:42}
В разных местах контроля будет разный шаг измерения.
Шаг измерений вы про то что не ЦАП 4096 а на АЦП 1023? это то да, но я меряю только ацп значит 0-0в 1023-5в.
Делитель делал тоже значения пляшут, менял на нано, с нано интереснее если подать на ножку Vin 5в то при измерении имею стабильные показания, если теже 5 в питания подать на ногу 5в контроллера опять происходит чехарда с показаниями на АЦП. Отличия только в питании контроллера получается в первом случае я подаю 5 в на стабилизатор и получаю на питании МК уже не 5в а 4.7в, но везде пишут питание МК 5в и получается что мне надо занижать питание МК чтоб получить более четкие данные с АЦП?
и еще при тесте с питанием от юсб 3.1 таже чехарда с показаниями.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Помогите победить АЦП

#8

Сообщение Ingwar » 01.06.2020{, 10:46}

Berserker писал(а):
01.06.2020{, 09:55}
если подать на ножку Vin 5в то при измерении имею стабильные показания, если теже 5 в питания подать на ногу 5в контроллера опять происходит чехарда с показаниями на АЦП
Это "классическая" картина при использовании импульсного блока питания.
Berserker писал(а):
01.06.2020{, 09:55}
Делитель делал тоже значения пляшут
Причины "плясания" как правило банальны - (если провода все провода припаяны) это схемотехника. Ключевое здесь - разводка земли.
Поверьте, довольно плотно занимался АЦП при использовании тензодатчиков, поэтому пишу не то, что прочитал, а то, с чем столкнулся сам.
Для исключения (проверки) проблем со схемотехникой, запитайте ардуино +5В от 3ех пальчиковых батареек.
Кстати, опорное вроде подается на Uref и в настройках Flprog это можно указать.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#9

Сообщение Berserker » 01.06.2020{, 11:29}

Я уже всю плату даже в железную коробку поместил. тогда вопрос если не импульсником то чем тогда питать? ЛМкой блин грется будет как утюг.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Помогите победить АЦП

#10

Сообщение Ingwar » 01.06.2020{, 12:11}

Berserker писал(а):
01.06.2020{, 11:29}
Я уже всю плату даже в железную коробку поместил.
Это вообще не решает от внутренних проблем, тем более когда "радости приходят" через провода))) Можно попробовать ферритовые колечки...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#11

Сообщение Berserker » 01.06.2020{, 13:47}

Феррит конечно хорошо, но от ЦАП до А1 всего 5мм и больше ничего не подцеплено и на входах нет пока проводов все на столе лежит

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Помогите победить АЦП

#12

Сообщение KSP » 01.06.2020{, 14:07}

Вот тут есть про измерения:
https://arduinoplus.ru/arduino-aref-pin/
прочтите может поможет
S

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#13

Сообщение Berserker » 02.06.2020{, 05:17}

KSP писал(а):
01.06.2020{, 14:07}
Вот тут есть про измерения:
https://arduinoplus.ru/arduino-aref-pin/
прочтите может поможет
Читал в основном поднимают точность за счет этого, мне точно хватает, мне не хватает стабильности показаний.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Помогите победить АЦП

#14

Сообщение KSP » 02.06.2020{, 09:19}

При использовании Modbus я никогда не использую шину I2C , то слейв зависает то еще какая беда попробуйте без шины I2C, и генераторов на 20 мсек у Вас много я их объединил
Вложения
map_analog_rs485 без И2С.flp
(320.42 КБ) 40 скачиваний
S

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#15

Сообщение Berserker » 02.06.2020{, 16:11}

KSP писал(а):
02.06.2020{, 09:19}
При использовании Modbus я никогда не использую шину I2C , то слейв зависает то еще какая беда попробуйте без шины I2C, и генераторов на 20 мсек у Вас много я их объединил
Спасибо насчет генератора, но в Вашей схеме генератор перестает работать если перестает работать 1 плата, но это не так важно. Я разобрался с плванием показаний АЦП!. Оказывается если питание МК сделать через диод на него будет подаваться не 5в а уже меньше! Вмоем случает получилось 4,36в и все проблема исчезла даже ели убрать цифровые фильтры. Но значение 1023 это уже 4.36в и если поставить простой делитель то измерения становятся очень точными. Проверил на стабильном источнике питания если питание больше или равно 4.8в - показания не стабильны от 4.1в до 4.7в все чинно благородно. Нигде не нашел почему.
Вывод питание МК должно быть в диапазоне от 4.1в до 4.7в, остальное масштабируем делителем! Если использовать водные RC фильтры то перед ногой МК нужно ставить конденсатор 10пф иначе электролиты на мегоомном сопротивлении набирают емкость и просто завышают показания.
Проверил схему в машине не заметил криминала.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

Помогите победить АЦП

#16

Сообщение KSP » 02.06.2020{, 16:28}

Про выполнение плат по условию просмотрел каюсь. А вот про Modbus все успевает отрабатывать или еще не пробовали?
S

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите победить АЦП

#17

Сообщение Sancho » 02.06.2020{, 21:31}

Berserker писал(а):
02.06.2020{, 16:11}
Если использовать водные RC фильтры то перед ногой МК нужно ставить конденсатор 10пф иначе электролиты на мегоомном сопротивлении набирают емкость и просто завышают показания.
Конденсатор не завышает показания, он просто разряжается при понижении входного. Есть такое понятие время интегрирования RC цепочки. Почитайте и поймёте, что 10пф - это ничего... Хотя, возможно, Вы хотели написать 10нф.

Отправлено спустя 21 минуту 16 секунд:
Проверьте высокоомным вольтметром напряжение на Vref и Vcc.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Berserker
Рядовой
Сообщения: 58
Зарегистрирован: 17.05.2018{, 16:13}
Репутация: 0
Имя: Александр

Помогите победить АЦП

#18

Сообщение Berserker » 03.06.2020{, 05:29}

KSP писал(а):
02.06.2020{, 16:28}
Про выполнение плат по условию просмотрел каюсь. А вот про Modbus все успевает отрабатывать или еще не пробовали?
по модбасу могу сказать следующее, да все приходит на сд карту пишется по отзывчивости субъективно нажал педальку тут же побежали изменения. Единственный момент не понимаю почему при запуске 1 платы у меня переменная отвечающая за запуски плат сразу становится 1 и первая плата не отрабатывает, если проверять отдельно плату то все правильно отрабатывает.

Отправлено спустя 10 минут 54 секунды:
Sancho писал(а):
02.06.2020{, 21:52}

Конденсатор не завышает показания, он просто разряжается при понижении входного. Есть такое понятие время интегрирования RC цепочки. Почитайте и поймёте, что 10пф - это ничего... Хотя, возможно, Вы хотели написать 10нф.

Отправлено спустя 21 минуту 16 секунд:
Проверьте высокоомным вольтметром напряжение на Vref и Vcc.
Да извиняюсь 10нф. Незнаю высокоомный у меня вольтметр или нет китаёзы не пишут, но вроде как тру рмс. Сейчас на питании проца 4,3578в а вот как оказалось Vref не выведен на этой плате.

Andrejka
Рядовой
Сообщения: 40
Зарегистрирован: 13.12.2018{, 19:40}
Репутация: 1
Имя: Андрей

Помогите победить АЦП

#19

Сообщение Andrejka » 03.06.2020{, 08:39}

Berserker писал(а):
01.06.2020{, 07:38}
Есть аналоговый датчик давления выдает значение в рамках 0-5в его надо считать преобразовать, выдать в виде аналогового напряжения. Использую arduino pro mini 5v 16mHz, ЦАП MCP4725 и конвертер rs485 сам проэктmap_analog_rs485.flp. Питание контроллера 5.001в на входах стоят две RC цепи, с ЦАП чтение идет на прямую на аналоговый вход МК. Проблема возникает в точности чтения показания меняются даже с фильтрами на 0,05 вольта и это в лабораторных условиях. Как можно победить сей недуг?
По осциллографу криминала на входах и питании нет.
Добрый день, Вы используете для АЦП в качестве опорного напряжения напряжение питания 5 вольт, это не хорошо, необходимо переключиться на высокостабильный источник опорного напряжения внутри самого Ардуино, 1,1 вольта, и вести пересчет относительно его, или подключиться к внешней высокостабильный опоре.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите победить АЦП

#20

Сообщение Sancho » 03.06.2020{, 09:07}

Berserker писал(а):
03.06.2020{, 05:40}
Сейчас на питании проца 4,3578в а вот как оказалось Vref не выведен на этой плате.
Подайте на пин Vin напряжение от 7 вольт, на Vcc, проце, должно появиться 5.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Помогите, а то я "нимагу"»