Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 10.04.2018, 00:27   #51
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

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

Нажмите на изображение для увеличения
Название: 10473.jpg
Просмотров: 71
Размер:	79.4 Кб
ID:	157346Нажмите на изображение для увеличения
Название: 10474.jpg
Просмотров: 78
Размер:	77.6 Кб
ID:	157347

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

Вот думаю, возможно не зря советовали танталы перед пайкой проверять под напряжением, но надеюсь, что конденсатор могло коротнуть от криворукой пайки.
__________________
Стройка
shalex вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 10.04.2018, 09:03   #52
BR95009
Mit Volldampf durch Harz!
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: Msk
Сообщений: 5,626
Сказал(а) 'не согласен(а)'!: 20
Сказали 'не согласен'! 51 раз(а) в 42 сообщениях
Сказал(а) спасибо: 4,665
Поблагодарили 6,047 раз(а) в 2,036 сообщениях
Репутация: репутация неоспорима (6096)
По умолчанию

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

Действительно надо проверять. Да даже и после этого в лок ставить стремно.
__________________
H0 - DR/DB, Ep.III + G и H0m - HSB
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума   Вверх
Старый 10.04.2018, 10:41   #53
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

Доп. результаты:
- плата вполне работает при питании от DCC.
- к сожалению, чтения CV не случилось. Подключаю модуль к МД-программатору, нажимаю читать CV и, видимо, цикл чтения завершается раньше, чем загрузилась ардуина. Со стороны это выглядит так, что ардуина ненадолго включается и сразу гаснет.
__________________
Стройка
shalex вне форума   Вверх
Старый 11.04.2018, 12:17   #54
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Плюс сигнал DCC имеет переменный характер и это надо как-то учитывать при расчете тока. Но это меньшая из проблем, т.к. на момент вычисления известен тип входного сигнала - аналог или DCC.
__________________
Стройка
shalex вне форума   Вверх
Старый 24.04.2018, 20:17   #55
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

Промежуточные итоги:

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

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

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

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


Нажмите на изображение для увеличения
Название: 10504.jpg
Просмотров: 53
Размер:	101.0 Кб
ID:	157877
Режим "аналога". Полярность (-), вольтаж(5.72), аналоговый режим (A), ток примерно 0 (0.01).

Нажмите на изображение для увеличения
Название: 10503.jpg
Просмотров: 55
Размер:	105.7 Кб
ID:	157876
DCC режим. Направление(<), вольтаж(12.5), режим DCC (D), адрес (3), шаги(21), из (128) шагов, функции Fx(снизу точки), ток (0.00).

Нажмите на изображение для увеличения
Название: 10505.jpg
Просмотров: 51
Размер:	89.2 Кб
ID:	157878
Сам испытательный стенд
__________________
Стройка
shalex вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 26.04.2018, 11:13   #56
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Насчет измерения напряжения надо вспоминать математику и нивелировать нелинейность измерений с помощью мат.функции.
__________________
Стройка
shalex вне форума   Вверх
Пользователь сказал cпасибо:
Старый 26.04.2018, 17:14   #57
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

Нашел неплохой сайт и по 5 точкам получил формулу.
Точность измерения напряжения получилась такая:
Нажмите на изображение для увеличения
Название: 10506.png
Просмотров: 34
Размер:	2.0 Кб
ID:	157896

real - измерено тестером
test - измерено "декодером"
__________________
Стройка
shalex вне форума   Вверх
4 пользователя(ей) сказали cпасибо:
Старый 27.04.2018, 11:08   #58
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Нажмите на изображение для увеличения
Название: 1010.jpg
Просмотров: 111
Размер:	80.1 Кб
ID:	157900
__________________
Стройка
shalex вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 30.04.2018, 09:38   #59
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

__________________
Стройка
shalex вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 02.05.2018, 21:43   #60
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Нажмите на изображение для увеличения
Название: 10508.jpg
Просмотров: 56
Размер:	62.4 Кб
ID:	158053
__________________
Стройка
shalex вне форума   Вверх
Пользователь сказал cпасибо:
Старый 05.05.2018, 12:19   #61
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

v8

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

Нажмите на изображение для увеличения
Название: 10509.jpg
Просмотров: 54
Размер:	117.5 Кб
ID:	158062Нажмите на изображение для увеличения
Название: 10510.jpg
Просмотров: 44
Размер:	38.8 Кб
ID:	158063
__________________
Стройка
shalex вне форума   Вверх
4 пользователя(ей) сказали cпасибо:
Старый 20.05.2018, 22:32   #62
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Нажмите на изображение для увеличения
Название: 10528.jpg
Просмотров: 30
Размер:	97.6 Кб
ID:	158691

Далее в планах собрать на "макете" делитель из резисторов и поточнее откалибровать измерение напряжения.
__________________
Стройка
shalex вне форума   Вверх
3 пользователя(ей) сказали cпасибо:
Старый 21.05.2018, 23:29   #63
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

Нажмите на изображение для увеличения
Название: 102.jpg
Просмотров: 31
Размер:	92.5 Кб
ID:	158730Нажмите на изображение для увеличения
Название: Image 6.png
Просмотров: 19
Размер:	2.6 Кб
ID:	158731

Как видно, на низких напряжениях растет погрешность.
Из идей - разбить на шкалу на две части: до 5В и после. Для каждой части подобрать свою отдельную функцию.
__________________
Стройка
shalex вне форума   Вверх
2 пользователя(ей) сказали cпасибо:
Старый 27.05.2018, 20:54   #64
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

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

При примерно 17 калибровочных значениях, при использовании для поиска метода "деления отрезка пополам", поиск выполняется за 4 шага. Теперь не нужно подбирать коэф. квадратного или кубического уравнения, а достаточно сделать замеры и вписать результаты в массив
Нажмите на изображение для увеличения
Название: 10531.jpg
Просмотров: 22
Размер:	142.3 Кб
ID:	159026
__________________
Стройка

Последний раз редактировалось shalex; 27.05.2018 в 23:20.
shalex вне форума   Вверх
2 пользователя(ей) сказали cпасибо:
Старый 28.05.2018, 00:17   #65
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: Ступино
Сообщений: 1,830
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 2,914
Поблагодарили 1,536 раз(а) в 630 сообщениях
Репутация: обеспечил(а) себе прекрасное будущее (1537)
По умолчанию

Нажмите на изображение для увеличения
Название: meter_CV_PCB.jpg
Просмотров: 18
Размер:	150.0 Кб
ID:	159054
Подключение к плате.

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

Нажмите на изображение для увеличения
Название: meter_LED.jpg
Просмотров: 13
Размер:	92.2 Кб
ID:	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).

Нажмите на изображение для увеличения
Название: meter_CV_write_lock.png
Просмотров: 17
Размер:	603.0 Кб
ID:	159055
На экране включенная защита от записи в CV отображается точкой. Хотя только что пришла мысль сделать наоборот...
__________________
Стройка

Последний раз редактировалось shalex; 28.05.2018 в 23:46.
shalex вне форума   Вверх
Пользователь сказал cпасибо:
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проект макета ТТ kej Наши стройки 82 09.06.2018 13:27
H0 АА от РСТ. новый проект Rost Новости в мире моделей 85 05.05.2017 17:57
Проект НТВ Руслан ЦЕХ 43 25.01.2017 19:45
Звуковой проект для Д1 Илья Цифровая аппаратура Modelldepo 7 11.11.2016 12:44
Проект М62. Spur1 artvaggon Большие от 1:2 до 1:45 (G,0,1,2,3 ... ) 30 19.02.2016 15:39


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


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