ArduCopter Mega: порт на обычную Arduino (тестим)
А кто на такой подвиг замахнется 😉
А поподробнее можно? Какие части кода и библиотеки работают в 328 Ардуинке и как организована связь между платами?
Только вчера начал делать. Думаю, через serial связать. На 328 использовать d2 d3 для виртуального порта, а на Мега2560 отдать Serial3 под обмен.
IMU (ДУС + акселерометры) точно работает. Сонар и GPS придется опрашивать в Мега2560 (или код сонара переписать без плюшек 2560). Под GPS на 328 нет лишнего порта, еще один виртуальный вряд ли будет полезен.
Для начала, попробую с высокой частотой на 328 буферизовать IMU, а DCM останется пока на 2560 - будет парсить данные с Serial3. У меня навыков СИ не хватает взять и сразу все раскидать.
Только вчера начал делать. Думаю, через serial связать. На 328 использовать d2 d3 для виртуального порта, а на Мега2560 отдать Serial3 под обмен. IMU (ДУС + акселерометры) точно работает. Сонар и GPS придется опрашивать в Мега2560 (или код сонара переписать без плюшек 2560). Под GPS на 328 нет лишнего порта, еще один виртуальный вряд ли будет полезен. Для начала, попробую с высокой частотой на 328 буферизовать IMU, а DCM останется пока на 2560 - будет парсить данные с Serial3. У меня навыков СИ не хватает взять и сразу все раскидать.
Наверное все же лучше использовать аппаратный интерфейс SPI, который специально для этого и предназначен (для связи между MCU). Код сонара никак не привязан с 2560, ну разве что Таймером и портами.
Наверное все же лучше использовать аппаратный интерфейс SPI, который специально для этого и предназначен (для связи между MCU). Код сонара никак не привязан с 2560, ну разве что Таймером и портами.
И он самый быстрый? Видится так, в 328 подключены все датчики, в том числе GPS, если через SPI то порт для GPS свободен будет. Сделать массив с данными по датчикам и вычисленная высота. А вот как этот массив перегнать в 2560, совершенно не представляю.
SPI
Придется биты передавать. На высоком уровне с парсером по serial проще.
А возможно (в принципе) получить доступ чтения регистров одной платой с другой платы? Тогда просто считываем переменные с 328 платы, когда нужны данные. И соответственно, просто присваиваем этим переменным значения.
А возможно (в принципе) получить доступ чтения регистров одной платой с другой платы? Тогда просто считываем переменные с 328 платы, когда нужны данные. И соответственно, просто присваиваем этим переменным значения.
возможно , но только “через задний проход” … на старших мегах с JTAG интерфейсом можно получить доступ к регистрам и памяти меги через этот самый JTAG …
К стати… У нас существует какой-то холд режим? Что-б дернул переключатель и при любом положении стиков, движки мертвые. Кроме, стик в лево-низ.
какой-то холд режим?
Это настраивается в аппе. Даже в моей НК-6Т есть такой режим. ThroCut называется, на любой тумблер вешается. Как-то случайно включил, а потом ломал голову, почему моторы не стартуют 😃 Режим самолетный
Ну у меня такого нет ((. У меня Санва (аиртроникс) 8 канальный. У меня есть, конкретный “тротл кат”, настроенный на 3й канал.
Кто подскажет.
Поставил прошивку, вроде настроил в планере…далее подключаю аккум, моторы пропискивают как надо, но дальше начинаю издавать по одному писку в течении 2 сек и на стики не реагируют…
Это значит, что они не получают положенного сигнала. Для проверки подключите их напрямую к приемнику. Если заработают, напутан монтаж.
Так ошибку нашел, теперь не пищат, но опят не реагируют((
но опят не реагируют((
Рудер влево или вправо, газ в минимум - должен постоянно гореть диод, потом газ и полетели
Никак, диод продолжает мигать((
Подключите один регулятор с мотором к 3-му каналу приемника (само собой, без пропеллера), будет ли реагировать на газ?
А при этом из приемника всё вытащить или оставить как есть?
Никак, диод продолжает мигать((
Двойные расходы включены?
или оставить как есть?
Можно оставить. Винты сняты?
Так походу понял, двигатель один заработал, но на правых стиках))) в центре выдает максимум)))
Как переделать?))
но на правых стиках
Двигатель включали в третий канал приемника?