Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.06.2017, 01:34
|
|
Прохожий
Регистрация: 20.05.2017
Сообщений: 4
Сказал спасибо: 16
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Индикация PIC16F628A. Помогите понять работу схемы
Опять я и опять с тем же устройством.
Может кто объяснить, как здесь работает индикация? Конкретно не могу понять следующее:
1) Если RB1-7 настроены как выводы, то куда сливается ток с катодов индикаторов? Смотрел в прошивку. Для того чтобы зажечь какой-либо сегмент индикатора, на соответствующий вывод порта B выставляется лог. ноль. Значит ли это, что ток с катодов будет спокойно на них уходить?
2) Что происходит с транзисторами, когда на соответствующие ножки порта А (тоже настроенные как выводы) выставляются логические единицы? Вернее как они открываются, и как там протекают токи, если для открытия pnp транзистора к базе нужно прикладывать минус?
3) Нельзя ли обойтись без транзисторов, напрямую соединив аноды с ножками порта А.
Прошивка на Си:
https://kazus.ru/nuke/objects/circui...rurovnjitk.rar
Схема сама отсюда:
https://kazus.ru/shemes/showpage/0/1505/1.html
|
|
|
|
01.06.2017, 01:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 18.02.2012
Адрес: Саратов
Сообщений: 1,647
Сказал спасибо: 168
Сказали Спасибо 428 раз(а) в 347 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
1) если общий анод всё правильно.
2)для зажигания индикатора должен быть ноль.
3)нельзя.ток этих выводов не настолько большой.
через вывод анода течёт суммарный ток всех включённых катодов.
__________________
Виктор
Последний раз редактировалось locik_1; 01.06.2017 в 02:10.
|
|
|
Сказали "Спасибо" locik_1
|
|
|
01.06.2017, 01:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 18.02.2012
Адрес: Саратов
Сообщений: 1,647
Сказал спасибо: 168
Сказали Спасибо 428 раз(а) в 347 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
вообще то динамическая индикация подразумевает в 4 раза
больший ток через выводы,поэтому как будет работать неясно.
__________________
Виктор
|
|
|
Сказали "Спасибо" locik_1
|
|
|
01.06.2017, 02:37
|
|
Прохожий
Регистрация: 20.05.2017
Сообщений: 4
Сказал спасибо: 16
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
Сообщение от locik_1
|
1) если общий анод всё правильно.
2)для зажигания индикатора должен быть ноль.
3)нельзя.ток этих выводов не настолько большой.
через вывод анода течёт суммарный ток всех включённых катодов.
|
1) То есть выводы порта В, на которых выставлены единицы, для катодов индикаторов будут общим проводом?
2) Вот тут уже я затупил в начале) Теперь по первым ножкам порта А тот же вопрос, что и по порту B.
Я правильно понял? Если, на пример, на ноге RA0 - лог. единица, то база VT4 закрыта, а если логический ноль, то ток, поступающий к базе через R25, потечет через R22 на RA0.
Если где-то соврал, поправьте.
|
|
|
|
01.06.2017, 04:17
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
Рассуждения верные - стоит промоделировать поведение в том же proteus для лучшего понимания.
В готовом устройстве таки лучше использовать готовые индикаторы с последовательным интерфейсом или самому их разводить. Вместо 11 - всего 2 порта (данные и тактовая).
Работают порты только при необходимости смены значения на индикаторах.
Процессор может заняться полезной работой, а не выводить по кругу значения.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
01.06.2017, 06:21
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
Сообщение от Old_Seemann
|
3) Нельзя ли обойтись без транзисторов, напрямую соединив аноды с ножками порта А.
|
На практике бывало, что можно. Но при некоторых условиях.
Во-первых, индикатор супер яркой серии, например Kingbright CA56-21SRWA. Во-вторых, ток каждого сегмента не больше 2 - 2,5 мА. При этом для супер яркой серии в динамическом режиме этого вполне достаточно. Резисторы сегментов были где-то на 510 или 680 Ом, кажись так было...
Однако, если нужна хорошая яркость в освещенном помещении, то без внешних транзисторов не обойтись.
Сообщение от mike-y-k
|
В готовом устройстве таки лучше использовать готовые индикаторы с последовательным интерфейсом или самому их разводить.
|
Далеко не обязательно. Микросхема-драйвер индикатора стоит немало и занимает лишний корпус. К тому же от нее все равно нужно вести дорожки к индикатору. А уж рассматривать интерфейс I2C - отдельная песня.
В то время, как в подобных поделках микроконтроллеру просто нечего больше делать, как гонять по кругу дин.индикацию, к тому же, (при написании на ассемблере) она отнимает не много ресурсов (сам делал, знаю).
Сообщение от Old_Seemann
|
Если RB1-7 настроены как выводы, то куда сливается ток с катодов индикаторов? ... выставляется лог. ноль. Значит ли это, что ток с катодов будет спокойно на них уходить?
|
Внутри микроконтроллера на выводе (в режиме выхода) стоят два транзистора. Один соединяет вывод с +питания (лог.1), другой - с "землей"(лог.0). Поэтому из вывода либо вытекает ток (лог.1), либо втекает в него (лог.0).
Сообщение от Old_Seemann
|
То есть выводы порта В, на которых выставлены единицы, для катодов индикаторов будут общим проводом?
|
Нет. Если на выводах порта В будут лог.1, сегмент индикатора светиться не будет.
Динамическая индикация многократно была описана в инете.
Разряды индикатора активируются поочередно, через порт А и транзисторы. Лог.0 на RA0 открывает транзистор VT4 и на анод нижнего по схеме разряда подается напряжение питания. При этом все остальные транзисторы должны быть закрыты. Далее, на RB0-RB7 логическими нулями зажигаются нужные сегменты этого разряда. Например, для высвечивания цифры "1" нужно зажечь только сегменты B и C, то есть, только на RB1 и RB3 должен быть лог.0 (то есть, в них утечет ток), остальные должны быть в лог.1 (то есть, в них ток не потечет, и из них тоже - потому что диод в одну сторону работает).
Далее, обратно отключаем сегменты переводом всего PORTB в лог.1. Затем переключаем разряд, открывая другой транзистор VT3, подав на RA1 лог.0, а VT4 закрываем, подав на RA0 лог.1. И снова комбинацией лог.нулей на PORTB зажигаем другую цифру, например, "2".
Отключать сегмент переводом всего PORTB в лог.1 жизненно необходимо перед сменой разряда на PORTA, потому что если этого не делать, то соседний разряд будет частично засвечен предыдущей цифрой.
Последний раз редактировалось NewWriter; 01.06.2017 в 07:39.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
01.06.2017, 08:47
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
Сообщение от Old_Seemann
|
Нельзя ли обойтись без транзисторов, напрямую соединив аноды
|
можно аноды через резисторы, сегментные резисторы убрать и применить посегментную индикацию
http://we.easyelectronics.ru/Shemate...ikaciya_2.html
драйверы индикаторов и готовые платы на этих драйверах у китайцев дешево
https://ru.aliexpress.com/item/10PCS...541727127.html
|
|
|
Сказали "Спасибо" oleg110592
|
|
|
01.06.2017, 09:41
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
От перемены мест слагаемых сумма не изменяется
Возросшая вдвое скважность индикации заставит вдвое увеличить ток сегмента, что при суммировании разрядов снова приведет к тому же току вывода, только на сегменте.
При поразрядной индикации:
ток сегмента 2,5 мА, умн.на 8 сегментов (с точкой) = 20 мА. Скважность на 4 разряда = 1/4. Усредненный ток сегмента = 2,5/4 = 0,625 мА.
При посегментной индикации:
ток сегмента = 5 мА, умн.на 4 разряда = 20 мА. Скважность на 8 сегментов = 1/8. Усредненный ток сегмента = 5/8 = 0,625 мА.
В сумме получается одинаковая средняя яркость сегмента, за счет увеличения тока через сегмент при увеличении скважности. На общих выводаъ ток не меняется в обеих случаях. В расчетах берется крайнее (максимальное) условие включения всех сегментов и всех разрядов (цифры 8.8.8.8. ).
Посегментную индикацию можно применять с более 8 разрядами, для уменьшения скважности. Но максимальные общие токи остаются такими же. Чудес не бывает
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
01.06.2017, 10:36
|
|
Прописка
Регистрация: 09.09.2008
Адрес: г. Вологда
Сообщений: 291
Сказал спасибо: 184
Сказали Спасибо 141 раз(а) в 87 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
В схеме ошибка! на цепь, соединённую с эмиттерами КТ3107 надо подать +5В!
|
|
|
|
01.06.2017, 10:54
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Индикация PIC16F628A. Помогите понять работу схемы
Сообщение от NewWriter
|
Посегментную индикацию можно применять с более 8 разрядами
|
применяю посегментную с 3 разрядами, давно, с тех пор как индикаторы типа АЛС324 ушли в небытие (или на переплавку). При посегментной общий ток разрядов одинаков = току одного сегмента, т.к. в любой момент времени включен только один сегмент (при всех восьмерках). А вот скважность = 1/(8*3), чего для обычных китайских индикаторов вполне достаточно (ночью комнату освещают).
От перемены мест сумма меняется - 3 резистора вместо 8+3 резистора и +3 транзистора - массовочно-поделочные заказчики очень довольны экономией.
|
|
|
Сказали "Спасибо" oleg110592
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:59.
|
|