|
74HC595 80шт проблема управления от AVR, Дефекты при т ос=0....-20 градусов |
|
|
|
Jan 6 2010, 08:18
|
Участник

Группа: Свой
Сообщений: 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
|
|
|
|
|
 |
Ответов
|
Jan 8 2010, 17:14
|
Участник

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

|
Всем спасибо за советы. Сегодня собирались как раз выяснить в чем дело. Погода не дала, температура выше 0, все работает, смысла ехать нет, так что ждем морозов..... Как разбиремся обязательно проинформирую.
|
|
|
|
|
Jan 9 2010, 14:55
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(rezident @ Jan 9 2010, 15:48)  78M15 плюс ограничитель напряжения (схема с общим истоком) на полевике перед ней. В указанном диапазоне температур эта связка почему-то не работала как предполагалось и напряжения (+15В) на выходе не было. В дальнейшем полевик на биполярный транзистор заменили. P.S. Электролитов, кстати, в обвязке не было. Лишь комбинация из керамики и 1 Омных резисторов. Ой, Вы меня пугаете... У меня сейчас в одном изделии используется связка TPS71533 + MMBF4363 для повышения входного напряжения (для питания девайса на базе MSP430). MMBF4393 -- это полевой транзистор со встроенным каналом (не MOS!). При Ugs = 0 он проводит ток, что бы его закрыть, нужно опустить напряжение затвора ниже напряжения на истоке. Соответственно схема: на сток транзистора подается входное напряжение, затвор сидит на выходе LDO, исток -- на входе LDO. Такое построение схемы не приводит к увеличению потребляемого стабилизатором тока (у меня каждый мкА на счету), и в то же время позволяет увеличить входное напряжение TPS-а. Запуск и удержание режима стабилизации эта "сладкая парочка" обеспечивает прекрсно. Вопросов нет, смотрел во всех режимах. А вот протестировать по температуре -- я что-то поленился. Я погонял всего один макет от -70 до +105'С, и, убедившись, что граблей нет, сразу заложил в серию... Блин, теперь я весь в думах, а не вылезет ли этот баг где-нибудь на объектах? Может штуки три-пять надо было попробовать? (Эх-х! Скорее бы на работу!) rezident, если можно чуть подробнее -- почему схема не работала, транзистор не захотел открываться? Перепад напряжения на транзисторе у Вас какой был? Глюк был постоянный или возникал периодически? Схема в отказ уходила при включении или в процессе работы? Вы не указали тип полевика... (Буф! Хоть новую ветку открывай!)
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
Сообщений в этой теме
An@BoLiK 74HC595 80шт проблема управления от AVR Jan 6 2010, 08:18 ukpyr попробуйте найти более мощный формирователь (74AC,... Jan 6 2010, 08:43 Duhas а все элементы для работы ниже нуля рассчитаны? Jan 6 2010, 09:08 An@BoLiK Цитата(Duhas @ Jan 6 2010, 12:08) а все э... Jan 6 2010, 09:23 _Pasha Думаю, иголки где-то по сдвиговому клоку надо иска... Jan 6 2010, 09:26 rx3apf Цитата(_Pasha @ Jan 6 2010, 12:26) Думаю,... Jan 6 2010, 10:42 An@BoLiK Платы длиной 20 см , на каждой плате 4 шт hc595+... Jan 6 2010, 09:44 SasaVitebsk Я делаю вход-выход. То есть, после каждого блока б... Jan 6 2010, 09:46 An@BoLiK Цитата(SasaVitebsk @ Jan 6 2010, 13:46) Я... Jan 6 2010, 10:04 Duhas а если попробовать замедлить передачу данных ? Jan 6 2010, 10:32 domowoj Цитата(Duhas @ Jan 6 2010, 16:32) замедли... Jan 6 2010, 11:22 Ant_m Почему вы думаете что проблема именно с клокам?
То... Jan 6 2010, 10:48 manul78 Цитата(Ant_m @ Jan 6 2010, 13:48) Почему ... Jan 6 2010, 12:05 An@BoLiK вот видео -10С http://www.youtube.com/watch?v=wl4i... Jan 6 2010, 12:07 manul78 Цитата(An@BoLiK @ Jan 6 2010, 15:07) А ту... Jan 6 2010, 12:16  An@BoLiK Цитата(manul78 @ Jan 6 2010, 16:16) Может... Jan 6 2010, 12:26   manul78 Цитата(An@BoLiK @ Jan 6 2010, 15:26) нет ... Jan 6 2010, 12:35 rezident Цитата(An@BoLiK @ Jan 6 2010, 17:07) може... Jan 6 2010, 12:55  An@BoLiK Цитата(rezident @ Jan 6 2010, 16:55) А не... Jan 6 2010, 13:06 _Pasha Навеяно разговорами про WDT. Включена собака? Если... Jan 6 2010, 12:28 An@BoLiK Цитата(_Pasha @ Jan 6 2010, 16:28) Навеян... Jan 6 2010, 12:32 Ant_m Я в шоке, какой подогрев??? Если проблема с конден... Jan 6 2010, 13:41 Евгений Германович Мне пришлось решать подобную проблему. причины был... Jan 6 2010, 17:31 An@BoLiK Одна такая платка потребляет максимум 2 А от 12 В.... Jan 6 2010, 18:00 manul78 Цитата(An@BoLiK @ Jan 6 2010, 21:00) Кто ... Jan 6 2010, 18:33  sazh Цитата(manul78 @ Jan 6 2010, 21:33) Вот е... Jan 6 2010, 18:41   manul78 Цитата(sazh @ Jan 6 2010, 21:41) Да по ба... Jan 6 2010, 18:58  Ant_m Цитата(manul78 @ Jan 6 2010, 21:33) Вот е... Jan 6 2010, 20:33 rx3apf Цитата(An@BoLiK @ Jan 6 2010, 21:00) Кто ... Jan 6 2010, 18:44  An@BoLiK Цитата(rx3apf @ Jan 6 2010, 21:44) И вот ... Jan 6 2010, 20:23   rx3apf Цитата(An@BoLiK @ Jan 6 2010, 23:23) Да т... Jan 6 2010, 21:20    ReAl Цитата(Ant_m @ Jan 6 2010, 22:33) Случай ... Jan 7 2010, 10:21 zhevak Я там на плате у Вас увидел переходные отверстия с... Jan 6 2010, 19:20 zombi Делал подобные девайсы длиной 1м состоящие из 4-х ... Jan 7 2010, 14:39 ukpyr а может развести CLK витой парой с MAX485 на каждо... Jan 8 2010, 09:42 zhevak Цитата(ukpyr @ Jan 8 2010, 14:42) а может... Jan 8 2010, 10:40     rezident Цитата(zhevak @ Jan 9 2010, 19:55) если м... Jan 10 2010, 00:03      Herz Цитата(rezident @ Jan 10 2010, 02:03) ИМХ... Jan 10 2010, 09:46       rezident Цитата(Herz @ Jan 10 2010, 14:46) Допусти... Jan 10 2010, 17:32      zhevak to rezident
Спасибо!
to Herz
Да, у нас разные... Jan 10 2010, 16:59 Massi прошу Вас для ускорения работы снять осциллограммы... Jan 8 2010, 19:18 An@BoLiK Проблема решена. Но явной причины конкретно устано... Jan 19 2010, 11:30 zhevak Цитата(An@BoLiK @ Jan 19 2010, 16:30) Про... Jan 19 2010, 17:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|