Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Помогите с Ардуиной

Список форумов » Разработка цифровых устройств
АвторСообщение
Blockout
Участник
Сообщения: 184




07-12-2017 18:35

Решил из того что было и давно валялось запилить такую штуку
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
Участник
Сообщения: 3382




07-12-2017 19:41

Blockout, какой диапазон измерения для АЦП ?
и какое разрешение самого АЦП ?
Blockout
Участник
Сообщения: 184




07-12-2017 21:18

Konstantin_18 писал:
Blockout, какой диапазон измерения для АЦП ?
и какое разрешение самого АЦП ?


АЦП от 0 до 5 стараюсь полный размах задействовать.
Разрешение 5/1023 = 0.004 V должно быть. Т.е. 0.01 вольт вполне вроде, пусть бы последний знак скакал. Но скачет дико сразу после точки. 0.5V примерно и по всем каналам.
Konstantin_18
Участник
Сообщения: 3382




07-12-2017 21:31

Vref - откуда ? С ноги или с питания ?
Надо с ноги + Электролит 20-50 мкф на эту ногу.
Blockout
Участник
Сообщения: 184




07-12-2017 22:40

Konstantin_18, спасибо! попробую, напишу. Я опорное пробовал на TL431 2.5 подключать, кондер правда что-то не сообразил повесить.

Добавлено 07-12-2017 22:50

Но мне что-то в принципе скептически не нравится реализация аналоговых входов через мультиплексор. Получается коммутация выбранного входа к АЦП, как бы должно работать, но сомнения насчет практической реализации 0.01V. Так, чтоб стабильно. Т.е. вопрос может лучше не заморачиваться со встроенным АЦП, а подключить внешний?

Добавлено 07-12-2017 22:57

У меня еще проц нагружен графикой, а это потребление выше, может поэтому АЦП не отрабатывает нормально. На текстовом дисплее наверное нормально должно работать, по крайней мере жалоб не встречал.
Konstantin_18
Участник
Сообщения: 3382




08-12-2017 02:35

С заявленной точностью ВСЕ там работает.
Мультиплексор не мешает. После переключения на новый канал надо сделать паузу.

Blockout писал:
У меня еще проц нагружен графикой, а это потребление выше, может поэтому АЦП не отрабатывает нормально.

А как же процы работают те что еше и MPEG4 раскодируют ??? гы-гы подшучивать, дразнить

ПС. Разбирайся ! Как раз научишься. Задача учебная.
Blockout
Участник
Сообщения: 184




10-12-2017 13:46

Реализовал такой алгоритм:
Читаю внешнее опорное порт А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
Участник
Сообщения: 184




10-12-2017 17:13

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
Т.е. поправки задать при старте? не знаю, что-то не очень нравится такая идея, но попробую.

imputstage.jpg



Blockout
Участник
Сообщения: 184




10-12-2017 21:09

Походу проблему с начальным смещением решил програмно. Пересчитал "нулевые" точки и вычел из analogRead для каждого канала измерения.
Осталось только делители в нужный диапазон втиснуть и откалибровать.

Добавлено 10-12-2017 21:11

Но все равно буду внешний цап заказывать и переделывать под него. У меня тачскрин на дисплее, а подключить некуда уже, не хватает аналоговых входов.
Konstantin_18
Участник
Сообщения: 3382




10-12-2017 22:25

Цитата:
Да уж, танцы с бубном на пустом месте.


На самом деле есть аргументированное объяснение, но ИМХО это будет не интересно.

А вот тачскрин дисплея ( резистивный ? ) встроенным АЦП обрабатывать я бы не рекомендовал. Лучше вместо АЦП внешнего купи контроллер тачскрина.
Blockout
Участник
Сообщения: 184




10-12-2017 22:29

Konstantin_18 писал:
На самом деле есть аргументированное объяснение, но ИМХО это будет не интересно.


Почему? как раз интересно.
Konstantin_18
Участник
Сообщения: 3382




10-12-2017 22:32

Измерительное преобразование делается не со входа, а с запоминающего конденсатора кратковременно подключаемого ко входу. Эти подключения + переключения коммутатора вкупе дают звон на Vref.
Blockout
Участник
Сообщения: 184




10-12-2017 22:33

Не, ну как раз понятно. Пульсации на опорном это ожидаемо хз что на выходе.
Нечем посмотреть только, осцилла нет. На коленке практически собираю.

Добавлено 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 ...
Список форумов » Разработка цифровых устройств » Помогите с Ардуиной
Перейти:  
Текущий раздел » Разработка цифровых устройств (FPGA, CPLD, PLD, ARM, AVR и т.д.)


Похожая информация:
  • Помогите разобраться с торами.
  • Помогите определить SMD MOSFET AKVF6
  • Помогите определить замену диода F7V61







  • Электроника
    Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!