реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 74HC595 80шт проблема управления от AVR, Дефекты при т ос=0....-20 градусов
An@BoLiK
сообщение Jan 6 2010, 08:18
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289



Есть устройство "Бегущая строка" длина ее 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 фронт идет сверху вних а не снизу вверх (одна из главных причин)

CODE
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

CODE
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 ( 129.25 килобайт ) Кол-во скачиваний: 492


Сообщение отредактировал An@BoLiK - Jan 6 2010, 08:32
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Jan 6 2010, 08:43
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



попробуйте найти более мощный формирователь (74AC, или буферный ОУ), на конце линий можно подобрать RC цепи, гасящие отражения и снижающие скорость нарастания (за счет индуктивности линии и быстрого фронта/спада импульсов может формироваться паразитный звон).
Go to the top of the page
 
+Quote Post
Duhas
сообщение Jan 6 2010, 09:08
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



а все элементы для работы ниже нуля рассчитаны?
Go to the top of the page
 
+Quote Post
An@BoLiK
сообщение Jan 6 2010, 09:23
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289



Цитата(Duhas @ Jan 6 2010, 12:08) *
а все элементы для работы ниже нуля рассчитаны?


в проблемной цепи MEga168->74HC244->74HC595 все для работы ниже 0. 74HC595 на платках по 4 шт на каждой стоит еще LM317. Узких мест в элементах я не вижу.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 6 2010, 09:26
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.
Go to the top of the page
 
+Quote Post
An@BoLiK
сообщение Jan 6 2010, 09:44
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289



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


Вот если смоделировать такую ситуацию: мороз, дефекты, я отключаю первый блок от всех остальных (обрываю линию передачи данных), всего остается 20 регистров. Длина линии 1 метр. Дефект остается. Вывод проблема с правильным выводом данных в регистры.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 6 2010, 09:46
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.
Go to the top of the page
 
+Quote Post
An@BoLiK
сообщение Jan 6 2010, 10:04
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289



Цитата(SasaVitebsk @ Jan 6 2010, 13:46) *
Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.


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

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

почему именно на морозе появляется дефект?
Go to the top of the page
 
+Quote Post
Duhas
сообщение Jan 6 2010, 10:32
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



а если попробовать замедлить передачу данных ?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 6 2010, 10:42
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(_Pasha @ Jan 6 2010, 12:26) *
Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.

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

Я склонен проголосовать за звон линии тактирования из-за плохого согласования (без согласования замечательно "звенит" даже 20 см ленточного кабеля). Либо перекрестные наводки. Не видя устройства "живьем", трудно гадать...
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Jan 6 2010, 10:48
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Почему вы думаете что проблема именно с клокам?
То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются.
Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.
Go to the top of the page
 
+Quote Post
domowoj
сообщение Jan 6 2010, 11:22
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Цитата(Duhas @ Jan 6 2010, 16:32) *
замедлить передачу данных

и хорошо буферезировать


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
manul78
сообщение Jan 6 2010, 12:05
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(Ant_m @ Jan 6 2010, 13:48) *
Почему вы думаете что проблема именно с клокам?
То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются.
Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.


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

В 2003 году я с группой товарищей (ООО НПП Электротепло) изготавливали специальные плоские электронагреватели с
оригинальной геометрией, мощностью 2 Вт на 12 вольт. Сделали мы их около 20 шт. себестоимость около 20 рублей, но
очень много кропотливого и ручного труда. Продали мы их по 40$ (!), но сколько наварил на них заказчик, одному Богу
известно, ибо за ними он прилетел самолетом из Мирного (Якутия) до Самары , потом такси до Пензы, жил почти неделю
и после получения и проверки убрался таким-же "макаром". В процессе общения он "раскололся", что изготовленные наминагреватели будут установлены в какие-то очень дорогие и специализированные "буржуйские" приборы связанные с перекачкой нефти. Так-же он рассказал, что приборы при температуре ниже 20 начинают врать, а дальше (в Якутии морозы доходят до - 60) встают вообще ! Производитель данных приборов мудро указал на условия эксплуатации котор-
ые прописанны в инструкции. Две Екатеринбургских и одна Московская фирма в течении полугода никак не смогли по-
бедить данный девайс, поэтому соломоновым решением было просто подогревать внутренности приборов нашими нагре-
вателями... Не одной претензии или нареканий мы не получили. Вероятно наши "девайсы" работают до сих пор...
Организуйте подогрев и забудьте, ибо на поиски проблемы и её решения уйдет больше времени и денег, чем сама эта
проблема стоит... smile.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
An@BoLiK
сообщение Jan 6 2010, 12:07
Сообщение #14


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289



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

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

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

Сообщение отредактировал An@BoLiK - Jan 6 2010, 12:09
Go to the top of the page
 
+Quote Post
manul78
сообщение Jan 6 2010, 12:16
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(An@BoLiK @ Jan 6 2010, 15:07) *
А тут стабильненько криво бежит. В любом случае всем спасибо за ответы, может после выложенного видео еще появятся варианты.


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

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

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


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01505 секунд с 7
ELECTRONIX ©2004-2016