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

ТЕМА: Индикатор заряда 1S, 2S, 3S на ATtiny13

Индикатор заряда 1S, 2S, 3S на ATtiny13 28 янв 2021 20:29 #1

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Уважаемый, Soir, прошу помощи в решении задачки.
ТЗ во вложении. Заранее благодарен.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 28 янв 2021 21:05 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 28 янв 2021 21:37 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Должен сразу заметить, что МК умеет измерять только до 1000 единиц (если точно, то до 1023). Далее эти единицы можно переводить в любую шкалу. Например, 0-20V. Но такие величины, как 3,475 для него недоступны.
Чтобы использовать единый делитель, тогда шкала как раз и должна быть до 20V. В этом случае разрешающая способность измерения для всех режимов (3S, 2S, 1S) будет 0,02V.
Если делать разные делители, тогда для 3S остается шкала 20V, разрешающая способность 0,02V. Для 2S - 10V и 0,01V соответственно. И для 1S - 5V и 0,005V.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 29 янв 2021 08:07 #3

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Soir пишет:
Чтобы использовать единый делитель, тогда шкала как раз и должна быть до 20V. В этом случае разрешающая способность измерения для всех режимов (3S, 2S, 1S) будет 0,02V.
Единый делитель и 0,02V меня вполне устраивает.
И раз шкала до 20V, то добавить и 4S.
Тогда выбор будет выглядеть так:
1S - мигает D1
2S - мигает D1, D2
3S - мигает D1, D2, D3
4S - горят D1, D2, D3
Уставки под спойлером
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 29 янв 2021 09:02 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 29 янв 2021 17:03 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Индикация напряжения мне кажется неудачная. Визуально вряд ли будет заметна разница между "Выше Umax" и "Umax". Точное попадание в Umax будет непостоянное, если будет вообще. Поэтому светодиоды будут всегда мигать и непонятно почему. Аналогично и для остальных порогов.
Также Вы не указали что же должно светиться в промежутках. Например, между Umax и Unom.

Здесь построение алгоритма должно быть следующее:
Выше либо равно Umax - индикация...
Ниже Umax но выше Umin - индикация...
Ниже либо равно Umin - индикация...
Число ступеней индикации может быть иное, но надеюсь принцип понятен.

P.S.
Опишите, каким образом должны устанавливаться пороги напряжений.
Фраза "Мигает D1 – устанавливаем Umin" - непонятна. Чем и как устанавливаем?
Последнее редактирование: 29 янв 2021 17:37 от Soir. Причина: Дополнение.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 29 янв 2021 20:56 #5

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Настройку уровней напряжения производим лабораторным БП, изменяя напряжение на входе:
Долгое нажатие кнопки S (более 5 сек) включает режим программирования:
Переключение режимов установки – короткими нажатиями кнопки S
Мигает D1 – устанавливаем Umin
Мигает D3 – устанавливаем Umax
Долгое нажатие кнопки S – сохраняет данные в EEPROM

Например, для 1S Umin=3,0V, Umax=4,1V

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 29 янв 2021 22:02 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Проект и прошивка в архиве. Там также два файла EEPROM с начальными настройками (bin и eep). Эти файлы по сути одно и то же и содержат настройки для указанных Вами порогов индикации при номиналах делителя из проекта. bin походит для симуляции в Proteus. Для прошивки можете брать любой. А можно и вообще не использовать...
Номиналы делителя можно точно не подбирать. Достаточно резисторов +-5%. Но при этом необходима калибровка по Вашему описанию.
Вложения:
Последнее редактирование: 06 фев 2021 19:58 от Soir. Причина: Обновление прошивки.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 10:12 #7

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
С выбором количества аккумуляторов все в норме.
Не правильно отображается Umin - горит D3, а не D1.
Поясните пожалуйста процесс программирования Umin и Umax, если я правильно понял порядок такой:
1.Выставить на измерительном входе Umin
2.Зажать S на 5сек, пока не заморгает D1, отпустить S
3.Зажать S на 5сек, пока не потухнет D1 (Umin в EEPROM)
4.Выставить на измерительном входе Umax
5.Зажать S на 5сек, пока не заморгает D1, отпустить S
6.Кратко нажать S заморгает D3
7.Зажать S на 5сек, пока не потухнет D3 (Umax в EEPROM)

Если можно, то сделайте такой алгоритм, т.к. если Umin нужно уменьшить D1 мигает до входа в режим программирования и непонятно вошли в режим или нет:
1.Зажать S на 5сек, пока не заморгает D1, отпустить S
2.Выставить на измерительном входе Umin
3.Зажать S на 5сек, пока не потухнет D1 (Umin в EEPROM)
4.Зажать S на 5сек, пока не заморгает D1, отпустить S
5.Кратко нажать S заморгает D3
6.Выставить на измерительном входе Umax
7.Зажать S на 5сек, пока не потухнет D3 (Umax в EEPROM)

P.S. По ходу Umin записывается когда моргает D3, а Umax - D1, - нужно наоборот.
Последнее редактирование: 30 янв 2021 11:35 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 13:00 #8

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Светодиоды поправил.
Поясните пожалуйста процесс программирования Umin и Umax, если я правильно понял порядок такой:
Нет, не такой. Делал согласно Вашему описанию.
Вход в настройки - длительное удержание кнопки (> 5сек). Мигает LED_3.
Выставить на входе в устройство минимальное напряжение.
Кратковременно нажать кнопку. Мигает LED_1.
Выставить на входе в устройство максимальное напряжение.
Нажать и удерживать кнопку (> 5сек). Устройство выйдет из режима программирования, настройки запишутся в память.

Но мое мнение - такая индикация не очень удобная. Было бы нагляднее применить разноцветные диоды. Например:
Максимум и выше- красный мигает;
От максимума до предмаксимума - красный светится;
От предмаксимума до предминимума - зеленый;
От предминимума до минимума - синий;
Минимум и ниже - мигает синий.
Аналогично и в режиме настройки. Здесь, чтобы отличить режим настройки от рабочего, можно вместе с мигающим красным (синим) включать и зеленый.
Последнее редактирование: 30 янв 2021 13:02 от Soir.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 13:22 #9

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Soir пишет:
Вход в настройки - длительное удержание кнопки (> 5сек). Мигает LED_3.
В том то и дело, что при первом входе мигает LED_1 - и соответственно сюда пишем Umin.
В первой прошивке так и было, но данные неправильно писались Umin - LED3, а Umax - LED_1, а нужно наоборот Umin - LED1, а Umax - LED_3
Светодиоды на самом деле будут разноцветные.
По поводу индикации режима программирования Вы правы: лучше, если бы LED_2 горел во время программирования.
LED_1 - Umin
LED_2 - Unom
LED_3 - Umax
Последнее редактирование: 30 янв 2021 13:37 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 14:28 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Так что в итоге нужно изменить?
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 14:44 #11

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Режим программирования: Umin - LED1, а Umax - LED_3 и добавить LED_2 - во время программирования горит.
Последнее редактирование: 30 янв 2021 14:46 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 15:15 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Обновил прошивку.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 30 янв 2021 15:41 #13

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Спасибо Вам, Soir, теперь в Proteus все работает как надо. Соберу в железе отпишусь.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 01 фев 2021 23:56 #14

  • saha742
  • saha742 аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 92
  • Спасибо получено: 1
А можно сделать что бы светодиод IED 1, когда напряжения опускается ниже запрограммированного порога не мигал постоянно а мигнул раз десять и потух. Какое будет потребление схемы в дежурном режиме не будет ли она разрежать аккумулятор.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 09:42 #15

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
saha742 пишет:
мигнул раз десять и потух.
Тогда уже лучше бы сделать одно короткое мигание секунд через 5, но постоянно. Ведь можно же пропустить эти десять миганий и далее непонятно что с аккумулятором.
Последнее редактирование: 02 фев 2021 09:43 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 10:46 #16

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Soir пишет:
Тогда уже лучше бы сделать одно короткое мигание секунд через 5, но постоянно.
Абсолютно с Вами согласен.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 12:49 #17

  • men 62
  • men 62 аватар
  • Не в сети
  • Пользователь
  • Сообщений: 13
  • Спасибо получено: 6
  • sxem.org Sponsor 2020
Количество акумуляторов задает диапазон настройки порогов
Для 1S-3v...4.1v и тд
А если при задать пороги 1s-10v..12v как поведет себя индикация
Или я не правельно понимаю?
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 13:22 #18

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Индикация по настройкам. Разделение по числу аккумуляторов условное - можно и для 1S настроить как для 4S. А для 4S, как для 1S.
То есть, по факту четыре профиля. Что внутри каждого профиля - задаете сами. Индикация будет работать по этим "внутренностям".
Единственное за чем нужно следить - чтобы соблюлась логика настройки и минимальное не было больше максимального.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov, men 62

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 15:41 #19

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Soir пишет:
Cделать одно короткое мигание секунд через 5, но постоянно.
Сделайте пожалуйста, так действительно будет меньше потребление.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 02 фев 2021 15:57 #20

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
Сделал. Каждые 5 сек включается на 0,5 сек.
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 04 фев 2021 09:26 #21

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Собрал индикатор в железе, работает прекрасно. Появились вопросы:
1. В дежурном режиме потребление 6,8 миллиампер, а в режиме индикации разряда 9,8 мА - это не много? Может посоветуете что-то.
2. В режиме 1S, пропадает индикация из-за низкого напряжения на входе (менее 3,2В) - можно это как-то решить?
Схема по которой собран индикатор во вложении
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 04 фев 2021 09:36 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 04 фев 2021 10:46 #22

  • men 62
  • men 62 аватар
  • Не в сети
  • Пользователь
  • Сообщений: 13
  • Спасибо получено: 6
  • sxem.org Sponsor 2020
6,8 миллиампер -это ток холостого потребления 7805
Надо пробовать LP2950-05
Администратор запретил публиковать записи гостям.
Спасибо сказали: demirov

Индикатор заряда 1S, 2S, 3S на ATtiny13 04 фев 2021 11:50 #23

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
demirov пишет:
1. В дежурном режиме потребление 6,8 миллиампер, а в режиме индикации разряда 9,8 мА - это не много?
Сам микроконтроллер, помимо микросхемы стабилизатора, также потребляет несколько миллиампер. Путь уменьшения есть, но здесь это реализовать затруднительно. Уже недостаточно ресурсов МК. Поэтому, если это актуально, тогда или переходить на другой МК, или убрать из алгоритма универсальность (выбор числа аккумуляторов, упростить процедуру настройки порогов...). Тогда освободившейся памяти должно быть достаточно для уменьшения потребления МК до нескольких десятков микроампер. Кроме случаев индикации, конечно.

demirov пишет:
2. В режиме 1S, пропадает индикация из-за низкого напряжения на входе (менее 3,2В) - можно это как-то решить?
Такое напряжение после стабилизатора +5V или до него? ATtiny13 сохраняют работоспособность до 2,7V. На практике, даже чуть ниже. Но если это такое напряжение до стабилизатора, то здесь также нужно задуматься о применении другого стабилизатора. Или (что было бы гораздо правильнее) отказаться от такой универсальности. Для одного аккумулятора можно вообще обойтись без стабилизатора.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 04 фев 2021 12:08 #24

  • demirov
  • demirov аватар
  • Не в сети
  • I go sometimes
  • Сообщений: 68
Про стабилизатор я понял, буду заказывать такой RT9058-50GV.
По поводу универсальности и хочется и колется.
Пока только одно предложение, если оно поможет освободить память МК:
Если процедуру настройки порогов убрать, но сделать возможным эти пороги заносить в EEPROM.
Последнее редактирование: 04 фев 2021 12:37 от demirov.
Администратор запретил публиковать записи гостям.

Индикатор заряда 1S, 2S, 3S на ATtiny13 04 фев 2021 12:20 #25

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 12003
  • Спасибо получено: 4366
  • Respect sxem.org Sponsor 2019 Author
demirov пишет:
Если процедуру настройки порогов убрать, но сделать возможным эти пороги заносить в EEPROM.
Это уместно, если этот индикатор сегодня будет на одном числе аккумуляторов, завтра на другом. Да и то, проще изготовить два или три таких индикатора, каждый на свое число.
Пороги Вам будет сложно настраивать. Или методом многократных проб, перезаписывая каждый раз EEPROM, даже если в процессе эксплуатации захочется чуть подправить. Или подбирать точный входной делитель, тогда уже пороги можно будет вычислить. Но изменить, опять же, через перезапись.

Я бы посоветовал сделать наоборот. Выбор числа аккумуляторов сделать через EEPROM. А пороги уже оперативно, кнопкой. Только перенести эту процедуру на момент подачи питания (как сейчас выбор аккумулятора).

P.S.
По большому счету, тогда выбор аккумуляторов можно вообще исключить, как класс. МК все равно - как настроили пороги, так и будет работать. Но здесь конечно, Вы должны сами решать, исходя из применения данного индикатора.
Последнее редактирование: 04 фев 2021 12:23 от Soir. Причина: Дополнение.
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
Модераторы: wolf2000, Vakula, Айнцвайдрайченко, Soir