| Автор | Сообщение |
Blockout Участник Сообщения: 183
|
Решил из того что было и давно валялось запилить такую штуку
http://sxem.org/2-vse-stati/20-voltmetry/197-nano-volt-ampermetr-2-kan ...
Дисплей валялся другой LC7981 160x80, а автор исходник выложить постеснялся.
Как раз таки с подключением другого дисплея проблем нет, U8glib и немного текста на Си и оболочка готова.
Проблема в другом - 4 канала измерения на основе популярного алгоритма http://cxem.net/arduino/arduino145.php
работают в режиме демонстрации хз чего после запятой. В смысле ничего не подключено или подключены батарейки, т.е. стабильное напряжение, а после точки 2 знака показания скачут в диапазоне от 0.1 до 0.5 вольт или ампер соотв.
Игрался с внешним опорным, с внутренним, строил функции измерения с использованием низкоуровневых команд, короче залез в дебри и застопорился.
Воопрос - вообще реально на ардуине одновременно выводить графику 160х80 (код почти 18К процессора съедает только графика) и читать аналог с разрешением .01V, с учетом всего одного мультиплексированного АЦП в ардуине.
Просто размышляю внешнее АЦП лепить или на STM32 перейти сразу |
|
Konstantin_18 Участник Сообщения: 3493
|
Blockout, какой диапазон измерения для АЦП ?
и какое разрешение самого АЦП ? |
|
Blockout Участник Сообщения: 183
|
| Konstantin_18 писал: | Blockout, какой диапазон измерения для АЦП ?
и какое разрешение самого АЦП ?
|
АЦП от 0 до 5 стараюсь полный размах задействовать.
Разрешение 5/1023 = 0.004 V должно быть. Т.е. 0.01 вольт вполне вроде, пусть бы последний знак скакал. Но скачет дико сразу после точки. 0.5V примерно и по всем каналам. |
|
Konstantin_18 Участник Сообщения: 3493
|
Vref - откуда ? С ноги или с питания ?
Надо с ноги + Электролит 20-50 мкф на эту ногу. |
|
Blockout Участник Сообщения: 183
|
Konstantin_18, спасибо! попробую, напишу. Я опорное пробовал на TL431 2.5 подключать, кондер правда что-то не сообразил повесить.
Добавлено 07-12-2017 22:50
Но мне что-то в принципе скептически не нравится реализация аналоговых входов через мультиплексор. Получается коммутация выбранного входа к АЦП, как бы должно работать, но сомнения насчет практической реализации 0.01V. Так, чтоб стабильно. Т.е. вопрос может лучше не заморачиваться со встроенным АЦП, а подключить внешний?
Добавлено 07-12-2017 22:57
У меня еще проц нагружен графикой, а это потребление выше, может поэтому АЦП не отрабатывает нормально. На текстовом дисплее наверное нормально должно работать, по крайней мере жалоб не встречал. |
|
Konstantin_18 Участник Сообщения: 3493
|
С заявленной точностью ВСЕ там работает.
Мультиплексор не мешает. После переключения на новый канал надо сделать паузу.
| Blockout писал: | | У меня еще проц нагружен графикой, а это потребление выше, может поэтому АЦП не отрабатывает нормально. |
А как же процы работают те что еше и MPEG4 раскодируют ???
ПС. Разбирайся ! Как раз научишься. Задача учебная. |
|
Blockout Участник Сообщения: 183
|
Реализовал такой алгоритм:
Читаю внешнее опорное порт А1
Пауза 10 мск
Читаю с паузой 10 мкс порты с А2 по А5
Деление с А2 по А5 на А1 и каждое полученное значение умножаю на 2.49 (2.49 - измеренное на опорнике)
В принципе все работает, напряжение соответствует.
Но после точки все равно скачет с 0 до 3 (т.е. подключаю батарею 6.2V, на экране получаю от 6.08 до 6.38)
Короче, понятно в чем проблема.
У меня делители на выходе с коэф. 20 т.к. нужно измерять от 0 до 50V (коэф. с запасом)
Т.е. рассчитанное напряжение умножаю на 20 еще, а это как раз "скачки" 0.3V делить на 20 = 0.015 т.е. это уже в пределах погрешности измерений.
АЦП нужно внешний или что-то переделывать. |
|
Blockout Участник Сообщения: 183
|
| Konstantin_18 писал: | Vref - откуда ? С ноги или с питания ?
Надо с ноги + Электролит 20-50 мкф на эту ногу. |
Хм, подключил конденсатор 47 мкф параллельно TL431 и внезапно четко показывает. Ничего не скачет.
Да уж, танцы с бубном на пустом месте.
Konstantin_18, спасибо!
Добавлено 10-12-2017 17:44
Теперь еще надо
Операционники такие.
Не было таких, впаял MC33172. По даташиту от однополярного от 3V работают, думал подойдут. Одно только - эти не rail-to-rail, и на выходах 0.08 вольт без входных напряжений в этой схеме.
А хотелось бы 0 на входах контроллера при 0 на входе.
Может кто-то знает как эту проблему решить или программно или схемотехнически?
Программно: допустим Vdisplay = Vinput - 0.08
Т.е. поправки задать при старте? не знаю, что-то не очень нравится такая идея, но попробую.

|
|
Blockout Участник Сообщения: 183
|
Походу проблему с начальным смещением решил програмно. Пересчитал "нулевые" точки и вычел из analogRead для каждого канала измерения.
Осталось только делители в нужный диапазон втиснуть и откалибровать.
Добавлено 10-12-2017 21:11
Но все равно буду внешний цап заказывать и переделывать под него. У меня тачскрин на дисплее, а подключить некуда уже, не хватает аналоговых входов. |
|
Konstantin_18 Участник Сообщения: 3493
|
| Цитата: | | Да уж, танцы с бубном на пустом месте. |
На самом деле есть аргументированное объяснение, но ИМХО это будет не интересно.
А вот тачскрин дисплея ( резистивный ? ) встроенным АЦП обрабатывать я бы не рекомендовал. Лучше вместо АЦП внешнего купи контроллер тачскрина. |
|
Blockout Участник Сообщения: 183
|
| Konstantin_18 писал: | | На самом деле есть аргументированное объяснение, но ИМХО это будет не интересно. |
Почему? как раз интересно. |
|
Konstantin_18 Участник Сообщения: 3493
|
Измерительное преобразование делается не со входа, а с запоминающего конденсатора кратковременно подключаемого ко входу. Эти подключения + переключения коммутатора вкупе дают звон на Vref. |
|
Blockout Участник Сообщения: 183
|
Не, ну как раз понятно. Пульсации на опорном это ожидаемо хз что на выходе.
Нечем посмотреть только, осцилла нет. На коленке практически собираю.
Добавлено 10-12-2017 22:34
| Konstantin_18 писал: | | Измерительное преобразование делается не со входа, а с запоминающего конденсатора кратковременно подключаемого ко входу. Эти подключения + переключения коммутатора вкупе дают звон на Vref. |
Да эти тонкости нужно знать. Я только недавно вплотную контроллерами занялся. Раньше собирал, но в основном готовые конструкции.
Добавлено 10-12-2017 22:37
Кстати, в ближайших планах осциллограф собрать.
Разобрался с выводом графики, теперь еще с опорным. Да и исходников и библиотек на эту тему много.
И дисплеев еще несколько есть. Древние, но вполне годные для самоделок.
Добавлено 10-12-2017 22:40
| Konstantin_18 писал: | | А вот тачскрин дисплея ( резистивный ? ) встроенным АЦП обрабатывать я бы не рекомендовал. Лучше вместо АЦП внешнего купи контроллер тачскрина. |
тач резистивный. А в чем траблы могут быть?
видел готовые конструкции, читал на форумах, особых проблем не видел.
Добавлено 10-12-2017 22:41
Вот тут конструкция. У меня точно такие же дисплеи.
http://www.todopic.com.ar/foros/index.php?PHPSESSID=u01par4ef1fac3cpma ... |
|