Динамическая индикация на 74HC595

Обсуждаем контроллеры компании Atmel.
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

Demiurg , спасибо то что нужно )
andrei23061996@gmail.com
.................................................................................................................
Реклама
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

КР293КП1А. У этого оптрона фишка в том, что выход можно спараллелить. Получаем выход постоянный ток, но умощненный в 2 раза. DIP-6.
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

DIP 6 слишком большой(. Мне их надо 30шт в одну линию на длину 150мм растянуть и в минимальную ширину.
andrei23061996@gmail.com
.................................................................................................................
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Чем оптроны будут управлять?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

Катушками распределителями на пневмоострове. 24V.

Добавлено after 33 seconds:
Ток потребления по замерам прибора 40mA.

Добавлено after 2 minutes 35 seconds:
Можно ли оптимизировать по размеру данную ф() ?. То чет она слишком много флеша съедает.(

Код: Выделить всё

uint8_t ChekFlagControl(uint8_t StartValue,uint8_t ReturntValue)
{
	if (((StartValue==0)||(StartValue==(ReturntValue+1))||(StartValue==(ReturntValue-1)))&&(ReturntValue != 5))
	{
		StartInitIO();
		return ReturntValue;
	}
	return StartValue;
}
Я вот думаю мб не через ретурн а через указатель менять значение ?

Добавлено after 4 minutes 1 second:
Пока вызов функции.

Код: Выделить всё

FlagControlSwitch=ChekFlagControl(FlagControlSwitch,1);
andrei23061996@gmail.com
.................................................................................................................
Реклама
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Настоятельно рекомендую отказаться от идеи управлять катушками напрямую от оптронов. У индуктивной нагрузки пусковой ток в разы больше рабочего. Ведь вам не хотелось бы выезжать на объекты из-за своего просчета?
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 580
Зарегистрирован: Пт ноя 08, 2013 01:01:18

Сообщение melandr »

Уважаемые коты! Решил не плодить новые темы, так как смотрю вроде тема живая. Вопрос вот в чем. Решил сделать динамическую индикацию на 74HC595. Использовал библиотеку Павла Бобкова http://chipenable.ru/index.php/programm ... /item/206- . Проверяю в Proteus, нормально не работает. Потом нашел эту тему на форуме, вытянул к себе исходники, проверяю. Опять ноль. Если не трудно посмотрите исходники. В архивах проект AVRStudio 4.19 и проект Proteus.
Вложения
Ind7SEG.7z
(100.95 КБ) 194 скачивания
Ind7.7z
(55.51 КБ) 162 скачивания
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Личный опыт: я протеусом не пользуюсь. По простой причине. Для AVR это стороннее программное обеспечение. Есть свои нюансы, с которыми нужно разбираться. И новички постоянно наступают на эти грабли. Как же, паять ничего не нужно, открыл проект в протеусе и типа ты в шоколаде. Результат налицо. Постоянно появляется очередной плакальщик - ни хера не работает, що делать-то а?

Забудьте про протеус, все равно он не показывает многие моменты, которые происходят в железе.

Научитесь работать в AVR Studio. Это единственный симулятор, который правильно показывает, что происходит в кишках МК и в программе.

Также научитесь тестировать свои устройства. Как аппаратно, так и при помощи программных закладок. Светодиоды, дисплей, UART (вывод в COM-порт ПК). Осциллограф.

Да, нужно паять макетки. А как вы хотели? Программы нужно тестировать только на железе. Только так вы выявите косяки.

Алгоритм создания проектов. Модульное программирование. Тестовые программые закладки. Помодульное тестирование как в симуляторе, так и на железе.
Контактная информация:
Вымогатель припоя
Сообщения: 580
Зарегистрирован: Пт ноя 08, 2013 01:01:18

Сообщение melandr »

А мое мнение, что программа, работающая в протеус будет гарантировано работать в железе. И допустим если необходимо проверить какое-либо программное решение, то протеус самое оно. Есть отладочная плата на ATmega328. но не всегда есть возможность использовать аппартное решение, если есть доступ только к компьютеру. То для отладки удобно использовать протеус. А насчет результата. Так даже реализовав в железе какую-либо конструкцию на столе она работать отлично, а когда устанавливается на объекте, начинаются разные неполадки, которые ни протеусом, ни отладкой на столе не определишь. Если нет опыта в реализации и на грабли наступаешь.
ЗЫ. Есть пару примеров, но там используется не библиотека для работы с 74HC595, а просто весь код написан в main и для примера вызывается через delay в основном цикле. Но когда используешь этот код в своей программе, начинает все работать неправильно. А написать весь код библиотеки не хватает опыта.
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

[uquote="melandr",url="/forum/viewtopic.php?p=3246805#p3246805"]А мое мнение, что программа, работающая в протеус будет гарантировано работать в железе.[/uquote]
Оспорю. Если новичок не знает, что такое дребезг контактов, то в протеусе все будет работать, на железе огребет косяки. Это простейший режим.
Когда нет железа, программу можно прекрасно отладить в симуляторе студии. На самом деле настоящий симулятор у программиста в голове. Если он знает как работает железо, свою программу, то большая часть работы происходит у него в голове. Симулятор и натурная работа устройства лишь подтверждает или отвергает мысленные конструкции программиста.
Контактная информация:
Вымогатель припоя
Сообщения: 580
Зарегистрирован: Пт ноя 08, 2013 01:01:18

Сообщение melandr »

С дребезгом согласен. Ну я так и написал, что в железе могут потом вылезти траблы, если эти моменты не учитывать. Но если нужно проверить работу с датчиком температуры или датчиком влажности, и его модель есть в Протеус. То довольно удобно.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

Решил вернуться к данной теме.
Может кто подсказать по работе 595 и 165 регистра ? через SPI.
Хочу заказать PCB но не уверен в правильности некоторых мыслей.

Смог заставить работать(симулироваться) данную схему подав на 165 регистр инвертированный выход SS . а на 595 прямой.

схема:
СпойлерИзображение
Вложения
DipTrace Schematic - CDD.pdf
(280.73 КБ) 283 скачивания
andrei23061996@gmail.com
.................................................................................................................
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

[uquote="7seg",url="/forum/viewtopic.php?p=3363853#p3363853"]Смог заставить работать(симулироваться) данную схему подав на 165 регистр инвертированный выход SS . а на 595 прямой.[/uquote]
Я пожадничал и не ставил инвертор, т.е. входы загрузки 165 и 595 соединены напрямую с SS контроллера (tiny2313). Опрос не без геммороя, т.к. защелкивание у них по разным фронтам, но оно работает в железе. Просто запись из массива для индикации в 595 идет нормально, а чтение из 165 в массив "нажатых кнопок" со сдвигом на один элемент. Организация: 8х16 светодиодов+8x16 кнопок.
Возможно с инвертором будет проще с точки зрения организации программы.
СпойлерИзображение
Вложения
dyn_165_595.PNG
(46.7 КБ) 406 скачиваний
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

Просто PCB чуть меньше A4 поэтому не жалко место под одну микру.
И еще есть вопросик по поводу ресета при включении 595 регистра. я его R62,C1,U17. Правильно ли я понял логику сброса ?(чтобы при включении не пошел сигнал на релюшки.
andrei23061996@gmail.com
.................................................................................................................
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Вроде как должно работать, судя по логике, сначала вверх OE и вниз WR, потом после зарядки C1, переключается наоборот... Но я бы все равно при запуске контроллера, на всякий случай, туда при первой же возможности нули загнал.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 303
Зарегистрирован: Ср май 03, 2017 03:22:26

Сообщение 7seg »

Вот и готова PCB прототипа ПЛК )) возможно кому пригодится.

TOP
СпойлерИзображение
DOWN
СпойлерИзображение
andrei23061996@gmail.com
.................................................................................................................
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Не пригодится. У меня нет лишних микросхем для управления регистрами. К примеру, из действующего проекта: 3 регистра 74HC165 и 2 регистра 74HC595. Как это все работает, я уже описывал.
Контактная информация:
Ответить

Вернуться в «AVR»