Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить

Помогите запитать матрицу светодиодов

Вт окт 10, 2006 15:48:21

Добрый день.

Написал программу на pic 16f84a по этому вопросов нет.
Цель программы - управлять матрицей светодиодов 16*16
Вопрос следующий - как запитать их )
Я не силен в электротехнике.. Больше по программированию.
Вопрос чисто практический а не теоретический..
Если нужно - могу дать все параметры контроллера, светодиодов..
Помогите чем можете ))
nack-antoshka@mail.ru

Вт окт 10, 2006 19:48:35

Матрица светодиодов самодельная или заводская? И как её будете включать? :shock:

Ср окт 11, 2006 07:31:22

Вообще-то матрицами напрямую обычно не управляют, для этого специальные схемы-драйверы существуют. По-моему, у меня что-то на эту тему было. Сообщи подробности, может чего и присоветуем.

Ср окт 11, 2006 11:09:03

Матрица будет самодельная, т.к. заводская - насколько я понял там либо общий катод либо общий анод. Т.е. гореть в один момент я так понял может 1 светодиод. Чтоб рисунок отображался - прийдется делать "бегающую точку" - уменьшится яркость в n раз, где n - кол-во светодиодов.
Я же хочу сделать комутационную матрицу. С построчной разверткой. Т.е. одновременно загорается несколько диодов в одной строке. И скорость и яркость лучше будет. Да и ограничены они эти заводские по размерам и т.д.
Через реле (или транзисторы) собираюсь комутировать питание на светодиоды. Т.е. матрица m*n, где m-колличество строк, n - cтолбцов. кол-во управляющих реле (транзисторов) получается m+n..
Насчет схем-драйверов - думаю это излишне. Они слишком многофункциональны, а мне как начинающему - думаю будет трудно сразу бросться в их омут с головой ) Лучше по деревенски в лоб сделать. Мне так кажется..
Если что то нужно - спрашивайте.. Все что смогу дать - все ваше )
На самом деле мне наверное примерная схема нужна их подключения..

Ср окт 11, 2006 11:35:06

ОА или ОК - позволяет уменьшить число проводов и переключателей. Для матриц (для независимого включения каждого СД) используется схема строка-столбец, а диоды включаются по углам с горизонтального на вертикальный. Соответственно и адресуются - строка, столбец, зажечь/погасить.

Ср окт 11, 2006 20:00:14

Вы хорошо продумали схему коммутации? Для матрицы 16х16 нужно 16+16 выводов с контроллера. Либо ставить буферную память для уменьшения числа задействованных выводов.Т.е. на вход в последовательном коде даём 16 импульсов, а их МС преобразует в параллельный код. Так и получим коммутацию матрицы-каждый С/Д отдельно.

Чт окт 12, 2006 15:54:59

Сэр Мурр писал(а):Вы хорошо продумали схему коммутации? Для матрицы 16х16 нужно 16+16 выводов с контроллера. Либо ставить буферную память для уменьшения числа задействованных выводов.Т.е. на вход в последовательном коде даём 16 импульсов, а их МС преобразует в параллельный код. Так и получим коммутацию матрицы-каждый С/Д отдельно.


На самом деле хватит и просто 16ти выходов )) Я ж говорю - черезстрочная развертка.
Эх.. пока не нашел что искал :) Логика программы уже готова. Осталось только подать питание на СДды.. Как я вижу суть проблемы: на выходе контроллера на какой нибудь ноге появляется сигнал. Токовый. Насколько я понимаю этого тока недостаточно чтобы зажечь СД. И вроде как СДды работают на разности потенциалов.. Т.е. этот импульс с ноги - активирует реле, которое в свою очередь коммутирует необходимое напряжение и ток на линию СДов. Вот мне как раз и нужна логика подключения этой схемы )

Чт окт 12, 2006 19:12:48

Выходной ток ноги микроконтроллера- 20 мА (уточните по даташиту). Этого тока достаточно для свечения С/Д- не забудьте про токоограничивающий резистор. Что-то я не пойму, о какой черезстрочной развёртке речь. :(

Пт окт 13, 2006 15:50:11

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

Пт окт 13, 2006 20:38:34

Aheir писал(а):...и не стоит упоминать реле при динамической индикации...
транзисторный ключ нужен, только и всего.

А вот кстати почему? Потому что реле медленное? А мне очень скорость большая и не нужна.. Чем реле не подойдет? Транзисторы дороже..
А развертка: по вертикали - активироваться линии будут в зависимости от выходов ног контроллера, а по горизонтали - через определенное колличество тактов задающего генератора. В это же время будет смена "строки" в программе.
Пожалуйста, схему. В упор не могу понять, как по 16 выводам можно организовать коммутацию матрицы без доп. запоминающих элементов.
Сэр Мурр

Помогите запитать матрицу светодиодов

Пт окт 13, 2006 20:47:07

Схемку скинь, если не сложно. Глядишь разберёмся.javascript:emoticon('8)')

Re: Помогите запитать матрицу светодиодов

Пт окт 13, 2006 21:04:53

Vovan555 писал(а):Схемку скинь, если не сложно. Глядишь разберёмся.javascript:emoticon('8)')


)))))))))) :)))
была б схема - я б не писал всего этого ))
я ж говорю - я программист, а не электронщик )

Пт окт 13, 2006 21:11:34

Тогда идею со схемой выводов контроллера. Только идею- подробнее.
Я так занудничаю, потому как не верю, что можно организовать эту коммутацию без элементов памяти. Хотя реле, теоретически, могут быть элементами памяти.

Пт окт 13, 2006 22:09:26

Все элементарно, Ватсон :)
Организуется матрица. Вертикальные линии и горизонатальные. Питают ноги светодиодов. Вертикальные линии активируются с помощью реле/транзисторов в зависимости от заданных параметров и текущей строки (выбор которой зависит от времени). Горизонтальные линии активируются в зависимости от времени. Т.е. допустим наступили первые 4 такта генератора. Во время них активируются заданные вертикальные линии (с-диодов) для первой строки. Первая горизонтальная строка тоже активизируется в эти 4 такта. Настают следующие такты. Активизируется 2-я строка, и в микропроцессоре в это время "загораются" столбцы, соответствующие второй строке ))
Даже не знаю как еще подробней расписать :)
Единственное что мне надо - это самое простое что может быть ) для Вас, с большой буквы, электронщиков ) Просто схема подключения диодов через реле/транзиторы. Питание 12 Вольт.

Сб окт 14, 2006 07:18:11

Нам для индикации нужно 16=16=32 вывода портов. Есть у Вашего контроллера такое количества? (количество линий ввода-вывода у ПИКа84-13!) Если нет, то придётся организовать дополнительную схему для динамической индикации. Для вывода информации о строке нужно минимум три вывода: для передачи информации, для передачи синхроимпульса, и для разрешения индикации. То же самое и для коммутации столбца. Всего , таким образом, нужно всего 6 выводов. Индикация будет казаться непрерывной при частоте обновления 25 герц, умножаем это на 32- это минимальная частота на выводах.
Короче, если наши корифеи микроконтроллеров не откликнутся, дам свою интерпретацию темы с более подробным описанием. Но писать придётся много, и добавлять рисунки для объяснения.

Сб окт 14, 2006 15:48:00

И все-таки я по-прежнему считаю, что нам необходимо не 32, а 16 выходов контроллера.
Насколько я понимаю тактовая частота контроллера зависит от поступающих импульсов от резонатора. Можно ведь эти импульсы использовать в качестве инициатора переключения "строки" на следующую. допустим прошло 100 тактов (цифру с потолка взял) контроллер в это время начинает считать что теперь активна вторая строка, и по вертикали активирует то что соответствует второй строке. а вторая строка активируется при 401 импульсе резонатора (если учесть что на 1 такт приходится 4 импульса). Ведь наверняка же это можно организовать не используя 16 ног контроллера. а возможно (желательно) чтоб он вообще не был задействован в переключении строки.

Сб окт 14, 2006 16:17:04

Ну или например как вариант, так уж и быть.. , можно 1 ногу контроллера задействовать как импульс для переключения строки. т.е. прошло 98 тактов. на 99й и 100й - подача импульса на "синхроногу". от нее сигнал идет на некий 16ти ноговый "переключатель", принцип которого: при входящем импульсе активируется следующая нога.
вы уж извините за мои выражения :) не знаю я много элементов из электроники

Помогите запитать матрицу светодиодов

Сб окт 14, 2006 21:05:03

Могу предложить такую матрицу и схему управления
Вложения
Матрица.GIF
(17.32 KiB) Скачиваний: 962
Схема.GIF
(20 KiB) Скачиваний: 1187

Вс окт 15, 2006 11:10:59

Antoshka писал(а):Ну или например как вариант, так уж и быть.. , можно 1 ногу контроллера задействовать как импульс для переключения строки. т.е. прошло 98 тактов. на 99й и 100й - подача импульса на "синхроногу". от нее сигнал идет на некий 16ти ноговый "переключатель", принцип которого: при входящем импульсе активируется следующая нога.
вы уж извините за мои выражения :) не знаю я много элементов из электроники

Уже немного лучше.Я и предлагаю использовать внешнюю микросхему для этих целей. Наши заядлые микроконтроллерщики молчат, как молока в рот набрали. А ВОВАН555 уже немного приближается к требуемому результату, токмо у него матрица 8х8. У контроллера ПИК84 всего 13 ногна ввод-вывод информации, потому Ваши предыдущие рассуждения не подойдут.
К сожалению, вчера повредил лапу, поэтому трудно стучать по клавиатуре. Но всё-таки позже дам описание предлагаемой индикации. Нужно будет минимум 4 доп. микросхемы. Паять умеете? осциллограф найдёте для проверки?

Вс окт 15, 2006 13:01:51

Купил тут на днях микроконтроллеры. Хотел купить 16f84а. А мне говорят - нету таких )) Старые. Возьми лучше 16f628а это типа его аналог. Ну я взял. 10 штук. Предварительно почитав даташит. Действительно - практически тоже самое, только ног больше ) 16ть. И стоит в 2 раза дешевле ;).
В общем вот так.
Теперь я в поисках элемента, который я придумал в своем прошлом посте. Т.е. который циклически переключает ноги при поступлении импульса на вход. Конечно можно исплользовать для этого еще один пик. Но расходовать такой мощный инструмент для банального переключения ног как то стыдно.. ))
Паяльник есть, осцилограф найду ) Вовану спасибо )
Ответить