узнать количество светодиодов

Обсуждаем контроллеры компании Atmel.
Ответить
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

есть atmega8, к ней подключены сдвиговые регистры 74НС595, к ним соответственно светодиоды, собственно вопрос, как узнать количество светодиодов и самих сдвиговых регистров?
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

Поподробнее можно?
Реклама
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

ИС-пытатель писал(а):Поподробнее можно?
а что не понятно то? ну хорошо
вот представьте к контроллеру подключена 74нс595, то бишь сдвиговый регистр, она заняла 3 ноги у контроллера, в то же время к регистру подключено 8 светодиодов и допустим еще одна 74рс595, к ней допустим подключили 5 светодиодов, в итоге мы задействовали 3 ножки контроллера , а управляем 13 светодиодами, всё бы хорошо, если у нас их 13 и останется, а если мы заполним оставшиеся ноги второй 74рс595, у нас получиться уже 16 светиков, я хочу сделать так чтобы не зависимо от того сколько светодиодов или регистров мы подключили кантролер сам узнавал подключённое количество и исходя из него делал уже дальнейшие вычисления, как пример использования некая шкала прибора, способная к расширению/уменьшению(повышению/понижению точности измерений)
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

То есть Вы хотите, чтобы контроллер угадывал мысли разработчика?
Вам тогда явно не сюда.
Единственное, Вы можете померить общее потребление схемы при помощи АЦП контроллера. И сделать кое-какие выводы. Но точность не велика будет. Или же каким-то образом сообщать контроллеру о типе подключенной нагрузки (но это опять придется задействовать порты). А иначе никак он не угадает, что Вы имели в виду.

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

А количество регистров вообще определить сложно. У них потребление маленькое очень.
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

было бы не плохо если бы он мысли угадывал :))
я не против использовать для этого ещё пару портов, пусть даже по 1 на регистр, но я не знаю как это реализовать, поэтому и пришёл сюда
измерение нагрузок это не выход слишком много там от температур зависит, погрешностей, кривости рук граждан китайской народной республики и настроение таукитянок, я хочу точно знать количество светодиодов, количество регисторов меня в принципе не очень волнует
зы: совсем забыл сказать про то что светодиоды подключаются снизу вверх и подряд, т.е. нужно по сути нужно узнать первый, последний светодиоды и количество между ними
Реклама
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

можно например узнать сидит ли на ноге регистра светодиод или нет?, если сидит, значит он потребляет что то, значит переходим к следующему.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

Так я про что и говорю. ) Меряете общее потребление с помощью АЦП. Затем переключаете свой регистр на след ногу и опять меряете. если есть разница выше определенного порога - значит что-то висит. Если разница небольшая - значит шумы и погрешность АЦП. потом переключаете на следующую ногу и т.д.
А померять общий ток очень просто. Включаете в основную цепь резистор маленького номинала (несколько Ом), делаете от него отвод к ноге АЦП и потом программно меряете падение напряжения на нем (т.е. фактически зная номинал резистора и преобразовав полученное значение в АЦП по закону Ома Вы получаете значение тока). АЦП у AVR довольно-таки точный.
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

ацп может и точный, резисторы не точные и хорактеристики плывут со временем и даже важно не само число, а факт
обьясните пожалуйста что бы имеете ввиду "Затем переключаете свой регистр на след ногу"
Друг Кота
Аватара пользователя
Сообщения: 44349
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

А как вариант- выход последнего регистра "вернуть" в МК.. И пусть "при инициализации регистра" смотрит, после какого шага ему "ответ" пришел... так можно?
orinoko

Сообщение orinoko »

Это, я так понимаю решает вопрос только "сколько регистров".
Я думаю, что самое оптимальное - это пробежаться бегущим активным уровнем (уровень, при котором горит светодиод) и измерять ток - если больше нуля - значит есть подключённый светик. Бежать, пока светики не закончатся
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

orinoko писал(а): пробежаться бегущим активным уровнем (уровень, при котором горит светодиод) и измерять ток - если больше нуля - значит есть подключённый светик.
да в этом есть логика, а как узнать что светики закончились?? может же например сгореть парочка
orinoko

Сообщение orinoko »

несложно дать количество тактов, явно превышающее количество светиков - например 1000. Или совместить с предложением
как вариант- выход последнего регистра "вернуть" в МК
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

спасибо, а не могли бы вы, что бы не плодить новых тем показать как измерять ток?
orinoko

Сообщение orinoko »

1. от +Uпит (5В) на Vref МК. МК настроить на внешний Vref.
2. от +Uпит (5В) через диод (1N4007) и параллельный ему резистор где то на 1к на светодиоды. Диод в прямом включении.
3. от цепи питания светодиодов после цепи (2) на вход АЦП МК

Без нагрузки напряжение на входе АЦП будет равно Vref, т.е. он будет выдавать 0х3FF (так как резистор)
При появлении нагрузки напряжение упадёт на 0,5-0,7 вольт (так как диод)
Просто лень рисовать.
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

нет уж вы пожалуйста нарисуйте, а то что то я ничего не понял :(
orinoko

Сообщение orinoko »

А так понятней?
Вложения
svet.png
(4.29 КБ) 379 скачиваний
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

orinoko писал(а):1. от +Uпит (5В) на Vref МК. МК настроить на внешний Vref.
2. от +Uпит (5В) через диод (1N4007) и параллельный ему резистор где то на 1к на светодиоды. Диод в прямом включении.
3. от цепи питания светодиодов после цепи (2) на вход АЦП МК

Без нагрузки напряжение на входе АЦП будет равно Vref, т.е. он будет выдавать 0х3FF (так как резистор)
При появлении нагрузки напряжение упадёт на 0,5-0,7 вольт (так как диод)
Просто лень рисовать.
А не получится ли у Вас так, что на диоде будет в любом случае падать 0,7 Вольта? Если Диод выкинуть, то как раз будет падение напряжения раза в два.
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

Хотя вряд ли, наверное.. Ток потребления АЦП маленький... не хватит, чтобы открыть диод.. Но в любом случае, без диода будет лучше. Меньше элементов и падение напряжения больше.
Опытный кот
Сообщения: 884
Зарегистрирован: Пн июл 08, 2013 22:59:45

Сообщение kelod »

ИС-пытатель писал(а):Но в любом случае, без диода будет лучше
покажите как без диода?
orinoko

Сообщение orinoko »

Без диода лучше не будет. Объясняю, как для чайников. Не забываем, что входное сопротивление АЦП достаточно большое и Rвх >> R1.
Вариант 1. Все светодиоды выключены. Ток через светодиоды равен 0. Значит падение напряжения на резисторе будет около нуля, т.е. меньше, чем на диоде, а значит на входе АЦП напряжение близко к Uпит (5В).
Вариант 2. Хоть 1 светодиод включен. Тогда падение на R1 будет больше напряжения открытия диода, диод откроется и ограничит падение в цепи питания светодиодов до (Uпит - 0,6В).
Увеличение количества включённых диодов практически не будет влиять на падение напряжения на диоде и, таким образом, яркость отдельно взятого диода практически не изменится независимо от их количества.
А теперь домашнее задание: Как себя поведёт схема если диод убрать?
Ответить

Вернуться в «AVR»