"Лего-кирпич" из Мега2560

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

Решил таки открыть тему для постепенного выкладывания результатов своего проекта.

Задача сформулировалась ещё весной, примерно к апрелю:

Можно ли сделать из Ардуино аналог Лего-кирпича и дешевле и круче по параметрам, и желательно в тех же размерах?

Небольшой поиск показал, что Мега2560 хоть и выходит за габарит, но тем не менее позволяет решить задачу "на ура". Вот она и была приобретена в мае этого года. Заказано было: набор Мега starter kit + комплект датчиков "37 в 1" + шилд для УНО + 4шт L298N + узв. HCSR04 (второй, один в комплекте) .. итого на почти 7 тыс. руб. Как позже выяснилось много можно было не брать, многого не было заказано сразу и кое-что таки требует самостоятельной разработки. Но об этом ниже.

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

А пока ехал заказ, было решено сделать моторы. За основу были взяты типовые 130-е моторы из старых поломанных игрушек, благо их насобиралось штук 20, а заодно был накоплен солидный запас шестеренок и червяков:

Окончательно получилось 4 мотора с червячными редукторами на 87:1 и 120:1, и как показала практика - КПД червячной передачи оставляет желать лучшего. Ну и крепление выходной шестеренки оказалось "хлипким", в результате моторы пережили множественные ремонты и теперь выглядят так:

И, с мотором имеющим тягу на валу в 25 грамм*см, поднимают только .. 150гр. на шкиве радиусом тот же сантиметр. :( Слева - демонстрация того, что "детская приемка" требовательнее "военпреда". Как ему удалось снять (и куда деть!) с вала, приклеенный на него червяк у которого нет даже свободного зазора для вытаскивания - до сих пор остается загадкой. :)

Первые сборки машинок на этих моторах и пульт Д/У для проверок, в процессе изготовления (кнопки ещё без корпуса):

В качестве соединительных контактов использованы обычные бельевые кнопки диаметром 5-6мм или около того. Практика показала, что контакт вполне надежный, но провод часто отламывается в месте соединения с кнопкой. Ну и до сих пор, это самый малогабаритный разъем в нашем арсенале. :)

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

Как только приехал заказ, сразу же встал вопрос "как это одеть в лего?". На первых порах к Меге относились нежно и заботливо, боясь спалить ненароком. Поэтому был сделан вот такой "кокон":

На котором впоследствии было собрано несколько "катающихся машинок" и опробованы датчики, типа такой:

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

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

Шилды для моторов были одеты вот так:

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

Поэтому, в конце-концов, пришли к этому результату:

К меге были допаяны сбоку разъемы для прямого подключения сервомоторов и др. устройств по три контакта: сигнал + 5в + GND, а возле блока приемо-передатчиков дыли допаяны разъемы на +5в и землю. В результате блок стал шире и теперь занимает 15х10 лего дырок и обрамление лего детальками проклеено и больше не разбирается и не разваливается. Это первая часть лего-кирпича.

Вторая часть - батарейный отсек на 8шт АА, ориентирован под аккумуляторы Ni-MH. Имеет выводы от 4шт, 5шт, 6шт и 8шт. Что позволяет получить достаточный комплект напряжений: ок.5В - низковольтные моторы и пр., ок. 6.5В - серводвигатели, ок. 8в - питание самой Меги и 10.5в - на стандартные Лего моторы и 130-е моторы с диапазоном 6-12в. На фото - процесс сборки и ещё без окраски БП. Тоже лего детальки приклеены к БП и он имеет один типоразмер с блоком Меги. Встает на Мегу достаточно прочно, образуюя единую конструкцию с "правильным" шагом лего-дырок и по вертикали тоже.

Моторные шилды - со снятыми радиаторами, поскольку у нас произошел переход на высоковольтные 130-е моторы "с энкодером": 6-12в 8000prm 18гр*см. на этом блоке из 8-и аккумуляторов. Токи потребления у них 40мА в режиме ХХ и 385мА в режиме КЗ, что позволило отказаться от радиаторов на L298N.

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

Разве что процесс сборки первой руки по типу "экскаватор":

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

Итого, получается "лего-кирпич", собираемый из трех частей: собственно Мега2560 + БП + моторшилды. Размер кирпича 15х10х6 лего дырок, что несколько больше стандартного NXT или EV3 (13x9x5), но обладающего существенно лучшими параметрами с возможностью подключения 8 серво моторов на аппаратных 16-и битных таймерах 1,3,4 + 4 мотора с энкодерами и аппаратным управлением скоростью с 8-битных таймеров или 4 устройства управления яркостью .. и практически произвольным (по сравнению с EV3) количеством датчиков.

Продолжение следует по мере развития проекта буду обновлять и фотки. Всем спасибо за внимание. :)

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Arhat109-2 пишет:

и как показала практика - КПД червячной передачи оставляет желать лучшего.


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

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

Верно .. забыл ужо про червяки .. сделал новые 2 редуктора на 87:1 чисто на шестеренках (10:(28К+10):(36 + 10):(36 + 10):20:24 - 5 зацеплений). Афигеть. Моторчик 20гр*см вполне успешно поднял детскую гантелю весом 1.5кг. на том же сантиметре. Медленно и печально, но поднял таки. При этом, на ХХ редуктор показал 3-4 оборота в секунду .. получается что моторчик крутится около 18000 rpm. Прикол в том, что для выноса выходной оси в нужное место согласно лего-размерам, пришлось воткнуть паразитную шестеренку на 20 зубьев на оси, закрепленной только с одного конца. Второй конец незакрепляемый из-за перекрытия шестеренкой на 36 зубъев. Так вот, подъем 1.5кг на сантиметровом шкиве - вывернул эту ось напрочь. Пришлось утолщать стенку редуктора и врезать ось "по резьбе" и на клею.

В формуле редуктора "К" - коронное зацепление, с поворотом оси вращения на 90грд.

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

Ну вот, выкладываю очередную самокатную тележку. Это первая часть робота, которого готовим к соревнованиям:

Не понял почему картинка кверх ногами и не дает её развернуть и другую загрузить тоже не позволяет .. ну да ладно.

На фото моторы с редукторами, описанными в предыдущем посту. 87:1.

Задача соревнований: перевезти как можно больше теннисных шариков по лабиринту. Здесь отломал узв. датчик пока ехало в пакете. Машинка вертит датчик сервой на 180грд и сохраняет массив расстояний с шагом в 5 градусов, при движении контроллируется минимальная дальность до препятствий сбоку в 125мм (полуширина робота 105мм), поиск "дырок" в лабиринте и запоминание пути с шагом в 150мм. (половина размера клетки).

Скетч пока занял чуть менее 4 килобайта при около 500 байтах оперативы.

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

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

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

Есть тележка (примерно как на фото) у которой 2 движка: левый и правый. Которые тянут по паре колес через шестеренки, каждый со своей стороны. Получается этакий 4WD. Двигатели конечно же тянут "чуть" но по-разному .. компенсируется подачей разного ШИМ. К сожалению, колеса тоже имеют "чуть" но разное сцепление с поверхностью .. и оно МЕНЯЕТСЯ в зависимости от скорости разгона, движения, напряжения батарей .. и даже от направления вращения колеса!

И, если на прямой можно использовать энкодеры для стабилизации, то как стабилизировать поворот, да ещё и "неизвестного" радиуса?

Ситуация: движение по линии на 2-х датчиках. Съекал датчик - одно колесо ускоряем, другое замедляем - возвращаемся на линию .. вроде все просто, но вот только КАК определить на сколько надо изменять ШИМ на моторах? Одна величина годится для движения по прямой .. а в повороте её становится существенно недостаточно. Вторая годится на поворот, но при движении по прямой получается слишком резкое виляние в стороны, что снижает общую скорость движения и порой существенно. А главная засада в том, что обы значения "плывут" от заезда к заезду" практически произвольным способом .. то батарейка чуть хуже тянет, то сцепление оказалось не таким..

Может есть какие-то алгоритмы и/или методы динамически определять эти изменения ШИМ для стабилизации?

И второй вопрос: каковы сейчас "средние" скорости ардуино-роботов? Вот, скажем "стандартный" набор "мотор-колесо", типа такого: http://www.aliexpress.com/item/Arduino-Gear-Motor-with-DC-3-12V-High-Qua... с какой скоростью катает тележки?

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

Всем спасибо за помошь. :)

Пока придумал такой алгоритм вычисления значений изменения скоростей моторов:

Если датчик требует коррекции (изменения скорости моторов), то изменяем на мин. константу и смотрим следующее показание датчиков линии. Если по прежнему требуется изменение, то удваиваем константу, повторяем анализ. Если вернулись на линию, то сохраняем последнее значение. Если сошли в другую сторону, то используем 1/2 от последнего значения для обратного изменения скорости.

Датчики можно считывать со скоростью 0.01сек, что дает смещение на полной скорости не более 0.5см. То есть, можно проводить коррекцию величины изменения скорости каждые 5мм движения и менее. Должно позволить вписываться в повороты не снижая скорости моторов.

Обнаружение перекрестков: если ОБА датчика требуют коррекции, то проезжаем 2.1см и смотрим датчики. Если все нормально, то возвращаемся к основному движению по линии.

Вылет за линию .. вот тут КАК поступать пока не понятно. По идее нужен третий датчик.

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

Обновлю тему, может кому будет полезно.

Наши самокатные тележки с датчиками линии/препятствий:

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

Окончательный вариант робота, на тренировочных заездах. Серводвигатель убран за ненадобностью, контроль препятствия только впереди себя для проезда перекрестков. Заднее колесо - шаровая опора. Достигаемая скорость проезда прямых участков - 50-75 см/сек. Жесткая проблема с корректной настройкой датчиков (отверка в руках ребенка).

А вот так теперь выглядит датчик цвета TCS3200.

Программно сделано: средняя ошибка измерения в пределах 1%, диапазон яркостей от 10 до 12_000лк. Работа на счетчике Т5, восстановление цветов по обратной матрице чувствительности датчика, восстановление баланса белого от своей подсветки, динамическая автоподстройка скорости измерений от текущей яркости, перевод яркостного канала в люксы, адаптивный алгоритм повышения цветового контраста. Скорость замеров от 1 до 16мсек.

Офигительно хороший датчик, в отличии от датчиков препятствий/линии. Или я так и не научился их готовить.. :)

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

UP.

Новая инкарнация нашего "лего-кирпича" на базе Ардуино Мега 2560. Наконец-то найдено решение как упихать всё в габариты Лего NXT 2.0 или EV3. Дополнительно привожу фото допаянных отсутствующих 16 ног Меги 2560 на платах Ардуино:

Прозвонено, проверено .. все 16 дополнительных ног работают как надо. Это нам дало: Xck0..3 - сигналы синхронизации для USART + T1, T2osc1, T2osc2, T3, T4, ICP1, ICP3 - полноценное использование всех таймеров Меги + PJ7 - доп. ногодрыг ибо не имеет функционального обвеса + PCINT12..PCINT15 - 4 ноги прерываний. Кроме прерываний, остальнгые "спец. функции" пока остались не особо востребованными и на них тупо подключаются разные "общие датчики" типа "датчик расстояний, препятствий, касания и т.д. 4 доп. ноги прерываний задействованы под энокдеры моторов, поскольку иных "доп. функций" тоже не имеют.

В левом-нижнем углу камня - первые попытки допаяться методом "ща как залью все канифолью"..

Вот проект нового кирпича "на бумаге":

Итого получилось втиснуть все в размер 13х7х5.5 "лего-дырок", что несколько даже меньше размеров типовых лего-кирпичей. На нижнем левом рисунке "вид А" их габариты обозначены согласно тем же "местам соединений". Соответственно, места соединений "снизу блока" - совпадают у всех трех кирпичей. Тут же разложены планки контактов по 3 ряда: "сигнал" + питание + земля. В каждой планке по 22 сигнала. Их предварительная распиновка дана тут же сверху и сбоку. Забегу сразу, в итого сделано "чуть не так".

А это теперешний вид нашей Мега2560 собранная в единый блок с расширительными планками контактов, вид снизу и сверху:

Тоже всё прозвонено и проверено. "мин нет". Все 66 контактов имеют свое питание и землю .. итого запаяно 198 штырьков .. (вот жеж делать нечего!) :)

На втором фото хорошо видно дополнительные группы контактов для добавленных 16 ног.

Ну и напоследок, заготовка блока аккумуляторов:

Ну и напоследок, вот так примерно будет выглядеть вся сборка (нет ещё платы драйверов моторов и прочих плюшек):

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

Продолжу. Это схема одного драйвера DC-мотора на 12в:

[Удалено. Ошибочная вставка рисунка. Как доберусь до компа - выложу верную схему]

А это окончательная версия платы памяти на 512килов без использования дополнительных ножек от слова "Вовсе":

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я бы на драйвере убрал R1.1 увеличил R1.2 и уменьшил R1.3

но все равно накладывает небольшие ограничения на код при смене направления так как возможны сквозные токи: выключили шим-задержка-поменяли направление-задержка-включили шим

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

R1.1 поставлен из соображений что питающее моста допустимо поднимать до 30в (предел для АО4606). В этом разе, при открытом транзисторе напряжение затвор-исток (кажись оно) легко превышает допустимые 20в. Плата разводилась "на все случаи жизни" :) В моем варианте 9-12в, конечно же можно взять иные номиналы резисторов и убрать R1.1.

Да, программное управление сменой направления именно такое: выключение ШИМ, задержка 2мксек, смена направления, задержка 2мксек, включение ШИМ. Зато шимить можно хоть сотнями килогерц. :)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

даже выше 12В не вздумай поднимать)) сгорит

насчет продолжительности задержки лучше посмотреть отциллографом и увеличить в несколько раз

и кажется ты не учел лог. уровни. если 74LS08 будет питаться от 12В тогда нужно согласовывать, а если от 5В тогда никаких килогерц с таким резистором на затворе

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

Микросхема 74HC08 в корпусе DIP16 (какая есть), обычная на 5в, питается от отдельного источника .. там вроде есть вход питания +5в.

А что тут может "сгореть"?

P.S.

Упс.. это не та схема, перепутал файлик когда выкладывал .. да, сгорит, что уже видел. :( Дело в том, что прямой выход VT1 при закрытом транзисторе имеет на себе всё напряжение питания .. 30в и оно прямиком попадает на вход ЛИ1 .. там ещё третий, инвертирующий транзистор сигнала DIR есть .. он 5 вольтовый и его выход и управляет мелкосхемой и VT2 .. обшибся файликом, звиняюсь.

Выложу как доберусь до верного.

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

Вот, нашел последнюю схему драйвера на 1 DC-мотор:

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

Продолжу выкладывать то, что накопилось по проекту.

Это новая версия наших аналоговых ИК-датчиков линии. 1шт сделана мною "как сделать" + 1шт полностью сделана ребенком. От пайки до окраски.

Схема примитивна, не вижу смысла её выкладывать: ИК-светодиод с гасящим резистором + ИК-фотодиод с резистором в 750кОм, с которого снимается сигнал и подается на аналоговый вход нашей Меги.

Полностью "не вижу" (черное поле) оцифровывается как 5-10 ед., "белое" поле на расстояниях 2-5см оцифровывается 120..280 ед. при нормальном дневном освещении на полу комнаты. Что нас устроило полностью.

mrGoReC
Offline
Зарегистрирован: 16.06.2015

https://ru.aliexpress.com/item/Mega-2560-Core-Mini-2560-3-3V-5V-USB-2-0-...

Вот эта штука лучше бы подошла!

 

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

Да, безусловно. Но, на момент покупки нашей Мега2560, я вообще слабо себе представлял "что такое Ардуино и аналоги" и "как с этим бороться". В феврале 2015-го у меня вообще впервые встал вопрос "А можно ли найти что-то ЛУЧШЕ чем Лего Майндшторм" .. ну как-то пришла жаба про такую цену .. Всё что нашел тогда - называлось "Ардуино" или "Малинка" .. выбрал лучшее для задач обучения управлению и автоматному программированию.

Конечно, сейчас .. вряд ли бы купил Мегу. Такие платы "впервые" увидел только с полгода назад .. может с год. Слишком поздно, уже своя была "изнасилована" на несколько раз.. :)

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

Один из наших серво-двигателей SG-90 теперь выглядит вот так:

Завершается ребенком модификация остальных 7шт, поскольку выяснилось что можно сделать крепление и поудобней.

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:

Страх-то какой!

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

Ну, так! Зато всё работает "по полной программе". :) 3 контрольных броска на деревянный пол с полутора метров высоты - выдержало. Выдержало месячную эксплуатацию "детской приемки". Это Вам не военпреды, это куда как круче, как выяснилось .. :)

a5021
Offline
Зарегистрирован: 07.07.2013

Ну и ладно. Только помыть бы.

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

Вот помыть как-то не решился ..

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

Доработка типовых моторов Лего "Power Functions L-motor":

Разрезаем провод и допаиваем разъем. Просто, дешево и со вкусом.

Теперь можно заюзать как сами моторы Лего в ардуино-проектах, так и наоборот наши "Ардуино-моторы" использовать с наборами Лего Power Function. Рекомендую. :)

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

Спаял пробный вариант драйвера, но на базе 74HC02, типа ИЛИ-НЕ или таже ИЛИ но на инверсной логике (просто оказалась под руками) .. НЕ РАБОТАЕТ!

Почему - не могу понять. Транзистор Q1 все время находится в открытом состоянии и НЕ переключается даже если вход dir посадить на землю напрямую... аналогично и с остальными транзюками.

Я их как-то не так впаял или пожег в процессе пайки?!?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

поставь резистор 10к между dir и землей

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

Попробую как доберусь. Утром допаял платку, прозвонил - вроде бы все звонится, запитал - потребление в пределах 20мА .. начал тестить и тут опаньки: тыкаешь DIR на землю, а на Q1 0.3v как было так и осталось.

Я когда делал плату памяти, ставил этот же транзистор в качестве инвертора и он тоже нифига не заработал .. но там, отключил вторую микросхему памяти и пробовал без него .. может они тупо не рабочие приехали? Или их легко загубить при пайке? 4штуки, однако уже.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

но ты же вроде можешь программировать stm32. A5021 писал о копеечном 030 в корпусе tssop-20 котором недокументированная возможность есть сделать 10 (или около того) шимов. лучше у него уточнить.  тогда можно было бы не городить логику и взять мой драйвер и сделать драйвер на 4 канала например у управлением да хоть по i2c. будет отдельный модуль драйвер. приделаешь к леговскому пластику. нужно больше 4 добавляешь плату. главное добавить перемычку для установки адреса. получится и компактно и удобно раз уж делаешь конструктор. но это на мой взгляд

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

Нет. stm32 не пользовал, тока знакомился по даташитам. Вот их - выкачал несколько.

Сейчас смущает то, что из запаянных 4шт транзюков из этого набора "17 типов по 20шт" - ни один не заработал как надо. А я уже и плату на 4 мотора  развел..

Это сейчас "первая версия" под конкретно тутошнюю плату меги. В дальнейшем, меня заинтриговала версия "как серво" с управлением через ШИМ по 1 проводу: типа 0,255 - стоим, 1..127 - крутим "вперед", 128..254 - крутим "взад". В таком разе плату драйвера можно ну очень мелкеую и сажать непосредственно на мотор и получаешь "мотор как серво".

Делать "спец.плату" на 2/4/8 и др. моторов мне кажется несколько нецелесообразно.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ну дело твое, я хотел таку плату сделать на STM8. уже и изучать начал. но много гемора с изучением. в итоге забил. нет времени изучать

такое же делал на тиньке13 с управлением как сервой. уже и код написал и вроде все работало. но одноканальный невыгодно было. минимум 2 канала

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

а мне эта идея наоборот занравилась: делаешь микроплату и лепишь её прямо на мотор .. получаешь "готовое изделие". :)

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

как вариант. я не рассматривал совместить драйвер с мотором. в твоем случае оно более акруально потому что это конструктор

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

Гы .. таки похоже на непропай ног транзюков, уж больно мелкие контакты. Надавил щупом посильнее на Drain Q1 и упс .. есть 4.78в на выходе при заземленном входе! Пошел пропаивать ещё на раз.. ну хоть живые транзюки в наборе, а то я уже запереживать успел... :)

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

Похоже схема рабочая, как и транзюки. Просто видимо у меня руки кривые.. второй и третий транзистор тоже переключаются как надо. А вот на 6 выводе мелкосхемы почему-то стоит 0, когда и на 4 и на 5 тоже нули .. вроде как "2ИЛИ-НЕ" .. должна выдавать единичку?

Вот такое оно "макетное чудо" .. не подлезть нигде. ;)

Буду перепаивать по идеям А5021 для втыкивания на штыревую макетку..

Теперь при подключении питания моторов жор тока плавно увеличивается от 0.01А до 0.8А .. далее ждать не стал. :(

.. сквозняки?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

скзвоняки, непропаи, несмытый флюс, кз, неправильное управление. вариантов много

diger67
Offline
Зарегистрирован: 25.07.2015

наверное что то типа этого надо собрать, если для отладки. Ну как все зажужит можно и мельчить.

Купите разъемы как на ардуино 40 пин и контакты, очень удобно. Я пошел дальше купил разных макеток под чипы sop8, sop16 итд. Воткнул в разъем а к контактом обычными монтажными проводами присоеденяю. На одно и тоже место можно любую м/с установить и скоммутировать. Про сквозняки, в свое время боролся с ними в импульсниках, когда sg3525 и tl494 были в диковинку. Так вот надо не просто подовать импульсы на переключение, а еще формировать полочку. Т.е. при смене импульсов управления между их пподачей оба сигнала должны быть ровны "0". Еще лучше использовать мостовую схему управления двигателем.

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

С утра уже запаял вот такую "гибридную плату"

для 3-х 7002 транзисторов. Теперь уже вечером буду макетировать на штыревой макетке и смотреть что там куда "сквозит" .. радует что проверка транзюков отдельно показала что они рабочие.

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

По самой схеме: кто-то может помочь и посмотреть что показывает "протеус" или кто ишо по частотно-нагрузочным свойствам на 9-12в и 24-30в питания "моторов"? Какой частоты по ноге ШИМ она потянет при корректном программном переключении направлений? Какие задержки надо организовывать программно при переключении направлений при указанных номиналах деталек? Может действительно "изменить номиналы"?

Я исходил из примерного расчета:

1. R1.3 = 240 ом. Выбрано из соображений ограничения тока мелкосхемы 74HC08d в 25мА при перезарядках нижних мосфетов (их нет, пробую на базе 74HC02N с инвертированием сигналов). Это дает для 1нф емкости затвора N-канала АО4606 характерное время цепочки в 2.2*R*C = 0.528 мксек. Что ограничивает предельную частоту ШИМ на них в 2Мгц .. то есть можно гарантировать нормальную работу на ШИМ в 200кгц, что для меня "более чем достаточно".

2. Верхнее плечо разделено на 2 резистора из соображения работы на больших напряжениях, более 20в. При питании моторов в 30в надо ограничить напругу на затворах не выше 20в, соответственно соотношение плеч резисторов выбрано как больше 2/3: 160/270 = 0,59.

3. Суммарное сопротивление R1.1 + R1.2 выбрано 430ом из соображений сквозных токов через 7002N, через который будет происходить перезаряд P-канальных мосфетов АО4606: 30в/0.43 = 70мА, что очень терпимо и, с другой стороны не сильно проблемно с точки зрения общего КПД драйвера. При питании 9-12в имеем зарядный ток (9..12)/0,43 = 21..28мА что примерно совпадает с токами перезарядки нижних плеч полумостов. Для 2нф емкости верхних мосфетов характерное время 2.2*R*C составит: 0,946мксек, что заставляет выбрать времена задержки переключения направления не ниже 2мксек. "до" и "после" переключения. Итого, 4мксек на "ШИМ по входу DIR" или 250кГц, что тоже оказывается как-бы неплохим результатом.

.. или "всё не так"?

А то появилась мысля изготовить ещё одну такую плату под будущий ЧПУ-3D станок и мощные моторы типа ДПМ .. да и нагреватели можно уже втыкать при 30в/5А .. не? :)

a5021
Offline
Зарегистрирован: 07.07.2013

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

Затворный резистор, при желании можно уменьшить до десятков ом. Опасности пожечь выходы логических элементов здесь практически нет, т.к. токи носят импульсный характер и весьма кратковременны.

В остальном, моделировать в протеусах тут особо и нечего.

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

Пасибки, я так и думал.

В общем, схема рабочая. Сегодня проверил переключающую часть, без подключения силовых полумостов (не успел). Всё гоняется "как надо", но действительно есть смысл на входы DIR и PWM добавить развязочные резисторы для их однозначного состояния при подаче питания на схему.

Делюсь результатами своей невнимательности:

1. Использованная микросхема SN74HC02N (4х2ИЛИ-НЕ) вместо 08 (4х2И), это не только инверсная логика как оказалось, но ещё и наоборотная разводка ножек! Пока разобрался .. пожег пару 2N7002 уж не знаю как .. а вот микрухе - "хоть бы что" пашет. Теперь в раздумьях .. есть разведенный вариант платы под 08 (2И), но их нет. Использовать на ней напрямую 02 (2ИЛИ-НЕ) не представляется возможным .. или переразводить плату или таки ждать (закал уже в т.ч. и SMD резисторы серии 1206) .. но тогда уже переразвести плату под SMD резисторы .. склоняюсь ко второму варианту.

2. При указанных номиналах плата будет работоспособна при питающем напряжении примерно от 6.5в до 30в. А если R1.1=0 ом, то схема будет рабочей от 3.5-5в .. 20в, ибо открывающее напряжение на P-канальных транзисторах, согласно даташиту начинается примерно с -3.5..-4в и 146% от -4.5в и не может быть более -20в, но напомню:

Схема поста 17 рассчитана ТОЛЬКО на программное переключение направления вращения в таком порядке: Отключаем сигнал ШИМ, задержка 1мксек (не менее 0.5), изменение DIR, задержка 2мксек (не менее 0.8), включаем ШИМ.

Управлять сигналом ШИМ при неизменном DIR можно теоретически хоть до 500кгц.

Да и ещё: в импульсном режиме (ШИМ) эти полумосты держат до 30 ампер! Но, тут уже надо смотреть по графику в даташите "чего и как".

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

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

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:
есть разведенный вариант платы под 08 (2И), но их нет.

74ACT08 (версия 74HC08 с увеличенным быстродействием) можно часто видеть в районе входных разъемов на видеокартах. Если дома нет залежей старого компьютерного железа, то можно попробовать толкнутся куда-нибудь в компьютерную фирму и выпросить там. Такого добра там обычно горы и время от времени его попросту выбрасывают. Говорю это, как человек, знающий ситуацию изнутри.

Цитата:
Управлять сигналом ШИМ при неизменном DIR можно теоретически хоть до 500кгц.

Да я как-то два мегагерца подавал из любопытства. Ничего страшного не случилось. Смысла только в использовании их никакого, а число ступеней изменений коэффициента ШИМ снижается до 8, т.к. тупо все упирается в верхние 16мгц.

Цитата:
Да и ещё: в импульсном режиме (ШИМ) эти полумосты держат до 30 ампер! Но, тут уже надо смотреть по графику в даташите "чего и как".

На больших токах могут возникать дополнительные неблагоприятные эффекты. Сам этого вопроса подробно не изучал, но в умных книжках пишут.

Цитата:
токи действительно импульсные, но я не рекомендую превышать импульсный ток более чем в 2-3 раза по отношению к предельно-постоянному.

По канону, оно конечно так, но я обычно ставлю десять ом в затвор. Исхожу из соображений, что нефиг фронты затягивать. Пользы никакой, а вред не исключается.

Цитата:
"подгорать" оно все одно будет, но изделия для копроэкономики - это не для меня.

Оно может довольно долго так "подгорать". Даже дольше, чем несколько сроков морального старения устройства. :)

Я как-то давным-давно переписывался с саппортом фирмы AMD. Интересовал меня вопрос, через какое время полупроводниковая структура их процессора деградирует настолько, что перестанет обеспечивать функционал. Мысль была такая, что значительные токи, высокие температуры и все такое -- не лучшие условия для работы полупроводниковых приборов. Сначала они ответили, что дизайн гарантирует непрерывную работу не менее десяти лет. Когда я начал докапываться, как были получены эти цифры, они мне ответили, что вообще-то этим вопросом никто и никогда не запаривался, т.к. существующий опыт в отрасли показывает, что реальные значения многократно выше и величина была взята по минимуму. Я про сеюя мысленно добавил, чтобы уж никак и никогда не погореть на этом.

Была еще идея послушать, что скажут в Интеле, но как-то заломало. :)

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

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

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

:) На последнее предложение: ну .. никто же НЕ запрещает использовать 1/2 драйвера (полмоста) .. это жеж "конструктор" у меня, для ребенку. А управлять что светодиодными лентами, что нагревателями через ШИМ - ну очень бывает полезно в плане регулировки яркости/нагреву ..

вот только вчера где-то видел картинку "3D-принтер из Лего".. реальный, на базе Lego Mindstrom EV3 :)

А насчет моторов, могу изложить результаты нашего весеннего исследования: повышение частоты ШИМ приводит к потере мощности мотором при низких оборотах. Объясняется крайне тупо: чем выше частота ШИМ, тем лучше они интегрируется конденсатором на моторе и его обмотками, и в результате имеем как-бы пониженное питание мотора, что приводит не только к потере скорости, но и потере выходной мощности. Особенно ярко проявляется на малых скоростях.

Чтобы такого не происходило, частоту ШИМ надо по возможности СНИЖАТЬ, что для высокооборотных моторов и понижающих редукторах приводит к более длительному вращению мотора при большей паузе .. практически без потери мощности мотора.

В реальности нами были получены удовлетворительные параметры на 130-м моторе (фото выше) с редуктором 30:1 и ШИМ частотой .. до 30гц, ещё лучше 10гц. Такой ШИМ позволяет получать практически 10-и кратную регулировку скорости практически без потери выходной мощности. Для сравнения: типовой ШИМ ардуино 490гц качественно проседает уже на 30% заполнении ШИМ.

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

74ACT08 как и все АСТ .. жрут немеряно. :)

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:
А управлять что светодиодными лентами, что нагревателями через ШИМ - ну очень бывает полезно в плане регулировки яркости/нагреву ..

Бесспорно. Мост вот только для этого не обязателен. Достаточно единственного мосфета.

Цитата:
74ACT08 как и все АСТ .. жрут немеряно.

В техасовском даташите вижу цифру 40мка. Видимо о "немеряно" у всех разные представления.

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

В даташите указано Icc (or Ground current) 200mA .. ваще-то серия ACT это аналог нашей 531 серии, а она жрет вот точно "немеряно". :)

мост конечно необязателен. Но, в нашем конструкторе, куда как удобней заюзать "встроенные" драйвера моторов для такой цели, чем паять ещё какой-то обвес... оно жеж "собралось-разобралось" по необъходимости. :)

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:
В даташите указано Icc (or Ground current) 200mA .. ваще-то серия ACT это аналог нашей 531 серии, а она жрет вот точно "немеряно". :)

200ма -- это максимально допустимый ток через кристалл с учетом нагрузки по выходам, а не собственное потребление. Собственное потребление 40мка.

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

А где там 40мкА, как-то не могу сориентироваться ..

a5021
Offline
Зарегистрирован: 07.07.2013

Кстати, только сейчас обратил внимание, что для комнатной температуры вообще 4мка макс. Это по техасовскому даташиту. Мотороловский даташит приводит дополнительные и весьма интересные характеристики. Ток с выхода в импульсном (2ms) режиме:

Так что пересчитывайте резистор в базе. Копроэкономика обещала выдержать. :)