Где кот зарыт? Ардуино + 74HC595 не выводит корректно

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Прорезались зубы
Сообщения: 216
Зарегистрирован: Вс окт 23, 2011 22:18:40

Сообщение djrec »

Подключил 74HC595 к Ардуино Уно, на выходы повесил светодиоды. Заганяю в 595 число с переменной. Числа до 127 выводятся нормально светодиоды светятся с нормальной паузой (установил 30мс) после 127 до 255 не светятся а мерцают. Как бы только при включении сразу идет импульс погасить.

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

Подскажите где кот зарыт, как заставить светится при любых числах до 255




#define clock 12
#define data 11
#define latch 8
int value1;
void setup(){
pinMode(clock, OUTPUT);
pinMode(data, OUTPUT);
pinMode(latch, OUTPUT);
digitalWrite(latch, HIGH);
}

void sendbyte(byte value){

digitalWrite(latch, LOW);
shiftOut(data, clock, LSBFIRST, value);
digitalWrite(latch, HIGH);


}

void loop() {

value1++;
sendbyte(value1);
delay(30);

}
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

А светодиды к 74HC595 подключены через транзисторы или как? Ведь хотя ток одного вывода у 74HC595 ограничен аж 35ма, но ток питания у нее всего лишь 70ма. Не так уж много светодиодов, которым 8ма хватит.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Прорезались зубы
Сообщения: 216
Зарегистрирован: Вс окт 23, 2011 22:18:40

Сообщение djrec »

Без транзисторов. Но только что проверил, отключил половину светодиодов. При этом так же числа больше 127 выводятся с мерцанием.
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Может быть Вы Q7 с Q7S перепутали? Q7S, кстати, с малой нагрузочной способностью.
Схему бы увидеть...

Добавлено after 4 minutes 20 seconds:
djrec писал(а): int value1;
...

value1++;
Стоп! А почему вдруг int? uint8_t должно быть, судя по описанию того, что Вы хотите.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Сообщения: 216
Зарегистрирован: Вс окт 23, 2011 22:18:40

Сообщение djrec »

Не знаю почему но когда отключаю землю питания микросхемы 595 от земли ардуино то мерцание прекращаются и светодиоды светятся нормально. (возможно немного тусклее на 10% почти не заметно)


Схема вроде самая стандартная.
(только clock 12, data 11, latch 8)
Вложения
1441594932_maxresdefault.jpg
(62.94 КБ) 596 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15776
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вообще-то "стандартным" для 595-го и светиков является подключение светика от + питания на лапку микросхемки при активном нуле и токе через светик не более 5 мА. А противном случае лепим ULN2803 примерно как тут:
http://img.radiokot.ru/files/20529/hkjedehd8.JPG
8)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

BOB51 писал(а): "стандартным" для 595-го и светиков является подключение
74НС и подобным все равно, куда подключена нагрузка, выходные каскады у них комплиментарные, это не ТТЛ с сильно разной нагрузочной способностью для нуля и единицы.
djrec писал(а):когда отключаю землю питания микросхемы 595 от земли ардуино то мерцание прекращаются
:facepalm: А земля в это время идет через защитные диоды... хотя зачем такие тонкие материи ардуинщикам знать?
Прорезались зубы
Сообщения: 216
Зарегистрирован: Вс окт 23, 2011 22:18:40

Сообщение djrec »

ptr128 писал(а):Может быть Вы Q7 с Q7S перепутали? Q7S, кстати, с малой нагрузочной способностью.
Схему бы увидеть...

Добавлено after 4 minutes 20 seconds:
djrec писал(а): int value1;
...

value1++;
Стоп! А почему вдруг int? uint8_t должно быть, судя по описанию того, что Вы хотите.

Вечером попробую поменять. Хотя я пробовал ставить заместь переменной константу в10000001 эффект был тот же мерцание. В001000100 выводит нормально.


Попробовал поставить uint8_t, абсолютно никаих изменений.
Ответить

Вернуться в «Разные вопросы по МК»