С паяльником дружу, а вот в составлении схем и выборе компонентов не очень. На основе примеров, нарисовал схемку. Проверил в Протеусе, МК отрабатывает как нужно, но перед тем как закупать элементы и паять, прошу проверить, правильно ли я всё нарисовал. (все необходимые файлы находятся в прикрепленном архиве). Так же у кого есть возможность, проверить программу МК на наличие явных ошибок, т.к. это моя первая программа, и я не уверен в её правильности. Все схемы рисовал сам, и программу писал сам.
Суть устройства, в зависимости от того что имеем на входе, получать нужный сигнал на выходе.
Немного поясню по схеме. Слева выключателей не будет. Это для симуляции нарисовал. На вход будут поступать сигналы с другого устройства у которого на выходе p-канальные полевые транзисторы. Справа на схеме лампочки тоже для симуляции. Туда вместо ламп будут подключаться реле-соленоиды который находятся в следующем устройстве.
1. MCLR подтяни к +5 через 10ком. МК тоже запитай от 5в. 2. На входе ULN не обязательно. Достаточно делителя из резисторов. 3. На выходе полевики не нужны. ULN достаточно для управления реле. Программу смотреть не хочется. Откуда такой стиль написания?
Большое спасибо за советы. Подправлю схему, но опять же вопросы.
Цитата:
1. MCLR подтяни к +5 через 10ком.
А если MCLR external не подкючен изначально, то всё равно нужно подтягивать? А то он (в симуляторе) в ресет уходит, только если нет подтяжки при включении внешнего сброса.
Цитата:
МК тоже запитай от 5в.
Это на плате я уже заметил, что нету. поправил.
Цитата:
2. На входе ULN не обязательно. Достаточно делителя из резисторов.
У меня на входе будет +12V. В принципе для этой развязки я и применил ULN. Или достаточно будет резисторов? И да, устройство будет использоваться в автомобиле, поэтому эти 12v могут колебаться 8-16 v. В случае применения делителя может ещё тогда диоды на входе поставить? И ещё по МК тогда. Правильно ли я понимаю, что при данной схеме нужно будет отключить внутренние подтягивающие резисторы.
Цитата:
3. На выходе полевики не нужны. ULN достаточно для управления реле.
Мне на выходе нужен плюс. Т.к. подключаемые реле уже имеют общий минус. Переделать нельзя. Ну и потребляемый ток реле-соленоидов от 0,2 до 1 А.
Цитата:
Программу смотреть не хочется. Откуда такой стиль написания?
Стиль я так понимаю убогий? Ну вообще это первый опыт, поэтому как смог. Писал в JALе. Потом он сам компилировал.
Последний раз редактировалось delphine Пн ноя 04, 2013 01:27:44, всего редактировалось 2 раз(а).
Заголовок сообщения: Re: Прошу проверить схему на PIC
Добавлено: Вс ноя 03, 2013 23:56:12
Мудрый кот
Карма: 21
Рейтинг сообщений: 93
Зарегистрирован: Пт май 29, 2009 10:58:47 Сообщений: 1842 Откуда: Саратов
Рейтинг сообщения:0
Вы главное на эту схему ничего жизнено важного не вешайте в автомобиле, такого как запирания дверей или запуск/останов двигателя например. Применение простых микросхем в таких сложных условиях будут давать частые сбои. Тут и бешеные помехи от двигателя и диапазон рабочих температур от -30 до +60. Просто если не дай бог от данного девайса будет зависеть жизнь, лучше все хорошо продумать. Например закрытие двери, авария и прибор по закону подлости откажет. Возня с заблокированной дверью может печально обернуться.
Да, это понятно. Могу в принципе рассказать что это. Сейчас в автомобиле стоит пневмоподвеска. И мозг, что ей должен управлять, имеет 8 выходов (4 на спуск, 4 на подъем). У меня используется схема подключения для 6-выходного блока управления (4 общих, и по одному на спуск и подъем). Перепрошить готовый мозг нет возможности. А сделать переходник с 8 на 6 - есть. И если даже это устройство откажет, то есть альтернативный (ручной) вариант управления.
Если MCLR настроить как цифровой вход , то подтяжка не нужна.
Цитата:
поэтому эти 12v могут колебаться 8-16 v
А не слишком большие колебания? Даже при них делитель справится т.к. лог.1=>2.4в Если на вх. применить ULN , то нужно включить подтяжки. 1А не великий ток. Если взять полевик с током затвора <10ma, то можно включить их напрямую в порт. Пиши как все в MPLAB и код будет понятным. Если нужна перекодировка с 8 бит на 6 бит, то лучше применить таблицу перекодировки. Всего 64 значения и 4 команды.
О decoupling конденсаторах никто даже не заикнулся , да и обвязка стабилизатора от фонаря . Фильтр и защиту от глитчей на питальник так же обязательно ...
delphine писал(а):
Стиль я так понимаю убогий?
А нет никакого стиля то . Несвязные куски кода . Вдобавок прямой пред посыл на грабли в виде RMW ...
Это всётаки автомобиль. Поэтому сложно сказать. Беру с запасом.
Цитата:
Если на вх. применить ULN , то нужно включить подтяжки.
Это да, програмно уже включил.
Цитата:
Пиши как все в MPLAB и код будет понятным.
К сожалению выбрал то, что смог осилить с первого взгляда. В MPLAB так и не смог разобраться. А в этом вроде попроще. Но понимаю, что не освоив MPLAB будет сложно общаться со спецами.
Цитата:
Если нужна перекодировка с 8 бит на 6 бит, то лучше применить таблицу перекодировки. Всего 64 значения и 4 команды.
Мне бы хотя бы пример, что бы понять о чем ты. Я вообще, как бы, профан ещё.
Цитата:
Если MCLR настроить как цифровой вход , то подтяжка не нужна.
Цитата:
Насколько помню, у 876A #MCLR не настраивается
Да, на этом МК его можно либо включить на внешний сброс, либо вообще не включать. Т.е. если не включаю, то и подтяжка не нужна?
Мне бы тоже понять, что нужно перекодировать. Если 8 бит информации то в 6 бит их не загониш. А если не все 8 информационные то можно. Выкладывай свою таблицу что во что перекодируется . В программе сложно понять.
О decoupling конденсаторах никто даже не заикнулся , да и обвязка стабилизатора от фонаря . Фильтр и защиту от глитчей на питальник так же обязательно ...
delphine писал(а):
Стиль я так понимаю убогий?
А нет никакого стиля то . Несвязные куски кода. Вдобавок прямой пред посыл на грабли в виде RMW ...
Узнал для себя как минимум три новых слова Из этого понял что у МК около ноги питания нужен Развязывающий конденсатор. На 100nF достаточно? Обвязку стабилизатора брал естественно из даташита. Поэтому и такая простая. Попробую полистать ещё примеры схем с использованием данного стабилизатора. Возможно что то лучше смогу нарисовать. Ну и про "грабли в виде RMW" естественно тоже ничего не понял, т.к. ещё ниразу на них не наступал
otest писал(а):
Цитата:
Мне бы хотя бы пример, что бы понять о чем ты.
Мне бы тоже понять, что нужно перекодировать. Если 8 бит информации то в 6 бит их не загониш. А если не все 8 информационные то можно. Выкладывай свою таблицу что во что перекодируется . В программе сложно понять.
В каком виде таблица? в виде 1 и 0? Просто не очень, если честно, понимаю.
По какому алгоритму делаеш преобразование я не ведаю. По питанию отдельный разговор. Не забывай что в бортовой сети авто гуляют импульсы от 100 до 400в.
Прикрепил таблицу. В принципе получилось 31 значений. И тут как бы ещё условие. Не знаю как бы попроще объяснить. Имеем 8 входов. Скажем так. 4 кнопки вверх. 4 кнопки вниз. Нажали кнопку вверх (1,2 или все 4, без разницы). Во первых МК должен перестать смотреть на кнопки вниз (т.е. оставшиеся 4 входа, пока не отпустим все кнопки вверх). И включать те выходные каналы, которые соответствую нажатой кнопке. Если нажали кнопку вниз, то действовать аналогично, т.е. МК должен перестать смотреть на кнопки вверх, пока не отпустим все кнопки вниз. Ну а какие каналы должны включаться при нажатии кнопки, попробовал описать в прикрепленной таблице.
Антидребезг не перестал бы быть быть хорошим, даже если обходиться без "здесь паять, здесь не паять, здесь рыбу заворачивали" удалось бы. Но цель-то попоучать, а не признаться в неправоте! Поэтому вторая попытка блеснуть, это самое.... соригинальничать.
Никого не хотел обидеть. Если правильно понял, антидребезг не помешает в любом случае? А на счет диодного дешифратора недопонял.
PS. Выслушав советы, немного переделал схему (в прикрепленном файле). Немного исправил питание (но тут думаю ещё не всё закончено). На входе PIC применил делитель, и избавился от одной ULN. Повесил конденсатор на питание МК. К MCLR подтянул 5в.
С программой думаю не всё так просто (хотя в теории и на этой будет работать), т.к. благодаря вам поставил МБЛАБ, и начинаю "курить" литературу по по программированию.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения