Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Электроника - это просто Теоретические и практические вопросы для начинающих электронщиков.

 
Опции темы

Динамическая индикация - загоны.. Нужно понять отчего..

Непрочитано 10.02.2012, 21:40  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Динамическая индикация - загоны.. Нужно понять отчего..

Упростим ситуацию до минимума, расскажу итоги эксперимента.
Дано:
1) устройство динамической индикации. 16 строк 48 столбцов. Проверено подключением к выводам светодиодов, работает четко.
2) Стенд, светодиодный. Соответственно матрица 16 на 48. Итого 768 элементов. Светодиодов 256 потому что RGB - один плюс (анод) и три минуса (катод). Итого 16 на 16 элементов RGB.
3) Обозначения. Аноды обозначаем А1 - А16. Катоды С1 - С48. Для тестов используем одну ячейку. А2-С1.
4) Включаем контроллер и даем ему команду зажечь А2-С1. Загорается второй элемент и - в этом и проблема - вполнакала зажигается первый элемент, на пересечении А1-С1.
5) Отключаем контроллер, даем на А2-С1 просто 12 вольт. Горит, как и положено, только второй элемент - засветки первого нет.
6) Включаем контроллер без стенда, даем команду зажечь А2-С1. Подключаем светодиод на А2-С1 - горит, как и положено. Подключаем светодиод на А1-С1 (ячейка, которая внезапно горит на стенде в полнакала) - ничего не горит, как должно быть.

Соединяем контроллер со стендом, даем А2-С1 - горит вторая как указали командой и вполнакала первая...

Ну и что это блин такое?? Внезапно..
Реклама:
whoim вне форума  
Непрочитано 10.02.2012, 21:49  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Подробнее об устройстве..
Атмега328, 8 сдвиговых регистров 74HC595. Первый два регистра управляют ключами из двух плечей - логический DTC144 NPN, который в свою очередь открывает P-мосфет FR9120. Это аноды, А1-А16. Оставшиеся шесть регистров управляют через 33ома резистор N-мосфетами FR430A. Это катоды.

Алгоритм вывода.
Переменная j - номер текущей строки, от 1 до 16. Вызов по таймеру, частота около 100 гц (итоговая).
В переменную регистров заносим биты так, чтобы включилась строка (анод) j.
Забиваем в переменные для регистров, какие катоды надо включить на этой строке (проверка по массиву data[j][x], где x от 1 до 48, тип булевый).
Отсылаем это в регистры, дергаем защелку - включаем все мосфеты как надо.
Увеличиваем j
Если j больше 16, сбрасываем в 1.
Конец

Таким образом у нас получилась динамическая индикация, где цикл бегает по анодам, одновременно включая нужные для данного анода катоды.
whoim вне форума  
Непрочитано 10.02.2012, 22:03  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Если при динамике подсвечиваются сегменты соседних разрядов , значит при переключении разрядов вы не гасите сегменты . Все это "на пальцах" объяснялось в FAQ по протеусу .
Еще здесь можно посмотреть - http://www.kaligraf.narod.ru/nedodellki.html
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 10.02.2012 в 22:07.
dosikus вне форума  
Непрочитано 10.02.2012, 22:06  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

dosikus, предыдущие гасятся .. как бы объяснить. Смотрите.
Я завожу переменную (массив) byte registers[8] = {B00000000, B00000000, ...B00000000, }

Я меняю только те биты которые мне нужны.
я отсылаю переменные в регистры.

Соответственно одновременно с зажиганием новых гасятся предыдущие. Данные и по строкам и по столбцам отсылаются одновременно. Только потом защелкой активируются.

Есть необходимость все таки именно тушить все перед зажиганием, типа с задержкой? Спасибо за ответ! Пока пойду по вашей ссылке
whoim вне форума  
Непрочитано 10.02.2012, 22:09  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Что матрица , что сегменты - одинаково . Главное понять принцип.
Сложного там нет ничего .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.02.2012, 22:10  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Прочитал, интересно. Но забыл рассказать еще об одной части эксперимента. Весь этот эффект похоже зависит от длинны проводов до светодиодов. Стенд длиный - и длинна может достигать 10 метров. Если подключить одиночный светодиод в ячейку засветки - он не горит. Как только подтыкаем разъем на стенд - он загорается..
Буду пробовать тушить и ставить задержку.
whoim вне форума  
Непрочитано 10.02.2012, 22:11  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

И еще.. подсвечиваются НЕ все сегменты, только те которые висят на первой строке. Возможно - остальные ключи успевают закрываться, а этот нет. Сейчас я вспоминаю, что был коротыш и этот ключ сильно грелся, но после теста был оставлен..
whoim вне форума  
Непрочитано 10.02.2012, 22:15  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Если есть подозрения на ключи , проверьте в статике . Поочередно переключая и контролируя свечения . Про инерцию ключей, на такой низкой частоте, это бред.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 10.02.2012, 22:41  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Сообщение от dosikus Посмотреть сообщение
Если есть подозрения на ключи , проверьте в статике . Поочередно переключая и контролируя свечения . Про инерцию ключей, на такой низкой частоте, это бред.
Проверял, отключая от регистра - работают.. Проводочком +5в на него - заводится. Убираю - тухнет.. На глаз - моментально..
первый ключ из за коротыша реально был разогрет - термоклей потек с него. Термоклей надеюсь же то не проводит? )

Других мыслей кроме как инерции - нет. Частота реально низкая - мерцание боковым зрением заметно, да и уменьшал в сотню раз - видно очередность работы строк. Эффект подсвечивания некоторых (пока выявил что все на строке 1) есть. То есть если зажечь на любом столбце светодиод, загорится первый в этом же столбце..
whoim вне форума  
Непрочитано 10.02.2012, 22:44  
whoim
Почётный гражданин KAZUS.RUN
 
Аватар для whoim
 
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
whoim на пути к лучшему
По умолчанию Re: Динамическая индикация - загоны.. Нужно понять отчего..

Приведу кусок кода, может поможет. Среда - ардуино.

Код:
//функция, вызываемая по таймеру
void print() {
    //отрисовка матрицы
  //цикл по строкам (аноды)
    byte registers[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //обнуляем регистры
    //задаем нужный анод
    if(j ‹ 8) bitSet(registers[0], j);
    else bitSet(registers[1], j-8);
    for (int k=0; k ‹ _COLUMNS; k++)
    //цикл по столбцам (катоды)
        if (data[j][k]) {
          //задаем катоды  
          if (k ‹ 8) bitSet(registers[2], k);
          else if (k›=8 &&  k‹16) bitSet(registers[3], k-8);
          else if (k›=16 && k‹24) bitSet(registers[4], k-16);
          else if (k›=24 && k‹32) bitSet(registers[5], k-24);
          else if (k›=32 && k‹40) bitSet(registers[6], k-32);
          else if (k›=40 && k‹48) bitSet(registers[7], k-40);
        }
        //shiftOut
        bitClear(PORTB,_latchPORTB);
        shiftOut2(_data,_clock,registers[7]);
        shiftOut2(_data,_clock,registers[6]);
        shiftOut2(_data,_clock,registers[5]);
        shiftOut2(_data,_clock,registers[4]);
        shiftOut2(_data,_clock,registers[3]);
        shiftOut2(_data,_clock,registers[2]);
        shiftOut2(_data,_clock,registers[0]);
        shiftOut2(_data,_clock,registers[1]);
        bitSet(PORTB,_latchPORTB);
        //корректировка j
        j++;
        if (j == _ROWS){
           j= 0; 
        }
}
whoim вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая индикация EKuzmich TTL и CMOS логика 16 05.08.2011 08:18
Динамическая индикация mironov Микроконтроллеры, АЦП, память и т.д 4 02.07.2010 17:37
Динамическая индикация ПОМОГИТЕ 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 2 27.03.2008 23:53
Динамическая индикация dosikus Микроконтроллеры, АЦП, память и т.д 3 16.02.2008 19:09
Динамическая индикация на ЖК dion310 Микроконтроллеры, АЦП, память и т.д 4 27.11.2007 10:39


Часовой пояс GMT +4, время: 23:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.