Самодельная Мега2560 версия 3

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Продолжение Этого проекта, пост №81.

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

Разводка и имеющаяся плата:

Поскольку регистр-защелка тут перенесен на саму плату меги (было тупо пустое место и больше воктнуть ничего не получилось), то плата расширения памяти "на обратную сторону" (как и прошлая версия) также претерпела изменения:

.. за счет чего теперь можно на эту же плату уложить модуль работы с SD-картами (отмечен синеньким прямоугольником ещё не разведен).

Учтены все недостатки предыдущей версии разводки и дополнительно теперь ножка Xck0 (третья снизу на левом верт. разъеме платы) заведена как нога управления сигналом CS микросхемы памяти.

Выбор для управления страницами SRAM именно этой ножки обусловлен тем, что интерфейс UART0 по умолчанию используется для заливки программ через USB-переходник и эта нога в общем-то оказывается "никому не нужна" .. для синхронной передачи есть ещё 3 интерфейса UART1-UART3..

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

ТТХ комбинированной платы с памятью:

Микроконтроллер - ATmega2560-16au, со всеми плюшками, ибо разведены все ноги и плюсом ОЗУ: 16Mhz, 256k Flash, 520k SRAM, 4UART + I2C + SPI + 16xADC 10bit.

Плюсом, при желании до 97 выводов GPIO (86 самой меги + 8 с регистра-защелки + 4 с регистра управления страницами памяти - 1 занят управлением CS памяти). Нормально, с использованием доп. SRAM остается 42 вывода GPIO. Все ноги GPIO можно снабдить (по желанию - планки отдельные) контактами "+5в" и "Gnd". Стабилизатор держит общее потребление до 5 ампер, что позволяет подключать мощные серводвигатели практически напрямую к плате.

Габарит плат 56х88мм.

Оценка "полезности" разведения всех контактов меги, для предполагаемого "типового" применения (развесистые роботы в кружках робототехники), периферия: SPI (карт-ридер) + UART0 (заливка) + I2C (гироскоп, гирокомпас) + до 15-и моторов (DC + Servo) + до 16-и АЦП датчиков + до 4 датчиков цвета (на входах ICP Т1..Т5) + до 8 энкодеров на PCINT прерываниях + р/у или синий зуб на UART3. Все это может работать одновременно. Может?

Средняя процедура обработки прерывания/управления (без математики) железякой в моем опыте занимает около 2-10мксек., пусть в среднем 6мксек. Тогда для цикла RTOS в 1миллисекунду получим до 1000/6=167 обслуживаемых устройств при 100% занятости ЦП. Планируемый "перечень" около 50 устройств в макс. комплектации. Итого на математику можно ожидать около 67% занятости ЦП .. вполне. :)

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

В общем, разводка платы памяти в 512килобайт под эту плату + SD-карт ридер получилась примерно такой (пока), кликабельно:

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

Что смущает:

1. расположение контактов относительно корпуса держателя: нижний контакт оказался "за корпусом" согласно размерам в pdf-ке. Дома есть шилд, доберусь (упакован ещё) проверю по месту..

2. электрика соединений .. вроде бы согласно найденным схемам, но где посмотреть достоверно - не нашел. Аналогично, доберусь - проверю по имеющемуся шилду.

Если наваял "не то" - пишите.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Бли-ин .. а может развести 256кб FRAM + 256кб SRAM? Ферромагнитную память воткнуть на колодку к примеру .. тогда мультиплексор на плате не нужен и корпуса будут SOP-28 они меньше. Может и на карт-ридер место останется .. стоит?

Пошарился по Флеш и Фрам .. в общем, всё грустно. Если и есть, то в лучшем случае 128килобайт и те на 3.3 вольта. На 5в только 32 кила .. не интересна. :(

P.S. отписался и сразу нашлося, как специально. В общем есть флеш AT49F002 на 5в, 256к х 8, 70нсек, традиционные для Атмела 100тыс. циклов перезаписи и в корпусе PLCC32 "под колодку". Ценник в районе 200руб/шт. SRAM даже эта (50руб/шт) можно оставить и фиг с ним, что только 1/2 будет использовано (или перетычку развести "так или этак") .. зато можно будет разные шрифты, интерпретаторы и пр. "прошивками делать".. :)

P.P.S. В общем покумекал, прикинул, посмотрел возможные применения и .. отказался. Для "статических" данных большого объема - есть родная Flash, которой 256килов - достаточно. Для хранения мелких донастроек "онлайн" - есть EEPROM, для оперативного накопления, расчетов, рисовалок и т.д. есть 512 килобайт ОЗУ (SRAM) смысла втыкать дополнительно FRAM на 32 кила или ещё Flash - в общем-то нет, особенно при наличии SD-карт ридера, как организатора "файловой системы". Потери скорости конечно велики (все же SPI, а не прямой доступ), но для целей хранения - вполне терпимы при наличии ОЗУ такого объема.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

а SRAM какая?  

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

512к х 8 70нсек - работает без тактов ожидания, проверено. Самих микросхем, которые "подойдут" - вагон и маленькая тележка. Они практически типовые в т.ч и по корпусировке. Конкретно у меня были закуплены HM628512BLP-7 (в заказе), пришли с маркировкой HM628512ALFP-5, но после пайки и отмывания платы на них проступила маркировка HM628512ALFP-7 причем предыдущая была перемаркирована "поверх", а проступившая надпись похожа на гравировку. :)

.. ну вот "какая у меня SRAM"? :)

Кстати, видел подходящие микросхемы со встроенной батарейкой .. типа "сохранение данных при отключении питания на 2..10лет" (не помню уже) .. но стоят "как паровозы .. от 200руб/шт. Чем не FRAM..

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Мне бы SRAM в DIP

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Там классический SOP-32, по сравнению с мегой в TQFP-100 с её 0.2мм на ногу .. просто "семечки"! Ни разу не проблемно. Канифоли побольше и паяется на раз-два. Ну. по крайней мере у меня "на раз" запаялось больше 50% ножек, а когда прозвонил и допаял, ещё пара оставалась на "три", но .. не так оно все равно уж и сложно. Не дрейфь! :)

P.S. Могу выдать готовую плату предыдущей версии и с мегой заодно (один типоразмер) или под 128-ю (тоже есть, её паять - сильно проще), как раз по цене получается с ST-link. Там подправить маленько .. подскажу как. В общем, решишься - звони или пиши на мыло. :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

ТТХ комбинированной платы с памятью:

Микроконтроллер - ATmega2560-16au, со всеми плюшками, ибо разведены все ноги и плюсом ОЗУ: 16Mhz, 256k Flash, 520k SRAM, 4UART + I2C + SPI + 16xADC 10bit.

Габарит плат 56х88мм.

 


В этих габаритах на меге есть китайская APM-2.8, для полётного контроллера, конечно не столь навороченная как у тебя, но она куда-то там пишет логи, в частности надысь скачал лог за 10 минут полёта более двух мегабайт ))) усё внутри, никаких SD карточек

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

И зачем это сравнение тут? Мега2560 равно АРМ2.8 и хотите сказать что делается "никому не нужный лисапед"? Вы - категорически НЕ ПРАВЫ: банально Ватсон, этот проект - улучшение платы ДЛЯ МИКРОКОНТРОЛЛЕРА Atmel Atmega2560-16au, он ни разу не АРМ, он не имеет ТАКОЙ функциональной платы и таких возможностей, чтобы ЭТО можно было КУПИТЬ в Китае.

Стало быть, это - НОВАЯ разработка. А вот нужна она кому или нет - "не судите по себе, да не судимы будете". Вам - не нужна, и это ни разу не повод постить херню в теме. Займитесь своим тестером, тоже полезная разработка. Попробуйте осилить, там всё крайне просто..

P.S. На моем фотоаппарате (продвинутая цифромыльница) судя по маркировкам микросхем стоит офигительный микроконтроллер (не СТМ конечно же) с USB, CAN и кучей иных интрефейсов (144 ноги) плюсом 4 мегабайта флеша в отдельном чипе и плюсом 16 метров ОЗУ, тоже довеском. Пишет гигабайтовые RAW на флешку .. в почти таком же типоразмере .. и ЧТО теперь? Это "уровень" вашего поста, ежели вчё.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

И зачем это сравнение тут? Мега2560 равно АРМ2.8 и хотите сказать что делается "никому не нужный лисапед"? Вы - категорически НЕ ПРАВЫ: банально Ватсон, этот проект - улучшение платы ДЛЯ МИКРОКОНТРОЛЛЕРА Atmel Atmega2560-16au, он ни разу не АРМ, он не имеет ТАКОЙ функциональной платы и таких возможностей, чтобы ЭТО можно было КУПИТЬ в Китае.

Стало быть, это - НОВАЯ разработка. А вот нужна она кому или нет - "не судите по себе, да не судимы будете". Вам - не нужна, и это ни разу не повод постить херню в теме. Займитесь своим тестером, тоже полезная разработка. Попробуйте осилить, там всё крайне просто..

P.S. На моем фотоаппарате (продвинутая цифромыльница) судя по маркировкам микросхем стоит офигительный микроконтроллер (не СТМ конечно же) с USB, CAN и кучей иных интрефейсов (144 ноги) плюсом 4 мегабайта флеша в отдельном чипе и плюсом 16 метров ОЗУ, тоже довеском. Пишет гигабайтовые RAW на флешку .. в почти таком же типоразмере .. и ЧТО теперь? Это "уровень" вашего поста, ежели вчё.


Вы не поняли, я говорю может такую же память еще прикрутить как в APM-2.8, кстати там еще одна микросхема используется 32U4 (реальное распараллеливание процессов, кроме интерфейса ком порта)
Да, то же Козин делает свой контроллер APM в котором устранены некоторые косяки и очень даже пользуется большим спросом, по цене естественно не Китай так как хэд вёк

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

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

P.S. "круто ошибся" .. :) бывает.

Посмотрел, в общем-то да. Размеры платы практически 1в1, всё что там есть, у меня или уже поставлено или планируется к монтажу. ставить 4Мб последовательного флеша - не вижу смысла, поскольку есть SD-карта, которые "нормально" имеют 4 гектара, что в 1000 раз больше, а скорость таже, ибо SPI. А вот наличие у меня оперативы в 512килов дает заметные преимущества, но в целом "пирог" окажется несколько тяжелей.

В общем есть или будет:

1. плата ОЗУ + SD "расширение памяти" .. уже обсуждается тут;

2. плата двигателей (4-6-8шт .. схема драйвера стара и опробована, но ещё не решил "сколько вешать в граммах") можно управлять DC, шаговиками или BLDC "по желанию". Кол-во в расчете на DC моторы, остальных соответственно меньше. Тут же планируется работа с энкодерами до 8шт (ноги ADC 8..15, прерывание PCINT). Эта плата, скорее всего будет формата 1/2 (56х44мм) и, возможно, управление моторами по I2C .. в разработке, не знаю "что лучше".. в любом случае, тут планируются к применению АО4606 или аналоги, соответственно ограничивающие параметры моторов: до 30в х 5(20)А на каждый.

3. "полетная плата": альтиметр (BMP180 или какой ещё) + гироскоп (есть, не помню маркировку) + гирокомпас (HM5883 кажется). Работа через I2C, тоже пока получается в формате 1/2 (56х44мм).

4. "плата дистанционного управления" - планируется несколько вариантов: а) на базе имеющегося комплекта р/у на базе детских игрушек на 27Мгц до 6 каналов; б) плата р/у на базе модулей на 433Мгц (есть 2-х видов). Тоже пока ожидаемый формат 1/2.

5. Плата дисплея и управления (кнопки). (следующая по порядку разработки) Есть дисплеи в 2" на базе контроллера ST8775. К ним уже есть преобразователи уровня 3.3в <-> 5в и они планируются на тот же интерфейс "расширения SRAM" для прямой записи на дисплей.. с блоком клавиатуры - пока никто не определился (ни я ни сын) .. каким он будет неизвестно .. наверное что-то выдвижное/откидывающееся/подсоединяемое по идеям от "Д3-28"..

Итого в оконцовке слоеный "пирог" из нужных под задачу плат, в виде "конструктор" - собери комплектацию по вкусу/задаче. :)

P.P.S. Как очень дальнюю мечту, лелею подключение кассетного ЛПМ и превращение такого пирога в так любимую мною Д3-28 ..

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Железки желательно как в APM гира 6000 компас и барометр не помню, тогда не надо будет Мишин Планер перекомпилировать зальется так.
ПО в 32U4 заливается отдельно, есть разные версии для разных протоколов обмена

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Буду посматривать в процессе разработки на "совместимость", идея понравилась, спасибо. Но все равно, этот пирог будет потяжелее даже если перейти на платы толщиной в 1мм, легче не станет: лишняя память + пара регистров + мультиплексор + большее кол-во ножек (выводы тоже весят) и т.д. В целом "полетность" как-бы не планировалась как базовое применение.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Верифицировал плату SRAM + SD .. вроде бы все верно, можно отдавать на изготовление. До пайки меги пока так руки и не дошли - р.стол занят "сборкой вездехода" сыном (каникулы).

P.S. Придется доразводить ещё один "разрешающий" сигнал для работы SPI на SD-карту .. приемо-передатчик на базе Si4432 тоже хочет SPI интерфейс.. Поднял эту тему..

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

Буду посматривать в процессе разработки на "совместимость", идея понравилась, спасибо. Но все равно, этот пирог будет потяжелее даже если перейти на платы толщиной в 1мм, легче не станет: лишняя память + пара регистров + мультиплексор + большее кол-во ножек (выводы тоже весят) и т.д. В целом "полетность" как-бы не планировалась как базовое применение.


А для питания что используешь?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

"аккумуляторные" коробочки. Есть несколько: 2/3 Li-ion 18650 (основные в "типоразмер" 56 х 72..88мм), есть "облегченные" на 2шт Li-ion 1200мач (прямоугольные, размер не помню, что-то около 17гр весом, типоразмер 40х56мм кажется), есть на 8шт батареек АА и/или Ni-Mh (с тремя выходами питания) и есть блок питания на 6-8шт  батареек ААА формата .. "на выбор", смотря по задаче и требуемому весу.

Наиболее употребитмый типоразмер блока питания 56х72мм. Все "коробочки" обрамлены Лего-детальками и сочетаются с нашим НАНО и Мега по размерам. (фотки есть в других темах), сюда до кучки:

На первом - "типовой" блок на 3х18650. Посадочные гнезда снизу - полностью совпадают с Лего-NXT и EV3 блоками, а боковины (с учетом самих плат НАНО, Мега) значительно удобней. Это первый экземпляр - просто выведен провод на разьем. Есть "вторая версия" с кнопкой и блоком контактов для разводки питания по платам (на 3шт).

На втором фото - блок 2х 18650 делался под НАНО (сверху-вниз блоки с зел. детальками: НАНО, драйвер моторов, этот БП),

На третьем (нижний черный ряд) - наш самый первый БП на 8шт АА с тремя выходами питания от 5, 6 и 8 элемента под разные моторы и кнопками управления напруги на моторах (что подавать на спец. разьем 8-й контакт или 6-й). Жмешь кнопку и .. едешь в 1.5 раза шустрей. :)

P.S. Вторая фотка - призер местных соревнований прошлого года .. страшный, но шустрый.. :)