Форум ModelldepO

Форум ModelldepO (http://forum.modelldepo.ru/index.php)
-   Arduino (http://forum.modelldepo.ru/forumdisplay.php?f=220)
-   -   Проект мульти-измерительного устройства (http://forum.modelldepo.ru/showthread.php?t=19250)

shalex 10.04.2018 00:27

Вложений: 2
Вторая версия платы пока только радует. Измерение полярности и напряжения работает.
Более того, работает чтение DCC без оптопары. Перехватывает по заданному в CV адресу DCC-команды и сохраняет "внутрях" программы(точнее объекта) направление, кол-во шагов макс, выбранное кол-во шагов, статус функций Fx.

Осталось проверить чтение CV и подключение шилда токового датчика через контакты для пайки. Дальше ожидается много кода для анимации на дисплее. Возможно этот десерт программирования заказчик захочет сделать сам :)

Вложение 157346Вложение 157347

p.s. Из грустного - взорвался первый танталовый конденсатор на (х16В), который стоит фильтром на питание 5В. Рванул при подключении на измерительный вход 12В. Выпаяв "погорельца" и убедившись, что с питанием все нормально, стал тестировать дальше. Пока тантал возвращать не стал. Схема работает. Ардуина не греется.

Вот думаю, возможно не зря советовали танталы перед пайкой проверять под напряжением, но надеюсь, что конденсатор могло коротнуть от криворукой пайки.

BR95009 10.04.2018 09:03

У меня таже беда, только в локе:((((

Действительно надо проверять. Да даже и после этого в лок ставить стремно.

shalex 10.04.2018 10:41

Доп. результаты:
- плата вполне работает при питании от DCC.
- к сожалению, чтения CV не случилось. Подключаю модуль к МД-программатору, нажимаю читать CV и, видимо, цикл чтения завершается раньше, чем загрузилась ардуина. Со стороны это выглядит так, что ардуина ненадолго включается и сразу гаснет.

shalex 11.04.2018 12:17

Попробовал подключить датчик тока ACS712 (5А).
Все не так просто, оказалось. Датчик не совсем подходит для измерения малых токов - шумит, резко реагирует на изменения и имеет низкое разрешение в 26мА, если правильно понял, то это значит, что ток измеряется шагами по 26мА, но это не точно.

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

shalex 24.04.2018 20:17

Вложений: 3
Промежуточные итоги:

Прикрутил пару программных фильтров и теперь напряжение показывает хорошо, я доволен. Есть заметная скорость реакции на изменения, как на цифровом вольтметре, только чуть медленнее. Можно регулировать.

Внешний датчик тока ACS712, думаю, надо дополнить физическим фильтром - конденсатором. Либо 100nF в параллель C1 на плате датчика, либо на выход с датчика. Судя по форумам - помогает, может тогда переменный ток(DCC) можно будет измерять по тому же алгоритму, что и постоянный.

Постоянно плавает 0 у этого датчика ACS712. Чтобы его калибровать при включении, как вариант, ставить внешнее реле, замыкающие силовой вход и выход датчика, чтобы ток через датчик был почти 0 и в этот момент калибровать датчик на 0.

Не понимаю, откуда взялась нелинейность показаний напряжения. Калибровал по источнику 5В (5.71В), при этом для батарейки показывает 0.81В, а для 12В, что-то в районе 13В. А самое главное - как с этим бороться и выровнять показания на краях диапазона :)


Вложение 157877
Режим "аналога". Полярность (-), вольтаж(5.72), аналоговый режим (A), ток примерно 0 (0.01).

Вложение 157876
DCC режим. Направление(<), вольтаж(12.5), режим DCC (D), адрес (3), шаги(21), из (128) шагов, функции Fx(снизу точки), ток (0.00).

Вложение 157878
Сам испытательный стенд

shalex 26.04.2018 11:13

Видимо придется отказаться от токового датчика, т.к. не получается измерить постоянный ток. Шумит, зараза, в диапазоне +/- 60 мА.
В итоге, не получается увидеть ток даже 50 мА - теряется в шуме. При этом на плате Cflt был заменен с 1nF на 100nF, а на выход датчика поставлен конденсатор 1uF

Насчет измерения напряжения надо вспоминать математику и нивелировать нелинейность измерений с помощью мат.функции.

shalex 26.04.2018 17:14

Вложений: 1
Нашел неплохой сайт и по 5 точкам получил формулу.
Точность измерения напряжения получилась такая:
Вложение 157896

real - измерено тестером
test - измерено "декодером"

shalex 27.04.2018 11:08

Вложений: 1
Понемногу переношу цифровые эскизы заказчика в код, для последующей анимации.
Евгений, респект! Паровоз прорисован очень качественно!

Вложение 157900

shalex 30.04.2018 09:38

Продолжение анимации...

https://www.youtube.com/watch?v=lcwp4haMWiU

shalex 02.05.2018 21:43

Вложений: 1
Так выглядит экран для DCC.
В нижнем левом углу точка идикации значения CV, котором управляется защита от записи (CV 100, 0-нет защиты от записи, 1 - есть):

Вложение 158053

shalex 05.05.2018 12:19

Вложений: 2
v8

-добавлен токовый датчик на диодах и оптроне, но он только для обнаружения факта потребления тока, без точного значения.
- с платы убран разъем ISP

Вложение 158062Вложение 158063

shalex 20.05.2018 22:32

Вложений: 1
Спаял v8. Датчик тока видит 10 кОм при 12В, в "аналоге". Для DCC надо внедрять небольшую программную задержку, чтобы исключить переменную составляющую.

Вложение 158691

Далее в планах собрать на "макете" делитель из резисторов и поточнее откалибровать измерение напряжения.

shalex 21.05.2018 23:29

Вложений: 2
Делитель и таблица замеров. Калибровал БП от Roco, на котором написано 18В.
Измерения Real - мультитестером.
Test - показания "измерителя" на экране.

Вложение 158730Вложение 158731

Как видно, на низких напряжениях растет погрешность.
Из идей - разбить на шкалу на две части: до 5В и после. Для каждой части подобрать свою отдельную функцию.

shalex 27.05.2018 20:54

Вложений: 1
Немного подумал и решил использовать мощь МК в другом направлении. Теперь, вместо операций с плавающей точкой выполняется поиск в массиве с парами калибровочных значений. Получается, что шкала разбита примерно на 16 отрезков. Сначала находится "отрезок", на котором располагается текущее измеряемое значение, а потом выполняется простейшая аппроксимация с помощью ф-ии "map". При этом используются только целые числа.

При примерно 17 калибровочных значениях, при использовании для поиска метода "деления отрезка пополам", поиск выполняется за 4 шага. Теперь не нужно подбирать коэф. квадратного или кубического уравнения, а достаточно сделать замеры и вписать результаты в массив :)
Вложение 159026

shalex 28.05.2018 00:17

Вложений: 3
Вложение 159054
Подключение к плате.

IN - вход, "аналог"(постоянное напряжение) от 1 до 20В или DCC сигнал до 20В
OUT - выход, тот же сигнал, что и на входе, но с падением напряжения 1В(?) (диодный мост).
PWR - питание, постоянное от 0 до 20В или переменное напряжение до 14В. Полярность подключения любая.

Вложение 159056
Разъем для дисплея полностью повторяет последовательность контактов дисплейного модуля 64х32 (интерфейс I2C).

Плата Ардуино должна быть ориентирована как на рисунке.

CV1 - адрес декодера, от 0 до 255 (по-умолчанию 3)
CV8 - идентификатор производителя. Запись любого значения - сброс к заводским настройкам.
CV9 - версия.
CV30 - контраст, от 0 до 255 (по-умолчанию 200)
CV32 - напряжение для аналога, соотв. 100% скорости, задается в вольтах, умноженных на 10. Например, 155, значит 15.5В. от 0 до 255 (по-умолчанию 150).
CV100 - защита от записи в CV. 0 - защита выключена, любое другое значение, отличное от 0 - защита включена. При включенной защите изменения CV не выполняются, в том числе не выполняется сброс к заводским настройкам. от 0 до 255 (по-умолчанию 0).

Вложение 159055
На экране включенная защита от записи в CV отображается точкой. Хотя только что пришла мысль сделать наоборот...

kestrel 04.08.2018 12:23

Уже производится американцами вот такая вещь.
https://tonystrains.com/product/dcc-rrampmeter-i/

Преимущество в том что может мерять не только реальное напряжение DCC сигнала (я не электронщик, но как понял у обычных недорогих тестеров-мультиметров проблема с честностью измерений такого сигнала и нужны какие-то дорогие модели мультиметров) но и ток нагрузки на макет от бустера. А знать ток нагрузки гораздо полезнее для эксплуатации макета, чем напряжение на рельсах.

Если уж делать на ардуине измерительное устройство то что-то подобное, ИМХО.

xu56857 04.08.2018 20:53

Цитата:

Сообщение от kestrel (Сообщение 329169)
А знать ток нагрузки гораздо полезнее

Приборчик из поднебесной за 130руб, тоже замечательно справляется с задачей измерения тока нагрузки на бустер, и напряжения на рельсах тоже показывает ( с минимальными доработками )
http://forum.modelldepo.ru/showthread.php?t=18714

kestrel 04.08.2018 22:46

Цитата:

Сообщение от xu56857 (Сообщение 329182)
Приборчик из поднебесной за 130руб, тоже замечательно справляется с задачей измерения тока нагрузки на бустер, и напряжения на рельсах тоже показывает (с минимальными доработками )

Спасибо за ссылку. Посмотрел.
Я конечно не электронщик и спорить не буду. но со слов тех кто понимает только true RMS вольтметры могут измерять напряжение DCC сигнала правильно.
А у китайского 2-х долларового вольтметра (который использовали в устройстве по вашей ссылке) я нигде в параметрах не нашел true RMS.

xu56857 04.08.2018 22:58

Цитата:

Сообщение от kestrel (Сообщение 329190)
я нигде в параметрах не нашел true RMS.

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

kestrel 04.08.2018 22:59

А в чем состоят доработки, если не секрет?
Можно поподробнее?

BR95009 06.08.2018 17:34

Цитата:

Сообщение от kestrel (Сообщение 329190)
могут измерять напряжение DCC сигнала правильно.

А зачем измерять DCC пилу? Замеряем DC на входе драйвера. Получаем и вольты и амперы.

xu56857 06.08.2018 19:57

Не, измеряем DC на выходе каждого плеча моста , пара диодов и RC цепочка в помощь, а ток измеряем на входе Н- моста.

shalex 15.10.2018 14:08

Вложений: 1
Свежая версия. В предыдущей не была учтена форма сигнала "аналога", которая является пилообразной(?) (выпрямленное напряжение после диодного моста). Теперь уверенно питается от переменных 18В: добавлен фильтрующий конденсатор и заменен DC-DC преобразователь на более высоковольтный.

Откалибровал "измеритель" по мультиметру в режиме пост.напряжения.
Калибровка через каждые 0.5В, получилось примерно 42 точки, вместе с нулем, т.е. до 20В.

Вложение 163589

ERWman 14.04.2019 15:07

Краткий отчет от инициатора проекта :)

Коллеги, мне удалось "вживить" индикаторы от уважаемого shalex в свой стол моделиста - очень доволен.
Руки свободны, не надо лезть со щупами и крокодилами к каждому пути, все наглядно, вся информация под рукой.

Для наглядности предлагаю вашему вниманию краткий видеоотчет:

http://www.youtube.com/watch?v=U6PGIazWktI

sergenij72 14.04.2019 16:17

Причем информация в принципе бесполезная.Главное работает или нет.Станция и сама кз покажет,а если дело в локе,то зачем ему пути,его разбирать и ремонтировать нужно,а там китайской измерялки хватит.Вы меня простите за скепсис,но реально не пойму зачем такие заморочки.


Текущее время: 15:51. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -