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

ТЕМА: Можно ли в Протеусе как то сделать динамическую индикацию?

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #1

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Я тут мучу себе таймер на секунды, вроде всё работает, циферки ходят, пищалка пищит, а релюшка клацает, но вот динамическая индикация не работает. Я поставил время зажигания одного разряда 25мС, чета там мелькает, прочитать цифры можно, но бардак. Хотелось бы в симуляторе сделать всё рабочим.
Что, никак, да?
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #2

У меня когда-то давно работала отлично, а потом я переписал прогу с четким интервалом по таймеру изменение разряда, и всё, приплыли. Что бы посмотреть на циферки, дрочу вторую кнопку, которая между плэй и паузой и смотрю по очереди.
А во, даже нашел древнюю прогу, всё еще работает


Последнее редактирование: 4 года 8 мес. назад от Артём.
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #3

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Не, так я не играю! Я хочу просто что бы работало. Что бы яркость менялась.
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #4

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Я увеличил на три, кажется, порядка время свечения, всё видно, ну естественно без яркости. Нужно регулировку яркости делать вообще или нафиг не надо, всё равно тускло будет?
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #5

GREY писал(а):
Я увеличил на три, кажется, порядка время свечения, всё видно, ну естественно без яркости. Нужно регулировку яркости делать вообще или нафиг не надо, всё равно тускло будет?
Не нужно, максимум пихай сколько есть.
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #6

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
ОК, так и поступлю.
Я таймер для светилки УФ написал вчера за вечер. Трёхзначный семисегментник. Ходил гулять с фактором и дочкой по парку, пока гулял устаканил в голове, пришел, сел и сразу сделал. В Шпротеусе отлично работает, нужно попробовать железо сделать. Единственно как то не сходится время в Протеусе с калькулятором. Или я чего не знаю про прескалер таймера. Ну, в железе измерю и будет от чего оттолкнуться. Но коррекцию времени я вставил, на всякий случай.
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #7

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Слушай, а можно в Протеусе пищалку приделать, да что бы она пищала?
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #8

Имей ввиду, что протеус нормально так тормозит. Если хочешь сравнивать времена, то выбери у него в приборах таймер и запускай его, что бы видеть время. Пищалку никогда не пробовал, да и в голову такое не приходило. Зачем?
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #9

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Я думал, что тормозит, если ресурсов не хватает. Он у меня грузит комп ну на 20% максимум. Пишет, что рил тайм симьюлейшн. Ладно, нафиг, если даже гипотетически тормозит. Нужно на железе попробовать и сделать правильно, да и всё. Просто разница значимтельна: должно быть 7к8 переполнений таймера, а есть 5к5, что бы во время попадать.
Таймер попробую, спасибо, я на телефоне таймер запускал.
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 8 мес. назад #10

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Ну, в общем сам баран, не правильно обрабатывал перывание, по этому не сходилось. Сейчас сделал всё правильно и в Протеусе на таймер смотрю: разница за 10 минут в 0,001 сек.
Спасибо, что подсказал. А то я короткие интервалы вообще осциллоскопом смотрел, курсорами. Так сильно удобнее.
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #11

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

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #12

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Сам дурак: в протеусе был общий анод и без транзисторов на разряды, ну и один сегмент я не туда спрограммировал, ну и первый и третий разряд были перепутаны. Это потому, что делал в спешке и меня несколько раз отрывали. Спокойно посмотрел как-что вечером, всё понял и ресска переделал. Всё красиво работает.


Что умеет делать: отсчитывает время от 5 до 995 секунд (16 минут 35 секунд), время крутится по 5 секунд. Можно поставить на паузу и отменить либо продолжить. Умеет запоминать 9 пресетов. Пищит по окончании и подтверждая долгое нажатие. Можно подстраивать точность, правда я не знаю зачем я это сделал, но уже сделал. Можно программно отключить пищалку.

Нужно увеличить с 330 Ом до, хотя бы 510 сопротивление резисторов в разрядах: стабилизатор 7805 в ТО-92 греется значительно, изначально вообще было 200 Ом, грелось чудовищно. Что бы как то улучшить отвод тепла запаял кляксой термобарьер на земляной ноге стабилизатора, вроде стало чуть лучше. Запас по яркости есть, совсем не проблема. Ожидал, что будет хуже. А вот с нагревом удивлён несколько. Рассчитывал на меньший нагрев, но, сам балбес, нужно было взять в руки калькулятор и посмотреть мощность на стабилизаторе. Теперь, когда спаял измерю ток, при всех восьмёрках и решу какие резики впаять. Не проблема.

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

Буззер из Китая пищит странным голосом, как будто не хватает тока иногда, хотя подключен к 12В. Нужно потыркать тестером и посмотреть, возможно не хватает тока и нужно уменьшить сопротивление последовательное с буззером или в базе 5551 транзистора.

Есть вопрос, постараюсь сформулировать понятно: секунды отмеряются переполнением 8 разрядного таймера, таймер тактируется от внутреннего генератора 8МГц/4, того нужно 7812,5 переполнений таймера, я поставил 7813 и максимальная ошибка получается 995/2=497,5 переполнений или 0,064 секунды. Ясен пень, что на такую ошибку можно и нужно забить, но внутренний перфекционист требует уничтожения этой ошибки, нет, я конечно понимаю, что тактирование от внутреннего некварцованого генератора даёт бОльшую ошибку, но всё же. Какие есть инструменты: можно изменить тактовую частоту доступны 31,25кГц, 125 кГц, 250 кГц, 500 кГц, 1МГЦ, 2МГц, 4МГц, 8МГц. Доступен прескалер для таймера: 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128, 1:256. В совсем низкие частоты тактирования не хочется, наверное будет тормознуто. А начиная с мегагерца я, с помощью калькулятора, не нашел магического числа с целым количеством переполнений, или ошибся.

Так вот есть ли магическая комбинация? Или уже оставить как есть и перестать вы2.71бываться уже?

На днях напечатаю культурную коробочку на принтере и сделаю культурную УФ светилку. Как закончу - похвастаюсь.
Сергей
Последнее редактирование: 4 года 7 мес. назад от GREY.
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #13

я думал написать про анод/катод, но потом подумал, что ты тоже подумал, а ты не подумал. По яркости, можно попробовать увеличить паузу между разрядами. По секундам - хз
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #14

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Ну просто анод-катод было бы понятно, но ещё сверху отключен был один сегмент и перепутаны разряды и получился полностью невменяемый бред.
Не, не буду уменьшать время свечения, лучше аппаратно решу вопрос. Я и так в пауза яркость снижаю, надо переписать в двух местах, нафиг, отсосать семь резисторов сильно быстрее.
Сергей
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #15

GREY писал(а):
Есть вопрос, постараюсь сформулировать понятно: секунды отмеряются переполнением 8 разрядного таймера, таймер тактируется от внутреннего генератора 8МГц/4, того нужно 7812,5 переполнений таймера, я поставил 7813 и максимальная ошибка получается 995/2=497,5 переполнений или 0,064 секунды. Ясен пень, что на такую ошибку можно и нужно забить, но внутренний перфекционист требует уничтожения этой ошибки, нет, я конечно понимаю, что тактирование от внутреннего некварцованого генератора даёт бОльшую ошибку, но всё же. Какие есть инструменты:
Магическое колдунство 80го уровня - ru.wikipedia.or...%8D%D0%BC%D0%B0. Ошибка будет составлять один квант таймера - пол микросекунды.
В твоем случае можно захардкодить сей алгоритм константами, срабатывать четный таймер на 7812, нечетный на 7813. Учись програмить таймер динамический.
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #16

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Ну, это решение "в лоб" и делается простым поиском остатка при делении секунд на два, если он есть, делать на одно переполнение больше или меньше. Можно и в регистр таймера писать меньше 255, но тоже не айс. Не красиво. А хочется красиво.
А совсем по правде нужно измерить реальное физическое время, причём дважды, скажем обдувая вентилятором и феном, может там совсем плюс-минус пропасть?
Сергей
Последнее редактирование: 4 года 7 мес. назад от GREY.
Администратор запретил публиковать записи гостям.

Можно ли в Протеусе как то сделать динамическую индикацию? 4 года 7 мес. назад #17

  • GREY
  • GREY аватар
  • на форуме
  • Новичок
Ну, в общем, так: тактовая от температуры зависит, конечно не будет таймер работать при температуре около 100°С, но всё же время плавает. Больше того, изначально у меня тактовая видимо выше, потому, что на 10 минутном отрезке на две секунды убегает вперед. Да, я там ввел коррекцию, можно добавить/убавить до 99 прерываний на секунду, т.е. один тик занимает по времени 1/7813=0,000128 сек. Значит я могу добавить/убавить максимум 0,0128 в секунду или 0,768 в минуту или 7,68 секунд на 10 минут. Думаю, что этого может оказаться мало, умножу коррекцию на 5 и будут тогда такие цифры: 0,00064 одна единица коррекции на секунду, 0,0384 на минуту. И максимум будет 0,0634 на секунду и 3,802 на минуту - этого думаю, будет достаточно при любых раскладах, при этом будет нормальная точность. Бороться с неточностью в одно переполнение - блажь, признаю.

Отстроил на 15 минутах настолько точно на сколько смог - примерно в пол секунды, да хрен нормально время отмерить можно, нужно в свою очередь какой то точный таймер/счетчик с запуском от внешнего сигнала. Да ну его всё нахрен, достаточно такой точности.
Сергей
Последнее редактирование: 4 года 7 мес. назад от GREY.
Администратор запретил публиковать записи гостям.