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

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

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

Dr. West    2 958

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

 

общий анод.png

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


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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Kirill Lubinets
      Необходимо выводить на блок из 4 семисегментных индикаторов данные, управление лежит на двух сдвиговых регистрах:
      Первый хранит в себе число на вывод, второй адрес(адресует на конкретный разряд в блоке).
       
      Данные передаю через аппаратный SPI, настроенный в STM32CubeMX, но он у меня не работает.

      Мой алгоритм
      Задаю наборы для отображения на индикаторе и адресные наборы для перемещения по разрядам в блоке.
       uint8_t i,j = 0;
        uint8_t buff[8] = {1,2,3,4,5,6,7,8};
        uint8_t digit[10] = { 
            0xC0, // 0
            0xF9, // 1
            0xA4, // 2
            0xB0, // 3
            0x99, // 4
            0x92, // 5
            0x82, // 6
            0xF8, // 7
            0x80, // 8
            0x90, // 9 
        };
        uint8_t chr[4] = { 
            0x8,  
            0x4,  
            0x2,  
            0x1  
        };
      Строб необходим для начала записи данных в регистр хранения сдвигового регистра
      void strob(void){
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
      HAL_Delay(85);
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
      HAL_Delay(85);
      }
      Функция передачи данных с использованием HAL функции и строба.
      void spi_send(uint8_t *data, uint8_t it){
        strob();
       uint8_t *d = data;
        for(j = 0; j <=it; j++){
          d = &data[j];
        HAL_SPI_Transmit ( &hspi1, d, 8, 50); 
        }
        strob();
      }
      Отправляю смешение по элементам блока семисегментного индикатора.
        while (1)
        { i++;
          if(i<=4){
      spi_send(chr, i);
        } else i = 4;
        i = -1;
        
      s.7z
      Файлы с IAR проектом и CubeMX проектом инициализации.
      1dsfs.7z
      Пример работы индикатора
      video_2018-07-04_00-13-42.mp4
    • Автор: 5670721
      Доброго времени!
      Для Ардуино мне необходимо написать программу управления тремя сервоприводами и выводом на дисплей абсолютного угла наклона по одной оси.
      Два сервопривода должны управляться потенциометрами, третий кнопкой (два положения сервопривода).
      Ну и помочь мне все это спаять ) Поэтому желательно, чтобы Вы находились в Москве или Подмосковье.
      Так же я слышал про накопление ошибки при работе гироскопа-акселерометра, очень желательно убрать эту проблему.
      Если, конечно, Вы не предложите более подходящий прибор для измерения угла наклона.
      Компоненты все куплены.
    • Автор: DmitrySinichnikov
      Добрый день! 
      Возникла необходимость собрать небольшую солнечную зарядную станцию на 10Ватт (5В + 2А). 
      Предыстория)
      Измерив дома в тусклом дневном свете показания солнечных панелей различных номиналов получил, что при таком "дешманском" освещении панели выдают примерно 25% своей мощности. В идеале получается собрав станцию на 40Ватт (5В + 8А) получу, практически всегда, необходимую мне мощность, но это немного дороговато, поэтому решил увеличение сделать всего в 2 раза, т.е. 20Ватт. В дополнение хотел сделать еще автонаведение на источник света на Arduino Nano + 2 самых маленьких сервопривода + 4-5 датчиков света (светорезисторов).
      Материалы:
      Солнечные панели, 2шт. по 10Ватт: https://ru.aliexpress.com/item/1PC-X-Solar-Panel-18V-10W-0-55A-Mini-PET-monocrystalline-polycrystalline-cell-charge-for-6V/32830626173.html?spm=a2g0s.13010208.99999999.261.456e3c00FiwKM4&dp=57f918cf76770fd0531b82d82580678d&af=137322&cv=47843&afref=&mall_affr=pr3&aff_platform=aaf&cpt=1526974015583&sk=VnYZvQVf&aff_trace_key=2158f23ac0544faa9b76b2baf359b984-1526974015583-00842-VnYZvQVf&terminal_id=12cd683515fe4011a796328dfe1354a0 Преобразователь для зарядки устройств по USB: https://ru.aliexpress.com/item/5V-2A-USB-charge-regulator-controller-with-extend-cable-Junction-box-for-DIY-solar-charger-mobile/32818473353.html?spm=a2g0s.13010208.99999999.264.456e3c00FiwKM4 Арудинка: https://ru.aliexpress.com/item/1pcs-ATMEGA328P-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-for-Arduino-new-Free-shipping/32655809087.html?spm=a2g0s.9042311.0.0.c97a33ed40ocfj Преобразователь питания для ардуинки: https://ru.aliexpress.com/item/5pcs-DC-DC-Step-Down-Converter-Module-LM2596-DC-4-0-40-to-1-3-37V/32656182588.html?spm=a2g0s.9042311.0.0.c97a33ed40ocfj Сервоприводы: https://ru.aliexpress.com/item/10pcs-lot-lofty-ambition-SG90-9g-Mini-Micro-Servo-for-RC-for-RC-250-450-Helicopter/32680024453.html?spm=a2g0s.9042311.0.0.274233edcDMM7A&dp=46be88b50896b778bb90ac285cd2a18a&af=137322&cv=47843&afref=&mall_affr=pr3&aff_platform=aaf&cpt=1526974331870&sk=VnYZvQVf&aff_trace_key=c04a8ff14f2b4dd49472a332e76299ee-1526974331870-00375-VnYZvQVf&terminal_id=12cd683515fe4011a796328dfe1354a0 Теперь собственно вопросы:
      Будет ли преобразователь питания на для ардуинки повышать ампераж за счет уменьшения вольтажа? Как настроить приоритет потребления устройствами при недостатке мощности? Интересует приоритет на работу ардуинки и сервоприводов, что бы всегда поворот был на солнце, а потом шла зарядка. Обусловлено тем, что поворот будет применяться раз в 1-5 минут и по времени занимает 1-2 секунды, поэтому эту операцию необходимо полностью обеспечить, а все остальное пустить на зарядку устройств.  П.С. Если есть какая-то схема, что бы не городить бутерброды из модулей, прошу поделиться)
    • Автор: Михаил Савин
      Всех приветствую.
      Передо мной возникла следующая задача:
      1) Есть питание сети 220 Вольт. Как только питание пропадает необходимо что бы запустился отсчет времени (8 часов) и после подать +12 вольт от Аккумуляторной батареи на клемму другого устройства (Токи маленькие, исключительно сигнал).
      2) Подавать напряжение +12 от АКБ в течении 1 часа
      3) После 1 часа проверить появилось ли напряжение сети 220 вольт, если нет, то перестать подавать напряжение +12 Вольт на 8 часов. И так по кругу.
      4) Необходим постоянный опрос сети 220 вольт. В любой момент данного алгоритма, как только появится напряжение в сети 220 вольт подача сигнала +12 вольт на клемму устройства должна быть приостановлена.
      Я предполагаю что такую задачу можно организовать на Arduino.
      Возможно можно сделать другим способом.
      Желательно что бы в будущем, по необходимости можно было изменить задержки времени
      Желательна индикация работы в виде светодиодов.
      Для питания всей системы предусмотрены постоянные +12 Вольт.
      Нужен человек кто изготовит подобное устройство в СПб
      Или тот, кто может составить список необходимых элементов, написать код и инструкцию по подключению что бы можно было собрать его самому удаленно.
    • Автор: ioangrozni
      Доброго всем времини суток. Прошу сильно не пинать. Суть проблемы такова. Нужно получить через шим ардуины ( 5 вольт), управляющий плюс. Управлять нагрузкой от 7 до 12 вольт 3-5 ампер. Ключи типа IRF 520, управляют через минус, а нужно получить именно управляющий плюсовой провод. Будьте  добры, подскажите как это реализовать.