На этом этапе я начал тестирование узлов в комплексе и начал ловить косяки:
1. Оказывается в процессе вращения кардан вызывает перемещения вдоль оси, я этот нюанс забыл и это повлекло к заклиниванию рулевого узла, фиксится шлицевым переходником на оси. Я решил опробовать альтернативное решение, которое позже опубликую.
2. При вращении двигателей конвертер 48->12 от аккумулятора, срабатывает защита по току(в спецификации 24A), хотя ни предохранители на 15А, ни программная защита не срабатывают, я уже заказал еще конвертеров, которые расположу параллельно.
3. Медленная реакция тормоза, пока тормоз натянется проходит 2сек, пока я эту проблему решать не буду, в перспективе, хочу заменить барабанные тормоза на дисковые велосипедные.
4. Помехи в процессе работы тягового мотора вызывает нестабильность i2c шины, очевидно проблема в том, что я поленился и не поставил внешний pull up резистор, в теории, как поставлю должно все починиться.
5. Оказалось, что контроллер тягового мотора не понимает pwm в попытке эмуляции ручки газа, проблема была исправлена при помощи Low-pass RC filter, c R=10kОм и C=10uФ, это также снизило помехи от мотора, видимо pwm вызывал некорректное поведение контроллера.
6. Я забыл реализовать таймаут на подключение к мастеру для ведомых модулей, с точки соображения безопасности, если не поступает команд от мастера в течение 500мс, то тормозной модуль активирует тормоз, а тяговый отключает мотор и активирует торможение двигателем(у контроллера мотора есть такой режим).
Очередной раз напоминаю себе, что лучше не заниматься перфекционизмом на начальных этапах хардварной разработки, а как можно раньше сделать прототип и словить все возможные косяки.