Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Создание новых тем и ответов в разделе "Схемо - темы", должны соответствовать правилам сайта ( sxem.org/forum/pravila ).
  • Страница:
  • 1
  • 2

ТЕМА: визуализация работы датчиков движения

визуализация работы датчиков движения 25 фев 2016 17:21 #1

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Добрый день, Форум!
Прошу уважаемых программистов помощи в реализации проекта. Суть идеи: в парадном, на лестничной клетке, расположены 2 датчика движения, а в квартире - блок визуализации работы этих датчиков. Также намереваюсь предусмотреть включение освещения по одному из датчиков. Я разработал это устройство на логике, но схема получается громоздкая и неуклюжая, не соответствующая духу времени. Хотелось бы воплотить её на микроконтроллере. Вместо предварительного описания, выкладываю видео работы одного канала:

Пока эта схема сырая (на видео заметны некоторые неправильности работы), но всё можно отладить. Однако, чем больше занимаюсь этим, тем больше мечтаю о МК.
При Вашем согласии помочь, я готов выложить подробное ТЗ. Спасибо!
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 25 фев 2016 19:12 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 25 фев 2016 18:39 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
При Вашем согласии помочь, я готов выложить подробное ТЗ.
Согласия пока нет, но выкладывайте, надо сначала посмотреть.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 25 фев 2016 19:04 #3

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Назначение устройства - визуализация срабатываний 2х датчиков движения и включение освещения по одному из этих датчиков.
Описание. На лестничной клетке расположены 2 датчика движения - один контролирует ближнюю зону (непосредственно у входа в квартиру), другой - дальнюю зону, т.е. всю лесничную площадку с прилегающими маршами. Далее будем называть их так:
ДД №1 - датчик ближней зоны
ДД №2 - датчик дальней зоны.
В прихожей находится пульт с двумя 7-сегментными светодиодными индикаторами, визуализирующими работу датчиков. Соответственно, индикатор №1 и №2.

Описание работы. В исходном состоянии индикаторы не светятся, схема находится в состоянии ожидания. При срабатывании датчика, включается соответствующий индикатор, на нём отображается цифра "0" и начинается отсчёт цифр, от 0 до 9. Время отображения каждой цифры = 7,2...7,5 секунды. Таким образом, продолжительность всего цикла работы счетчика будет 72...75 секунд. По окончании цикла, индикатор гаснет и схема приходит в исходное состояние. Если, во время цикла, происходит повторное срабатывание датчика, то счетчик обнуляется и отсчет начинается опять с нуля.
Индикатор ДД №2 работает точно в соответствии с этим (базовым) алгоритмом, без эффектов и дополнительных функций.
Оба канала работают независимо друг от друга.
Работа индикатора ДД №1 имеет такие особенности:
- Цифры 0, 1, 2, 3, 4 всегда мигают (меандр) с частотой 4,2...4,5 Гц. Цифры 5, 6, 7, 8, 9 никогда не мигают. Отсчёт идёт по базовому алгоритму, со сбросом в 0 при каждом срабатывании ДД.
- В течение всего времени, когда на индикаторе присутствуют цифры 0, 1, 2, 3, 4, включено реле освещения (лог. 1 на выходе МК).
- Если, в течение первых 30 секунд цикла, происходит более 5 срабатываний ДД, то звучит короткий "пик" 0,1 сек (лог.1 на выходе МК) - однократно.
- Если цикл продолжается более 120 сек, то звучит "двойной пик", который далее повторяется каждую минуту, пока не закончится цикл.

Исходные уровни на входах МК - лог. 1
Активный уровень (сработка ДД) - лог. 0
МК не должен реагировать на короткие (менее 20 мсек) изменения уровня.
В случае обрыва цепи или неисправности датчика, на соответствующем индикаторе зажигается прочерк и остаётся гореть, пока на входе в МК не появится лог. 1. Одновременно звучит "тройной пик". Неисправность распознается по продолжительному (более 60 секунд), стабильному, без провалов, наличию активного уровня на входе МК. Провалы (помехи) короче 20 мсек игнорируются. Наличие более длительных пауз считается признаком исправности.

Желательно ориентироваться на имеющиеся в наличии AtTiny 2313A

СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 25 фев 2016 19:15 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 09:55 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Пока вот такой набросок схемы. Еще ничего не работает (кроме индикации), просто посмотрите, все ли на месте.
Основной алгоритм реализован. Пока нет обработки ошибок.
Тестируйте.
Последнее редактирование: 26 фев 2016 21:03 от Soir. Причина: Удаление не актуального вложения.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 14:17 #5

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Спасибо, что согласились помочь!
Прошил, смакетировал. При включении - заставка "UA", далее в обоих каналах мигает "1".
Счёта нет. При лог. нуле на входе, соответствующий канал индицирует мигающий "0"
Частота мигания 1 Гц.
Пока всё.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 15:24 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Частота мигания 1 Гц.
Может FUSE не те. А может Вы не последнюю версию прошивки скачали (я несколько раз обновлял). Вечером сам проверю в железе.
---
P.S.
Кстати, тут не так давно была похожая история - после обновления качалась старая версия вложения, у меня качалась новая... Может где-то с кэша подтягивается. На всякий случай еще в это сообщение выложил, сравните.
Последнее редактирование: 26 фев 2016 21:03 от Soir. Причина: Удаление не актуального вложения.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 17:05 #7

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
:woohoo: Работает!
Перепрошил МК и все заработало! Индикация, счет, освещение - всё, как я хотел.
Только со звуковыми сигналами еще не всё понятно: наблюдаются задержки, которых не хочется... Ещё погоняю, проведу хронометраж.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 17:16 #8

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
наблюдаются задержки, которых не хочется...
Давайте подробности.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 18:19 #9

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
- Если, в течение первых 30 секунд цикла, происходит более 5 срабатываний ДД, то звучит короткий "пик" 0,1 сек - однократно.
Этот звук есть, но с задержкой в пару десятков секунд, не получается определить её точно. Хотелось бы, чтобы "пик" звучал сразу после 5-го срабатывания ДД. Ну, секунд до 5, допустима задержка.
- Если цикл продолжается более 120 сек, то звучит "двойной пик", который далее повторяется каждую минуту, пока не закончится цикл.
Тут Вы сделали правильно, претензий нет. Но, если возможно, измените 120 на 150 сек.

И еще, хотелось бы прояснить такой нюанс. Устройство планируется держать включенным в течение многих месяцев, или даже лет. Питание - бесперебойное. Нужна ли какая-либо защита от сбоев, зависаний и т.п., например аппаратный сброс 1 раз в сутки или неделю? Возможно, вопрос безграмотный (мой опыт работы с МК невелик), не обессудьте.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 18:31 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Этот звук есть, но с задержкой в пару десятков секунд, не получается определить её точно. Хотелось бы, чтобы "пик" звучал сразу после 5-го срабатывания ДД.
Понятно. Сейчас сделано так: программа через 30 сек от первого срабатывания проверяет сколько было срабатываний, если 5 и больше - тогда звук.
Переделаю.
Айнцвайдрайченко пишет:
измените 120 на 150 сек.
Изменю.
Айнцвайдрайченко пишет:
Нужна ли какая-либо защита от сбоев, зависаний и т.п., например аппаратный сброс 1 раз в сутки или неделю?
Теоретически - нет, никакой сброс не нужен. Но, если нужно, сделаю дополнительную защиту от зависаний.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 18:42 #11

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Soir пишет:
сделано так: программа через 30 сек от первого срабатывания проверяет сколько было срабатываний, если 5 и больше - тогда звук.
Переделаю.Айнцвайдрайченко пишет:
измените 120 на 150 сек.
Изменю.

ОК, спасибо.
если нужно, сделаю дополнительную защиту от зависаний.
Да, желательно, чтобы такая защита была.

P.S. Ой, прошу прощения. Я тут ещё тестировал, тестировал... Если не поздно: можно ли количество срабатываний в первые 30 сек. вынести в ЕЕПРОМ, чтобы я сам мог изменить? Если это трудно, то прошу заменить 5 срабатываний на 8. Без эксплуатационного прогона с этим трудно определиться.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 26 фев 2016 19:57 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 21:02 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Внес все изменения, но теперь надо проверять все сначала.

Айнцвайдрайченко пишет:
количество срабатываний в первые 30 сек. вынести в ЕЕПРОМ, чтобы я сам мог изменить? Если это трудно, то прошу заменить 5 срабатываний на 8.
Ячейка с адресом 0x00, должно быть значение не более 20. Если больше, тогда по умолчанию 8.
Последнее редактирование: 27 фев 2016 21:57 от Soir. Причина: Удаление не актуального вложения.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Айнцвайдрайченко

визуализация работы датчиков движения 26 фев 2016 21:18 #13

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Прекрасно, спасибо!
Значение вводить в десятичном или 16-ричном формате?
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 21:27 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Значение вводить в десятичном или 16-ричном формате?
Как Вам больше нравится, или как позволяет Ваш программатор.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 26 фев 2016 21:56 #15

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Понятно, если ПониПрог отображает 16-ричные числа, то я должен вводить в таком же формате...
А число 20 - десятичное?

Что-то не так... Без редактирования ЕЕПРОМ (в нулевой ячейке FF) звук появляется после 4х срабатываний. Записал в ячейку 11h - звука нету и при 30 срабатываниях.

З.Ы. Записал 0Аh - звук после 6 сработок.
0Ch - звука нет
09 - после 7 сработок
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 26 фев 2016 23:02 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 27 фев 2016 08:44 #16

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
А число 20 - десятичное?
Да.
Айнцвайдрайченко пишет:
Что-то не так...
Ошибка в прошивке. Фактически, если больше 10, то звука не было. Это исправил.
Но если меньше 10, то все должно было работать. Учитывайте ограничения - длительность импульса должна быть не менее 20 мсек и все сработки должны поместиться в 30 сек.
Если звук появляется раньше, возможно проходят ложные импульсы (дребезг).

Прошивку обновил. Добавил файл EEPROM для Proteus, в нем записано 0x0C.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Айнцвайдрайченко

визуализация работы датчиков движения 27 фев 2016 11:54 #17

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Уважаемый Soir, Вам, от души, огромное СПАСИБО!
Сегодня утречком, даже не позавтрамшы, тестировал последнюю прошивку. Всё правильно и прекрасно работает!
Да, была реакция на дребезг. Подобрал номиналы интегрирующей цепочки в базе транзистора,- и счёт срабатываний стал правильным.
Пора заняться печатной платой.

З.Ы. До чего же изящна схема на МК, по сравнению с логикой! Даже макет - загляденье!
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 27 фев 2016 13:26 #18

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Да, была реакция на дребезг.
Может защитное время увеличить, не 20 мсек, а скажем, 50 мсек?
Кстати, этот (а может и некоторые другие) параметр можно тоже сделать устанавливаемыми через EEPROM. Если есть такая необходимость. А учитывая, что есть индикатор, можно добавив пару кнопок, сделать небольшое меню и менять эти параметры оперативно.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 27 фев 2016 17:56 #19

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Может защитное время увеличить, не 20 мсек, а скажем, 50 мсек?
К сожалению, не имею возможности точно измерить временные характеристики выхода ДД. Тем более, что ДД ведёт себя не всегда одинаково. Если, к примеру, непрерывно двигаться в зоне обзора, то активный уровень держится то с одним интервалом, то с другим. Минимум очень короткий (на глазок, по работе светодиода), поэтому боюсь ошибки.
А учитывая, что есть индикатор, можно добавив пару кнопок, сделать небольшое меню и менять эти параметры оперативно.
Было бы неплохо. Особенно актуально на случай замены датчика. Кроме того, опыт эксплуатации может потребовать изменений.
Хотелось бы Управлять такими параметрами:
-Параметр 1: Продолжительность включения освещения. Привязать к цифрам, отображаемым на индикаторе, от 0 до 5. По умолчанию, 0...4, начало всегда от 0;
-Параметр 2: Количество срабатываний ДД за первые 30 сек. цикла, включающих одиночный звуковой сигнал, от 1 до 20. По умолчанию, 8;
-Параметр 3: Время продолжительности цикла, при превышении которого звучит двойной звук, от 100 сек до 300 сек, с шагом 10 сек. По умолчанию, 150 сек;
-Параметр 4: Время распознавания неисправности датчика, от 30 до 180 сек, с шагом 10 сек. По умолчанию, 60 сек;
-Параметр 5: защитное время от помех, от 10 мсек до 100 мсек, с шагом 10 мсек. По умолчанию, 30 мсек.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 27 фев 2016 19:06 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 27 фев 2016 21:59 #20

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Хотелось бы Управлять такими параметрами:
Сделал. Все нужно проверять.
Вход в настройки удержанием нажатой кнопки PLUS или MINUS более 1 сек. На индикатор выводится символ P в старшем разряде и номер параметра в младшем. Повторное нажатие с удержанием кнопки PLUS или MINUS - переход к настройке данного параметра.
Чтобы перейти к следующему параметру - снова нажать и удерживать кнопки PLUS или MINUS.
– P1: Продолжительность включения освещения. Диапазон установки 0 ÷ 9. По умолчанию 4. Если 0 - свет не включается.
– P2: Количество срабатываний ДД за первые 30 сек цикла, включающих одиночный звуковой сигнал. Диапазон установки 1 ÷ 20. По умолчанию 8;
– P3: Время продолжительности цикла, при превышении которого звучит двойной звук. Диапазон установки 10 ÷ 30 единиц. Одна единица соответствует 10 сек. По умолчанию 15 (150 сек);
– P4: Время распознавания неисправности датчика. Диапазон установки 3 ÷ 18 единиц. Одна единица соответствует 10 сек. По умолчанию 6 (60 сек);
– P5: Защитное время от помех. Диапазон установки 1 ÷ 10 единиц. Одна единица соответствует 10 мсек. По умолчанию 3 (30 мсек).
Через 10 от последнего нажатия на кнопки параметры запишутся в энергонезависимую память.

---
В первоначальном варианте нашел ошибку в прошивке. Если тот вариант Вам тоже нужен - скажите, я ее исправлю и выложу отдельно. Пока удалил.
Вложения:
Последнее редактирование: 29 фев 2016 14:20 от Soir. Причина: Обновление прошивки
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 27 фев 2016 23:03 #21

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
В первоначальном варианте нашел ошибку в прошивке. Если тот вариант Вам тоже нужен - скажите, я ее исправлю и выложу отдельно. Пока удалил.
Выложите, пожалуйста, если не трудно.

С новой прошивкой что-то не так: на входах контроллера 6 и 7 держится лог. единица и транзистор не может притянуть вход к земле. Увеличивать ток боюсь, чтобы не спалить порты.
Заставка есть, меню работает, но есть замечание: меню иногда гаснет во время работы с ним, т.е. через 1-2 сек от последнего нажатия.

И еще, в Протеусе: 1й канал работает, 2й не работает.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 28 фев 2016 00:07 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 28 фев 2016 07:45 #22

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Айнцвайдрайченко пишет:
Выложите, пожалуйста, если не трудно.
Добавил в предыдущее сообщение, файл MotionDetectorMonitor_2313_no_set.hex

Айнцвайдрайченко пишет:
С новой прошивкой что-то не так...
Починил. Перезалил.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Айнцвайдрайченко

визуализация работы датчиков движения 28 фев 2016 12:46 #23

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Спасибо, скачал.

Тестировал, базовые функции работают правильно. Обнаружил:
-время продолжительности цикла, при превышении к-рого, звучит двойной сигнал, параметр 3. Во-первых, оно получается чуть меньше установленного (секунд на 5 при уставке 120 сек). Во-вторых, интервал дальнейшего повтора зависит от уставки параметра. При минимальной уставке (100 сек), интервал повтора получается 10 сек. Интервал должен быть 60 сек, независимо от уставки.
-иногда происходит преждевременный выход из меню (1-2 сек от последнего нажатия).
Пока вроде всё.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 28 фев 2016 12:47 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 28 фев 2016 15:43 #24

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4069
  • Спасибо получено: 1393
Прошивку обновил. По поводу преждевременного выхода из меню понаблюдайте еще. Фактически время выхода было 4,5 сек, но не 1-2. Сейчас сделал 10.
Администратор запретил публиковать записи гостям.

визуализация работы датчиков движения 28 фев 2016 17:34 #25

  • Айнцвайдрайченко
  • Айнцвайдрайченко аватар
  • Не в сети
  • Модератор
  • Сообщений: 284
  • Спасибо получено: 59
Тестировал. Почти все функции работают правильно, выход из меню стабильно 10 сек.
Вызывают сомнения только следующее:
-неправильный начальный сброс при включении питания, если параметр Р5 установлен в диапазоне 5...10. При этом, после заставки, начинается цикл отсчета в обоих каналах;
-при установке Р1=1, мигают только цифры 0 и 1, далее мигание прекращается;
-не могу разобраться с параметром Р2. Не одинаковый результат в разных тестах. Как правило, число срабатываний, инициирующих звук, меньше уставки на 1-2-3 срабатывания.
СЛАВА УКРАЇНІ!
Позор агрессору, смерть оккупантам!
Последнее редактирование: 28 фев 2016 18:15 от Айнцвайдрайченко.
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
Модераторы: wolf2000, Vakula, Айнцвайдрайченко