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

ТЕМА: Реле времени Attiny13

Реле времени Attiny13 21 нояб 2019 20:22 #1

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Доброго времени суток. В просторах тырнета нашел подходящее реле времени по ссылке →Очень простой регулируемый таймер отключения нагрузки Attiny13. Использую прошивку2
Хотелось бы уважаемого Soir попросить изменить алгоритм пуска (нажатия кнопки).
  • Кнопка в состоянии "замкнута", на выводе PB5 (лог0). В этом состоянии на выводе PB4 (лог1).
  • При размыкании кнопки PB5 (лог1), запускается отсчет заданного времени по таблице из проекта, после чего вывод PB4 переходит в (лог0).
  • Следующее замыкание кнопки PB5 (лог0) переводит состояние PB4 в (лог1) и ждет следующего перехода PB5 в (лог1) после которого происходит заданный отсчет. И так по кругу.
Проект в протеусе

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

Имя файла: Firmware_2...ny13.zip
Размер файла:57 KB
Україна прокидається
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 06:27 #2

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
изменить алгоритм пуска (нажатия кнопки).

Я не занимаюсь чужими проектами и/или прошивками. Тем более, что изменить hex-файл почти нереально.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 08:43 #3

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Я понимаю что НЕХ файл нереально редактировать. Давайте зайдём с другой стороны. Можно ли пересоздать проект используя тот же принцип работы и те же порты (можно и поменять если посчитаете нужным), но только с исправлением описанным выше?
Україна прокидається
Последнее редактирование: 22 нояб 2019 08:45 от zaxtone.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 08:51 #4

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Могу написать. Только сформулируйте ТЗ в одном сообщении без привлечения других сайтов, источников, сообщений и т.п. Чтобы не было - посмотрите как там, тут это сделайте так же, а это так не делайте, а сделайте вот так...
Просто с нуля опишите как должен работать этот таймер.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 10:59 #5

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Хорошо. Тогда вопрос: Могу ли я сохранить ту же схему и таблицу установок времени при условии что в ТЗ я укажу состояние портов?
Україна прокидається
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 11:21 #6

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Конечно, можно. Только все это должно быть в одном сообщении, чтобы мне не бегать и не искать где-что написано. Открыл один документ - и с ним работаю...
Но Вам нужны всё это число прошивок? Или достаточно одной? В общем, можно сделать одну с предустановкой через EEPROM. Тогда не будет путаницы в версиях и вариантах.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 11:46 #7

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Как говорится "Запас лишним не бывает". Давайте тогда так и сделаем, где в EEPROM можно будет устанавливать вариант таймера, а время как и задумывалось устанавливается физически.
Для удобства я могу в графическом редакторе отредактировать таблицу в столбцах кнопок SW заменить на номер порта, в столбцах "пошивка" заменю на "Вариант" Сотояние портов вместо х и _ будет 1 и 0.
Готовлю ТЗ.
Україна прокидається
Последнее редактирование: 22 нояб 2019 11:47 от zaxtone.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 11:57 #8

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Не вникал в ту таблицу и не знаю Ваших запросов. Но теоретически если задавать через EEPROM, то число вариантов можно расширить.
Например. Перемычками выставляется 16 значений времени. А в EEPROM задается дискретность этого времени. Допустим, задан 1 - таймер будет от 1 до 16 сек с шагом 1 сек. Для 5 - от 5 до 80 сек с шагом 5 сек. Для 100 - от 100 до 1600 сек с шагом 100 сек...

Можно еще одну ячейку выделить для установки единиц измерения - секунды, минуты, часы... года...

Ну и число джамперов также можно увеличить...
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 13:28 #9

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Ну и число джамперов также можно увеличить..
Вы имеете в виду матричное подключение?
Україна прокидається
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 15:05 #10

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Или аналоговое...
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 15:11 #11

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
В каком варианте можно реализовать меньшее количество джамперов и деталей? У меня упор на компактность и минимальную элементную базу.

Мне нужно 60 вариантов то есть например: 1сек...60сек.

Можно Вас попросить создать проект (без прошивки) в протеусе с по порядку пронумерованными кнопками(джамперами) в двух вариантах - матричный и аналоговый, что бы я понимал при нажатии на кнопки(джамперы) что будет на портах. Видя эти состояния, я смогу их включить в ТЗ.
Україна прокидається
Последнее редактирование: 22 нояб 2019 15:38 от zaxtone. Причина: поправил
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 16:20 #12

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Вариантов можно рисовать если не много, то несколько. Вот пример аналого-цифрового. Можете его смещать в любую сторону. Можно вообще переменный резистор поставить и время плавно менять... Я не знаю Ваших запросов.
Вложения:
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 18:13 #13

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Решил делать по аналоговой схеме. Всего 3 порта на джамперы. Подсчитл что 15 джамперов дает 60 вариантов. Сейчас буду тыкать в каджый вариант и записывать значения напряжений на портах и записывать в ТЗ.



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

Имя файла: Timer_ATTI..._v7a.zip
Размер файла:15 KB
Україна прокидається
Последнее редактирование: 22 нояб 2019 18:25 от zaxtone.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 19:52 #14

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Да уж... Если правильно подобрать резисторы, то таким числом джамперов можно установить 4096 значений.

Выводы МК необходимо переназначить.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 20:38 #15

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Ага, каюсь, :blush: не углядел, :whistle: не на всех есть АЦП. Переназначаю на PB2, PB3 и PB4/
Резисторы указал имеющиеся в наличии.
А сколки бы мне хватило джамперов с учетом моих резисторов для 60 вариантов?
Україна прокидається
Последнее редактирование: 22 нояб 2019 20:45 от zaxtone.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 21:09 #16

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
6 джамперов это 64 комбинации.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 21:26 #17

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
От я "Васёк" а я уже клепаю 15 ))) Хорошо пробую под 6.
А МОЖНО ЛИ КАК ТО ЧЕМ ТО СГЕНЕРИРОВАТЬ ЭТИ КОМБИНАЦИИ. МОЖЕТ ЕСТЬ ПРАГРАМУЛЬКИ ИЛИ КАЛЬКУЛЯТОРЫ?
Україна прокидається
Последнее редактирование: 22 нояб 2019 22:09 от zaxtone.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 22 нояб 2019 22:13 #18

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Желательно максимально использовать цифровое подключение. Например, три джампера цифровые, а три аналоговые. Так наверно проще всего и по деталям, и по габаритам, и по настройке аналоговой части. Для настройки аналоговой части чем меньше ступеней, тем лучше, проще и надежнее. Поэтому возможно вариант два цифровых входа и два аналоговых. В каждом аналоговом по два джампера.

P.S.
А что генерировать? Тут все просто даже на листике, а ведь есть еще Proteus под рукой...
Последнее редактирование: 22 нояб 2019 22:14 от Soir.
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 25 нояб 2019 18:04 #19

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Таблица перемычек почти готова, сформировал 60 комбинаций перемычек. Как Вами было предложено использовал 2 цифровых и 2 аналоговых порта. Осталось сделать замеры по аналоговой цепи от разных комбинаций перемычек и записать в таблицу. Хотел бы подстраховаться по питанию (китайский USB зарядник 5В) . Планирую запитать через стабилизатор на 3,3В. Но не знаю как в Протеусе выставить подключение микроконтроллера к этому напряжению.

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

Имя файла: Timer_ATTI...3_v7.zip
Размер файла:14 KB
Україна прокидається
Последнее редактирование: 25 нояб 2019 18:10 от zaxtone. Причина: поправил
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 25 нояб 2019 20:24 #20

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Да, как-то так. Номиналы резисторов можно чуть изменить, чтобы более равномерно растянуть диапазон напряжений. Тогда будут меньшие требования к точности резисторов. Но и так должно быть нормально.

В Proteus микроконтроллеры всегда питаются от +5V, опция изменения питания недоступна.

Таблица мне в общем-то не нужна, если в ней одинаковые ступеньки между соседними ячейками (например, 1 сек). Но если планируется какая-то непростая таблица - тогда рисуйте.

Кроме того, я предлагал сделать через EEPROM диапазоны, они нужны?
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 25 нояб 2019 20:34 #21

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
В EEPROM мне нужно всего лишь выбор таймера от 1сек до 60 сек, от 1мин до 60 мин и от 1часа до 60 часов.
Україна прокидається
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 25 нояб 2019 20:49 #22

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
Как-то не наблюдаю описание работы, о котором Вас просил и Вы обещали.

Еще один момент. В Вашем проекта два выхода из МК с одним названием OUT. Потом уже все перемешано и намешано - разберитесь с выводами.
И еще. Вывод МК PB5 использовать нежелательно. Это аппаратный сброс и он используется для прошивки МК. Если его использовать как вывод общего назначения, тогда перепрошивка МК будет возможна только в параллельном программаторе (или после стирания FUSE-доктором).
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 25 нояб 2019 21:27 #23

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Так я в параллельном прошиваю. Вывод исправлю, видимо прозевал.
Україна прокидається
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 26 нояб 2019 01:46 #24

  • zaxtone
  • zaxtone аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 145
Составил таблицу комбинаций с указанием состояний портов в Exel в архиве вместе с файлом проекта.
Небольшое видеопояснение к таблице:


Порты PB1, PB4 и PB5 на внутренних подтягивающих резисторах, сотояние лог1.
Планирую несколько алгоритмов пуска которые тоже должны устанавливается в EEPROM.
А пока давайте проверим тот который мне необходим, а именно:

PB4=0 перводит в состояние PB0=1
PB4=1 включает заданный таймер, после чего PB0=0


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

Имя файла: Timer_ATTI...v7-2.zip
Размер файла:28 KB
Україна прокидається
Последнее редактирование: 26 нояб 2019 02:34 от zaxtone. Причина: поправил
Администратор запретил публиковать записи гостям.

Реле времени Attiny13 26 нояб 2019 07:46 #25

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 11118
  • Спасибо получено: 4034
  • Respect sxem.org Sponsor 2019 Author
zaxtone пишет:
Составил таблицу комбинаций с указанием состояний портов в Exel в архиве вместе с файлом проекта.
Давайте без этих сложностей - Excel, видео, пояснение таблице, пояснение к видео... Мне дольше это все просматривать, чем писать прошивку. Видео смотреть не стал, таблицу глянул только мельком - оставьте это все себе для красоты. Мне нужно краткое и четкое описание. Например:
Джамперами выставляется двоичный код от 0 до 63 включительно. Полученное число в зависимости от выбора через EEPROM является секундами, минутами или часами. Крапка. Я правильно описал установку таймера?
Можно здесь добавить и блокировку таймера - например, когда двоичный код = 0. Может еще какие нюансы...
zaxtone пишет:
Порты PB1, PB4 и PB5 на внутренних подтягивающих резисторах, сотояние лог1.
Но на схеме Вы нарисовали внешние. Чему верить?
zaxtone пишет:
А пока давайте проверим тот который мне необходим...
Такой вариант сотрудничества исключается сразу. Никаких "А давайте пока..." Вы мне сейчас предлагаете написать алгоритм, который Вам возможно и не подойдет. Потом мне придется переписать алгоритм, который Вы тоже еще посмотрите...
Если Вам нужен один алгоритм - давайте его описание. Если алгоритмов будет несколько - давайте описание работы всех алгоритмов. Я должен сразу всё оценить и правильно составить программу, чтобы не переписывать ее каждый раз заново.
Также прошу кратко и лаконично. Исходное состояние - OUT=? Нажата кнопка START - OUT=? запуск таймера? Завершение отсчета - OUT=? Если кнопку нажать во время работы таймера - OUT=? таймер? Что будет, если при работе таймера переставить джамперы? ... Если я что-то пропустил - добавьте.
Администратор запретил публиковать записи гостям.
Модераторы: wolf2000, Soir, Vakula, Айнцвайдрайченко