Activity
Регулятор HK-SS40A (Atmega8,n-Fet ключи) моторы пробую и
12n14p и 24n22p (зуб.статора/кол.магнитов), характер срыва: нестабильный старт, либо внезапная остановка при подгазовке,
не знаю чем это Вам поможет, для себя сделал вывод что дело это довольно капризное (Simonk), пока экспериментирую, сам ищу пути к пониманию того,
что именно “выкинул” из нормальной заводской прошивки г-н Саймон К. для достижения быстродействия…
Заметил странную вещь, работа двигателя на прошивке Simonk зависит от частоты входящих PWM импульсов.
Т.е. напрямую от приемника (50Гц) проявляет одно поведение, а от полетного контроллера (~400 Гц) все равно срывается, но уже не так…
Выходит ее (частоту) подбирать еще надо чтоль ? ММ …да…
Спасибо большое за схему,
таких кондеров на моей плате нет (во!), вобщем все передумал, что обсуждается в этой ветке и попробовал, даже моторы разные подключал, результат крайне нестабильный, а значит - НОЛЬ.
Напомню другим чтоб “не вляпаться” HK-SS40A.
(к стати про этот регуль пишут rpM мотора не выше 2000 при 3S ? почему то…)
Схема у регулей типична как правило.На схеме если не ошибаюсь С10 С11 С12 (но нужно проверять!!) поправте если ошибся .Тоесть тестором можно все вызвонить и найти то что нужно.
Номиналы на схеме не читаются, нет ли более четкой картинки?
У меня к сожалению (или к счастью?) на регах стоят еще драйвера-nFET (IR2101), похоже таких кондеров вообще нет.
Коллеги, есть где почитать по подробнее по прошивкам Simonka ? кроме той таблицы со списком регулей ?
У меня синхра срывается, регулятор не распространенный среди коптероводов (HK-SS40 A), откуда взять инфу по удалению кондеров или изменению таймингов ?
Пока ковырялся со своим акселем заметил,что не всегда более мягкий подвес дает меньшие шумы, зачастую наоборот…
Без экспериментов не обойтись видимо.
Это извечная делема многозадачности и параллеризма обработки процессов реального времени. (windows, CUDA, и т.д.). Хочется конечно сделать что то оригинальное, свое, улучшить так сказать… Но приходишь к выводу зачастую, что все давно уже придумано.
А параллельное вычисление на разных ядрах (для коптеров) всеж может дать выигрыш, но видать не на AVR, это уже философия…
Кстати 32-х разрядах, хорошо, но ! Если в перспективе захочется отойти от шумных и медленных MEMS в пользу скажем стабилизации по обработке видео с камеры (попытки в сети встречал где то) то их кажущаяся избыточная производительность растает как снег. Вот и встанет тогда вопрос о многоядерности…
Выгоду в увеличении числа корпусов вижу если они дешевые как mega.
Вообще здесь в ветке кто то уже поднимал эту тему,
заманчиво было бы сделать распределенную систему у которой каждая mega могла бы обрабатывать медленную периферию (GPS, PPM приемника, датчики наконец) а одна собирать данные в “кучу” о шустро с ними разбираться пр помощи всяких там кватернионов, DCM, и т.д.
Один из перспективных путей вообще использовать AVR, да чот пока не выходит…
[QUOTE=
хм… странно…
ну во первых… оптимизируйте прерывания
[/QUOTE]
В том то и дело, что не Xmega, прерывания на обоих чипах не синхронизируешь, буферный регистр сдвига (SPI) сбрасывается у “слейва” как только с чипа снимается сигнал выборки кристалла CS.
Т.е. получается что один из пары процев должен тупо ждать второй…
Как то не срастается в голове, может чего туплю ???
По поводу многопроцессорности системы.
Пробовал связать два AVRa по SPI, но у обеих были аппаратные прерывания от периферии, ломал голову – ни как не выходит…
Т.е. если “мастер” начинает просить данные у “слейва” а тот в это время занят (прерыванием) происходит затык.
Есть у кого мысли на этот счет, наработки, идеи ?
Мне б сначала хоть какой нибудь результат стабилизации получить, зацепиться за тему, уж очень хочу свой понятный от А до Я код написать без коммерческой универсальности, просто чтоб летало…
Чужой код, для меня , читать а тем более править трудновато, а хочется чтоб увлечение имело какое то развитие в перспективе, из-за этого и связался… (многие скажут еще один велосипед изобретает), хочу и все…
10-битный в нем только при шкале 8G работает (шило на мыло) , короче ясно - мягко говоря не очень, но попробую конечно для начала хоть что то нащупать…
MMA7455
С муратовскими гирами не всё так просто, у них 0.67мВ/град/сек и 0 у них 1.35В, 10-ти битного АЦП маловато, по сей причине надо для начала на Aref АВРки подать 1.65В (не забыв analogReference(EXTERNAL); сделать) - это максимум что могут выдать гиры, тоесть 1.65В будет равно 1024 для АЦП и тогда уже пытатся считывать с них какую-то информацию 😃
Сергей спасибо за поддержку!
Как считаете, у меня сейчас аксель (на пробу взял) с диапазоном 1G=64 единицы, дубовый видимо да?
Можно наверно с ним даже не пробовать что либо получить дееспособное?
Извиняюсь, вопрос на вопрос, а recipnorm() это встроенная функция матлаба ?
Понял, понял 😃, просто мучаю гиры Murata(аналоговые), поэтому и сомневался
То есть все данные в формуле приводятся в системе Си: град/сек, градусы, и секунды соответственно.
dT как то придется считать аппаратно или программно между двумя обращениями к гироскопу…
понятно, буду пробовать…
С шумами датчиков МультиВии видимо не борятся ни как, чем точнее датчик тем лучше?
Тааак, спасибо, поправьте если не так понял:
Угол_Х слева равенства это искомое значение (отклонение ЛА)
Угол_Х внутри скобок это предыдущее значение гиры за время цикла опроса dT?
dT в условных единицах ? (видимо мСек., или как оно вообще там реализовано)
0.8 и 0.2 - что это?
и с акселя данные уже как то обсчитанные или “голые”?
Александр, а можете сформулировать перспективность 32-х разрядов для данной задачи или если хотите тупиковось AVR?
Очень интересно понять, глобально эту проблему…
Приветствую Вас, единомышленники.
прочитал вашу ветку на форуме и сделал вывод что можете мне помочь советом (или подсказкой).
Также как и вы хочу написать собственный софт для квадрокоптера.
Изучил в инете темы по алгоритмам и принципам стабилизации, решил для начала просто повторить рабочий мультивийный алгоритм, но тут столкнулся с проблемой.
Проблема в том что программирую в CVavr на Си, попытки разобраться с листингом проекта мультивии не увенчались успехом (уж очень он универсальный и “оброс” доп. функциями).
Понял только, что в нем допускаются некоторые упрощения в отличии от базовой теории.
Хочу всего лишь понять основной математический прием для гироскопа и акселерометра.
Постановка вопроса:
имеем последовательно считанные в основном цикле программы данные с гиры и акса (магнетометр о др. не интересует)
типа INT, назовем их условно Gx,Gy,Gz,Ax,Ay,Az.
Можете просто подставить их в формулу чтобы получить текущую переменную воздействия для скармливания ПИДу?
Или хотя бы объяснить мне бестолковому последовательность работы с этими величинами для получения результата стабилизации. Понятно что еще есть данные со стиков пульта, но допустим, чтоб не усложнять ответ примем их за ноль.
Надеюсь не утомил Вас длинным изложением, подскажите хоть что то, кто может…