2 вопроса по подключению ATMega8

Обсуждаем контроллеры компании Atmel.
Retrograd
Открыл глаза
Сообщения: 72
Зарегистрирован: Пн авг 01, 2022 19:06:25
Откуда: Россия

2 вопроса по подключению ATMega8

Сообщение Retrograd »

Разработка которую я делаю у меня первая, так что вопросы возможно глупые. Но не обессудьте.
Как обычно не хватает ног у микросхемы.
1.У схемы сделана самоподержка по питанию. То есть извне приходит сигнал (ACC). Этот сигнал подает питание на схему и после инициализации контроллер включает поддержку питания (Power_Ctl). Схема:
Изображение
Соответственно задействовано две ноги. Возникла идея вместо того чтобы задействовать две ноги обойтись одной. Поставить по питанию перед L7805 большой электролит и когда пропадет сигнал извне, вход сделать выходом и соответственно поддерживать питание пока не завершится программа. Какие плюсы-минусы есть у такого решения? Может подскажете какое-то иное решение?

2. Ног не хватает.
Так у меня реализован вход с ожиданием плюса:
Изображение
Таких входов сейчас 9.

Так у меня реализован вход с ожиданием минуса:
Изображение
Таких входов сейчас 3.
Такая реализация обусловлена тем что прибор будет стоять в автомобиле. Остальные ноги заняты выходами. И даже AREF задействован под выход. Ресет перепрограммировать не хочу так как он нужен при настройке прибора. Нужна идея как увеличить число принимаемых сигналов обойдясь тем-же или меньшим количеством ног?
Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Home_Maker
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Чт янв 27, 2011 19:16:09

Re: 2 вопроса по подключению ATMega8

Сообщение Home_Maker »

может сделать подачу питания по схеме транзистор-тестера Маркуса?
veso74
Поставщик валерьянки для Кота
Сообщения: 1902
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 вопроса по подключению ATMega8

Сообщение veso74 »

Время реакции и действия определяющее? Можете добавить другие корпуса ИС в конструкции?
Как вариант: для входов: analog multiplexer (напр. 74HC4051/52), для выходов: сдвиговые регистры или expanders (напр. PCF8574/75, MCP23008/017), но все они имеют определенные особенности. Я бы попробовал уменьшить активные выходы.
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: 2 вопроса по подключению ATMega8

Сообщение VNS »

Соответственно задействовано две ноги.

Не понял полностью задачу… для чего использовано два вывода? Один вывод включает поддержку питания (Power_Ctl), а второй вывод какую задачу выполняет?
Таких входов сейчас 9.
... Таких входов сейчас 3.

А сколько надо? И что это за сигналы? С какой длительностью они будут приходить? Нюансов быть может очень много… задаёшь вопрос но конкретики не достаточно, а ведь от нюансов может многое зависеть…
Если контроль данных сигналов допустимо реализовать поочерёдно, то тогда можно использовать для этой цели мультиплексор (к примеру CD4051). При использовании четыре вывода МК и одного мультиплексора, можно контролировать 8 входных сигналов. При использовании двух мультиплексоров и используя пять выводов МК, можно контролировать поочерёдно 16 входов…
Остальные ноги заняты выходами.

Для расширения выходных сигналов, можно использовать регистр сдвига (к примеру 74НС595)… при использовании трёх (максимум 4) выводов МК, получаем 8 выходных сигналов при использовании одного регистра и 16 выходов при использовании двух регистров и тд…
И даже AREF задействован под выход.

:shock: Что касается вывода AREF МК, то его использовать как обычный Вход/Выход невозможно… так как это вход опорного напряжения для АЦП. :dont_know:
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: 2 вопроса по подключению ATMega8

Сообщение Demiurg »

Проектирование сверху вниз. Устройство. И поехали. Что за устройство? Скорее всего участникам проще будет ответить, если они будут понимать картину в целом.
OKF
Это не хвост, это антенна
Сообщения: 1379
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: 2 вопроса по подключению ATMega8

Сообщение OKF »

:shock: Что касается вывода AREF МК, то его использовать как обычный Вход/Выход невозможно… так как это вход опорного напряжения для АЦП. :dont_know:

"А мужики то и не знают..." что кто то запретил.
Аватара пользователя
Alex_641
Поставщик валерьянки для Кота
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Re: 2 вопроса по подключению ATMega8

Сообщение Alex_641 »

Никто не запрещал, но он только ареф .
Не спрашивай по ком звонит колокол, он звонит по тебе !
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: 2 вопроса по подключению ATMega8

Сообщение VNS »

"А мужики то и не знают..." что кто то запретил.

Я не имел ввиду мазохистов… :)))
Retrograd
Открыл глаза
Сообщения: 72
Зарегистрирован: Пн авг 01, 2022 19:06:25
Откуда: Россия

Re: 2 вопроса по подключению ATMega8

Сообщение Retrograd »

может сделать подачу питания по схеме транзистор-тестера Маркуса?

Не понял, но попробую разобраться.
veso74 писал(а):Время реакции и действия определяющее?

Не совсем понял о чем речь.
veso74 писал(а):Можете добавить другие корпуса ИС в конструкции?

Могу. Но хочется обойтись минимумом компонент. И так для первого устройства сложность несколько излишняя получается.
veso74 писал(а):Я бы попробовал уменьшить активные выходы.

Выходов всего 7 из них 6 управление силовыми механизмами. Электромоторы и лампы. А 7-ой индикация. Он как раз на AREF и висит.

VNS писал(а):Не понял полностью задачу… для чего использовано два вывода? Один вывод включает поддержку питания (Power_Ctl), а второй вывод какую задачу выполняет?

Второй собственно сигнал о том что схеме надо включиться и выключиться. Не только это, но для БП важно именно это. То есть ACC появилось и схема стартовала. пока ACC есть схема работает штатно. ACC пропало схема переходит в режим ожидания выключения, отрабатывает программу и обесточивает себя.

VNS писал(а):А сколько надо? И что это за сигналы? С какой длительностью они будут приходить? Нюансов быть может очень много… задаёшь вопрос но конкретики не достаточно, а ведь от нюансов может многое зависеть…

Если кратко, то 14. Понимаю что конкретики не достаточно. Чтобы сразу ответить на все вопросы просто ниже дам описание устройства и схему на данный момент.
VNS писал(а):Для расширения выходных сигналов, можно использовать регистр сдвига (к примеру 74НС595)…

С выходами все норм там уменьшать ноги не надо. Хотя наверное еще 1 выход я бы добавил.... Так СТОП. И так уже ног не хватает... :))
VNS писал(а): :shock: Что касается вывода AREF МК, то его использовать как обычный Вход/Выход невозможно… так как это вход опорного напряжения для АЦП. :dont_know:

А я и не говорил что это обычный выход. :) На нем индикаторный светодиод. Реализовано так:
void Led_change(void)
{ // -- тут будем мигать светодиодом подключенным на #AREF
if (ADMUX > 0x46)
ADMUX = 0x07;
else
ADMUX = 0x47;
}

:)) Не, ну а чего он просто так будет болтаться? Пусть хоть индикатором мигает. 8)
Demiurg писал(а):Проектирование сверху вниз. Устройство. И поехали. Что за устройство? Скорее всего участникам проще будет ответить, если они будут понимать картину в целом.

В общем давно хотел попробовать что-то сделать на МК, даже было несколько попыток прерванных на разных стадиях. В основном на стадии покупки компонент. По итогу без дела лежала год ATMega8 в дип корпусе, горсть рассыпухи, макетная плата и программатор USBAsp. А тут звезды сошлись. Сдох штатный ипоньский блок автоматики стеклоподъемников и случайно попалась статья DI HALT как раз на эту тему. Собственно основные идеи слямзил у него и творчески переработал. Получилось вот это:
Изображение
Ну а когда основа была нарисована и начал писать код, как обычно захотелось добавить фич. Идеи есть, а ног у микросхемы, как выяснилось в процессе, кОтострофически мало. :) Вот и ищу решения. Стараюсь использовать те компоненты которые уже куплены или просто исторически есть. Ну а что? На Си и Асме я никогда не программировал, платы не разрабатывал, схемы для МК и прочей логики не делал и даже плату последний раз травил году наверное в 1985-ом примерно. Вот и сижу масштабно всё изучаю. Вот такая в целом картина выходит.

P.S. Картинка вышла черная почему-то. Кому удобнее вот pdf.
P.P.S.На ДХО и подсветке пока висят реле но будут вместо них MOSFET и ШИМ. Просто пока не нарисовал.
Вложения
Plates.pdf
(107.26 КБ) 128 скачиваний
Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: 2 вопроса по подключению ATMega8

Сообщение Starichok51 »

возьми АТмега16, у нее гораздо больше ног.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Retrograd
Открыл глаза
Сообщения: 72
Зарегистрирован: Пн авг 01, 2022 19:06:25
Откуда: Россия

Re: 2 вопроса по подключению ATMega8

Сообщение Retrograd »

возьми АТмега16, у нее гораздо больше ног.

Это самое простое решение. Взять МК с большим количеством ног. Но это не спортивно. Чему я научусь если каждый раз буду выбирать самый простой путь? Если бы задача была бы не учебной, а типовой на потоке и меня поджимало время я бы конечно так и поступил.
Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
veso74
Поставщик валерьянки для Кота
Сообщения: 1902
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 вопроса по подключению ATMega8

Сообщение veso74 »

veso74: Время реакции и действия определяющее?

Retrograd: Не совсем понял о чем речь.

Одно дело запустить управление напр. с expanderа для динамическая индикация, а другое, например. для реле (с переключением напр. несколько раз в минуту максимум). Управление I2C быстрое, но не настолько быстрое.
---
veso74: ... Я бы попробовал уменьшить активные выходы.

Retrograd: Выходов всего 7 из них 6 управление силовыми механизмами ...

Моя идея не била оптимизация выхода вообще (ето вероятно уже сделали), а как "первый эксперимент": пропуская выходы через регистр расширителя/сдвиговой регистр - путь к большему количеству выходов в схеме. И так будет как первая попытка с "высокой вероятностью успеха".
---
MCP23017, используете два пина, управляете 16 выходами/или digital входами. Если не хватает количество, подключаете еще один чип по I2C и становится 2 х 16 = 32 (и меняете I2C адрес). По "простого пути" (изменение адреса каждой микросхемы) можно управлять 8 х 16 входа/выхода к два вывода MCU (для I2C). Управление можно как по хардуерная I2C шина, так и по софтуерная I2C. Схема из интернета, просто для идеи. Минус один: ИС подорожали :).
---
Многo входы - цифровые, их тоже можно вставить в expander, даже объединены с выходами.
Вложения
MCP23017-IO-port-expander-circuit-with-arduino.jpg
(104.78 КБ) 83 скачивания
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: 2 вопроса по подключению ATMega8

Сообщение VNS »

А я и не говорил что это обычный выход. :) На нем индикаторный светодиод. Реализовано так:

Как это реализовывается никому не секрет… только вот нагрузочная способность данного вывода мне неизвестна… посему использование на свой страх и риск... к тому же при его использовании можно забыть про использование АЦП… в общим такого рода мазохизм лично я не приветствую… но дело хозяйское… :)

Что касается схемы, а именно делителей на схеме, то я бы использовал другие номиналы (4,7 кОм и 1,5 кОм) и не ставил бы стабилитроны… кварц в данной схеме не нужен от слова совсем… пусть тактируется на 8 МГц от внутреннего генератора… таким образом высвобождается два вывода… для восьми входных сигналов использовал бы мультиплексор (как писал ранее) – это позволит задействовать всего четыре вывода МК в место восьми… для выходов (кроме ШИМ) использовал бы регистр сдвига (как писал ранее), это управление пятью реле и двумя светодиодами… два вывода ШИМ это РВ1 и РВ2… управлением регистра задействовал бы эти четыре освободившиеся вывода… и того пока задействовано 10 выводов… далее входа которые контролируют замыкание на общую шину GND подключаем напрямую к МК – это пять входов согласно схемы… и того остаются ещё семь свободных выводов МК… и не надо извращаться с AREF… :)) если я правильно всё увидел…
Retrograd
Открыл глаза
Сообщения: 72
Зарегистрирован: Пн авг 01, 2022 19:06:25
Откуда: Россия

Re: 2 вопроса по подключению ATMega8

Сообщение Retrograd »

veso74 писал(а):Одно дело запустить управление напр. с expanderа для динамическая индикация, а другое, например. для реле (с переключением напр. несколько раз в минуту максимум).
...
MCP23017, используете два пина, управляете 16 выходами/или digital входами.

Теперь понял. Но пока не готов на такой подход. Мне по идее надо всего то добавить 1-2 входа и в идеале +1 выход. Просто в процессе работы родилась пара идей и если получится то хочется реализовать в этой конструкции. Ну а если не получится то и не так уж и страшно.

Добавлено after 44 minutes 37 seconds:
VNS писал(а):Как это реализовывается никому не секрет… только вот нагрузочная способность данного вывода мне неизвестна… посему использование на свой страх и риск... к тому же при его использовании можно забыть про использование АЦП… в общим такого рода мазохизм лично я не приветствую… но дело хозяйское… :)

От 20 до 40 миллиампер можно грузить. Так что светодиод тянет прекрасно. Тем более индикаторный. Ну мож перестрахуюсь и транзистор залеплю. А АЦП в данной схеме просто не нужен. Так что ИМХО это вариант.
А может быть попробовать кнопки повесить через делитель напряжения как раз на AREF..... :roll:
VNS писал(а):Что касается схемы, а именно делителей на схеме, то я бы использовал другие номиналы (4,7 кОм и 1,5 кОм)

Ну собственно почему и нет. Обдумаю.
VNS писал(а):и не ставил бы стабилитроны…

А вот это никак нельзя убирать. В сети автомобиля бывают иголки вольт до 60 легко. Стабы тут, в том числе, и для защиты контроллера нужны. На входы то 14 вольт подается.
VNS писал(а):кварц в данной схеме не нужен от слова совсем… пусть тактируется на 8 МГц от внутреннего генератора… таким образом высвобождается два вывода…

Так и было пока я не почитал насчет морозоустойчивости ATMega8. Народ рассказывает (из обширной практики) что от внутреннего RC тактуется прекрасно примерно градусов до -22 а потом бывает что МК и не стартует на холодную. Причем бывает даже что в одной партии часть корпусов нормально стартует , а часть в -22 рогом упирается и пока не подогреешь не стартует. Эту проблему лечат или подогревом или установкой кварца. С кварцем морозоустойчивость на старте резко повышается. :) Подогрев поставить конечно можно, но мне подумалось что кварц как-то надежнее.
Всё это дело будет работать в автомобиле. И следовательно вполне может столкнуться и с -40. А уж -30 увидит однозначно и не однократно.
Я когда кварц на схему дорисовывал горько плакал :cry: и мне пришлось изрядно проявить фантазию чтобы эти две ноги под кварц отдать почти не отказываясь от функционала и не усложняя схему. А вообще, согласен. Кварц тут лишний. Всё прекрасно могло бы работать и без него.
VNS писал(а):для восьми входных сигналов использовал бы мультиплексор (как писал ранее) – это позволит задействовать всего четыре вывода МК в место восьми… для выходов (кроме ШИМ) использовал бы регистр сдвига (как писал ранее), это управление пятью реле и двумя светодиодами… два вывода ШИМ это РВ1 и РВ2… управлением регистра задействовал бы эти четыре освободившиеся вывода… и того пока задействовано 10 выводов… далее входа которые контролируют замыкание на общую шину GND подключаем напрямую к МК – это пять входов согласно схемы… и того остаются ещё семь свободных выводов МК… и не надо извращаться с AREF… :)) если я правильно всё увидел…

Думаю что правильно увидели. Только светодиод там один всего. Я немного недопонял пока написанное, но еще почитаю и разберусь. Может быть задам еще вопрос. Спасибо.
Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: 2 вопроса по подключению ATMega8

Сообщение Demiurg »

[uquote="Starichok51",url="/forum/viewtopic.php?p=4268475#p4268475"]возьми АТмега16, у нее гораздо больше ног.

Это самое простое решение. Взять МК с большим количеством ног. Но это не спортивно. Чему я научусь если каждый раз буду выбирать самый простой путь? Если бы задача была бы не учебной, а типовой на потоке и меня поджимало время я бы конечно так и поступил.[/uquote]
Неверно рассуждаете. МК выбирается под задачу. Либо количеством ног, либо расширение ввода вывода.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: 2 вопроса по подключению ATMega8

Сообщение Ivanoff-iv »

для управления питанием можно занимать и 1 ногу, я делал... сигнал от кнопки и от мк шел по 1 проводу, но в этом случае при нажатой кнопке питание подается принудительно (вне зависимости от желания мк)
СпойлерИзображение
в верхней схеме для отключения питания достаточно отключить подтяжку, состояние кнопки отображается в регистре PIN (1-нажата 0-отпущена).
в нижней схеме для отключения питания нужно включить порт на выход и вывести в него 1, состояние кнопки отображается в регистре PIN (1-отпущена, 0-нажата), порт д.б. в Z состоянии. в этой схеме, при большой емкости в питании возможно, придется добавить небольшой конденсатор с эмиттера Q4 в точку соединения резисторов 1kOm, хотя мне не понадобилось.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
OKF
Это не хвост, это антенна
Сообщения: 1379
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: 2 вопроса по подключению ATMega8

Сообщение OKF »

Никто не запрещал, но он только ареф .

А подумать? Какие может иметь напряжения? Отож.
Retrograd
Открыл глаза
Сообщения: 72
Зарегистрирован: Пн авг 01, 2022 19:06:25
Откуда: Россия

Re: 2 вопроса по подключению ATMega8

Сообщение Retrograd »

для управления питанием можно занимать и 1 ногу, я делал... сигнал от кнопки и от мк шел по 1 проводу, но в этом случае при нажатой кнопке питание подается принудительно (вне зависимости от желания мк)

Спасибо. Это вероятно как раз примерно то что мне нужно.

Добавлено after 1 hour 30 minutes 31 second:
Неверно рассуждаете. МК выбирается под задачу. Либо количеством ног, либо расширение ввода вывода.

Не могу согласиться. В школе, на геометрии, а может и не только на геометрии просто про геометрию помню точно, мне попадались задачки в которых вопрос сформулирован примерно так: "По имеющимся данным вычислите длину отрезка АБ или докажите что это сделать невозможно". Такие задачи очень развивают гибкость мышления и способствуют изучению базового материала.
Это причина по которой я не согласен с вашим подходом. Точнее даже не с самим подходом, а с критериями выбора. Я согласен что МК выбирается под задачу, но разве повод сразу хватать более мощный МК если для решения задачи не хватает пары ног? И разве повод сразу лепить на плату новый корпус если не хватило ног? Зачастую, немного подумав, можно обойтись одним диодом. :)
В частности если посмотреть на схему, Изображение то можно увидеть что за входом J14 стоит просто диод, а пока ног хватало там висел и триггер и даже под этот вход была занята отдельная нога МК.
По этому ваш подход я могу одобрить только если задача производственная и важнейший критерий, время разработки устройства. То есть конечная цена устройства и много прочих моментов являются не важными. А если говорить о задачах учебных, то ваш подход даже вреден. Потому как приучает ученика не думать, а тупо использовать простые типовые подходы. При вашем подходе к обучению в итоге мы получаем жутко не оптимальных монстров типа виндовс и умных электрочайников на 64-х битном микропроцессоре.
Не так страшно показаться идиотом, как страшно оказаться идиотом только потому что постеснялся что-то спросить чтобы не показаться идиотом.
veso74
Поставщик валерьянки для Кота
Сообщения: 1902
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: 2 вопроса по подключению ATMega8

Сообщение veso74 »

Retrograd, рассуждения верны, но следует рассматривать на конкретном примере конструкции: устройство для хобби?, устройство для дополнительной деятельности?, задача, серьезная деятельность и т.п.

Иногда решающее значение имеет время решения задачи, беру из коробки другой контроллер и решаю проблему на месте. Почти такая же цена (и самое главное: с возможностью улучшения (upgrade) конфигурации в будущем с другими узлами и командами).

А в другой случай просто думаем: есть ли другие способы? (напр. возможно ли с меньшим количеством контактов?). Всегда бесконечны решения. Как "мозговой штурм" (brainstorm) даже. Посмотрите на старые конструкции микроконтроллеров (напр. 16F84A), любимая задача: например, дисплей LCD и много пинов, во много раз превышает количество выводов микроконтроллера. На тех же выводах, сканируются по время, с переключением цикла.

Ниже, как ориентир в веселой части для размышлений:
любимое: 2 вывода MCU -> 6 выхода
https://www.edn.com/two-pic-pins-drive-six-leds/

Но в случае с автомобилем бы сделал безусловно с:
каждый компонент (кнопка, вход, выход) - на отдельном пине. Таким образом, программно легко можно реализовать множество софт. способов стабильной работы, например, debounce кнопки (дребезг контактов или входов), чтения состояния несколько раз, проверку при выполнении и т.д.
Вложения
contenteetimes-images-01mdunn-di-di5459sch.png
(51.75 КБ) 74 скачивания
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: 2 вопроса по подключению ATMega8

Сообщение Jack_A »

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

Ну вот, спросил совета и тут же с высоты своего знания дал выволочку советующим. А сам ведь только в начале пути. И количество лап тут далеко не первостепенное. Если предполагается всё это использовать в автомобиле - при первом же включении навалятся помехи. И нужно будет продумывать более тонкие вещи: развязки, фильтрация, экранирование, разводка. Массу сюрпризов сулит этот путь.
А что касается максимальной минимизации :)) , для меня этот вопрос звучит так: сделать дёшево - или сделать хорошо. Я всегда для себя пытался реализовать второй вариант, даже если для этого понадобится вкорячить ещё один МК. Не нами придумано: скупой платит дважды.
Изображение
Ответить

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