Не баг а фича (Не баг а фича)

Не могу подключить семисегментный индикатор

38 сообщений в этой теме

Dr. West    1 495

В таких случаях бывает удобно "обыграть" токоограничивающие резисторы, использовав их в качестве перемычек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Dr. West сказал:

резисторы, использовав их в качестве перемычек.

Каким образом? У меня просто схема с общим анодом. Да и питания ардуино нехватает. Нужно 154мА а ардуинка тольк 40 выдает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
babay    44
Только что, Не баг а фича (Не баг а фича) сказал:

 питания ардуино нехватает. Нужно 154мА а ардуинка тольк 40 выдает

Не выдает , а терпит  .  В таких случаях ,ставят ключи на транзисторах .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    1 495
6 часов назад, Не баг а фича (Не баг а фича) сказал:

Каким образом?

Разводим на плате с индикатором также и выводные балластные резисторы, пропуская между их ножками печатные проводники. Сводя таким образом, количество проволочных перемычек к нулю или до минимума.

Изменено пользователем Dr. West

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
musa56    135
10 часов назад, Не баг а фича (Не баг а фича) сказал:

у меня получилось

А что за элементы у вас в цепи анодов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
musa56    135
4 часа назад, Не баг а фича (Не баг а фича) сказал:

смд резисторы на 511ом

Интересная у вас динамическая индикация получается. Обычно ставятся с противоположной стороны и восемь штук. И номинал сильно меньше. Из за динамической индикации индикаторы у вас включаются по очереди и две трети времени не горят из за этого видимая яркость у вас упадет и чтобы её поднять увеличивают ток и соответственно уменьшают сопротивление. Из за этого и нельзя напрямую подключать к выходам контроллера. Через аноды будет течь ток всех восьми сегментов и там уж точно нужен транзистор. Гуглите в нете полно готовых схем.

Изменено пользователем musa56

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 26.05.2017 в 20:29, musa56 сказал:

 Гуглите в нете полно готовых схем.

Да вот же, искал. А вот значение резисторов с обратной стороны не понимаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    1 495

При установке одного резистора в цепь общего анода (или катода) индикатора, получается так, что сегменты при включении будут работать параллельно. Но выходной ток дешифратора или порта МК обычно ограничен и делится между сегментами, зачастую неравномерно. В итоге, к примеру цифра 1 у вас будет светится ярче, чем цифра 8, что особенно заметно на многоразрядных индикаторах. Кромо того, возможна перегрузка порта контроллёра. Так иногда делают, но это неправильно.

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

 

общий анод.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
musa56    135
3 часа назад, Dr. West сказал:

 для примера правильная схема подключения.

Я бы честно говоря так делать не порекомендовал бы. Вывод контроллера мы перегружаем по току это нехорошо. Один вывод это куда ни шло но мы так нагружаем и целый порт микроконтроллера. Лучше всетаки начинать с более правильных схем и умощнить выводы транзисторами.

Но погуглите схему с параллельными регистрами как вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sergey-Ufa    499

Современные индикаторы имеют большую яркость. Тем более ТС применил SRWA, то есть супер яркие красные. Даже при 4-х разрядной динамической индикации 300 ом на сегмент более чем достаточно. Свечение получается очень ярким и никакого перегруза МК не будет. С подобными индикаторами я ставил даже 750 ом, что позволило отказаться даже от анодных транзисторных ключей и подключить общие аноды непосредственно к выводам МК, так как суммарный анодный ток в этом случае не превышал 25 ма. Яркость и в этом случае получилась вполне достаточной даже через светофильтр из красной полупрозрачной пленки.

100_0880-2.thumb.jpg.61bc25f69dfc3dbdb8dbb9466d34582c.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
musa56    135
20 минут назад, Sergey-Ufa сказал:

 Даже при 4-х разрядной динамической индикации 300 ом на сегмент более чем достаточно.

Но в схеме приведенной для примера стоят 130 Ом. А это явно мало. А так как вы предлагаете да пойдет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Dr. West    1 495

Схема была приведена для примера. Само собой, номиналы балластных резисторов следует пересчитать под конкретные индикаторы и возможности порта МК или дешифратора.

Суть в том, что ставить один резистор в общий анод или катод не по фен-шую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Гость Борис
      Автор: Гость Борис
      Народ, подскажите пожалуйста, есть задумка управления транспортерной лентой при помощи ардуино. Смысл таков: при вращении датчика скорости сигнал с опто-пары поступает на ардуино (как тахометр) и при достижении определенного кол-ва оборотов включает реле и удерживает его во включенном положении до тех пор, пока обороты не достигнут нулевого значения. Проблема состоит в написании скетча, пробовал отталкиваться от скетча на тахометр, но на включение реле не хватает тока( даже светодиод горит тускло); от скетча на прерывание опто-прерывателя реле включается когда опто-пара перекрыта и отключается, когда открыта( реле щелкает очень часто). Может кто сталкивался с подобными вещами или знает примерный код ??? 
    • Автор: Виталий Стельмах
      Зравствуйте,у меня есть плата индикатора,похожа на "маяковскую",но все же нет. Кто сталкивался с такой,можете подсказать схему и способ подключения к унч (собрал на TDA7294,стерео)


    • Автор: Виталий Стельмах
      Зравствуйте,у меня есть плата индикатора,похожа на "маяковскую",но все же нет. Кто сталкивался с такой,можете подсказать схему и способ подключения к унч (собрал на TDA7294,стерео)


    • Автор: finn32
      При чистке очередного шкапа обнаружились вот такие спаяные кит-наборы.
      1. Индикаторы уровня на UAA180

      По 100 р/штука.
      2.Микшер на 4 Входа монофонический.

      200 р.
      3.Предусилитель +-20 дб с балансными входами.

      200р.
      4. Предположительно формирователь стереосигнала из монофонического. Счетверенные ОУ LM324.

      100р.
      5. Стереодекодер на U2343

      100р.
    • Автор: Nick Iskrov
      Здравствуйте, форумчане!
      Прошу у вас помощи разобраться в проблеме с диммером лампы накаливания на основе фазового управления.
      Прикрепил схему, которую я спаял для тестов с ардуиной. Также прикрепил показания осциллографа, снятые с контактов нагрузки через делитель напряжения (с лампой в цепи и без лампы в цепи).
      При подключении лампы, напряжение на нагрузке = 0. Во всем диапазоне. Лампа загорается на 100% только когда фаза = 0. При всех остальных значениях фазы, напряжение на нагрузке = 0.
      При выключении лампы из цепи нагрузки, фазовое управление работает как надо (судя по осциллографу). Включаю лампу в цепь - диммер перестает работать, лампа загорается только в момент, когда симистор пропускает полное напряжение...
      Код ардуинки:
      #include <CyberLib.h> //Библиотека от Cyber-Place.ru volatile uint8_t tic, Dimmer1; uint8_t data; int i; void setup()  {    D4_Out; //Настраиваем порты на выход   D4_Low; //установить на выходах низкий уровень сигнала   D2_In; //настраиваем порт на вход для отслеживания прохождения сигнала через ноль       attachInterrupt(0, detect_up, LOW);  // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень     StartTimer1(halfcycle, 40); //время для одного разряда ШИМ     StopTimer1(); //остановить таймер     UART_Init(115200); //инициализация порта } //********************обработчики прерываний******************************* void halfcycle()  //прерывания таймера {    tic++;  //счетчик     if(Dimmer1 < tic ) D4_High; //управляем выходом } void  detect_up()  // обработка внешнего прерывания. Сработает по переднему фронту {    tic=0;             //обнулить счетчик  ResumeTimer1();   //запустить таймер  attachInterrupt(0, detect_down, HIGH);  //перепрограммировать прерывание на другой обработчик }   void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту {     StopTimer1(); //остановить таймер  D4_Low; //логический ноль на выходы  tic=0;       //обнулить счетчик  attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик }  //************************************************************************* void loop()  {Start   if (i >= 0 && i <= 200) {delay(50); Dimmer1 = i; i = i+1;}   else {i = 0;}   //Dimmer1=100;   End}