Страница 1 из 2

Прошу проверить схему на PIC

Добавлено: Вс ноя 03, 2013 20:03:03
delphine
Прошу помощи от специалистов.

С паяльником дружу, а вот в составлении схем и выборе компонентов не очень.
На основе примеров, нарисовал схемку. Проверил в Протеусе, МК отрабатывает как нужно, но перед тем как закупать элементы и паять, прошу проверить, правильно ли я всё нарисовал. (все необходимые файлы находятся в прикрепленном архиве).
Так же у кого есть возможность, проверить программу МК на наличие явных ошибок, т.к. это моя первая программа, и я не уверен в её правильности.
Все схемы рисовал сам, и программу писал сам.

Суть устройства, в зависимости от того что имеем на входе, получать нужный сигнал на выходе.

Немного поясню по схеме.
Слева выключателей не будет. Это для симуляции нарисовал. На вход будут поступать сигналы с другого устройства у которого на выходе p-канальные полевые транзисторы.
Справа на схеме лампочки тоже для симуляции. Туда вместо ламп будут подключаться реле-соленоиды который находятся в следующем устройстве.

Re: Прошу проверить схему на PIC

Добавлено: Вс ноя 03, 2013 22:56:01
otest
1. MCLR подтяни к +5 через 10ком. МК тоже запитай от 5в.
2. На входе ULN не обязательно. Достаточно делителя из резисторов.
3. На выходе полевики не нужны. ULN достаточно для управления реле.
Программу смотреть не хочется. Откуда такой стиль написания?

Re: Прошу проверить схему на PIC

Добавлено: Вс ноя 03, 2013 23:25:31
delphine
Большое спасибо за советы. Подправлю схему, но опять же вопросы.
1. MCLR подтяни к +5 через 10ком.
А если MCLR external не подкючен изначально, то всё равно нужно подтягивать? А то он (в симуляторе) в ресет уходит, только если нет подтяжки при включении внешнего сброса.
МК тоже запитай от 5в.
Это на плате я уже заметил, что нету. поправил.
2. На входе ULN не обязательно. Достаточно делителя из резисторов.
У меня на входе будет +12V. В принципе для этой развязки я и применил ULN. Или достаточно будет резисторов? И да, устройство будет использоваться в автомобиле, поэтому эти 12v могут колебаться 8-16 v. В случае применения делителя может ещё тогда диоды на входе поставить? И ещё по МК тогда. Правильно ли я понимаю, что при данной схеме нужно будет отключить внутренние подтягивающие резисторы.
3. На выходе полевики не нужны. ULN достаточно для управления реле.
Мне на выходе нужен плюс. Т.к. подключаемые реле уже имеют общий минус. Переделать нельзя. Ну и потребляемый ток реле-соленоидов от 0,2 до 1 А.
Программу смотреть не хочется. Откуда такой стиль написания?
Стиль я так понимаю убогий? Ну вообще это первый опыт, поэтому как смог. Писал в JALе. Потом он сам компилировал.

Re: Прошу проверить схему на PIC

Добавлено: Вс ноя 03, 2013 23:56:12
Fallk
Вы главное на эту схему ничего жизнено важного не вешайте в автомобиле, такого как запирания дверей или запуск/останов двигателя например. Применение простых микросхем в таких сложных условиях будут давать частые сбои. Тут и бешеные помехи от двигателя и диапазон рабочих температур от -30 до +60. Просто если не дай бог от данного девайса будет зависеть жизнь, лучше все хорошо продумать. Например закрытие двери, авария и прибор по закону подлости откажет. Возня с заблокированной дверью может печально обернуться.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 00:05:13
delphine
Да, это понятно. Могу в принципе рассказать что это.
Сейчас в автомобиле стоит пневмоподвеска. И мозг, что ей должен управлять, имеет 8 выходов (4 на спуск, 4 на подъем). У меня используется схема подключения для 6-выходного блока управления (4 общих, и по одному на спуск и подъем). Перепрошить готовый мозг нет возможности. А сделать переходник с 8 на 6 - есть.
И если даже это устройство откажет, то есть альтернативный (ручной) вариант управления.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 11:16:35
otest
Если MCLR настроить как цифровой вход , то подтяжка не нужна.
поэтому эти 12v могут колебаться 8-16 v
А не слишком большие колебания? Даже при них делитель справится т.к. лог.1=>2.4в
Если на вх. применить ULN , то нужно включить подтяжки.
1А не великий ток. Если взять полевик с током затвора <10ma, то можно включить их напрямую в порт.
Пиши как все в MPLAB и код будет понятным.
Если нужна перекодировка с 8 бит на 6 бит, то лучше применить таблицу перекодировки. Всего 64 значения и 4 команды.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 12:44:33
dosikus
О decoupling конденсаторах никто даже не заикнулся , да и обвязка стабилизатора от фонаря .
Фильтр и защиту от глитчей на питальник так же обязательно ...
delphine писал(а):Стиль я так понимаю убогий?
А нет никакого стиля то . Несвязные куски кода .
Вдобавок прямой пред посыл на грабли в виде RMW ...

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 13:47:48
Dmitry Dubrovenko
otest писал(а):Если MCLR настроить как цифровой вход
Насколько помню, у 876A #MCLR не настраивается. :wink:

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 19:05:10
delphine
А не слишком большие колебания?
Это всётаки автомобиль. Поэтому сложно сказать. Беру с запасом.
Если на вх. применить ULN , то нужно включить подтяжки.
Это да, програмно уже включил.
Пиши как все в MPLAB и код будет понятным.
К сожалению выбрал то, что смог осилить с первого взгляда. В MPLAB так и не смог разобраться. А в этом вроде попроще. Но понимаю, что не освоив MPLAB будет сложно общаться со спецами.
Если нужна перекодировка с 8 бит на 6 бит, то лучше применить таблицу перекодировки. Всего 64 значения и 4 команды.
Мне бы хотя бы пример, что бы понять о чем ты. Я вообще, как бы, профан ещё.
Если MCLR настроить как цифровой вход , то подтяжка не нужна.
Насколько помню, у 876A #MCLR не настраивается
Да, на этом МК его можно либо включить на внешний сброс, либо вообще не включать. Т.е. если не включаю, то и подтяжка не нужна?

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 19:13:44
otest
Мне бы хотя бы пример, что бы понять о чем ты.
Мне бы тоже понять, что нужно перекодировать. Если 8 бит информации то в 6 бит их не загониш. А если не все 8 информационные то можно. Выкладывай свою таблицу что во что перекодируется . В программе сложно понять.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 19:19:26
delphine
dosikus писал(а):О decoupling конденсаторах никто даже не заикнулся , да и обвязка стабилизатора от фонаря .
Фильтр и защиту от глитчей на питальник так же обязательно ...
delphine писал(а):Стиль я так понимаю убогий?
А нет никакого стиля то . Несвязные куски кода.
Вдобавок прямой пред посыл на грабли в виде RMW ...
Узнал для себя как минимум три новых слова :)
Из этого понял что у МК около ноги питания нужен Развязывающий конденсатор. На 100nF достаточно?
Обвязку стабилизатора брал естественно из даташита. Поэтому и такая простая. Попробую полистать ещё примеры схем с использованием данного стабилизатора. Возможно что то лучше смогу нарисовать.
Ну и про "грабли в виде RMW" естественно тоже ничего не понял, т.к. ещё ниразу на них не наступал :oops:
otest писал(а):
Мне бы хотя бы пример, что бы понять о чем ты.
Мне бы тоже понять, что нужно перекодировать. Если 8 бит информации то в 6 бит их не загониш. А если не все 8 информационные то можно. Выкладывай свою таблицу что во что перекодируется . В программе сложно понять.
В каком виде таблица? в виде 1 и 0? Просто не очень, если честно, понимаю. :oops:

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 20:38:39
otest
В каком виде таблица?
По какому алгоритму делаеш преобразование я не ведаю.
По питанию отдельный разговор. Не забывай что в бортовой сети авто гуляют импульсы от 100 до 400в.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 20:57:54
delphine
Прикрепил таблицу. В принципе получилось 31 значений.
И тут как бы ещё условие.
Не знаю как бы попроще объяснить.
Имеем 8 входов. Скажем так. 4 кнопки вверх. 4 кнопки вниз.
Нажали кнопку вверх (1,2 или все 4, без разницы). Во первых МК должен перестать смотреть на кнопки вниз (т.е. оставшиеся 4 входа, пока не отпустим все кнопки вверх). И включать те выходные каналы, которые соответствую нажатой кнопке.
Если нажали кнопку вниз, то действовать аналогично, т.е. МК должен перестать смотреть на кнопки вверх, пока не отпустим все кнопки вниз.
Ну а какие каналы должны включаться при нажатии кнопки, попробовал описать в прикрепленной таблице.

Re: Прошу проверить схему на PIC

Добавлено: Пн ноя 04, 2013 21:09:53
otest
Тогда получается 2 не зависимых канала по 4 бит перевести в 6 бит.

Re: Прошу проверить схему на PIC

Добавлено: Вт ноя 05, 2013 22:54:49
nirq
Антидребезг бы, по-хорошему бы.
Или толку с того кода... или желающих его читать, или хоть какой-то смысл... write-only.

Re: Прошу проверить схему на PIC

Добавлено: Вт ноя 05, 2013 22:56:23
delphine
nirq писал(а):Антидребезг бы, по-хорошему бы.
На входах на самом деле не кнопки стоят. Там выходы с полевиков.

Re: Прошу проверить схему на PIC

Добавлено: Вт ноя 05, 2013 23:11:30
nirq
Антидребезг не перестал бы быть быть хорошим, даже если обходиться без "здесь паять, здесь не паять, здесь рыбу заворачивали" удалось бы.
Но цель-то попоучать, а не признаться в неправоте! Поэтому вторая попытка блеснуть, это самое.... соригинальничать.

Чат.

Re: Прошу проверить схему на PIC

Добавлено: Вт ноя 05, 2013 23:19:23
delphine
Никого не хотел обидеть.
Если правильно понял, антидребезг не помешает в любом случае? А на счет диодного дешифратора недопонял.

PS. Выслушав советы, немного переделал схему (в прикрепленном файле).
Немного исправил питание (но тут думаю ещё не всё закончено). На входе PIC применил делитель, и избавился от одной ULN. Повесил конденсатор на питание МК. К MCLR подтянул 5в.

С программой думаю не всё так просто (хотя в теории и на этой будет работать), т.к. благодаря вам ;) поставил МБЛАБ, и начинаю "курить" литературу по по программированию.

Re: Прошу проверить схему на PIC

Добавлено: Чт ноя 07, 2013 19:31:36
Dmitry Dubrovenko
delphine писал(а):его можно либо включить на внешний сброс, либо вообще не включать
Откуда такая информация?
Нельзя его там "не включать".

Re: Прошу проверить схему на PIC

Добавлено: Пт ноя 08, 2013 00:52:43
delphine
Спасиб. Это я уже понял. В схеме есть подтяжка. А в окончательной ещё и диод с конденсатором :)