Недавно я написал первый пост о том, как начал переделывать обычные светодиодные светильники в диммируемые. Многим не понравилось что свой диммер я делаю на базе микроконтроллера ATmega128. Поэтому хочу объяснить, почему используется именно этот микроконтроллер, и почему в наше время разрабатывая что-то ДЛЯ СЕБЯ, не стоит стремиться всё делать на самом слабеньком микроконтроллере, способном протянуть только лишь функционал разрабатываемого вами устройства.
Чтобы под каждое устройство умного дома не разрабатывать плату с нуля, я решил сделать универсальную плату на базе микроконтроллера ATmega128, к которой уже будут подключаться более специализированные платы для конкретных устройств.
Почему был выбран именно этот микроконтроллер? Да всё просто, потому что по цене ATmega128 всего на 20 центов дороже чем чем ATtiny2313. А ATtiny2313 стоит столько же, сколько и ATmega8. То есть уже про ATtiny2313 можно забыть как страшный сон.
Привожу пару картинок с ценами на AliExpress (а именно там я покупаю детальки) и идём дальше.
ATtiny2313:
ATmega8:
ATmega128:
ATmega2561:
Думаю комментарии излишни, сейчас даже для мигалки обычным светодиодиком куда выгоднее и рациональнее брать сразу ATmega128 чем 8 мегу, про тиньку и вообще молчу, забудьте про её существование как страшный сон. Да даже штук 5 транзисторов и резисторов для мигалки, уже будут стоить больше чем ATmega128. Так что забудьте про все микроконтроллеры слабее 128 меги, их использование в домашних проектах просто невыгодно и нерационально со всех сторон как ни посмотри. Да-да друзья мои, хочется вам или нет, но таковы реалии современного мира.
Следующий аргумент можно заметить если сравнить внимательно распиновку ножек ATmega128 и ATmega2561.
Видим что распиновка ножек очень похожа, выводы SPI для программирования МК совпадают, так же совпадают и выводы питания, в общем почти всё совпадает, там буквально пару ножек различается которые ни на что не влияют, к чему я это веду, да к тому, что разработав плату для ATmega128, вы спокойно можете при необходимости купить и впаять в неё более производительный ATmega2561, а тут и памяти под программу больше в 2 раза и "оперативки". Например, мой главный модуль умного дома будет построен именно на ATmega2561, а остальные на ATmega128. Как итог, мне не нужно будет самому изготавливать плату для ATmega2561. Не знаю как кому, а лично мне, изготавливать в домашних условиях платы для smd микросхем тот ещё геморрой. Ну не люблю я разводить такую мелюзгу, особенно ЛУТ-том (другой технологии я пока не освоил). Заказывать в Китае 10 плат ради одного модуля тоже не выгодно. А так мы разводим универсальную плату на базе ATmega128, и в одну из плат впаиваем ATmega2561 для главного модуля умного дома. Как итог, все наши платы для микроконтроллеров изготовлены на заводе в Китае, а в заводские платы даже впаивать smd микроконтроллеры проще, чем в платы собственного изготовления, во всяком случае для меня.
Ну и собственно к самой теме поста.
Схема моих универсальных плат для умного дома:
Вот такие платы пришли из Китая:
После разрезания и впаивания компонентов платы выглядят так:
Плата с модулем ADM488 для связывания всех модулей умного дома в единую сеть:
Плата с модулем беспроводной связи nRF24L01+:
Как видите, на универсальной плате есть 2 специализированных разъёма, для модуля ADM488 и для модуля nRF24L01+, вся остальная периферия подключаемая к таким универсальным платам будет подключаться шлейфами к выведенным штырькам.
Вот собственно и всё. Может кто-то подчерпнёт какие-нибудь полезные идеи и для себя.
sav13
А не проще взять было модуль NRF52?
И железо нормальное и сеть интегрирована
igor_yanovich Автор
Может кому-то и проще.
Вы поймите одну маленькую вещь. Пока вы будете строить такой проект как умный дом, многое уже может морально устареть, сейчас каждый день выходят новые модули в 100 раз лучше чем были вчера, будете каждый день хвататься за новое и переделывать уже сделанное, никогда ничего не сделаете до конца вообще.
Лучше уже довести свои задумки пусть и со старыми технологиями до конца, а уже потом начать по новой всё обновлять, постепенно, не ломая работу старого, при этом у вас уже будет рабочий умный дом.
nochkin
А можно попробовать абстрагироваться так, что смена МК не будет вести за собой глобальную переделку всей системы?
igor_yanovich Автор
Абстрагируйтесь, я ж не против.
nochkin
Сложно абстрагироваться за кого-то в его собственном проекте.
IlyaGalkin
Ваш умный дом уже морально устарел в 2009-м… Брать атмегу128 и nRF24 в 2021-м это прям некрофилия даже для пет-проектов.
При чем я так и не понял зачем брать отдельно МК, отдельно радио чип, если такие вещи очень очень давно интегрированы и можно сделать все сильно лучше и за те же деньги. Взяв условный ESP8266 скорость разработки повысилась бы в разы, там даже разрабатывать то ничего не пришлось бы, все давно написано и надо лишь под себя кастомизировать
igor_yanovich Автор
А AVR-ам 25 лет, и я их начал изучать когда ваши nRF даже никто создавать не панировал.
Не вижу смысла изучать их, чтобы делать только лишь устройства для умного дома.
Лучше буду использовать то, что уже знаю.
vgtutf
Если выходит что-то новое, разве это означает, что нужно использовать что-то, что устарело много лет назад?
igor_yanovich Автор
Ну это ваше мнение и не более. А по факту что имеем, вот есть задача сделать термостат к примеру, я сделаю на AVR, вы на STM, кто-то на nRF, а кто-то и вообще возьмёт лате панду, да-да, лате панду, может для него вопрос денег вообще не стоит. И то что я и вы не может себе позволить лате панду для такого это сугубо наши проблемы. Если человека это устраивает, то почему нет. Ни нам его судить!
igor_yanovich Автор
За всем новым не угонишься, когда начал изучать AVR этих NRF52 наверное и в помине не было.
Koyanisqatsi
Вам нужно изучачать новое! ARM микроконтроллеры это лучшее что сейчас есть!
AndyPike
Чтобы поморгать светодиодом? Я, вообще, из другого лагеря, для меня PIC16F73 за глаза на всё. RS485 прикрутил, и в бой. Кто к чему привык, короче говоря (ESP/AVR/NFR/ etc), остальное — религия. Инструменты разные, цель одна.
В подрозетник должно вмещаться, я тут плохо вижу размеры. Много пустого места на плате. Видимо, габариты не важны. Там в круг надо вписаться.
igor_yanovich Автор
Я ж НЕ ПРОТИВ, я просто в этом посте ответил на вопрос, почему я использовать 128 мегу, а не тиньку. Да-да, тут есть такие люди у которых комом в горле встал это вопрос и им почему-то не всё равно кто и на чём что делает. Мне вот всё равно :)
igor_yanovich Автор
ПОЛНОСТЬЮ СОГЛАСЕН! Всё остальное действительно религия и тараканы каждого.
Пожалуй это единственный умный комментарий из всех :( все остальные в силу разных причин пытаются навязывать каждому что-то своё.
igor_yanovich Автор
А я 12-13 лет назад как раз и выбирал, что начать изучать AVR или PIC. Всё таки остановился на AVR, вроде тогда для них примеров побольше было и проще было осваивать с нуля самому без чьей либо помощи.
st1373
RemoteXY если есть желание помигать светодиодом с телефона, можно через интернет