Страница 1 из 2
узнать количество светодиодов
Добавлено: Пт мар 14, 2014 15:35:18
kelod
есть atmega8, к ней подключены сдвиговые регистры 74НС595, к ним соответственно светодиоды, собственно вопрос, как узнать количество светодиодов и самих сдвиговых регистров?
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 15:36:23
ИС-пытатель
Поподробнее можно?
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:02:53
kelod
ИС-пытатель писал(а):Поподробнее можно?
а что не понятно то? ну хорошо
вот представьте к контроллеру подключена 74нс595, то бишь сдвиговый регистр, она заняла 3 ноги у контроллера, в то же время к регистру подключено 8 светодиодов и допустим еще одна 74рс595, к ней допустим подключили 5 светодиодов, в итоге мы задействовали 3 ножки контроллера , а управляем 13 светодиодами, всё бы хорошо, если у нас их 13 и останется, а если мы заполним оставшиеся ноги второй 74рс595, у нас получиться уже 16 светиков, я хочу сделать так чтобы не зависимо от того сколько светодиодов или регистров мы подключили кантролер сам узнавал подключённое количество и исходя из него делал уже дальнейшие вычисления, как пример использования некая шкала прибора, способная к расширению/уменьшению(повышению/понижению точности измерений)
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:10:11
ИС-пытатель
То есть Вы хотите, чтобы контроллер угадывал мысли разработчика?
Вам тогда явно не сюда.
Единственное, Вы можете померить общее потребление схемы при помощи АЦП контроллера. И сделать кое-какие выводы. Но точность не велика будет. Или же каким-то образом сообщать контроллеру о типе подключенной нагрузки (но это опять придется задействовать порты). А иначе никак он не угадает, что Вы имели в виду.
Или как вариант, делать перебор регистром в цикле и смотреть, изменилось потребление или нет. Если увеличилось - значит светодиод подключен к ноге. если нет - значит выход пустой. А там уже сплюсовать все пустые и не пустые.
А количество регистров вообще определить сложно. У них потребление маленькое очень.
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:37:16
kelod
было бы не плохо если бы он мысли угадывал
я не против использовать для этого ещё пару портов, пусть даже по 1 на регистр, но я не знаю как это реализовать, поэтому и пришёл сюда
измерение нагрузок это не выход слишком много там от температур зависит, погрешностей, кривости рук граждан китайской народной республики и настроение таукитянок, я хочу точно знать количество светодиодов, количество регисторов меня в принципе не очень волнует
зы: совсем забыл сказать про то что светодиоды подключаются снизу вверх и подряд, т.е. нужно по сути нужно узнать первый, последний светодиоды и количество между ними
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:40:31
kelod
можно например узнать сидит ли на ноге регистра светодиод или нет?, если сидит, значит он потребляет что то, значит переходим к следующему.
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:49:42
ИС-пытатель
Так я про что и говорю. ) Меряете общее потребление с помощью АЦП. Затем переключаете свой регистр на след ногу и опять меряете. если есть разница выше определенного порога - значит что-то висит. Если разница небольшая - значит шумы и погрешность АЦП. потом переключаете на следующую ногу и т.д.
А померять общий ток очень просто. Включаете в основную цепь резистор маленького номинала (несколько Ом), делаете от него отвод к ноге АЦП и потом программно меряете падение напряжения на нем (т.е. фактически зная номинал резистора и преобразовав полученное значение в АЦП по закону Ома Вы получаете значение тока). АЦП у AVR довольно-таки точный.
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 16:57:06
kelod
ацп может и точный, резисторы не точные и хорактеристики плывут со временем и даже важно не само число, а факт
обьясните пожалуйста что бы имеете ввиду "Затем переключаете свой регистр на след ногу"
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 17:28:04
АлександрЛ
А как вариант- выход последнего регистра "вернуть" в МК.. И пусть "при инициализации регистра" смотрит, после какого шага ему "ответ" пришел... так можно?
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 19:19:41
orinoko
Это, я так понимаю решает вопрос только "сколько регистров".
Я думаю, что самое оптимальное - это пробежаться бегущим активным уровнем (уровень, при котором горит светодиод) и измерять ток - если больше нуля - значит есть подключённый светик. Бежать, пока светики не закончатся
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 22:58:04
kelod
orinoko писал(а): пробежаться бегущим активным уровнем (уровень, при котором горит светодиод) и измерять ток - если больше нуля - значит есть подключённый светик.
да в этом есть логика, а как узнать что светики закончились?? может же например сгореть парочка
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 23:31:14
orinoko
несложно дать количество тактов, явно превышающее количество светиков - например 1000. Или совместить с предложением
как вариант- выход последнего регистра "вернуть" в МК
Re: узнать количество светодиодов
Добавлено: Пт мар 14, 2014 23:41:05
kelod
спасибо, а не могли бы вы, что бы не плодить новых тем показать как измерять ток?
Re: узнать количество светодиодов
Добавлено: Сб мар 15, 2014 22:00:23
orinoko
1. от +Uпит (5В) на Vref МК. МК настроить на внешний Vref.
2. от +Uпит (5В) через диод (1N4007) и параллельный ему резистор где то на 1к на светодиоды. Диод в прямом включении.
3. от цепи питания светодиодов после цепи (2) на вход АЦП МК
Без нагрузки напряжение на входе АЦП будет равно Vref, т.е. он будет выдавать 0х3FF (так как резистор)
При появлении нагрузки напряжение упадёт на 0,5-0,7 вольт (так как диод)
Просто лень рисовать.
Re: узнать количество светодиодов
Добавлено: Сб мар 15, 2014 23:53:15
kelod
нет уж вы пожалуйста нарисуйте, а то что то я ничего не понял

Re: узнать количество светодиодов
Добавлено: Вс мар 16, 2014 00:47:21
orinoko
А так понятней?
Re: узнать количество светодиодов
Добавлено: Вс мар 16, 2014 11:48:42
ИС-пытатель
orinoko писал(а):1. от +Uпит (5В) на Vref МК. МК настроить на внешний Vref.
2. от +Uпит (5В) через диод (1N4007) и параллельный ему резистор где то на 1к на светодиоды. Диод в прямом включении.
3. от цепи питания светодиодов после цепи (2) на вход АЦП МК
Без нагрузки напряжение на входе АЦП будет равно Vref, т.е. он будет выдавать 0х3FF (так как резистор)
При появлении нагрузки напряжение упадёт на 0,5-0,7 вольт (так как диод)
Просто лень рисовать.
А не получится ли у Вас так, что на диоде будет в любом случае падать 0,7 Вольта? Если Диод выкинуть, то как раз будет падение напряжения раза в два.
Re: узнать количество светодиодов
Добавлено: Вс мар 16, 2014 11:52:01
ИС-пытатель
Хотя вряд ли, наверное.. Ток потребления АЦП маленький... не хватит, чтобы открыть диод.. Но в любом случае, без диода будет лучше. Меньше элементов и падение напряжения больше.
Re: узнать количество светодиодов
Добавлено: Вс мар 16, 2014 14:24:43
kelod
ИС-пытатель писал(а):Но в любом случае, без диода будет лучше
покажите как без диода?
Re: узнать количество светодиодов
Добавлено: Вс мар 16, 2014 14:41:01
orinoko
Без диода лучше не будет. Объясняю, как для чайников. Не забываем, что входное сопротивление АЦП достаточно большое и Rвх >> R1.
Вариант 1. Все светодиоды выключены. Ток через светодиоды равен 0. Значит падение напряжения на резисторе будет около нуля, т.е. меньше, чем на диоде, а значит на входе АЦП напряжение близко к Uпит (5В).
Вариант 2. Хоть 1 светодиод включен. Тогда падение на R1 будет больше напряжения открытия диода, диод откроется и ограничит падение в цепи питания светодиодов до (Uпит - 0,6В).
Увеличение количества включённых диодов практически не будет влиять на падение напряжения на диоде и, таким образом, яркость отдельно взятого диода практически не изменится независимо от их количества.
А теперь домашнее задание: Как себя поведёт схема если диод убрать?