Разработка которую я делаю у меня первая, так что вопросы возможно глупые. Но не обессудьте. Как обычно не хватает ног у микросхемы. 1.У схемы сделана самоподержка по питанию. То есть извне приходит сигнал (ACC). Этот сигнал подает питание на схему и после инициализации контроллер включает поддержку питания (Power_Ctl). Схема: Соответственно задействовано две ноги. Возникла идея вместо того чтобы задействовать две ноги обойтись одной. Поставить по питанию перед L7805 большой электролит и когда пропадет сигнал извне, вход сделать выходом и соответственно поддерживать питание пока не завершится программа. Какие плюсы-минусы есть у такого решения? Может подскажете какое-то иное решение?
2. Ног не хватает. Так у меня реализован вход с ожиданием плюса: Таких входов сейчас 9.
Так у меня реализован вход с ожиданием минуса: Таких входов сейчас 3. Такая реализация обусловлена тем что прибор будет стоять в автомобиле. Остальные ноги заняты выходами. И даже AREF задействован под выход. Ресет перепрограммировать не хочу так как он нужен при настройке прибора. Нужна идея как увеличить число принимаемых сигналов обойдясь тем-же или меньшим количеством ног?
_________________ Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Время реакции и действия определяющее? Можете добавить другие корпуса ИС в конструкции? Как вариант: для входов: analog multiplexer (напр. 74HC4051/52), для выходов: сдвиговые регистры или expanders (напр. PCF8574/75, MCP23008/017), но все они имеют определенные особенности. Я бы попробовал уменьшить активные выходы.
Не понял полностью задачу… для чего использовано два вывода? Один вывод включает поддержку питания (Power_Ctl), а второй вывод какую задачу выполняет?
Цитата:
Таких входов сейчас 9. ... Таких входов сейчас 3.
А сколько надо? И что это за сигналы? С какой длительностью они будут приходить? Нюансов быть может очень много… задаёшь вопрос но конкретики не достаточно, а ведь от нюансов может многое зависеть… Если контроль данных сигналов допустимо реализовать поочерёдно, то тогда можно использовать для этой цели мультиплексор (к примеру CD4051). При использовании четыре вывода МК и одного мультиплексора, можно контролировать 8 входных сигналов. При использовании двух мультиплексоров и используя пять выводов МК, можно контролировать поочерёдно 16 входов…
Цитата:
Остальные ноги заняты выходами.
Для расширения выходных сигналов, можно использовать регистр сдвига (к примеру 74НС595)… при использовании трёх (максимум 4) выводов МК, получаем 8 выходных сигналов при использовании одного регистра и 16 выходов при использовании двух регистров и тд…
Цитата:
И даже AREF задействован под выход.
Что касается вывода AREF МК, то его использовать как обычный Вход/Выход невозможно… так как это вход опорного напряжения для АЦП.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Проектирование сверху вниз. Устройство. И поехали. Что за устройство? Скорее всего участникам проще будет ответить, если они будут понимать картину в целом.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
может сделать подачу питания по схеме транзистор-тестера Маркуса?
Не понял, но попробую разобраться.
veso74 писал(а):
Время реакции и действия определяющее?
Не совсем понял о чем речь.
veso74 писал(а):
Можете добавить другие корпуса ИС в конструкции?
Могу. Но хочется обойтись минимумом компонент. И так для первого устройства сложность несколько излишняя получается.
veso74 писал(а):
Я бы попробовал уменьшить активные выходы.
Выходов всего 7 из них 6 управление силовыми механизмами. Электромоторы и лампы. А 7-ой индикация. Он как раз на AREF и висит.
VNS писал(а):
Не понял полностью задачу… для чего использовано два вывода? Один вывод включает поддержку питания (Power_Ctl), а второй вывод какую задачу выполняет?
Второй собственно сигнал о том что схеме надо включиться и выключиться. Не только это, но для БП важно именно это. То есть ACC появилось и схема стартовала. пока ACC есть схема работает штатно. ACC пропало схема переходит в режим ожидания выключения, отрабатывает программу и обесточивает себя.
VNS писал(а):
А сколько надо? И что это за сигналы? С какой длительностью они будут приходить? Нюансов быть может очень много… задаёшь вопрос но конкретики не достаточно, а ведь от нюансов может многое зависеть…
Если кратко, то 14. Понимаю что конкретики не достаточно. Чтобы сразу ответить на все вопросы просто ниже дам описание устройства и схему на данный момент.
VNS писал(а):
Для расширения выходных сигналов, можно использовать регистр сдвига (к примеру 74НС595)…
С выходами все норм там уменьшать ноги не надо. Хотя наверное еще 1 выход я бы добавил.... Так СТОП. И так уже ног не хватает...
VNS писал(а):
Что касается вывода AREF МК, то его использовать как обычный Вход/Выход невозможно… так как это вход опорного напряжения для АЦП.
А я и не говорил что это обычный выход. На нем индикаторный светодиод. Реализовано так: void Led_change(void) { // -- тут будем мигать светодиодом подключенным на #AREF if (ADMUX > 0x46) ADMUX = 0x07; else ADMUX = 0x47; } Не, ну а чего он просто так будет болтаться? Пусть хоть индикатором мигает.
Demiurg писал(а):
Проектирование сверху вниз. Устройство. И поехали. Что за устройство? Скорее всего участникам проще будет ответить, если они будут понимать картину в целом.
В общем давно хотел попробовать что-то сделать на МК, даже было несколько попыток прерванных на разных стадиях. В основном на стадии покупки компонент. По итогу без дела лежала год ATMega8 в дип корпусе, горсть рассыпухи, макетная плата и программатор USBAsp. А тут звезды сошлись. Сдох штатный ипоньский блок автоматики стеклоподъемников и случайно попалась статья DI HALT как раз на эту тему. Собственно основные идеи слямзил у него и творчески переработал. Получилось вот это: Ну а когда основа была нарисована и начал писать код, как обычно захотелось добавить фич. Идеи есть, а ног у микросхемы, как выяснилось в процессе, кОтострофически мало. Вот и ищу решения. Стараюсь использовать те компоненты которые уже куплены или просто исторически есть. Ну а что? На Си и Асме я никогда не программировал, платы не разрабатывал, схемы для МК и прочей логики не делал и даже плату последний раз травил году наверное в 1985-ом примерно. Вот и сижу масштабно всё изучаю. Вот такая в целом картина выходит.
P.S. Картинка вышла черная почему-то. Кому удобнее вот pdf. P.P.S.На ДХО и подсветке пока висят реле но будут вместо них MOSFET и ШИМ. Просто пока не нарисовал.
_________________ Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Это самое простое решение. Взять МК с большим количеством ног. Но это не спортивно. Чему я научусь если каждый раз буду выбирать самый простой путь? Если бы задача была бы не учебной, а типовой на потоке и меня поджимало время я бы конечно так и поступил.
_________________ Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Одно дело запустить управление напр. с expanderа для динамическая индикация, а другое, например. для реле (с переключением напр. несколько раз в минуту максимум). Управление I2C быстрое, но не настолько быстрое. ---
Цитата:
veso74: ... Я бы попробовал уменьшить активные выходы.
Retrograd: Выходов всего 7 из них 6 управление силовыми механизмами ...
Моя идея не била оптимизация выхода вообще (ето вероятно уже сделали), а как "первый эксперимент": пропуская выходы через регистр расширителя/сдвиговой регистр - путь к большему количеству выходов в схеме. И так будет как первая попытка с "высокой вероятностью успеха". --- MCP23017, используете два пина, управляете 16 выходами/или digital входами. Если не хватает количество, подключаете еще один чип по I2C и становится 2 х 16 = 32 (и меняете I2C адрес). По "простого пути" (изменение адреса каждой микросхемы) можно управлять 8 х 16 входа/выхода к два вывода MCU (для I2C). Управление можно как по хардуерная I2C шина, так и по софтуерная I2C. Схема из интернета, просто для идеи. Минус один: ИС подорожали . --- Многo входы - цифровые, их тоже можно вставить в expander, даже объединены с выходами.
А я и не говорил что это обычный выход. На нем индикаторный светодиод. Реализовано так:
Как это реализовывается никому не секрет… только вот нагрузочная способность данного вывода мне неизвестна… посему использование на свой страх и риск... к тому же при его использовании можно забыть про использование АЦП… в общим такого рода мазохизм лично я не приветствую… но дело хозяйское…
Что касается схемы, а именно делителей на схеме, то я бы использовал другие номиналы (4,7 кОм и 1,5 кОм) и не ставил бы стабилитроны… кварц в данной схеме не нужен от слова совсем… пусть тактируется на 8 МГц от внутреннего генератора… таким образом высвобождается два вывода… для восьми входных сигналов использовал бы мультиплексор (как писал ранее) – это позволит задействовать всего четыре вывода МК в место восьми… для выходов (кроме ШИМ) использовал бы регистр сдвига (как писал ранее), это управление пятью реле и двумя светодиодами… два вывода ШИМ это РВ1 и РВ2… управлением регистра задействовал бы эти четыре освободившиеся вывода… и того пока задействовано 10 выводов… далее входа которые контролируют замыкание на общую шину GND подключаем напрямую к МК – это пять входов согласно схемы… и того остаются ещё семь свободных выводов МК… и не надо извращаться с AREF… если я правильно всё увидел…
Одно дело запустить управление напр. с expanderа для динамическая индикация, а другое, например. для реле (с переключением напр. несколько раз в минуту максимум). ... MCP23017, используете два пина, управляете 16 выходами/или digital входами.
Теперь понял. Но пока не готов на такой подход. Мне по идее надо всего то добавить 1-2 входа и в идеале +1 выход. Просто в процессе работы родилась пара идей и если получится то хочется реализовать в этой конструкции. Ну а если не получится то и не так уж и страшно.
Добавлено after 44 minutes 37 seconds:
VNS писал(а):
Как это реализовывается никому не секрет… только вот нагрузочная способность данного вывода мне неизвестна… посему использование на свой страх и риск... к тому же при его использовании можно забыть про использование АЦП… в общим такого рода мазохизм лично я не приветствую… но дело хозяйское…
От 20 до 40 миллиампер можно грузить. Так что светодиод тянет прекрасно. Тем более индикаторный. Ну мож перестрахуюсь и транзистор залеплю. А АЦП в данной схеме просто не нужен. Так что ИМХО это вариант. А может быть попробовать кнопки повесить через делитель напряжения как раз на AREF.....
VNS писал(а):
Что касается схемы, а именно делителей на схеме, то я бы использовал другие номиналы (4,7 кОм и 1,5 кОм)
Ну собственно почему и нет. Обдумаю.
VNS писал(а):
и не ставил бы стабилитроны…
А вот это никак нельзя убирать. В сети автомобиля бывают иголки вольт до 60 легко. Стабы тут, в том числе, и для защиты контроллера нужны. На входы то 14 вольт подается.
VNS писал(а):
кварц в данной схеме не нужен от слова совсем… пусть тактируется на 8 МГц от внутреннего генератора… таким образом высвобождается два вывода…
Так и было пока я не почитал насчет морозоустойчивости ATMega8. Народ рассказывает (из обширной практики) что от внутреннего RC тактуется прекрасно примерно градусов до -22 а потом бывает что МК и не стартует на холодную. Причем бывает даже что в одной партии часть корпусов нормально стартует , а часть в -22 рогом упирается и пока не подогреешь не стартует. Эту проблему лечат или подогревом или установкой кварца. С кварцем морозоустойчивость на старте резко повышается. Подогрев поставить конечно можно, но мне подумалось что кварц как-то надежнее. Всё это дело будет работать в автомобиле. И следовательно вполне может столкнуться и с -40. А уж -30 увидит однозначно и не однократно. Я когда кварц на схему дорисовывал горько плакал и мне пришлось изрядно проявить фантазию чтобы эти две ноги под кварц отдать почти не отказываясь от функционала и не усложняя схему. А вообще, согласен. Кварц тут лишний. Всё прекрасно могло бы работать и без него.
VNS писал(а):
для восьми входных сигналов использовал бы мультиплексор (как писал ранее) – это позволит задействовать всего четыре вывода МК в место восьми… для выходов (кроме ШИМ) использовал бы регистр сдвига (как писал ранее), это управление пятью реле и двумя светодиодами… два вывода ШИМ это РВ1 и РВ2… управлением регистра задействовал бы эти четыре освободившиеся вывода… и того пока задействовано 10 выводов… далее входа которые контролируют замыкание на общую шину GND подключаем напрямую к МК – это пять входов согласно схемы… и того остаются ещё семь свободных выводов МК… и не надо извращаться с AREF… если я правильно всё увидел…
Думаю что правильно увидели. Только светодиод там один всего. Я немного недопонял пока написанное, но еще почитаю и разберусь. Может быть задам еще вопрос. Спасибо.
_________________ Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Это самое простое решение. Взять МК с большим количеством ног. Но это не спортивно. Чему я научусь если каждый раз буду выбирать самый простой путь? Если бы задача была бы не учебной, а типовой на потоке и меня поджимало время я бы конечно так и поступил.
Неверно рассуждаете. МК выбирается под задачу. Либо количеством ног, либо расширение ввода вывода.
для управления питанием можно занимать и 1 ногу, я делал... сигнал от кнопки и от мк шел по 1 проводу, но в этом случае при нажатой кнопке питание подается принудительно (вне зависимости от желания мк) Спойлер в верхней схеме для отключения питания достаточно отключить подтяжку, состояние кнопки отображается в регистре PIN (1-нажата 0-отпущена). в нижней схеме для отключения питания нужно включить порт на выход и вывести в него 1, состояние кнопки отображается в регистре PIN (1-отпущена, 0-нажата), порт д.б. в Z состоянии. в этой схеме, при большой емкости в питании возможно, придется добавить небольшой конденсатор с эмиттера Q4 в точку соединения резисторов 1kOm, хотя мне не понадобилось.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
для управления питанием можно занимать и 1 ногу, я делал... сигнал от кнопки и от мк шел по 1 проводу, но в этом случае при нажатой кнопке питание подается принудительно (вне зависимости от желания мк)
Спасибо. Это вероятно как раз примерно то что мне нужно.
Неверно рассуждаете. МК выбирается под задачу. Либо количеством ног, либо расширение ввода вывода.
Не могу согласиться. В школе, на геометрии, а может и не только на геометрии просто про геометрию помню точно, мне попадались задачки в которых вопрос сформулирован примерно так: "По имеющимся данным вычислите длину отрезка АБ или докажите что это сделать невозможно". Такие задачи очень развивают гибкость мышления и способствуют изучению базового материала. Это причина по которой я не согласен с вашим подходом. Точнее даже не с самим подходом, а с критериями выбора. Я согласен что МК выбирается под задачу, но разве повод сразу хватать более мощный МК если для решения задачи не хватает пары ног? И разве повод сразу лепить на плату новый корпус если не хватило ног? Зачастую, немного подумав, можно обойтись одним диодом. В частности если посмотреть на схему, то можно увидеть что за входом J14 стоит просто диод, а пока ног хватало там висел и триггер и даже под этот вход была занята отдельная нога МК. По этому ваш подход я могу одобрить только если задача производственная и важнейший критерий, время разработки устройства. То есть конечная цена устройства и много прочих моментов являются не важными. А если говорить о задачах учебных, то ваш подход даже вреден. Потому как приучает ученика не думать, а тупо использовать простые типовые подходы. При вашем подходе к обучению в итоге мы получаем жутко не оптимальных монстров типа виндовс и умных электрочайников на 64-х битном микропроцессоре.
_________________ Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Retrograd, рассуждения верны, но следует рассматривать на конкретном примере конструкции: устройство для хобби?, устройство для дополнительной деятельности?, задача, серьезная деятельность и т.п.
Иногда решающее значение имеет время решения задачи, беру из коробки другой контроллер и решаю проблему на месте. Почти такая же цена (и самое главное: с возможностью улучшения (upgrade) конфигурации в будущем с другими узлами и командами).
А в другой случай просто думаем: есть ли другие способы? (напр. возможно ли с меньшим количеством контактов?). Всегда бесконечны решения. Как "мозговой штурм" (brainstorm) даже. Посмотрите на старые конструкции микроконтроллеров (напр. 16F84A), любимая задача: например, дисплей LCD и много пинов, во много раз превышает количество выводов микроконтроллера. На тех же выводах, сканируются по время, с переключением цикла.
Но в случае с автомобилем бы сделал безусловно с: каждый компонент (кнопка, вход, выход) - на отдельном пине. Таким образом, программно легко можно реализовать множество софт. способов стабильной работы, например, debounce кнопки (дребезг контактов или входов), чтения состояния несколько раз, проверку при выполнении и т.д.
А если говорить о задачах учебных, то ваш подход даже вреден. Потому как приучает ученика не думать, а тупо использовать простые типовые подходы.
Ну вот, спросил совета и тут же с высоты своего знания дал выволочку советующим. А сам ведь только в начале пути. И количество лап тут далеко не первостепенное. Если предполагается всё это использовать в автомобиле - при первом же включении навалятся помехи. И нужно будет продумывать более тонкие вещи: развязки, фильтрация, экранирование, разводка. Массу сюрпризов сулит этот путь. А что касается максимальной минимизации , для меня этот вопрос звучит так: сделать дёшево - или сделать хорошо. Я всегда для себя пытался реализовать второй вариант, даже если для этого понадобится вкорячить ещё один МК. Не нами придумано: скупой платит дважды.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения