Перейти к содержанию
    

74HC595 80шт проблема управления от AVR

Есть устройство "Бегущая строка" длина ее 6 метров. Индикация статическая. Схема индикации включает в себя 80 шт сдвиговых регистров 74HC595 включенных последовательно. Линии CLK DATA общие. Сигналы CLK DATA LATCH с микроконтроллера идут через 74HC244 (буфер, шинный формирователь). Устройство блочное 6 блоков по 1 метру. В первом блоке стоит контроллер.

 

Микроконтроллер MEga168, работает на частоте 7,3728 Мгц

 

Проблема:

При +50...0 градусов информация отображается нормально, 0...-20 идут искажения, искажения не хаотичного характера а постоянны ( например столбец символа делиться на 2 столбца, или верх символа налазит на низ) при 0 градусов эффект только в том что верхняя строка светодиодов сдвинута на 1 пиксель назад ( т.е. когда бежит как бы тянется за остальными) при более низких температурах -10 -20 искажения усиливаются до неузнаваемости символов.

 

Думаю возможные причины:

 

1) Криво написан код вывода в последовательный регистр. Уже было 2 варианта

 

В1... этот код не менялся пару лет и работает с драйверами типа MBI5026, DM134

 

Тут я вижу лишь один косяк Clock фронт идет сверху вних а не снизу вверх (одна из главных причин)

 

void loadReg(unsigned int value)
{
   char bitCnt;
   for(bitCnt=0;bitCnt<8;bitCnt++)
   {
      if((value&0x01)==0x01)PORTC|=(1<<PC3); //Data      
      else PORTC&=~(1<<PC3);

      PORTC|=(1<<PC1);
      PORTC&=~(1<<PC1);               //Clock
      value=(value>>1);
   }      


}

 

B2.... Это проба немного изменить его ( когда менял попал на теплую погоду поэтому не мог видеть дефект, вносил изменения в слепую, но с морозами эффект не изменился)

 

Тут вроде исправил фронт Clock на СНИЗУ-ВВЕРХ, плюс пытался ввести задержки несколько ns

 

void loadReg(unsigned int value)
{
   char bitCnt;

    for(bitCnt=0;bitCnt<8;bitCnt++)
   {

     PORTC&=~(1<<PC1);               //Clock
     delay(clk_delay);


     if((value&0x01)==0x01)PORTC|=(1<<PC3); //Data      
     else PORTC&=~(1<<PC3);
     delay(data_delay);

     PORTC|=(1<<PC1);
     delay(clk_delay);


      value=(value>>1);
   }      


}

 

 

Также в качестве причины возможно неправильные тайминги, длинная линия передачи данных, большая емкость линий которая с уменьшением температуры растет (Как ее посчитать и как с ней бороться программно?)

 

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

 

74HC595PW.pdf

Изменено пользователем An@BoLiK

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


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

попробуйте найти более мощный формирователь (74AC, или буферный ОУ), на конце линий можно подобрать RC цепи, гасящие отражения и снижающие скорость нарастания (за счет индуктивности линии и быстрого фронта/спада импульсов может формироваться паразитный звон).

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


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

а все элементы для работы ниже нуля рассчитаны?

 

в проблемной цепи MEga168->74HC244->74HC595 все для работы ниже 0. 74HC595 на платках по 4 шт на каждой стоит еще LM317. Узких мест в элементах я не вижу.

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


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

Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.

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


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

Платы длиной 20 см , на каждой плате 4 шт hc595+uln2803 + стабилизатор, в одном блоке стоит 5 плат. Линии CLK DATA LATCH из платы на плату и из блока в блок через шлейф 10 жил + IDC10 BH10 (разъемы на шлейф).

Длина шлейфа между платами 5см, между блоками 20 см.

 

 

Вот если смоделировать такую ситуацию: мороз, дефекты, я отключаю первый блок от всех остальных (обрываю линию передачи данных), всего остается 20 регистров. Длина линии 1 метр. Дефект остается. Вывод проблема с правильным выводом данных в регистры.

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


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

Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.

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


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

Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.

 

Я тоже делал, и делаю все работает.

 

Но вот именно в этой конструкции без буфера между блоками....

 

почему именно на морозе появляется дефект?

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


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

Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.

Только не по входу, а по выходу ("последовательное" согласование). А если по входу - то параллельно (а учитывая относительную маломощность базы, то лучше в сочетании этак с 100pF конденсаторами, либо последовательно с резистором, либо сделав интегратор). Иначе смысла нет.

 

Я склонен проголосовать за звон линии тактирования из-за плохого согласования (без согласования замечательно "звенит" даже 20 см ленточного кабеля). Либо перекрестные наводки. Не видя устройства "живьем", трудно гадать...

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


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

Почему вы думаете что проблема именно с клокам?

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

Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.

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


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

Почему вы думаете что проблема именно с клокам?

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

Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.

 

Больше всего похоже...

 

В 2003 году я с группой товарищей (ООО НПП Электротепло) изготавливали специальные плоские электронагреватели с

оригинальной геометрией, мощностью 2 Вт на 12 вольт. Сделали мы их около 20 шт. себестоимость около 20 рублей, но

очень много кропотливого и ручного труда. Продали мы их по 40$ (!), но сколько наварил на них заказчик, одному Богу

известно, ибо за ними он прилетел самолетом из Мирного (Якутия) до Самары , потом такси до Пензы, жил почти неделю

и после получения и проверки убрался таким-же "макаром". В процессе общения он "раскололся", что изготовленные наминагреватели будут установлены в какие-то очень дорогие и специализированные "буржуйские" приборы связанные с перекачкой нефти. Так-же он рассказал, что приборы при температуре ниже 20 начинают врать, а дальше (в Якутии морозы доходят до - 60) встают вообще ! Производитель данных приборов мудро указал на условия эксплуатации котор-

ые прописанны в инструкции. Две Екатеринбургских и одна Московская фирма в течении полугода никак не смогли по-

бедить данный девайс, поэтому соломоновым решением было просто подогревать внутренности приборов нашими нагре-

вателями... Не одной претензии или нареканий мы не получили. Вероятно наши "девайсы" работают до сих пор...

Организуйте подогрев и забудьте, ибо на поиски проблемы и её решения уйдет больше времени и денег, чем сама эта

проблема стоит... :)

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


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

вот видео -10С http://www.youtube.com/watch?v=wl4iCkjiOTo

 

просто настораживает тот факт что звон линии, питания это вещи вроде как хаотичные и должны проявляться беспорядочными эффектами.

 

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

Изменено пользователем An@BoLiK

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


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

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

 

Может это послание из других миров ? :) Контакт с внеземными цивилизациями... :)

 

Организуйте подогрев ! Вылезет в 100-200 рублей, и забудьте...

 

Вопрос: Все модели табло так себя ведут, или один конкретный девайс ? Возможно тупо "непропай" на плате, который

от мороза вылазит...

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...