у меня как-то серва (как раз sg90, дешевый клон) работала с не подключенным плюсом, правда рывками. Так что я бы не был уверен в 1 мА. Но вы вполне можете быть правы, я просто пытаюсь понять причину оверхета чипа, и постараться избежать повторения
это само собой. Вы же не думаете, что XL4015 у меня запитывает VCC на ЕСП, а сервы я питаю от вывода, на который HIGH подал?
// ┌───────────────────────────┐ 🡡
// │ ESP32-S3 NANO │ Y
// ┌───────────────┤ (back side) ├───────────────┐ ── 0 X 🡢
// │ ╔═════════╪═█ VIN (43) TX █ │ │ │
// │ ║ │ │ │
// │ ║ │ █ GND (44) RX █ │ │
// │ ║ │ │ │
// │ ║ │ █ B1 RST █ │ │
// │ ║ │ │ │
// │ ║ │ █ VBUS GND █═╪═════════════╗ │
// ┐ ├─────╫─────┐ │ │ ┌─────────╫─┤ ┌
// │ ~06 > │ █ │ █ │ █═╪═══╪═█ A7 (14) (5) D2 █═╪═══╪═█ │ █ │ █ │ < ~05 │
// LIMB 2 │ ├─╫───╫─────┤ │ │ ├─────╫───╫─┤ │ LIMB 1
// │ ~07 > │ █ │ █ │ █═╪═══╪═█ A6 (13) (6) D3 █═╪═══╪═█ │ █ │ █ │ < ~04 │
// 120° │ ├─╫───╫─────┤ │ │ ├─────╫───╫─┤ │ 60°
// │ ~08 > │ █ │ █ │ █═╪═══╪═█ A5 (12) (7) D4 █═╪═══╪═█ │ █ │ █ │ < ~03 │
// ┘ ├─╫───╫─────┘ │ │ └─────╫───╫─┤ └
// │ ║ ║ │ █ A4 (11) (8) D5 █ │ ║ ║ │
// ┐ ├─╫───╫─────┐ │ │ ┌─────╫───╫─┤ ┌
// │ ~09 > │ █ │ █ │ █═╪═══╪═█ A3 (4) (9) D6 █═╪═══╪═█ │ █ │ █ │ < ~02 │
// LIMB 3 │ ├─╫───╫─────┤ │ │ ├─────╫───╫─┤ │ LIMB 0
// │ ~10 > │ █ │ █ │ █═╪═══╪═█ A2 (3) (10) D7 █═╪═══╪═█ │ █ │ █ │ < ~01 │
// 180° │ ├─╫───╫─────┤ │ │ ├─────╫───╫─┤ │ 0°
// │ ~11 > │ █ │ █ │ █═╪═══╪═█ A1 (2) (17) D8 █═╪═══╪═█ │ █ │ █ │ < ~00 │
// ┘ ├─╫───╫─────┘ │ │ └─────╫───╫─┤ └
// │ ║ ║ ╔═════╪═█ A0 (1) (18) D9 ╔═══█ │ ║ ║ │
// ┐ ├─╫───╫───╫─┐ │ ║ │ ┌─────╫───╫─┤ ┌
// │ ~12 > │ █ │ █ │ █ │ │ █ B0 (21) D10 ║ █═╪═══╪═█ │ █ │ █ │ < ~17 │
// LIMB 4 │ ├─╫───╫─────┤ │ ║ │ ├─────╫───╫─┤ │ LIMB 5
// │ ~13 > │ █ │ █ │ █═╪═╗ │ █ 3V3 (38) D11 ║ █═╪═══╪═█ │ █ │ █ │ < ~16 │
// 240° │ ├─╫───╫─────┤ ║ │ ║ │ ├─────╫───╫─┤ │ 300°
// │ ~14 > │ █ │ █ │ █ │ ╚═╪═█ D13 (48) (47) D12 ║ █═╪═══╪═█ │ █ │ █ │ < ~15 │
// ┘ ├─╫───╫───╫─┘ │ ║ │ └─────╫───╫─┤ └
// │ ║ ║ ╚═════╪═════════════════════╝ │ ║ ║ │
// ├─╫───╫─────┐ └───────────────────────────┘ ║ ║ │
// │ ║ ║ │ ║ ║ │
// ├─╫─┐ ║ ┌───┤ ║ ║ │
// │ █ │ ╚═╪═█═╪═════════════════════════════════════════╝ ║ │
// │ ║ │ │ │ ║ │
// │ ╚═╪═══╪═══╪═════════════════════════════════════════════╝ │
// └───┴───┴───┴───────────────────────────────────────────────┘
// ^ ^ ^
// ┌───────────┐ ┌───────┐
// GND VCC USB
вот так сейчас разведено (сильно не сметесь, это я в комменты кода схемку сделал).
можете поставить в сигнальную цепь сервы резистор, например 1К. На нормальную работу сервы он не повлияет - а вот если вы правы что там идет сильная утечка - резистор защитит пин.
Хотя я не очень понимаю, откуда там может взяться ток.
спасибо, если еще 1 плата накроется - это будет первое, что сделаю
По моему опыту, проц дохнет только от большого напряжения на входах/питании. Просто от “тока” с выходов не дохнет никогда, если их неправильно замкнуть на землю или питание.
Если скучно и проц программируется, можно прошить его так чтобы все ноги были входами и посмотреть, будет ли жрать и какая нога как живет: может она пробита на плюс или землю. Точнее ейный диод.
упд: или просто подать Сброс постоянно
таки пошла гекса. Если этот контроллер не навернется, как первый - можно считать, что вопрос темы решен. Наконец-то.
Мне предстоит еще очень много работы над этой штукой. Весьма вероятно, как закончу - закину в готовые проекты.
Прикольный паучок. Мордаху ему надо сделать, на вытянутой шее - espcam туда повесить. И чтоб вертел головой. Еще два серва :)))
я подумал, что можно ему сделать второй канал управления по Serial например, и для автономной ходьбы второй контроллер прицепить. При этом оставив управление с пульта приоритетным - чтобы он не мог принять участие в восстании машин))
А так выводов свободных осталось минимум. Либо с nano на другие esp32s3 платы переходить (но они крупнее), либо со временем свою разработать, либо что-то простое мутить. Например, я бы не прочь сделать очень простой 360 градусов датчик приближения, хоть инфракрасный, хоть сонар - все равно
Ну уже можно начинать рассказывать об изготовлении ходовой.
Всплыло несколько интересных моментов.
Во-первых. Как ни игрался, но на собранной платформе отчетливо видно сильное дрожание при генерации ШИМ на таймерах. Метод генерации путем сортировки каналов по длительности и составлении масок регистров оказался самым применимым. И самым гибким - кол-во каналов ограничено только кол-вом gpio.
Во-вторых, сервы mg90d заявлены на напряжение 5-6,5 вольта. Из fpv-темы я привык, что чем выше напряжение, тем меньше требуется сила тока, и выставил на стабе 6,5. Как выяснилось, свыше 5.5 сервы дрожат подобно желе при медленном движении (возможно, заметили на видео). Думал стабу сложно 7.4 до 6.5 понижать, слишком малая разница… Но нет. Li-Po 11.1 вольт - рубль в рубль такая же ситуация. Либо пиды в ней такие, либо ну просто слишком большое ускорение при таком моменте, либо “электромагнитные слоны”…
В-третьих, умудрился загнать алгоритм “шагания” в NaN ))) хотя демка на javascript работала исправно. Вроде пофиксил, но теперь в планах везде прописать логирование на 1е появление NaN при вычислении с плавающей точкой, на случай повторения.
что именно интересует? И да, если надо 3д модели или исходники того, что существует на данный момент, могу поделиться без проблем. Модели будут минимум 1 раз значительно переделываться
А если два канала будут с одинаковым или близким значением? Возможно это проговаривалось и я пропустил.
А дрожание не из-за этого ли?
Одинаковые значения там в одну маску пишутся, вот когда они на очень мало отличаются - могло бы быть такое, особенно когда значение одного канала меняет свою “сторону” относительно значения другого канала. Но дрожание было равномерным при любых значениях, а при понижении напруги - пропало полностью.
Может скорее из-за метода позиционирования. Допустим, условно, при перемещении кончика лапы на сантиметр за одну секунду, одна серва повернется на 50 градусов, а другая - на 5 градусов. И эта секунда будет разбита на 50 частей, первая серва на 1 градус за 20мс, а вторая - на 0.1 градус. Если у сервы death band например 0.5 градуса, то для нее это будет 10 рывков по 0.5 градусов за 1 сек. И на 6.5 вольта она могла это успеть сделать именно рывками, а на 5 вольт уже по-медленнее, со сглаживанием инерцией редуктора и конструкции.
Тогда скорей всего из-за питания. ПИД расчитан под конкретные параметры моторчика при номинальном напряжении. При повышении вольтажа получаем более быстрый мотор со старыми настройками. В результате происходит перерегулирование.
самое главное забыл упомянуть, извиняюсь. Когда 1 лапу оставляю включенной - то же самое, хотя нагрузка по току в 6 раз меньше. Но соглашусь, надо сделать делитель напряжения и померить акб самим контроллером, вывести на экран пульта. МОжет там что-то интересное будет
В готовом публичном проекте интересует авторский вариант реализации всей поделки “от-до”, а не отдельные, лакомые кусочки. И конечно перспектива легко повторить в доступных финансовых и интеллектуальных рамках.
в идеале, итоговый результат вижу именно таким, да. Бюджет 12к серво + 3к остальное железо + стоимость печати примерно 1 катушки пластика. И хочу описать подробно механическую электрическую, программную части, а также сделать инструкции как собирать, как настраивать, и как пользоваться. Чтобы можно было поковырять основательно. Но и просто собрать печать, минимум пайки и залить прошивку - можно играть, не вникая. Времени на это, естессно, потребуется вагон…
крутой прожект. Жаль я в игрушки не играю. (это не осуждение, просто мне не интересно, а без интереса что-то делать… не интересно )))
Играть можно по разному, например через освоение систем управления - аппаратный пульт (что вы и делаете), приложение на смартфон, ПК. Через пользовательское редактирование алгоритмов движения, через робонавигацию различными видами датчиков через редактирование скетчей и т.д.
в данном случае, мой интерес именно сделать)) а описать и поделиться с другими - это чтобы хоть какая-то польза была от потраченного времени
да такая же х-ня. Большинство прожектов для себя это 10% пользы и 90% интереса.