ARDUINO Самодельная плата на базе микроконтроллера AVR Atmel ATmega2560-16au

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
попутно со вторым вариантом была сделана вот такая плата на Atmega128a:
atmega128-ok1-240x300.jpg
Полное совпадение по разъемам с первым и вторым вариантом. Чего у неё нет, то и пропущено.. :)
Вот её удалось запустить на 20Мгц, что мне и "вселило надежду"..
 
  • Лойс +1
Реакции: Mike_Levin_

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@Arhat109, долго то как, когда платы заказывать будите, то и монтаж закажите, слышал что если смд элементы, то не дорого, а сквозные - дорого, но их мало так что сами запаяете....
Это значительно увеличит скорость проекта)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@IamNikolay, так я никуда не тороплюсь. :)

Пока делаешь нечто .. постепенно приходит понимание что надо сделать ишо .. вот, задал вопросики т.к. не могу оперделиться то ли в управление (драйвера и т.п.) то ли в показухи (дисплей ..) то ли в связь (Эзернет, синий зуб, чего ишо) поначалу применять сиё чудо ..
:)

Для DC-моторов драйвера есть "старые", не проблема. Сервы сюда подключаются напрямую ..
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@Arhat109, в принципе сейчас эпоха вайфая, а ту же есп можно по паре проводов подключить, как и блитуз, да и дисплеи в принципе тоже... Так что не думаю что для этого целый шилд понадобится...
Единственное что на ум приходит - это использование в 5 и более осевых ЧПУ, но ЧПУ ошибок не прощает(в ютубе есть печальные видео про это), так что все должно быть предусмотрено...
 
Изменено:
  • Лойс +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@IamNikolay, ну так .. подключайтесь! Себе делаю 4шт. Плат всего получено 10шт. Ещё приедет 5шт SRAM-шилдов. Мне достаточно будет пару (на случай "сгорит"), пару таких плат Мега к платам SRAM даже не планирую подключать.

Могу выслать платы, к ним есть камни Меги (всего брал 10шт), есть память, регистры и мультиплексоры.. вот RT8289 - осталось "в обрез", но их можно взять на Али, как и всю мелочевку с штыревыми контактами. Цена поставки (без почты) - за что купил..

Сам предполагаю паять вот такие: https://aliexpress.ru/item/32901653162.html и ещё нашел такие: https://www.aliexpress.com/item/32896637497.html (под разьем SRAM для загиба снизу вдоль платы под "съемную SRAM"), чтобы можно было наращивать бутерброд ещё и вниз. ;)

P.S. Предлагаю всем, кому проект интересен подключаться тоже! Можно сделать вариант много лучше Ардуино Мега rev3.0 !!!

P.P.S Герберы для изготовления - есть. Отправка "по запросу" в личку. Но они из предыдущей версии kicad. Китайцы их понимают, платы делают. Шелкография содержит все подписи, паять можно "без схемы"..

Базовое ПО .. какое-то есть. Остальное можно наработать совместно.
 
Изменено:

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@Arhat109, мне пока что столько мощности и пинов не надо, в основном все вмещается в нано/есп, а для чего то ресурсоемкого есть в запасе одноплатник на 96 пинов. В ближайшее время ЧПУ не планируется. Но если понадобится "многоножка", то буду иметь ввиду, ссылку на эту тему сохранил.
 
  • Лойс +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@IamNikolay, эта многоножка - в общем-то в основном как "полигон" для проб и испытаний в "безмакеточном" варианте потому как "всё на борту". :)

Для чего-то конкретного и с большим кол-вом управлений .. не думаю. Придется тщательно вылизывать ПО, чтобы Мега справилась с современным уровнем погроммирования. ;) современным "ой, я не специалист" .. проще взять "большой" STM или что-то ещё.
(* где-то в Сети видел описание компов, управлявших разного рода космической техникой .. Мега таки "круче" пожалуй *)
 
  • Лойс +1
Реакции: Старик Похабыч

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Все-таки взялся разводить дисплей с клавиатурой. Пока TFT 2" (220х176 пикселей) + 4x4 кнопок + 4 кнопки с фиксацией. Суммарно можно будет вводить до 256 "команд", по аналогии с клавой Д3-28. :)

Дисплей планирую посадить на тот же самый интерфейс SRAM и заставить работать как устройство, видимое в адресном пространстве ОЗУ, по типу ДВК.. 2 выделенных адреса: "команда и данные" с прямой передачей данных по выводам A/D0..7 (PORT A) командами работы с памятью (чтение, запись в/из переменной 8 бит)

Предварительно адреса 8200, 8201 - 2 первых после внутренней SRAM.

То есть, если адрес на шине (на разьеме она вся, 20 бит) равен 0b0000010000000001000 или 0b0000010000000001001 то запрещаем работу SRAM и разрешаем работу дисплею. :) Всего 2 инвертора и схема сравнения с нулем или по всем ножкам адресной части шины. :)

В ПО достаточно будет навязать компилятору 2 глобала с фиксированным адресом. Это можно сделать несколькими способами, начиная от того как avr-gcc формирует псевдо указатели на регистры, выходящие за диапазон команд in, out и указанием спец секции линкеру с заданным адресом.

В общем ничего сложного пока не вижу..
 
Изменено:

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Виноват, исправляюсь. Перемерил БП на этих платах. Все-таки 5А они не держат, увы. Вырубается стабилизатор на RT8289, похоже срабатывает защита и достаточно быстро, если питать от 3-х банок Li-ion.

Секунд 15 держат 3.1А от трех банок - стабильно, но греется все же. Насколько не скажу, палец держит, но он у меня подушкой и за паяльник хватается терпимо, если шустро отдернуть .. :)

Измерял нагрузочным сопротивлением из МЛТ-2вт +-10%, 4шт по 1ому и 2шт по 1.1ома, попарно параллельно-последовательно. Больше других нет. Итого 1.55ома, 12вт. Напруга на изм. сопротивлении 4.90в, при ХХ = 4.94в.

Фиг с ними, пусть будет 3А, все лучше чем 0.8 :)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Блин, нерезко все равно. Толи руки дрожат, толи у смартфона камера плохо фокусируется. В общем пока оно выглядит так:
Vtuf2560v3-BP.jpg
 
  • Лойс +1
Реакции: Luaman

Старик Похабыч

★★★★★★★
14 Авг 2019
4,159
1,267
Москва
Да, блок питания нужен... Вчера спали нану по дури и усталости подключив сильно мощную серву. Два раза дернула лапками и замолчала )
 
  • Лойс +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@Старик Похабыч, Ну вот в свое время, это было одной из причин почему взялся за этот проект! Мега2560 - 15 серво выходов и БП на 0.8А и то "в теории". Реально меньше, особенно если кормить от 3 банок. А лепить на стороне постоянно дополнительный БП .. как-то удручает.
Ну и второй момент - это не все входы "захват таймера" (icp нога) есть у типовой меги. А на них садятся датчики цвета TCS3200 .. и? Получается больше пары "не предлагать".. DC-моторы, опять жеж. Куда втыкать энкодер от него? А что это за робот, если он не в состоянии узнать на сколько провернул мотор? Ну и по ногам "земля", "питание" - та же байда: имеем кучу управляющих ног и 4-6 питающих/земель .. а остальное? Ах да .. есть жеж "расширительный шилд"! :)

В общем, блоки пашут. Левый "диод" - это Шоттки. Воткнул 3-амперник, других нет, может поэтому. Плата зафотоана слегка "сбоку", поэтому кажется что будет мешать запаять разъем. На самом деле, все там ровно, и даже надписи видны будут..
Входной диод тут тоже 3А - "проходной". Это для защиты платы от просадок питающего напряжения от моторов или иной сильной нагрузки.

Ещё интересно: обнаружил что на 3А греется .. входной конденсатор (слева-вверху на фото). Даже не знаю что больше - микросхема RT8289 или конденсатор. Факт, микросхема остывает шустрее. Поэтому и не сразу обратил внимание.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Ничего так и не понял, но стабилизаторы БП из "одной серии", микроконтроллеры Мега2560 - тоже одной серии. На выходе всех 4-х плат напруга стабилизирована на 4.94в одинаково.
Запаял камни, пока без обвязки (только reset) и .. все платы теперь "жрут" по своему! от 14.5мА до 24мА включительно: 14.5мА, 21.3мА, 22.6мА и 24.5мА .. как такое могёт быть - не знаю.
Вот на фото 2 представителя: левый - 14.5мА, правый 22-23мА:
левоПравый.jpg
P.S. На reset реагируют все одинаково - ток потребления падает, по отпусканию - восстанавливается.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Та-ак .. прошил в платы загрузчик Arduino as ISP через Нанку, прошил blink - типа "моргает". Потребление от 5в поданных напрямую от USB порта мимо БП плат показало 42-44мА после прошивок, все как по даташиту. Но одна плата (не та что раньше!) теперь "жрет" 56мА .. с какого фигу спраишвается? :)

В целом, платы шьются, надо искать свою старую тестировочную программу .. или писать новую и можно запаивать все разъемы.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Посылки с запчастями (длинные стекируемые разьемы, стабилизаторы на 3.3в и мех. разъем на SD карту в частности) зависли с Али где-то в пути (статус "Принято компанией перевозчиком в доставку") и срок доставки теперь стоит 53 дня. .. из своих запасов полноценно могу допаять только 1 плату в стекируемом виде и 1 простую.. :(
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
IMG_20200226_203836.jpgIMG_20200226_203915.jpgIMG_20200306_134544.jpg

Вот. Так вот выглядит полная, стекируемая вверх и вниз плата. Похоже что "получилось" (не тестил окончательно). Вот такой вот "Ёжик" .. :)

После тестирования перехожу к пайке и подсоединению сюда платы расширения ОЗУ на 512 килобайт .. будет с родными вместе 520к, "мелочь, а приятно". ;)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Навесил плату расширения SRAM, фото в соседней теме про модуль SRAM512kb. Не вижу смысла постить сюда.

С разводкой платы дисплея и клавиатуры пока таки "затык" .. нет единого понимания "что зачем и как лучше" с т.з. эргономики и монтажу .. отложил.

Почти закончил разводку платы моторов, которая планировалась под плату памяти, как "стекируемая вниз". Получается развести до 6-и простых DC-моторов с энкодерами + одновременно влезает по месту на плате 4 гнезда для типовых Stepper драйверов размером 20х15мм.

Только вот проблема с ногами управления .. маловато оказывается у Меги ног-то! :)

PS. (дабы самому не потерять) получается такая раскладка ножек под моторы:
_______ DC1 , DC2 , DC3 , DC4 , DC5 , DC6/ST4, ST3 , ST2 , ST1
PWM: OC2A, OC0B, OC2B, OC0A, OC1B, OC1A, OC3C, OC3B, OC3A
DIR: T2osc1, T0in, T2osc2, T1in, T1icp, Xck1, T3in, T3icp, Rx1
EN: -, -, -, -, -, Tx1, PL6, PL7, PJ7 .. или включено постоянно перемычкой, если микрошаг тоже перемычками
Enc1 A8, A10, A12, A14, PCint12, PCint14, -, -, -,
Enc2 A9, A11, A13, A15, PCint13, PCint15, -, -, -,

Enc1 и Enc2 - сигналы от энкодеров DC-моторов 1..6. Для первых 4-х занял АЦП вторую часть, т.к. она маппирована на входы прерываний PCint тоже.
Управление микрошагом можно ещё завести на PCint14,15 (только 2шт!) если вместо DC6 включен Stepper4. Шаговым моторам "энкодер не нужен", кмк..
Ну и если надо полное управление микрошагом, то MS1-MS3 можно завести на второй или третий UART .. но хочется оставить их как доп. интерфейсы, там все-таки и SPI-master можно организовать.

Итого получается максимально на плату можно будет посадить до 6 "обычных" моторов и до 4-х шаговых, суммарно 9шт.: 5+4 или 6+3.
Свободными остались ещё 6 ножек PWM под серводвигатели и 2 таймера со счетными входами или входами захвата под подключение до 4-х датчиков цвета типа TCS3200..

Вариант кажется пока достаточно приемлемым ..
 
Изменено:

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
ArGo1-сверху1.jpg ArGo1-снизу.jpg
То, что получилось окончательно из первой платы. Приступил к тестированию, пока всё успешно. ;)
 
  • Лойс +1
Реакции: Luaman и Dorfman

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
К посту 44 про моторный драйвер .. чегой-то подумалось: а не замутить ли плату драйвера на базе PCA9685 и PCF8574/PCF8575 со связью по шине I2C с мегой?

Физически для управления полумостами АО4616 (30в, 7/20А) достаточно 2 ШИМ канала и 1 пин направления вращения .. надо только аккуратно управлять таким чудом, чтобы не допускать сквозняков при смене направления, но это как раз привычно и проблем не вызывает.

В таком случае, PCA9685 позволит иметь на плате 8шт DC-моторов и для направления вращения понадобится 1шт PCF8574 .. для обслуживания моторов с энкодерами понадобится ещё или 2 таких же или ещё один PCF8575 (эти дороже!) для организации 16-и входов энкодеров.

Заманчиво, но "жаба душит": ШИМ-контроллер стоит около 1,5бакса/шт, расширители 8-и битные по 0,2у.е., АО4616 - 0,1у.е., итого на 8 моторов получается 1,5 + 3*0,2 + 16*0,1 = 3,7у.е., при нонешном курсе в 77 = около 285руб - "детальки" ..или под 50руб/мотор.
В принципе "все есть", можно попробовать..

Кто-то, что-то посоветует в этом плане? (зато можно будет подключать Лего EV3, NXT моторы напрямую к плате ..)

Зы. 2 ШИМ канала позволяют реализовать режим "ШИМ-торможения мотором" .. ух-ты! :)
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
ап. подчистил первый пост и дополнил сметой по деталькам под спойлер.
 

Dorfman

✩✩✩✩✩✩✩
29 Мар 2020
17
1
Ukraine
johnnsoft.space
"жаба душит":
Кто-то, что-то посоветует в этом плане? (зато можно будет подключать Лего EV3, NXT моторы напрямую к плате ..)
Энкодеры через ШИМ - меня бы тоже жаба задушила. MCP23017 попробуйте: дополнительно 16 пинов по "квадратной" шине - для энкодеров и прочей хрени
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Энкодеры через ШИМ - меня бы тоже жаба задушила. MCP23017 попробуйте: дополнительно 16 пинов по "квадратной" шине - для энкодеров и прочей хрени
?!? Энкодеры сами по себе, ШИМ - управление скоростью вращения мотора.
Те драйвера что есть на базе АО4606 они мало того что вообще без энкодеров, они ещё и торможение якорем делать не умеют .. ;)
Отсюда и желание сделать новый драйвер, дополнив его энкодерами и тоже на базе шины I2C.

P.S. Все это переехало в эту ветку https://community.alexgyver.ru/threads/plata-drajvera-8xdc-motorov-upravlenie-po-i2c-twi.2857
Если интересно - милости просим..
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
Так. Наконец-то появилось понимание как сваять плату с дисплеем и клавиатурой для этой платы "Ар-го" (понравилось таки версия ;) )
Идея в том, чтобы матрицу клавиатуры посадить на тот же самый интерфейс расширения SRAM - порта А и С. По порту С делаем опрос, а по порту А делаем прием строк, при отключенном расширении SRAM.

В итого, не занимая дополнительных ног имеем матрицу в пределе 8х8 кнопок. Нам столько не надо, но .. почему бы не сделать "разьем для выносной клавиатуры"? :)
Похоже, следующей темой будет таки эта плата ..
 
  • Лойс +1
Реакции: Luaman