Мега2560 и расширение ОЗУ до 512 килобайт.

Тема в разделе "Глядите, что я сделал", создана пользователем Arhat109, 27 июл 2018.

  1. Arhat109

    Arhat109 Гик

    Выложу сюда, поскольку там где надо сослаться будет оффтопом.
    В общем ещё год назад продвинулся в понимании как это должно выглядеть и озадачился прототипированием, которое теперь вылилось вот в такую поделку:

    Назначение: плата для прототипирования и обучения малолетних робототехников (от 10 лет) и как главная часть проекта "Ардуино как Лего" - основной блок "Ардуино-кирпича" по аналогии с EV3. Механически всё совместимо с ЛЕГО. В работе уже год, выявлены недостатки, к сентябрю готовлю комплект плат для своего кружка "Ардуино как Лего" и ПО конечно же для прямой адресации доп. памяти силами компилятора.

    1. Прототип, которому уже год
    [​IMG]
    2. Платы с jlpcb (мега2560 + мега128а + extSRAM512kb) 56х72мм:
    [​IMG]
    Результат сборки, с изменениями в понимании "расширительности" (разъемы лучше вбок чем вверх, но платы заточены не так):
    [​IMG]
    [​IMG]
    распиновка платы:
    [​IMG]
    и окончательно, вместе с платой расширения ОЗУ до 512 килобайт:
    [​IMG]
    [​IMG]
     
    ZAZ-965 и BAR__MEN нравится это.
  2. Arhat109

    Arhat109 Гик

    В общем, перепаивать разъемы вбок оказалось крайне нетехнологичной операцией. Медленно, пичально, много и ненадежно, что - главное.

    Решил переразвести плату, заодно устранить недостатки этой разводки:
    1. Слишком мало места под стабилизатор на базе RT8289 (который до 5 ампер);
    2. Неудобен второй ряд контактов возле разъема расширителя памяти - к нему сложно подлазить;
    3. "ничейные" ноги PJ7, PL6, PL7 стоит отобрать у SPI интерфейса и вернуть на боковые стороны между таймерами и АЦП, заодно поместив там же "второй разъем" и 2 лишних UART сверху. Но, плату придется удлинять .. что плохо. Размер 56х72 - мало того что вписывается в Лего, он ещё и вписывается в аккумуляторные блоки-коробочки удачно .. жалко;
    4. расширительные разъемы выводить вбок на доп. планках, которые изготавливать вместе с платой, а потом разрезать;
    5. 1шт интерфейса I2C - явно недостаточно .. надо иметь встроенный разветвитель.

    .. появилась ещё такая распиновка раз плата изменяет свой размерчик:
    [​IMG]
    Тут размер платы уже 64х96мм (8х12 лего дырок).

    И вроде бы можно уложиться в размер 56х88мм с примерно таким же результатом, но сохранив расположение большей части разъемов как раньше (рисунков ишо нет).
     
    BAR__MEN нравится это.
  3. Arhat109

    Arhat109 Гик

    Если кто-то захочет присоединиться к проекту, то есть gerber-ы из kicad, есть svg-файлы под ЛУТ (но это - реально геммор), уже есть настройки для boards.txt к Арудино ИДЕ 1.8.5 для прямой работы с расширенной памятью через компилятор (объявление переменных и массивов во всем объеме памяти, но работа со страницами через библиотеку явно и ручками).

    В разработке:
    1. плата "дисплея и кнопок", которая планируется под 2" дисплей 220х176 точек х18бит/цвет.
    2. плата дополнительных модулей: гироскоп, компас, альтиметр .. то что можно посадить на шину I2C и не требует контактов с окр. миром;

    Есть в наличии:
    1. Плата драйвера моторов на базе АО4606 с токами моторов до 5А постоянки и до 20А в импульсе. Плата есть на 2 и 4 мотора. Подключение к 8-и битным ШИМ каналам. питание внешнее от 6.5 до 30в - держит;
    2. Комплект светодиодов в корпусах "Лего" с гасящими резисторами на борту;
    3. Комплект датчиков касания (кнопок) тоже в лего-корпусах;
    4. ИК-датчики линии/препятствий со сменным резистором осветителя и подстроечником усиления сигнала. Достаточно надежно регистрируют сигнал до 5м включительно. Есть также "линейки" ИК датчиков (5шт в сборе) для гонок по линии и тоже с ОУ LM358 на каждый датчик;
    5. Комплект DC-моторов (на базе N20, 130-й мотор), в т.ч. и леговских (PF-моторы L-motor, M-motor, S-motor) и в т.ч. со сменным редуктором;
    6. Комплект энкодеров в лего-корпусе. Отдельно от моторов, так удобней, посадка на любой вал Лего;
    7. Комплект серводвигателей SG90, MG996;
    8. Узв. датчики HCSR-04;
    9. Датчики цвета (доработка) на базе TCS3200 с ПО, обеспечивающим их чувствительность по цвету примерно от 7лк и точностью около 2%.
    .. кажется всё .. не помню. :)

    На базе "Ардуино НАНО как Лего" мы участвовали в соревнованиях Робофинист-2017, где машинки на лего весили около 180гр и вполне достойно заняли 8-10 места среди взрослых. :)
    На Робофест-2018, лего конструктив к сожалению был запрещен, поэтому вышли на пластиковом чуде, на тренировке прошли трассу за 6.5сек, но к сожалению "не попали в финал". :(
     
    Последнее редактирование: 27 июл 2018
    BAR__MEN нравится это.
  4. ИгорьК

    ИгорьК Давно здесь

    Так вы детей учите? .... :(
    SmartSelect_20180810-082031_Opera Mini.jpg
     
    Последнее редактирование: 10 авг 2018 в 09:23
  5. sys

    sys Злобный Буратино

    созидание это прекрасно! главное не встревать в бесмысленные склоки, не ставить себя выше других и не поливать грязью чужие творения! А так... испорченный старт и черный пиар
     
  6. ostrov

    ostrov Гуру

    Если не секрет, для чего 512? Вебморду делать?
     
  7. ИгорьК

    ИгорьК Давно здесь

    Расскажите об этом замечательном проекте, очень интересно.
     
  8. Arhat109

    Arhat109 Гик

    Чуть позже и не в этой теме. Там "длинная история", частично отражена на сайте Arduino.ru

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

    Но, учитывая отрицательный опыт публикаций (многие вообще не в состоянии понять о чем речь, что видно уже и тут) .. возможно таки подниму свой сайт arhat.su "Рожденным в СССР" и буду выкладывать там.
     
    Последнее редактирование: 28 июл 2018
  9. ИгорьК

    ИгорьК Давно здесь

    Нет, не уходите. Полагаю, распределение дебилов по сайтам более менее равномерно, поэтому не важно где писать, главное "hold the line".
    Убежден, Вас здесь не хватало давно.
     
  10. ostrov

    ostrov Гуру

    Лего "кирпичи", насколько помню, был не EV3, а как раз первый Mindstorms. Мне он нравился больше всего. Но увы, он канул, опередив, впрочем, вашу идею лет на 15.
    [​IMG]
    И вообще, как вы с такой ранимой психикой с детьми работаете, не представляю.
     
  11. ИгорьК

    ИгорьК Давно здесь

    "Поручик, молчать!"
     
  12. sys

    sys Злобный Буратино

    Создайте свой конструктор с помощью OpenSCAD и распечатывайте на 3D принтере! Будет не Лего и детям интересно - сможете в любых конкурсах участвовать... И плату сможете создать так как вы хотите, без ограничений.
     
  13. Mitrandir

    Mitrandir Гуру

    А как вы смогли расширить алресное пространство цп? Или у вас отдельный чип менеджера памяти?
     
  14. SergeiL

    SergeiL Гуру

    Так у Меги-же есть External Memory Interface, наверное к нему и подключена.
    Вопрос зачем??? 8 килобайт для задач управления, как мне кажется, и так с головой должно хватать.
    Наверное осталась привычка с однокристалок без памяти.
     
    koteika и Mitrandir нравится это.
  15. Arhat109

    Arhat109 Гик

    Ха! Похоже удалось скомпоновать плату в размер 56х88мм (7х11 лего-дырок), т.е. той же ширины, что в первом сообщении, но длиньше на 16мм. В общем, сын одобрил и похоже это будет "конечный вариант" (кликабельно):
    [​IMG]
    Достоинства (на мой взгляд) по сравнению с компоновкой поста №2:
    1. Симметрия по бокам платы. Счетчики, входы/выходы, АЦП - распределены практически равномерно, также как и в первоначальной версии;
    2. Регистр расширения адреса из даташита вынесен на плату (просто место оказалось свободным), что позволяет подключать мелкую память SRAM до 64килобайт включительно прямо к разьему расширения памяти (правый тут). "втыкаем и оно работает". Можно не паять, если не надо или если втыкаем расширитель на 512кбайт SRAM;
    3. Внутренние контакты - для разьемов "мама" вверх - подключение доп. плат. Внешние контакты для планок "вбок" с расширением земли и питания по типу "серводвигатель" - не надо, можно не паять;
    4. Больше места под преобразователь и его обвес. Вопрос с индуктивностью - решен.
    5. Всё таки она меньше поста №2 .. ;)
     
    Последнее редактирование: 1 авг 2018
  16. Arhat109

    Arhat109 Гик

    Предварительно развел плату в новом виде
    Настоятельно прошу критики, ибо не специалист и пока ещё не сдал в jlpcb на изготовление:
    Mega2560v5_56x88.png (кликабельно)
     
  17. Radius

    Radius Гик

    Дорожки питания тонковаты. Под стабилизатором в нижнем слое, всю свободную площадь я бы залил "землей" и через переходные отверстия отводил бы на нее тепло от стабилизатора.
    В каком САПР вы разводите платы? Могу безвозмездно доработать вашу плату в PCAD 2006.
     
    Последнее редактирование: 7 авг 2018
    Igor68 нравится это.
  18. parovoZZ

    parovoZZ Гуру

    кварц другой нельзя взять и разместить поближе?
     
  19. koteika

    koteika Гик

    А эти "висячие" дорожки куда ведут?

    upload_2018-8-7_11-53-36.png
     
  20. Arhat109

    Arhat109 Гик

    Да, так и будет сделано в окончательном варианте. Развожу вручную в kicad, поэтому очень мэд-лен-но. :) Как в нем изменять ширину дорожки пока так и не понял, поэтому утолщения делаю позже "заливкой полигонов".
    Применено то, что "есть в наличии". По этой же причине применены и 3мм светодиоды и диоды Шоттки такие большие и электролиты тоже. Этот кварц хорош своей надежностью, проверено на опытном образце (выше): он вполне нормально запускается и работает даже и вовсе без обвязочных конденсаторов.
    Добавил краткое описание "что к чему" ниже.
    Это "чистая земля блока АЦП". Там, где Вы обвели верхний "круг", справа белым выделено переходное отверстие через которое эта чистая земля соединена с общей землей. Все подсвеченные дорожки - это "Земля".

    Дополнительное описание:
    Плата размером 56х88мм (7х11 лего-дырок) спроектирована и предназначена для создания "Лего-кирпича" на базе ATmega2560. В отличии от ардуиновской меги тут разведены все ноги камня + использован мощный стабилизатор с токами до 5 ампер. В отличии от платы "core" тут все ноги расположены "со смыслом" для лего-кирпича - равномерное распределение (по возможности) по двум, основным сторонам платы + вынесение разьемов интерфейсов (основных) на сторону "программирования" + добавлен разьем (только "мама") для расширения памяти с подключением платы расширения на 512 килобайт (есть готовая). Распайка регистра позволяет расширять память до 64к напрямую, без какого-либо обвеса.
    Кроме этого, все контакты (кроме правой стороны по рисунку) - двойные. Внутренний ряд - для разьемов "мама" вверх от платы, внешний для строенных разьемов (сигнал + 5в + GND) для прямого подключения устройств типа "серводвигатель" (датчик).
    Как особенность разводки - размер платы и расположение всех контактов. Предыдущий вариант без сдвоенных контактов оказался технологически неудобен.

    К плате сверху будет монтироваться ещё плата с драйверами двигателей (4-6шт), есть готовый вариант на 4шт, но возможно дополню ещё 2-я. И ещё сверху - плата с дисплеем и кнопками управления. Вместе с аккумуляторным блоком питания (Li-ion 18650 2/3шт) получается бутерброд из 4-х разборных слоев (лишнее можно не собирать в кирпич) на крепежах типового Лего.

    P.S. поскольку меня тут практически забанили, предлагаю обсуждение перенести сюда: http://arduino.ru/forum/proekty/samodelnaya-mega2560-128a-s-pamyatyu-512kb?page=1