An@BoLiK 0 6 января, 2010 Опубликовано 6 января, 2010 (изменено) · Жалоба Есть устройство "Бегущая строка" длина ее 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 Изменено 6 января, 2010 пользователем An@BoLiK Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба попробуйте найти более мощный формирователь (74AC, или буферный ОУ), на конце линий можно подобрать RC цепи, гасящие отражения и снижающие скорость нарастания (за счет индуктивности линии и быстрого фронта/спада импульсов может формироваться паразитный звон). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Duhas 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба а все элементы для работы ниже нуля рассчитаны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
An@BoLiK 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба а все элементы для работы ниже нуля рассчитаны? в проблемной цепи MEga168->74HC244->74HC595 все для работы ниже 0. 74HC595 на платках по 4 шт на каждой стоит еще LM317. Узких мест в элементах я не вижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
An@BoLiK 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Платы длиной 20 см , на каждой плате 4 шт hc595+uln2803 + стабилизатор, в одном блоке стоит 5 плат. Линии CLK DATA LATCH из платы на плату и из блока в блок через шлейф 10 жил + IDC10 BH10 (разъемы на шлейф). Длина шлейфа между платами 5см, между блоками 20 см. Вот если смоделировать такую ситуацию: мороз, дефекты, я отключаю первый блок от всех остальных (обрываю линию передачи данных), всего остается 20 регистров. Длина линии 1 метр. Дефект остается. Вывод проблема с правильным выводом данных в регистры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
An@BoLiK 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами. Я тоже делал, и делаю все работает. Но вот именно в этой конструкции без буфера между блоками.... почему именно на морозе появляется дефект? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Duhas 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба а если попробовать замедлить передачу данных ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу. Только не по входу, а по выходу ("последовательное" согласование). А если по входу - то параллельно (а учитывая относительную маломощность базы, то лучше в сочетании этак с 100pF конденсаторами, либо последовательно с резистором, либо сделав интегратор). Иначе смысла нет. Я склонен проголосовать за звон линии тактирования из-за плохого согласования (без согласования замечательно "звенит" даже 20 см ленточного кабеля). Либо перекрестные наводки. Не видя устройства "живьем", трудно гадать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Почему вы думаете что проблема именно с клокам? То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются. Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба замедлить передачу данных и хорошо буферезировать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manul78 4 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба Почему вы думаете что проблема именно с клокам? То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются. Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите. Больше всего похоже... В 2003 году я с группой товарищей (ООО НПП Электротепло) изготавливали специальные плоские электронагреватели с оригинальной геометрией, мощностью 2 Вт на 12 вольт. Сделали мы их около 20 шт. себестоимость около 20 рублей, но очень много кропотливого и ручного труда. Продали мы их по 40$ (!), но сколько наварил на них заказчик, одному Богу известно, ибо за ними он прилетел самолетом из Мирного (Якутия) до Самары , потом такси до Пензы, жил почти неделю и после получения и проверки убрался таким-же "макаром". В процессе общения он "раскололся", что изготовленные наминагреватели будут установлены в какие-то очень дорогие и специализированные "буржуйские" приборы связанные с перекачкой нефти. Так-же он рассказал, что приборы при температуре ниже 20 начинают врать, а дальше (в Якутии морозы доходят до - 60) встают вообще ! Производитель данных приборов мудро указал на условия эксплуатации котор- ые прописанны в инструкции. Две Екатеринбургских и одна Московская фирма в течении полугода никак не смогли по- бедить данный девайс, поэтому соломоновым решением было просто подогревать внутренности приборов нашими нагре- вателями... Не одной претензии или нареканий мы не получили. Вероятно наши "девайсы" работают до сих пор... Организуйте подогрев и забудьте, ибо на поиски проблемы и её решения уйдет больше времени и денег, чем сама эта проблема стоит... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
An@BoLiK 0 6 января, 2010 Опубликовано 6 января, 2010 (изменено) · Жалоба вот видео -10С http://www.youtube.com/watch?v=wl4iCkjiOTo просто настораживает тот факт что звон линии, питания это вещи вроде как хаотичные и должны проявляться беспорядочными эффектами. А тут стабильненько криво бежит. В любом случае всем спасибо за ответы, может после выложенного видео еще появятся варианты. Изменено 6 января, 2010 пользователем An@BoLiK Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manul78 4 6 января, 2010 Опубликовано 6 января, 2010 · Жалоба А тут стабильненько криво бежит. В любом случае всем спасибо за ответы, может после выложенного видео еще появятся варианты. Может это послание из других миров ? :) Контакт с внеземными цивилизациями... :) Организуйте подогрев ! Вылезет в 100-200 рублей, и забудьте... Вопрос: Все модели табло так себя ведут, или один конкретный девайс ? Возможно тупо "непропай" на плате, который от мороза вылазит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться