Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Контроль ЭД

Контроль ЭД 19 авг 2017 13:39 #1

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Уважаемый Soir, при наличии у Вас возможности прошу помочь со следующей конструкцией.

Имеется электродвигатель фирмы Ziehl-Abegg с управлением оборотами внешним напряжением от 0 до 10В. Не хотелось бы «городить огород» из дискретных элементов типа цифрового потенциометра, индикатора уровня на LM3914 и конструкции на МК для подсчёта времени наработки. Можно ли организовать всё на одном МК?

Выбор МК: если подойдёт, то АтМега8 в корпусе DIP28; тактирование от внутреннего генератора (исключительно для экономии выводов).
Органы управления: кнопка «S1», кнопка «S2», кнопка «S3», кнопки «+» и «-».
Индикация: шестиразрядный семисегментный LED индикатор с общим катодом в формате «ЧЧЧЧ, ММ» и модуль из десяти светодиодов.
Функции:
- счётчик отработанного времени (моточасов);
- дискретная регулировка выхода управления (количество дискрет – 32) от 0,5 до 5 вольт;
- индикация уровня выхода управления;
- сохранение данных (уровень выхода управления и количества моточасов) в EEPROM при падении напряжения питания;
- включение/отключение катушек реле по двум независимым каналам.

При подаче питания устройство находится в спящем режиме. Кнопки «-» и «+» не активны.

При нажатии кнопки «S1» происходит чтение данных из EEPROM и вывод их на шестиразрядный семисегментный LED индикатор с ОК и модуль из десяти светодиодов. При первичном включение отображается 0000,00 . Параллельно с индикацией на выходе МК Out1 выводится ранее установленное значение уровня выхода управления.

Происходит отсчёт времени и отображение его на шестиразрядном семисегментном LED индикаторе до ещё одного нажатия кнопки «S1» или пропадании напряжения питания.

Кнопки «-» и «+» изменяют уровень выхода управления на выходе МК Out1 в пределах от 0,5 до 5,0 вольт . Параллельно этот уровень отображается на модуле из 10 светодиодов. Установленное значение записывается в EEPROM при повторном нажатии кнопки «S1» или пропадании напряжения питания.

При кратковременном нажатии кнопки «S2» на выходе МК Out2 устанавливается высокий уровень и реле К1 «Load2» срабатывает. При повторном нажатии – отключается.

При кратковременном нажатии кнопки «S3» на выходе МК Out3 устанавливается высокий уровень и реле К2 «Load3» срабатывает. При повторном нажатии – отключается.

Варианты контроля питающего напряжения привёл на схеме, но возможны и другие их реализации.


Вложенный файл:

Имя файла: КонтрольЭД.rar
Размер файла:12 KB
Последнее редактирование: 19 авг 2017 14:08 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 19 авг 2017 15:13 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
По схеме.
ATMEGA8 не может выводить аналоговый сигнал. Здесь можно вывести только ШИМ сигнал с внешним преобразованием в аналоговый 0-10V или сколько там нужно.
По выводам должно хватить и для внешнего кварца. Можно уплотниться по кнопкам, если не будет хватать.
Вариант питания с определением отключения предпочтительно второй.
Администратор запретил публиковать записи гостям.

Контроль ЭД 19 авг 2017 15:32 #3

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Хорошо.
1) Как вариант, ШИМ в напряжение можно легко преобразовывать через интегрирующую RC-цепочку и простейший операционник.
2) А как на счёт других доступных МК? И есть ли смысл?
3) Использование внешнего кварца даёт преимущества относительно внешнего генератора?
Администратор запретил публиковать записи гостям.

Контроль ЭД 19 авг 2017 16:52 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
2) А как на счёт других доступных МК? И есть ли смысл?
Для чего? Если про встроенный ЦАП - то я не знаю. По выводам - хватает и этого.

rossich пишет:
3) Использование внешнего кварца даёт преимущества относительно внешнего генератора?
Главное - точность отсчет времени.
Администратор запретил публиковать записи гостям.

Контроль ЭД 19 авг 2017 17:06 #5

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Тогда договорились - атмега8, внешний кварц, второй вариант контроля питания и выход с ШИМом на вот такой вот преобразователь

Последнее редактирование: 19 авг 2017 17:08 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 20 авг 2017 09:47 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
Проект собрал, посмотрите что получается по распределению выводов МК и подключению периферии.
Кварц можно другой, но напишите какой. Можно взять 4 или 8 МГц и тогда уже при помощи FUSE Вы сами сможете выбирать вариант с кварцем или без.

Прошивка рабочая, но не тестированная и не все по ТЗ. Тоже смотрите, что нужно изменить или поправить.
Возможно нужно предусмотреть процедуру сброса времени работы.
Вложения:
Последнее редактирование: 20 авг 2017 09:47 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: rossich

Контроль ЭД 20 авг 2017 21:21 #7

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Огромное спасибо! Оперативность, как всегда, на высоте. :woohoo:
1) если можно, то кварц на 10МГц (есть парочка купленных)
2) скачал, буду пробовать в "железе"
3) касаемо процедуры сброса времени работы - если есть такая возможность, то почему бы и нет. Одно "но" - желательно, чтобы это не была обычная кнопка. Например, вывод ХХ МК закоротить на землю и удерживать кнопку "S1" в течении пяти секунд.
Администратор запретил публиковать записи гостям.

Контроль ЭД 20 авг 2017 21:51 #8

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
1) если можно, то кварц на 10МГц (есть парочка купленных)
Переделал на 10 МГц.
rossich пишет:
Например, вывод ХХ МК закоротить на землю и удерживать кнопку "S1" в течении пяти секунд.
Свободного вывода XX нет. Поэтому или другая процедура (например, перед подачей питания зажать кнопку PLUS, подать питание и удерживать кнопку 5 сек, пока не появится надпись RESEt), или нужно совмещать выводы.
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: rossich

Контроль ЭД 21 авг 2017 00:23 #9

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
1) Отлично, спасибо

2) Бог с ним, со сбросом. Хотя при использовании внутреннего генератора было бы ещё два пина свободных. B)

3) Можно ли всё-таки сделать гашение всех led-индиккаторов при первоначальном подаче питания и при повторном нажатии кнопки "S1"? Потому как понять включается ли двигатель (Load_1) или нет можно только по мигающей разделительной точке. А так, если индикация будет погашена, то понятно, что двигатель находится в останове. ИМХО, очень удобно.
Последнее редактирование: 21 авг 2017 00:25 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 21 авг 2017 06:31 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
Хотя при использовании внутреннего генератора было бы ещё два пина свободных.
Это не поздно вернуть. Да и высвободить 3-5 выводов тоже не проблема...

rossich пишет:
Можно ли всё-таки сделать гашение всех led-индиккаторов при первоначальном подаче питания и при повторном нажатии кнопки "S1"?
Каких именно индикаторов? Семисегментных, отдельных светодиодов или всех?
Администратор запретил публиковать записи гостям.

Контроль ЭД 21 авг 2017 11:56 #11

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
1) да бог с ним, со сбросом.

2) как по мне то лучше всех - и шестиразрядного семисегментника, и блока из десяти светодиодов.

Soir, скажите, пожалуйста, у Вас же заложены алгоритмы по отфильтровке дребезга контактов? Потому как кнопки будут не на печатной плате, а вынесены на проводах сантиметров по 10-20. Если нет, то поставлю тактовые на ПП. Спасибо.
Последнее редактирование: 21 авг 2017 12:01 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 21 авг 2017 12:06 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
1) да бог с ним, со сбросом.
Тогда для обнуления таймера остается только перепрошивка МК.
rossich пишет:
2) как по мне то лучше всех - и шестиразрядного семисегментника, и блока из десяти светодиодов.
Тогда непонятно будет в каком состоянии устройство, может обесточено, а может кнопкой остановлено. Не видно, на какую мощность включится по нажатию на кнопку.
Может надпись какую вывести (например, StOP) или мигать чем-то...
rossich пишет:
у Вас же заложены алгоритмы по отфильтровке дребезга контактов?
Да, заложены. Добавлю, если нужно, но это уже после практических испытаний.
Администратор запретил публиковать записи гостям.

Контроль ЭД 23 авг 2017 10:38 #13

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Soir пишет:
Тогда непонятно будет в каком состоянии устройство, может обесточено, а может кнопкой остановлено. Не видно, на какую мощность включится по нажатию на кнопку.
Может надпись какую вывести (например, StOP) или мигать чем-то...
Soir, это электродвигатель трёхфазного вентилятора приточно-вытяжной вентиляции помещения, поэтому динамические изменения тут не предвидятся. Индикация наличия питания, как силовой части, так и низковольтной, будет выведена отдельно. Так что я остаюсь при своём мнении: в спящем режиме кроме индикатора наличия питания ничего не светится; нажимаем S1 - оживают индикаторы (семисегментники и модуль светодиодов); нажимаем S2 - включается реле К1 и загорается светодиод ему в параллель; нажимаем S3 - включается реле К2 и загорается светодиод ему в параллель. Повторные нажатия приводят к отключениям каналов.
Администратор запретил публиковать записи гостям.

Контроль ЭД 23 авг 2017 14:09 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
Сделал полное отключение.
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: rossich

Контроль ЭД 10 сен 2017 23:28 #15

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Здравствуйте, Soir.
Собрал схему на печатной плате, сюда же поставил тактовые кнопки, чтобы не было проблем с наводками по длинным проводам. Прошивку залил последнюю, с отключение индикации. При тестировании выявил следующие проблемы:
1) Таймер при переходе с 0000.09 на 0000.10 обнуляется, то есть имеем цикл на 10 минут. Было проверено несколько раз. А после нескольких обнуления на дисплее было 0100.00, то есть стазу 100 часов насчитал. Затем через несколько десятиминутных "циклов" стоало 0200.00.
2) После подачи питания невозможно включить ни одно реле кнопками S2 и S3. Только после включения S1 эти два канала становятся управляемыми - реле с параллельной led-индикацией включаются и выключаются от своих кнопок S2 и S3. Но если повторно нажать S1, то выключатся не только семисегментник с модулем из десяти светодиодов, но и обе релюшки. А ведь так быть не должно, эти три канала независимы.
3) Если отсчёт времени моточасов останавливается кнопкой S1, то запись в EEPROM происходит. И после очередного нажатия этой кнопки на семисегментнике появляется последнее значение. Если же во время счёта пропадает питающее напряжение (я выключал трансформаторный блок питания от сети вилкой), то запись наработки моточасов в EEPROM не происходит, а после подачи питания на устройство в целом и запуска через кнопку S1 высвечивается значение, которое было до запуска перед пропадание напряжения питания. Даже после второго принудительного отключения от сети и последующего включения, высветилось значение, которое было при выключении моточасов кнопкой S1.
Проблема сохранения установленного значения касается и блока из десяти светодиодов.

С ШИМом ещё не разбирался, только завтра мне обещают вернуть осциллограф, но выхода 0...10 вольт нет. :blush:
Последнее редактирование: 11 сен 2017 02:32 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 11 сен 2017 09:16 #16

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
1) Таймер при переходе с 0000.09 на 0000.10 обнуляется, то есть имеем цикл на 10 минут.
Таймер работает правильно, Была ошибка в отображении, исправил.

rossich пишет:
2) После подачи питания невозможно включить ни одно реле кнопками S2 и S3. Только после включения S1 эти два канала становятся управляемыми - реле с параллельной led-индикацией включаются и выключаются от своих кнопок S2 и S3.
Я именно так и понял ТЗ.
При подаче питания устройство находится в спящем режиме.
Пока не нажата S1 устройство находится в спящем режиме. А когда спит, то не работает ничего.
Сейчас сделал, чтобы S2 и S3 работали независимо от состояния устройства.

rossich пишет:
Если же во время счёта пропадает питающее напряжение (я выключал трансформаторный блок питания от сети вилкой), то запись наработки моточасов в EEPROM не происходит
Для записи после отключения питания должно обеспечиваться питание МК еще на некоторое время (несколько мсек). Это же касается и сохранения остальных настроек.
Поэтому тут нужно смотреть схему питания. Может увеличить емкость после стабилизатора +5V, уменьшить емкость конденсатора в цепи детектора напряжения питания, изменить параметры делителя в этой же цепи.

rossich пишет:
С ШИМом ещё не разбирался, только завтра мне обещают вернуть осциллограф, но выхода 0...10 вольт нет.
Посмотрите хотя бы, что на выходе из МК. Можно измерять напряжение тестером или подключить светодиод.
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: rossich

Контроль ЭД 16 сен 2017 11:28 #17

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Благодарю. Перезалил прошивку, буду гонять по режимам.
Администратор запретил публиковать записи гостям.

Контроль ЭД 16 сен 2017 17:25 #18

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Итак, из радостных вестей:
1) выход ШИМа (выход 1) на 15 пине МК проверен и регулируется, выход 0,33...9,95В на выходе операционника тоже присутствует и регулируется (изначально не было - не пропаял смд-шный резистор интегрирующей цепочки и всё Ок);
2) счёт времени наработки (таймер) на семисегментном led-индикаторе отображается корректно (во всяком случае часы, десятки минут и минуты)

...и не очень:
1) реле К1 (load2) и К2 (load3) от кнопок S2 и S3 теперь включаются и выключаются независимо от S1. Но, если выключать первый канал повторным нажатием кнопки S1 при включенных реле К1 и К2, то и они тоже отключаются;
2) совсем беда с сохранением в EEPROM - не удаётся подобрать правильно ёмкости конденсаторов. Cейчас между диодным мостом и стабилизатором 7812 стоит 100мкФ (см. пост №1, схема справа внизу) , между 7812 и детектором напряжения с 1N5819 - 47мкФ, между 1N5819 и стабилизатором 7805 - 470мкФ и после 7805 тоже 470мкФ. При такой комбинации удаётся сохранять в память МК данные, если светится максимальное количество индикации. Если же только семисегментник таймера и одна-две ячейки светодиодного модуля, то в память не пишется. :(

Сейчас нарисую конечную полную схему.
Администратор запретил публиковать записи гостям.

Контроль ЭД 16 сен 2017 18:43 #19

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
С реле разберемся, это не проблема.
Что касается сохранения, то уменьшите сопротивление 8,2 кОм до 6,2-6,8 кОм. Уменьшите емкость конденсатора, параллельного ему или удалите вовсе. Емкость конденсатора между 7812 и диодом можно уменьшать еще.
Можно попробовать перенести цепочку детектора до 7812, но нужно глянуть на полную схему источника питания.

P.S.
Работу реле изменил. Также небольшие изменения в сохранении, попробуйте.
Вложения:
Последнее редактирование: 16 сен 2017 21:27 от Soir. Причина: Обновление прошивки.
Администратор запретил публиковать записи гостям.

Контроль ЭД 16 сен 2017 20:42 #20

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Перепрошил новой версией. Проблема "с кнопками" ушла, но теперь почему-то отсчёт таймера в выключенном состоянии продолжается.

Делитель у меня не 20к/8к2, а 10к/4к7, как у Вас в модели. Ёмкость параллельно 4к7 убрал, не помогло.
Последнее редактирование: 16 сен 2017 20:45 от rossich.
Администратор запретил публиковать записи гостям.

Контроль ЭД 16 сен 2017 21:28 #21

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 6034
  • Спасибо получено: 2126
rossich пишет:
теперь почему-то отсчёт таймера в выключенном состоянии продолжается.
Исправил, но если снова не так - распишите еще раз, что когда включено, выключено, считает, не считает... я уже запутался.
rossich пишет:
Делитель у меня не 20к/8к2, а 10к/4к7, как у Вас в модели.
Главное соблюсти соотношение. На выходе делителя желательно установить напряжение близкое к порогу переключения. Подберите резисторы, чтобы напряжение после делителя было в пределах 2,8-3,0V.
Администратор запретил публиковать записи гостям.
Спасибо сказали: rossich

Контроль ЭД 16 сен 2017 22:10 #22

  • rossich
  • rossich аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 95
  • Спасибо получено: 14
Проверил. Теперь всё Ок! - кнопки, индикация, счёт.

У меня напряжение на выходе делителя 3,82В. Буду разбираться.


update
Изменил номиналы делителя с 10к/4к7 на 15к/4к7, теперь напряжение на выходе составляет 2,85В. Запись в память происходит отлично. Попробую немного добавить ёмкости во входном фильтре.

Soir, спасибо Вам огромное за помощь и подсказки.
Последнее редактирование: 16 сен 2017 23:28 от rossich.
Администратор запретил публиковать записи гостям.
Модераторы: wolf2000, Vakula, Айнцвайдрайченко