Jump to content
nekromant

Помогите выбрать МК для проекта

Recommended Posts

Сразу оговорюсь, что это будет мой первый опыт общения с микроконтроллерами.

Есть лоджия на которой весит 8 жалюзи и захотелось мне приляпать к ним электропривод. Посмотрев кучу роликов и статей пришел к связке мотор+датчик положения(потенциометр)+геркон(что бы привод не включился при поднятых жалюзи).

и того имеем: на одно жалюзи 3 цифровых выхода и 1 налоговый вход, 2 кнопки открыть-закрыть, что в сумме составляет 26 цифровых выходов и 8 аналоговых входов. Так же нужно будет(когда нибудь) соединить это устройство в сеть другими устройствами(по проводам скорей всего по UART-RS485).

Хотелось бы подобрать, что нибудь из AVR, но от количества информации голова пухнет и глаза разбегаются. В голову лезет все начиная от меги16 с расширителем портов до меги 2560.

Помогите подобрать оптимальный камушек под задачу.

 

Share this post


Link to post
Share on other sites

Если это единичный проект - берите МК с запасом, из расчёта того, что Вы - новичок и код Ваш будет неоптимальным. 50-100 рублей на переплату за более лучший МК - ерунда.

 

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Проект единичный. То есть можно брать 1280 или 2560 и не глумить себе себе голову? А по какому протоколу лучше организовать связь между устройствами?

Если я правильно понял то при 485 надо дополнительно головное устройство

Edited by nekromant

Share this post


Link to post
Share on other sites

Материалы вебинара Параметры выше, цена ниже. Обновление в линейке AC/DC- и DC/DC-преобразователей MORNSUN

Опубликованы запись, ответы на вопросы и материалы вебинара, посвящённого преимуществам и отличиям новых источников питания и DC/DC-преобразователей Mornsun. На вебинаре были рассмотрены изолированные и неизолированные DC/DC-преобразователи последнего, четвертого, поколения (R4) и компактные модульные источники питания второго и третьего поколений (семейства LS/R3 и LD/R2) на плату, также новая группа продукции – встраиваемые источники питания в кожухе.

Подробнее

Запускаем новый BLE 5.2-чип BlueNRG-LP от STMicroelectronics

Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.

Подробнее

Зачем геркон, если есть датчик положения в виде переменного резистора? Просто при калибровке запомнить сколько напряжения с него снимается в верхнем и нижнем положении жалюзи. Исходя из этого при подаче команды открыть/закрыть проверять положение и выдавать/не выдавать команду. Записать эти значения в EEPROM, чтобы при выключении питания они не забылись.
Количество кнопок можно сократить до трёх - одной выбирать номер жалюзи, две других - открыть/закрыть. Только тогда нужен индикатор номера - или восемь одиночных светодиодов или семисегментный индикатор. В любом из этих случаев достаточно 74hc595 и трёх ножек МК.
Для управления 16 выходами (открыть/закрыть) достаточно двух 74hc595. В итоге нужен будет МК всего с 3+3=6 цифровых портов.
Для опроса переменных резисторов можно применить либо МК с большим количеством ножек, например ATmega48/88/168/328, но 8 аналоговых портов только у микросхем в TQPF и MLF корпусах, а делать под них печатную плату и паять - это опыт нужен. Проще применить аналоговый мультиплексор, например К561КП2. Тогда достаточно будет 1 аналоговый вход и три цифровых для адреса.

Более того, можно извратиться и использовать для управления всеми 74hc595 всего один вывод, для трёх кнопок тоже один, один аналоговый вход, а для адресации мультиплексора поставить ещё одну 74hc595. Тогда можно обойтись ATtiny13A в 8-выводном корпусе! И ещё две ножки свободные останутся ;)

PS Честно говоря, не совсем понимаю, зачем здесь переменные резисторы? Необходимо знать только верхнее и нижнее положения, чтобы не включить в ненужную сторону. Для этого достаточно герконов или концевых выключателей. И тогда всё прекрасно собирается на мелкой логике, без МК. Дешевле и надёжнее.

Edited by oldmao

Share this post


Link to post
Share on other sites

Материалы вебинара Практическое использование TrustZone в STM32L5

Материалы вебинара, посвященного экосистеме безопасности и возможностях, которые дает новая технология TrustZone в МК STM32L5, содержат две подробные практические работы: создание простого приложения с изоляцией в TrustZone, и пример отладки и тестирования TFM-SBSFU. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Проблем много будет с проводкой и наводками, эти ведь жалюзи не в одном месте расположены. Делайте на каждую жалюзи по схеме - не надо будет тянуть аналоговые и силовые линии на десятки метров и защищать их от помех.

Кстати и грозозащиту не забыть, длинный проводок подключенный напрямую к МК - верная его смерть во время грозы.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites
37 минут назад, Alexeyslav сказал:

Проблем много будет с проводкой и наводками....

Кстати и грозозащиту не забыть....

Все жалюзи находятся в одном месте, установлены на раме лоджии. Максимальная длинна провода, до крайней точки не будет превышать 10 метров. В качестве линий планируется использовать витую пару CAT7.

1 час назад, oldmao сказал:

Зачем геркон, если есть датчик положения в виде переменного резистора?

Датчик положения показывает только положение лепестков жалюзи, геркон нужен для защиты от включения привода при поднятых, а не открытых жалюзи жалюзи.

1 час назад, oldmao сказал:

Количество кнопок можно сократить до трёх - одной выбирать номер жалюзи, две других - открыть/закрыть. Только тогда нужен индикатор номера - или восемь одиночных светодиодов или семисегментный индикатор.

Кнопок нужно всего 2 (это для временного управления пока нет остальных блоков) и достаточно всего 2 положения все открыты - все закрыты. В дальнейшем в системе будет еще несколько устройств: 3 пульта, блок управления приточной вентиляцией, блок управления вытяжкой, управление кондиционером, аквастоп. В дальнейшем они будут управляться с пультов, а так же связаны с управлением кондиционера.

1 час назад, oldmao сказал:

Для опроса переменных резисторов можно применить либо МК с большим количеством ножек, например ATmega48/88/168/328, но 8 аналоговых портов только у микросхем в TQPF и MLF корпусах, а делать под них печатную плату и паять - это опыт нужен.

Спаять не проблема.

 

1 час назад, oldmao сказал:

PS Честно говоря, не совсем понимаю, зачем здесь переменные резисторы? Необходимо знать только верхнее и нижнее положения, чтобы не включить в ненужную сторону. Для этого достаточно герконов или концевых выключателей. И тогда всё прекрасно собирается на мелкой логике, без МК. Дешевле и надёжнее.

Любое горизонтальной жалюзи имеет 5 средних положений закрыто-приоткрыто-открыто-приоткрыто-закрыто, от направления в какую сторону повернуты лепестки зависит освещенность помещения. Так как медленно но верно на лоджии оборудуется мой уголок то необходима возможность независимого управления некоторыми из жалюзи.

Share this post


Link to post
Share on other sites

Ясно. Тогда ATmega328 в TQPF хватит. 8 аналоговых входов и 14 цифровых входов/выходов. Поскольку планируется расширение, то выходы целесообразно сразу делать на 74hc595. Это займёт всего три ножки МК, независимо от количества выходов, 74hc595 прекрасно каскадируются.

Share this post


Link to post
Share on other sites

Имхо, на каждый привод берите отдельный МК, и управляйте всей связкой либо от общих кнопок, либо от еще одного МК - это уж как вам больше понравится. В этом случае МК можно брать самый примитивный, например, если управлять моторчиком при помощи реле, то, пожалуй, справится даже attiny13 (не считайте это предположение безусловно верным - это предположение). Написать прошивку управления одним мотором для начинающего - это посильная задача. Сделать то же самое сразу для 6 - я оцениваю, как в минимум в 3 раза более сложную задачу.

Кроме того, в этом случае у вас будет минимум проводов: 2 провода питания к приводу, и 1 провод управления. В то время как при использовании "многоножечного" МК у вас будет идти пучок из почти 20 проводов.

Edited by ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
1 час назад, ARV сказал:

Имхо, на каждый привод берите отдельный МК,

Была такая идея но отказался из за того, что в моем понимании реализовать это в одном устройстве все же проще чем реализовать управление через UART или SPI таким количеством устройств.

Share this post


Link to post
Share on other sites

Если у вас задача формулируется как "по команде открыть или закрыть все жалюзи" - никакого USART или, упаси бог, SPI вам не понадобится - я же написал: единственный провод управления. В принципе, для домашней системы по одному проводу БЕЗ ПРОТОКОЛОВ можно легко передать и 10 команд... Принцип тот же, что и для контроля положения жалюзи - резисторный. Т.е. подключая к проводку разные резисторы вы формируете в этом проводке разные напряжения, которые обрабатываются АЦП, и уже по итогам принимается решение о том, что надо сделать.

Подумайте хорошенько...


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Ничего сложного, никакие UART и SPI, равно как и другие стандартные интерфейсы здесь не нужны. Один МК ведущий, в сигнальную линию выдаёт постоянно "1". Каждая команда выдаётся определённым количеством "0". Каждый МК на жалюзи (ведомый) тупо спит, просыпаясь по спаду напряжения на сигнальном проводе. Проснувшись, начинает считать импульсы. То есть проверять через определённое время наличие 0 и 1 на проводе. Встретив две 1 подряд понимает, что это конец передачи. Каждому ведомому выделены номера команд, им соответствует количество импульсов.
Если уж совсем правильно - реализовать протокол 1-Wire master/slave. Тогда и ответ можно от ведомых МК получать (результат выполения команды, ошибка).

Share this post


Link to post
Share on other sites
Только что, oldmao сказал:

Каждая команда выдаётся определённым количеством "0".

Слишком сложно для начинающего, тем более для первого проекта. См. моё предложение выше.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

Даже с UART будут проблемы у начинающих.

10 метров проводов - нужна грозозащита в обязательном порядке, у меня от 30 см провода в сильную грозу вышибло незащищенный порт(защита только от статики) а примерно 5 метров провода разорвало микросхему вольтметра напополам, во время той же грозы. Моторчикам с реле то пофигу, а вот чувствительные сигнальные входы с потенциометра(если он не 100-Омный) и концевиков - это проблема.

Один общий девайс разработать будет гораздо сложнее чем одиночный и размасштабировать его. Представьте, у вас будет десяток реле на одной плате которые захотят включиться одновременно - это будет импульс по цепям питания около 1А, и если не предпринять меры - контроллер будет виснуть! и таких мелочей в проекте наберётся сотни, которые надо будет учитывать иначе всё будет постоянно глючить по непонятным причинам.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

ТС, вы хотите решить задачу или научиться программировать микроконтроллеры? Если только задачу, то возьмите Ардуину, как из кирпичей соберете что надо.

Share this post


Link to post
Share on other sites
56 минут назад, aoao сказал:

ТС, вы хотите решить задачу или научиться программировать микроконтроллеры? Если только задачу, то возьмите Ардуину, как из кирпичей соберете что надо.

Хочу и задачу решить и программирование пощупать так как это только первое устройство из запланированных. В сторону Ардуино смотрел но, что то не насмотрелось.

Реле в схеме не будет. вот на этом L293D драйвере. На счет грозы странно это. Дом у меня новый земля есть. Витуха CAT7 помимо общего экрана имеет экран на каждой паре.

Что такого сложного в реализации всего в одном устройстве? Схемотехника? Код?

Edited by nekromant

Share this post


Link to post
Share on other sites

 

Цитата

В дальнейшем в системе будет еще несколько устройств: 3 пульта, блок управления приточной вентиляцией, блок управления вытяжкой, управление кондиционером, аквастоп. В дальнейшем они будут управляться с пультов, а так же связаны с управлением кондиционера.

Тогда можно сделать: главный мк- подчиненный (несколько),как автор писал выше,связь по uart (можно по rs232 ,можно и rs485 ). Плюсы- 4 провода подключения, легко настроить, возможно подключение к ПК (даже через labview), готовые модули ардуино (самые дешевые, без usb на м328, а прошивку через isp). Минусы- на каждые жалюзи мк и переходник ( хотя можно и сгруппировать некоторые жалюзи).

Share this post


Link to post
Share on other sites
Цитата

На счет грозы странно это. Дом у меня новый земля есть. Витуха CAT7 помимо общего экрана имеет экран на каждой паре.

Жирно витуху 7-й категории для этих целей использовать. Да и экранировать ещё надо правильно уметь.
От надёжности заземления действие грозы не спасает. Я так понял, что в том случае было попадание шаровой молнии в стену дома, она стекла по контуру заземления, который дал наводку на все близлежащие провода - они играли роль антенн а заземляющая шина - передатчика. В одной из розеток потом обнаружился след разряда с фазы на заземляющий контакт - там было сантиметра два минимум. А сгорел порт вместе с материнкой у компютера который просто стоял в комнате с ОТКЛЮЧЕННЫМ от системника шнуром питания. В порт просто были вставлены проводки, а при последующем включении компьютера выгорел чип и материнка.
Так что если хочешь чтобы всё работало годами, защита от "статики" по входам обязательна, причём от хорошей статики а не человеческой, на которую такие защиты обычно рассчитывают. Тут надо ещё сказать что такие мощные грозы не всегда бывают, может раз в 5-10 лет и тебе будет казаться что система будет работать вечно, до тех пор пока такая гроза не произойдёт и не выжгет всю твою чудо-схему с некоторой долей вероятности.

Кроме того, в таких схемах сложно будет разводить силовую часть - большое количество импульсных токов приведёт к неожиданным проблемам, особенно если все драйвера будут синхронно открываться.

Edited by Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

А не возникнет ли потом проблем с управлением этой гирляндой? При одноплатной реализации можно создать разные сценарии работы и отслеживать их выполнение. в случае же с 8 отдельными устройствами организовать это будет сложнее. Защиту портов могу подсмотреть на работе на блоках расширения от ИСБ. Они уже отработали более 10 лет не смотря на грозы и 220 гуляющем по стенам. на некоторых портах линии достигают до 200 метров длинной обычным КСПВ 4х0.5.

А вот насчет бросков тока вопрос. Хотя можно разделить шины питания силовой и цифровой части. На ардуино ведь есть шилды на 16 реле. К тому же запитано все будет от ИБП, а как показала практика акб очень хорошо сглаживают броски тока.

Edited by nekromant

Share this post


Link to post
Share on other sites

Шилды-то есть, но обычно умалчивается что если попытаться клацнуть всеми реле сразу то будут проблемы...

Там скорей не только понадобится разделить шины, а еще и источники питания и гальваническую развязку между цифровой и силовой частью организовать.

Не знаю, наверно интересно будет на эту тему почитать книжку "Конструирование высокоскоростных цифровых устройств. Начальный курс чёрной магии" ISBN 5-8459-0807-8 (рус.) книжка гуглится, и даже покупается. Там хорошо показана теория на примерах. Правда, есть один минус от этой книжки... от прозрения все разрабатываемые ранее конструкции становятся неудовлетворительными.


Учение - изучение правил. Опыт - изучение исключений.

Share this post


Link to post
Share on other sites

Спасибо за наводку обязательно почитаю. Если время будет завтра посмотрю как защита портов организована на железках. Может не только мне пригодится.

Edited by nekromant

Share this post


Link to post
Share on other sites
6 часов назад, nekromant сказал:

...Что такого сложного в реализации всего в одном устройстве? Схемотехника? Код?

Решение. Правильное решение, как лучше все это сделать.

Share this post


Link to post
Share on other sites

Если взять микру RS485 и мелкий tiny13 можно слепить масштабируемую систему с обратной связью. Большой мк-мастер,все остальные-слейвы.С родным протоколом можно не заморачиваться,написать простенький свой. Например,мастер шлет стартбайт(два,три,сколько надо),код нужного приемника,код команды ну и по желанию что-нибудь стоповое,или разделительное.Слейв уловил своё имя,выполняет команду,переключается на передачу шлет подтверждение и опять на приёме.Таким образом все слейвы слушают линию.Мастер принимает и выводит на экран,лед,лсд и проч.Давно делал так в теплицы опрос датчиков влаги,температуры,газоанализаторов,приводов форточек, что-то ещё,уже и не помню.Вполне устойчиво работало.Да,вспомнил,для каждого слейва сначала посылал запрос,если он откликался,слал команду на выполнение.Таким образом каждая жалюзи может быть отдельным блоком.Можно снять,перевесить в другое место и т.п.Выдернул разъем,перенёс,вдёрнул разъём.Вся передача данных в два провода и уложится.Вот тут про 485 доходчиво. Как-то так...

Edited by proekt07

Share this post


Link to post
Share on other sites

8 жалюзи это далеко не Ваша теплица. с каждым постом все усложняют и усложняют. ТС явно сказал, в програмировании только начинает, зачем вы отбиваете у него желание?))))))


Не знаеш как? Спроси у Google'а !!!

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • надо заранее покупать "ессентуки" просто
    • Ну, справедливости ради, надо заметить, что бывают такие запои, что лучше не просыпаться
    • Мы его поставили только для того, чтобы ничего не сжечь и увидеть, если в схеме неисправность. Без этого резистора эта схема работает (в статике, в динамике - без разницы) так: Светодиод - это практически стабилитрон. В широком диапазоне токов на нём будет примерно тот же "вольт с хвостиком". На базо-эмиттерном переходе транзистора, находящегося в режиме близко к открытому, тоже будет фиксированное напряжение, практически не зависящее от тока, примерно 0,7 В. Это вы можете видеть на вашей схеме. А ток через светодиод будет определяться произведением тока базы (3 В - 1,93 В)/ 10 кОм = 0,107 мА на коэффициент усиления по току транзистора, равного 250. Итого, ток через светодиод равен 0,107 мА * 250 = 26 мА. Это вы тоже можете видеть на своей схеме. Если убрать резистор в коллекторе, то напряжение на коллекторе просто с 2,3 В увеличится до 3 В, что практически никак не повлияет на режим работы этой схемы. Транзистор на грани открытия, но не в насыщении, ток коллектора (практически он же - ток эмиттера) ограничен током базы, т.е. фактически резистором в базе транзистора. Такая схема (без коллекторного резистора) не очень стабильна в диапазоне температур, но в комнате это не страшно, зато позволяет "выжать" максимальный ток. Поэтому, чтобы ещё увеличить ток через светодиод, этот резистор можно спокойно убрать. Но если будет достаточно полученных 26 мА, можно его и оставить, - на коллекторе ещё остаётся 2,3 В, этот резистор на ограничение тока ещё не влияет. Он начнёт влиять на ограничение тока только с уровня (3 В - 1,22 В)/ 27 Ом = 66 мА.   Тогда лучше ограничиться током до 60 мА.   Нет.  "Поможет" уменьшение номинала резистора в базе. Зная теперь h21 транзистора, его легко пересчитать. Чтобы поднять ток до 60 мА (точно в импульсе безопасно практически для любого ИК-светодиода), номинал резистора в базе должен быть (3 В - 1,93 В)/(60 мА / 250) = 4,3 кОм. Ток с выхода контроллера (он же - ток в базу) при этом будет 0,24 мА - гораздо меньше максимально-допустимого. Если вы про ИК-светодиод и про ток через него, то да, конечно. Чем больше ток, тем больше излучение, тем больше сигнал на входе приёмника. Но с дальностью действия ток связан нелинейно. При увеличении тока в два раза дальность увеличится существенно меньше, чем в два раза. Надеюсь теперь вы без проблем доведёте свой пульт "до ума".
    • А почему такой высоковольтный полевик применяется? 900В куда столько, чем плох 8n60? 600В вполне годится для обратнохода а вот 500 уже на удачу.
    • а есть ли в продаже заводские платки Парафинн мини?
    • И тебе главное не перепутай детальки
×
×
  • Create New...