.................................................................................................................
Динамическая индикация на 74HC595
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
Demiurg , спасибо то что нужно )
andrei23061996@gmail.com
.................................................................................................................
.................................................................................................................
- Реклама
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
КР293КП1А. У этого оптрона фишка в том, что выход можно спараллелить. Получаем выход постоянный ток, но умощненный в 2 раза. DIP-6.
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
DIP 6 слишком большой(. Мне их надо 30шт в одну линию на длину 150мм растянуть и в минимальную ширину.
andrei23061996@gmail.com
.................................................................................................................
.................................................................................................................
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
Чем оптроны будут управлять?
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
Катушками распределителями на пневмоострове. 24V.
Добавлено after 33 seconds:
Ток потребления по замерам прибора 40mA.
Добавлено after 2 minutes 35 seconds:
Можно ли оптимизировать по размеру данную ф() ?. То чет она слишком много флеша съедает.(
Я вот думаю мб не через ретурн а через указатель менять значение ?
Добавлено after 4 minutes 1 second:
Пока вызов функции.
Добавлено 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
Настоятельно рекомендую отказаться от идеи управлять катушками напрямую от оптронов. У индуктивной нагрузки пусковой ток в разы больше рабочего. Ведь вам не хотелось бы выезжать на объекты из-за своего просчета?
- Сообщения: 580
- Зарегистрирован: Пт ноя 08, 2013 01:01:18
Уважаемые коты! Решил не плодить новые темы, так как смотрю вроде тема живая. Вопрос вот в чем. Решил сделать динамическую индикацию на 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
Личный опыт: я протеусом не пользуюсь. По простой причине. Для AVR это стороннее программное обеспечение. Есть свои нюансы, с которыми нужно разбираться. И новички постоянно наступают на эти грабли. Как же, паять ничего не нужно, открыл проект в протеусе и типа ты в шоколаде. Результат налицо. Постоянно появляется очередной плакальщик - ни хера не работает, що делать-то а?
Забудьте про протеус, все равно он не показывает многие моменты, которые происходят в железе.
Научитесь работать в AVR Studio. Это единственный симулятор, который правильно показывает, что происходит в кишках МК и в программе.
Также научитесь тестировать свои устройства. Как аппаратно, так и при помощи программных закладок. Светодиоды, дисплей, UART (вывод в COM-порт ПК). Осциллограф.
Да, нужно паять макетки. А как вы хотели? Программы нужно тестировать только на железе. Только так вы выявите косяки.
Алгоритм создания проектов. Модульное программирование. Тестовые программые закладки. Помодульное тестирование как в симуляторе, так и на железе.
Забудьте про протеус, все равно он не показывает многие моменты, которые происходят в железе.
Научитесь работать в AVR Studio. Это единственный симулятор, который правильно показывает, что происходит в кишках МК и в программе.
Также научитесь тестировать свои устройства. Как аппаратно, так и при помощи программных закладок. Светодиоды, дисплей, UART (вывод в COM-порт ПК). Осциллограф.
Да, нужно паять макетки. А как вы хотели? Программы нужно тестировать только на железе. Только так вы выявите косяки.
Алгоритм создания проектов. Модульное программирование. Тестовые программые закладки. Помодульное тестирование как в симуляторе, так и на железе.
- Сообщения: 580
- Зарегистрирован: Пт ноя 08, 2013 01:01:18
А мое мнение, что программа, работающая в протеус будет гарантировано работать в железе. И допустим если необходимо проверить какое-либо программное решение, то протеус самое оно. Есть отладочная плата на ATmega328. но не всегда есть возможность использовать аппартное решение, если есть доступ только к компьютеру. То для отладки удобно использовать протеус. А насчет результата. Так даже реализовав в железе какую-либо конструкцию на столе она работать отлично, а когда устанавливается на объекте, начинаются разные неполадки, которые ни протеусом, ни отладкой на столе не определишь. Если нет опыта в реализации и на грабли наступаешь.
ЗЫ. Есть пару примеров, но там используется не библиотека для работы с 74HC595, а просто весь код написан в main и для примера вызывается через delay в основном цикле. Но когда используешь этот код в своей программе, начинает все работать неправильно. А написать весь код библиотеки не хватает опыта.
ЗЫ. Есть пару примеров, но там используется не библиотека для работы с 74HC595, а просто весь код написан в main и для примера вызывается через delay в основном цикле. Но когда используешь этот код в своей программе, начинает все работать неправильно. А написать весь код библиотеки не хватает опыта.
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
[uquote="melandr",url="/forum/viewtopic.php?p=3246805#p3246805"]А мое мнение, что программа, работающая в протеус будет гарантировано работать в железе.[/uquote]
Оспорю. Если новичок не знает, что такое дребезг контактов, то в протеусе все будет работать, на железе огребет косяки. Это простейший режим.
Когда нет железа, программу можно прекрасно отладить в симуляторе студии. На самом деле настоящий симулятор у программиста в голове. Если он знает как работает железо, свою программу, то большая часть работы происходит у него в голове. Симулятор и натурная работа устройства лишь подтверждает или отвергает мысленные конструкции программиста.
Оспорю. Если новичок не знает, что такое дребезг контактов, то в протеусе все будет работать, на железе огребет косяки. Это простейший режим.
Когда нет железа, программу можно прекрасно отладить в симуляторе студии. На самом деле настоящий симулятор у программиста в голове. Если он знает как работает железо, свою программу, то большая часть работы происходит у него в голове. Симулятор и натурная работа устройства лишь подтверждает или отвергает мысленные конструкции программиста.
- Сообщения: 580
- Зарегистрирован: Пт ноя 08, 2013 01:01:18
С дребезгом согласен. Ну я так и написал, что в железе могут потом вылезти траблы, если эти моменты не учитывать. Но если нужно проверить работу с датчиком температуры или датчиком влажности, и его модель есть в Протеус. То довольно удобно.
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
Решил вернуться к данной теме.
Может кто подсказать по работе 595 и 165 регистра ? через SPI.
Хочу заказать PCB но не уверен в правильности некоторых мыслей.
Смог заставить работать(симулироваться) данную схему подав на 165 регистр инвертированный выход SS . а на 595 прямой.
схема:
Может кто подсказать по работе 595 и 165 регистра ? через SPI.
Хочу заказать PCB но не уверен в правильности некоторых мыслей.
Смог заставить работать(симулироваться) данную схему подав на 165 регистр инвертированный выход SS . а на 595 прямой.
схема:
Спойлер

- Вложения
-
- DipTrace Schematic - CDD.pdf
- (280.73 КБ) 283 скачивания
andrei23061996@gmail.com
.................................................................................................................
.................................................................................................................
[uquote="7seg",url="/forum/viewtopic.php?p=3363853#p3363853"]Смог заставить работать(симулироваться) данную схему подав на 165 регистр инвертированный выход SS . а на 595 прямой.[/uquote]
Я пожадничал и не ставил инвертор, т.е. входы загрузки 165 и 595 соединены напрямую с SS контроллера (tiny2313). Опрос не без геммороя, т.к. защелкивание у них по разным фронтам, но оно работает в железе. Просто запись из массива для индикации в 595 идет нормально, а чтение из 165 в массив "нажатых кнопок" со сдвигом на один элемент. Организация: 8х16 светодиодов+8x16 кнопок.
Возможно с инвертором будет проще с точки зрения организации программы.
Я пожадничал и не ставил инвертор, т.е. входы загрузки 165 и 595 соединены напрямую с SS контроллера (tiny2313). Опрос не без геммороя, т.к. защелкивание у них по разным фронтам, но оно работает в железе. Просто запись из массива для индикации в 595 идет нормально, а чтение из 165 в массив "нажатых кнопок" со сдвигом на один элемент. Организация: 8х16 светодиодов+8x16 кнопок.
Возможно с инвертором будет проще с точки зрения организации программы.
Спойлер
- Вложения
-
- dyn_165_595.PNG
- (46.7 КБ) 405 скачиваний
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
Просто PCB чуть меньше A4 поэтому не жалко место под одну микру.
И еще есть вопросик по поводу ресета при включении 595 регистра. я его R62,C1,U17. Правильно ли я понял логику сброса ?(чтобы при включении не пошел сигнал на релюшки.
И еще есть вопросик по поводу ресета при включении 595 регистра. я его R62,C1,U17. Правильно ли я понял логику сброса ?(чтобы при включении не пошел сигнал на релюшки.
andrei23061996@gmail.com
.................................................................................................................
.................................................................................................................
Вроде как должно работать, судя по логике, сначала вверх OE и вниз WR, потом после зарядки C1, переключается наоборот... Но я бы все равно при запуске контроллера, на всякий случай, туда при первой же возможности нули загнал.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- Сообщения: 303
- Зарегистрирован: Ср май 03, 2017 03:22:26
Вот и готова PCB прототипа ПЛК )) возможно кому пригодится.
TOP
DOWN

TOP
Спойлер

Спойлер

andrei23061996@gmail.com
.................................................................................................................
.................................................................................................................
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
Не пригодится. У меня нет лишних микросхем для управления регистрами. К примеру, из действующего проекта: 3 регистра 74HC165 и 2 регистра 74HC595. Как это все работает, я уже описывал.


