CRIUS ALL IN ONE PRO Flight Controller

SanRomStaV

Мужики сори что с такими вопросами…
пришла мне посылочка с AIOP V2.0, открыл пакетик, достал платку, повертел в руках 😃, положил в пакетик…
Сейчас читаю это multiwii.p.ht/index.html
Вопрос: microUSB кабель любой подходит для настроек-перепрошивок или без этого не обойтись? www.rctimer.com/index.php?gOo=goods_details.dwt&go…

GrafSher
SanRomStaV:

microUSB кабель любой подходит для настроек-перепрошивок

Любой.

upd: хотя иногда встречаются такие ублюдочные кабели, в которых вместо 4х проводов только 2 провода питания. Такой, конечно же, не подойдет.

serenya

Коллеги, я уже несколько раз встречал вопросы по настройке мультивии на хардварное измерение тока через датчик RCTimer Voltage & Current Sensor 90A, но ответов так и не видел, по этому складывается впечатление что деньги выкинуты на ветер т.к. делитель для измерения напряжения я в состоянии и сам спаять. Результаты пробного включения датчика получились следующие: При включении в конфиге хардварного измерения у меня сложилось впечатление что работает все же софтварное, т.к. независимо от нагрузки скорость изменения mAh примерно одинакова. Еще почему-то довольно сильно отличаются показания в ГУИ и на ОСД. Не говоря уже и про показания поверметра, просто небо и земля.
Самостоятельно уже делал пару подходов к изучению наших и буржуйских форумов на предмет поиска информации, но так и не нашел никакой конкретики. Вот до чего я дошел:
На странице продукта приложена документация на AttoPilot датчик, соответственно схемотехника у них схожа. Из документа видно что собрана плата на датчике тока INA-169, по параметрам подходит датчик 50V/90A, который имеет на выходе 63.69mV/V и 36.6 mV/A. Правда в даташите на микросхему я не нашел таких параметров, скорее всего это зависит от сопротивления шунта и резистора “подгрузки”. Далее исходя из имеющихся данных (принимаю их за истину из-за отсутствия других) судя по этому документу рассчитываются значения переменных.
Для чего существует эта переменная я так и не понял.

#define PLEVELDIV 1133 // compute : 1133 = 37 / 4.9 * 10e6 / 24000 * 3600 / 1000

где
37 - округленное значение 36.6 mV/A
4,9 - округленное значение одного бита АЦП при входном напряжении 5В (5/1024)
Откуда берутся остальные цифры я ХЗ. Так же на форуме встречал и фиксированные значения этой переменной.
Далее

#define PINT2mA 13 // used for telemtry display: one integer step on arduino analog translates to mA (example 4.9 / 37 * 100 

Я так понимаю для правильного конвертирования полученных данных в mA, только вот я не понял, используется ли это везде или только при использовании телеметрического OLED дисплея. Так же встречал и такую формулу

#define PINT2mA 134 with 4.9 / 36.6 (from the sensor specs 36.60mV / Amp) * 1000

но так и не понял к чему это.
Следующая переменная содержит значение АЦП при нулевом потреблении тока, и берется из даташита на микросхему.

#define PSENSORNULL 510 // to start with - what the arduino analog input sees for zero current; depends on sensor. Find the output voltage for zero current in the datasheet, then convert it to arduino value [0Volt ; 5Volt] -> [0 ; 1023]

Где это искать я ХЗ.
Комменты в коде по выше указанному документу отличаются от комментов в multiwii 2.2, и это скорее всего означает что описание писалось еще до выхода мультивии 2,2 и где-то что-то в коде изменили.

#define PLEVELDIV 5000 // (*) default for soft - if you lower PLEVELDIV, beware of overrun in uint32 pMeter

Судя по комментам в прошивке переменную PLEVELDIV зафиксировали значением 5000.

#define PSENSORNULL 510 // (*) set to analogRead() value for zero current; for I=0A my sensor gives 1/2 Vss; that is approx 2.49Volt;

С этим все ясно, его датчик при нулевом токе выдает половину напряжения питания, не понятно только что за сенсор использовался и почему он питался от +5В, на обсуждаемый датчик +5В не заводится и микросхема питается от входного напряжения. Здесь я вижу 2 варианта определения значения данной переменной:

  1. При отключенной нагрузке измерить напряжение на выходе “I” и пересчитать его соответственно [0Volt ; 5Volt] -> [0 ; 1023], сам пока не пробовал, но чую что будет 0 или близко к этому.
  2. Запитать мозги от отдельного источника, например от BEC подключенного к батарее до токового датчика, и посмотреть функцией analogRead() получившееся значение. Мне кажется что этот вариант будет точнее.
    Переменная PINT2mA вроде как осталась без изменений.

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

UserM
serenya:

Откуда берутся остальные цифры я ХЗ

Там же , по Вашей ссылке “24000” связан с циклами измерений

cycle time 4000us, sampling rate is cycle_time * PSENSORFREQ , so 4000*6=24000 micro seconds

.
А 3600(количество секунд в часе), для пересчёта в часы, результат то мАч.

serenya:

С этим все ясно, его датчик при нулевом токе выдает половину напряжения питания,

Это для других датчиков, они указаны по вашей ссылке, для “RCTimer Voltage & Current Sensor 90A” я так понимаю не надо использовать.

serenya
UserM:

Там же , по Вашей ссылке “24000” связан с циклами измерений

UserM:

А 3600(количество секунд в часе), для пересчёта в часы, результат то мАч.

Зачем мне надо знать эти цифры и почему нельзя было просто сделать постоянную?

UserM:

Это для других датчиков, они указаны по вашей ссылке, для “RCTimer Voltage & Current Sensor 90A” я так понимаю не надо использовать.

Попробовал поставить 0, ничего не изменилась. Есть еще мысли куда рыть?

serenya

Александр, спасибо, по Вашим ссылкам к сожалению ничего не получается, по одной из ссылок рекомендации по повышению точности измерений АЦП, причем относится к поздней DEV версии и ни MW2.2 ни RC3.1 не компилируются с данными изменениями. Другая ссылка ближе к теме, как раз про хардварный сенсор, но так же рекомендации относятся к более поздним DEV версиям. Переносить изменения из DEV версий я к сожалению не в состоянии. Буду еще искать инфу относящуюся к официальной MW2.2. А может оно там еще не рабочее?

wallera

Друзья ! неожиданно помер AIO ,все было отлично летал на квадре, окте, перестроил на квадру опять , но с 12’’ винтами , то-же летало ,но не долго , не с таво не сяго
сошел с ума (это после 7 месяцев эксплуатации!) в ГУИ плата видится, но данные не валятся, не программится в ARDUINO 😦 , светодиодик tx не моргает, данные с платы не идут , мож у кого схема принципиальная завалялась, мож че оторвалось, мож пошивка с fuse битами слетела, тож могу поправить , программатор есть(дамп от платы загрузчика и проч не у кого не залежалась?) через ISP я поправлю прошивочку…

mahowik
serenya:

А может оно там еще не рабочее?

Я постараюсь глянуть, как будет время, но сенсора что бы проверить у меня нет… потому если что нарою, то выложу фикс сюда…

SergDoc
wallera:

через ISP я поправлю прошивочку…

в ардуино всё есть…

wallera
SergDoc:

в ардуино всё есть…

можно по конкретнее

UserM

В папках IDE Arduino, есть хекс файлы загрузчиков, а в файле hardware\arduino\boards.txt есть информация о fuses. Кроме того сама IDE позволяет залить bootloader, если Ваш программатор поддерживается. Если Вашего программатора нет в списке, но его поддерживает AVRDude можно пробовать его добавить, правда так не делал, подробности не подскажу. Посмотрите здесь.

serenya
mahowik:

Я постараюсь глянуть, как будет время, но сенсора что бы проверить у меня нет… потому если что нарою, то выложу фикс сюда…

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

wallera

С загрузчиком и фьюзами разобрались, А насчет схемы принципиальной на Criuse AIO

UserM
wallera:

А насчет схемы

Увы , разбираться по даташитам производителей чипов.

SanRomStaV

А у меня вот так: "К сожалению, Google Chrome не может найти страницу multiwii.p.ht.

Открыть кэшированную копию страницы multiwii.­p.­ht/­index.­html."
Раньше нормально открывалось

SanRomStaV

Мужики что-то не то с моими ссылками, везде одна и та же ошибка: “К сожалению, Google Chrome не может найти страницу multiwii.p.ht.”
“Открыть кэшированную копию страницы multiwii.­p.­ht/­gps-­ublox.­html.”
“Возможно, вы имели в виду: multiwii.­com”
Что посоветуете, Браузер переустановить?