Запрошуємо, Гість
Ім'я користувача: Пароль: Запам’ятати мене

ТЕМА: Реле часу Attiny13

Реле часу Attiny13 21 лист. 2019 20:22 #1

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Доброго времени суток. В просторах тырнета нашел подходящее реле времени по ссылке →Очень простой регулируемый таймер отключения нагрузки 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
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
изменить алгоритм пуска (нажатия кнопки).

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

Реле часу Attiny13 22 лист. 2019 08:43 #3

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Я понимаю что НЕХ файл нереально редактировать. Давайте зайдём с другой стороны. Можно ли пересоздать проект используя тот же принцип работы и те же порты (можно и поменять если посчитаете нужным), но только с исправлением описанным выше?
Україна прокидається
Останнє редагування: 22 лист. 2019 08:45 від zaxtone.
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 08:51 #4

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Могу написать. Только сформулируйте ТЗ в одном сообщении без привлечения других сайтов, источников, сообщений и т.п. Чтобы не было - посмотрите как там, тут это сделайте так же, а это так не делайте, а сделайте вот так...
Просто с нуля опишите как должен работать этот таймер.
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 10:59 #5

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Хорошо. Тогда вопрос: Могу ли я сохранить ту же схему и таблицу установок времени при условии что в ТЗ я укажу состояние портов?
Україна прокидається
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 11:21 #6

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Конечно, можно. Только все это должно быть в одном сообщении, чтобы мне не бегать и не искать где-что написано. Открыл один документ - и с ним работаю...
Но Вам нужны всё это число прошивок? Или достаточно одной? В общем, можно сделать одну с предустановкой через EEPROM. Тогда не будет путаницы в версиях и вариантах.
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 11:46 #7

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

Реле часу Attiny13 22 лист. 2019 11:57 #8

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

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

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

Реле часу Attiny13 22 лист. 2019 13:28 #9

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Ну и число джамперов также можно увеличить..
Вы имеете в виду матричное подключение?
Україна прокидається
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 15:05 #10

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Или аналоговое...
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 15:11 #11

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
В каком варианте можно реализовать меньшее количество джамперов и деталей? У меня упор на компактность и минимальную элементную базу.

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

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

Реле часу Attiny13 22 лист. 2019 16:20 #12

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Вариантов можно рисовать если не много, то несколько. Вот пример аналого-цифрового. Можете его смещать в любую сторону. Можно вообще переменный резистор поставить и время плавно менять... Я не знаю Ваших запросов.
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 18:13 #13

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Решил делать по аналоговой схеме. Всего 3 порта на джамперы. Подсчитл что 15 джамперов дает 60 вариантов. Сейчас буду тыкать в каджый вариант и записывать значения напряжений на портах и записывать в ТЗ.



Вкладений файл:

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

Реле часу Attiny13 22 лист. 2019 19:52 #14

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Да уж... Если правильно подобрать резисторы, то таким числом джамперов можно установить 4096 значений.

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

Реле часу Attiny13 22 лист. 2019 20:38 #15

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Ага, каюсь, :blush: не углядел, :whistle: не на всех есть АЦП. Переназначаю на PB2, PB3 и PB4/
Резисторы указал имеющиеся в наличии.
А сколки бы мне хватило джамперов с учетом моих резисторов для 60 вариантов?
Україна прокидається
Останнє редагування: 22 лист. 2019 20:45 від zaxtone.
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 21:09 #16

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
6 джамперов это 64 комбинации.
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 22 лист. 2019 21:26 #17

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

Реле часу Attiny13 22 лист. 2019 22:13 #18

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

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

Реле часу Attiny13 25 лист. 2019 18:04 #19

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Таблица перемычек почти готова, сформировал 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
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Да, как-то так. Номиналы резисторов можно чуть изменить, чтобы более равномерно растянуть диапазон напряжений. Тогда будут меньшие требования к точности резисторов. Но и так должно быть нормально.

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

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

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

Реле часу Attiny13 25 лист. 2019 20:34 #21

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
В EEPROM мне нужно всего лишь выбор таймера от 1сек до 60 сек, от 1мин до 60 мин и от 1часа до 60 часов.
Україна прокидається
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 25 лист. 2019 20:49 #22

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
Как-то не наблюдаю описание работы, о котором Вас просил и Вы обещали.

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

Реле часу Attiny13 25 лист. 2019 21:27 #23

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Так я в параллельном прошиваю. Вывод исправлю, видимо прозевал.
Україна прокидається
Увійдіть до облікового запису, щоб писати повідомлення.

Реле часу Attiny13 26 лист. 2019 01:46 #24

  • zaxtone
  • zaxtone аватар
  • Оффлайн
  • habitue
  • Дописи: 242
  • Подякували: 1
Составил таблицу комбинаций с указанием состояний портов в 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
  • Дописи: 14111
  • Подякували: 5431
  • sxem.org 2019,2020,2021,2022,2023 Respect Author
zaxtone пише:
Составил таблицу комбинаций с указанием состояний портов в Exel в архиве вместе с файлом проекта.
Давайте без этих сложностей - Excel, видео, пояснение таблице, пояснение к видео... Мне дольше это все просматривать, чем писать прошивку. Видео смотреть не стал, таблицу глянул только мельком - оставьте это все себе для красоты. Мне нужно краткое и четкое описание. Например:
Джамперами выставляется двоичный код от 0 до 63 включительно. Полученное число в зависимости от выбора через EEPROM является секундами, минутами или часами. Крапка. Я правильно описал установку таймера?
Можно здесь добавить и блокировку таймера - например, когда двоичный код = 0. Может еще какие нюансы...
zaxtone пише:
Порты PB1, PB4 и PB5 на внутренних подтягивающих резисторах, сотояние лог1.
Но на схеме Вы нарисовали внешние. Чему верить?
zaxtone пише:
А пока давайте проверим тот который мне необходим...
Такой вариант сотрудничества исключается сразу. Никаких "А давайте пока..." Вы мне сейчас предлагаете написать алгоритм, который Вам возможно и не подойдет. Потом мне придется переписать алгоритм, который Вы тоже еще посмотрите...
Если Вам нужен один алгоритм - давайте его описание. Если алгоритмов будет несколько - давайте описание работы всех алгоритмов. Я должен сразу всё оценить и правильно составить программу, чтобы не переписывать ее каждый раз заново.
Также прошу кратко и лаконично. Исходное состояние - OUT=? Нажата кнопка START - OUT=? запуск таймера? Завершение отсчета - OUT=? Если кнопку нажать во время работы таймера - OUT=? таймер? Что будет, если при работе таймера переставить джамперы? ... Если я что-то пропустил - добавьте.
Увійдіть до облікового запису, щоб писати повідомлення.
Модератори: Wolf, Soir, Vakula, Айнцвайдрайченко