CRIUS ALL IN ONE PRO Flight Controller
вопрос: rcopen.com/forum/f123/topic283798/3402
ответ: rcopen.com/forum/f123/topic283798/3405
результат: rcopen.com/forum/f123/topic283798/3416пользуйтесь поиском… все есть!
Огромное спасибо! действительно плохо искал
Коллеги, я уже несколько раз встречал вопросы по настройке мультивии на хардварное измерение тока через датчик 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 варианта определения значения данной переменной:
- При отключенной нагрузке измерить напряжение на выходе “I” и пересчитать его соответственно [0Volt ; 5Volt] -> [0 ; 1023], сам пока не пробовал, но чую что будет 0 или близко к этому.
- Запитать мозги от отдельного источника, например от BEC подключенного к батарее до токового датчика, и посмотреть функцией analogRead() получившееся значение. Мне кажется что этот вариант будет точнее.
Переменная PINT2mA вроде как осталась без изменений.
Прошу строго не судить все что написано выше, это результат моего изучения данного вопроса, мое понимание что куда и для чего. Как оно работает я так и не понял, так же как и не понял как правильно настроить мультивии. Данным постом пытаюсь побудить коллективный разум на размышления по данному вопросу и поиск истины. Прошу поправлять где я ошибаюсь, высказывать свое видение того или иного момента, и т.д. и т.п. Надеюсь мы заставим работать данный сенсор, и отрабатывать потраченные на него деньги:)
Откуда берутся остальные цифры я ХЗ
Там же , по Вашей ссылке “24000” связан с циклами измерений
cycle time 4000us, sampling rate is cycle_time * PSENSORFREQ , so 4000*6=24000 micro seconds
.
А 3600(количество секунд в часе), для пересчёта в часы, результат то мАч.
С этим все ясно, его датчик при нулевом токе выдает половину напряжения питания,
Это для других датчиков, они указаны по вашей ссылке, для “RCTimer Voltage & Current Sensor 90A” я так понимаю не надо использовать.
Там же , по Вашей ссылке “24000” связан с циклами измерений
А 3600(количество секунд в часе), для пересчёта в часы, результат то мАч.
Зачем мне надо знать эти цифры и почему нельзя было просто сделать постоянную?
Это для других датчиков, они указаны по вашей ссылке, для “RCTimer Voltage & Current Sensor 90A” я так понимаю не надо использовать.
Попробовал поставить 0, ничего не изменилась. Есть еще мысли куда рыть?
вот тут посмотрите, может что полезное будет:
www.multiwii.com/forum/viewtopic.php?f=8&t=3230
www.multiwii.com/forum/viewtopic.php?f=8&t=3930&hi…
Александр, спасибо, по Вашим ссылкам к сожалению ничего не получается, по одной из ссылок рекомендации по повышению точности измерений АЦП, причем относится к поздней DEV версии и ни MW2.2 ни RC3.1 не компилируются с данными изменениями. Другая ссылка ближе к теме, как раз про хардварный сенсор, но так же рекомендации относятся к более поздним DEV версиям. Переносить изменения из DEV версий я к сожалению не в состоянии. Буду еще искать инфу относящуюся к официальной MW2.2. А может оно там еще не рабочее?
Друзья ! неожиданно помер AIO ,все было отлично летал на квадре, окте, перестроил на квадру опять , но с 12’’ винтами , то-же летало ,но не долго , не с таво не сяго
сошел с ума (это после 7 месяцев эксплуатации!) в ГУИ плата видится, но данные не валятся, не программится в ARDUINO 😦 , светодиодик tx не моргает, данные с платы не идут , мож у кого схема принципиальная завалялась, мож че оторвалось, мож пошивка с fuse битами слетела, тож могу поправить , программатор есть(дамп от платы загрузчика и проч не у кого не залежалась?) через ISP я поправлю прошивочку…
А может оно там еще не рабочее?
Я постараюсь глянуть, как будет время, но сенсора что бы проверить у меня нет… потому если что нарою, то выложу фикс сюда…
через ISP я поправлю прошивочку…
в ардуино всё есть…
в ардуино всё есть…
можно по конкретнее
В папках IDE Arduino, есть хекс файлы загрузчиков, а в файле hardware\arduino\boards.txt есть информация о fuses. Кроме того сама IDE позволяет залить bootloader, если Ваш программатор поддерживается. Если Вашего программатора нет в списке, но его поддерживает AVRDude можно пробовать его добавить, правда так не делал, подробности не подскажу. Посмотрите здесь.
Я постараюсь глянуть, как будет время, но сенсора что бы проверить у меня нет… потому если что нарою, то выложу фикс сюда…
Спасибо, я сегодня тоже попытался поискать, скачал из транка последнюю DEV версию, но так и не смог понять что куда и для чего, структура файлов отличается. Покопаю на досуге еще, может найду что полезное.
С загрузчиком и фьюзами разобрались, А насчет схемы принципиальной на Criuse AIO
А насчет схемы
Увы , разбираться по даташитам производителей чипов.
кто нибудь в курсе что случилось с этим сайтом multiwii.p.ht/index.html ? что-то перестал работать 😦
Вроде работает
А у меня вот так: "К сожалению, Google Chrome не может найти страницу multiwii.p.ht.
Открыть кэшированную копию страницы multiwii.p.ht/index.html."
Раньше нормально открывалось
Все работает нормально.
Мужики что-то не то с моими ссылками, везде одна и та же ошибка: “К сожалению, Google Chrome не может найти страницу multiwii.p.ht.”
“Открыть кэшированную копию страницы multiwii.p.ht/gps-ublox.html.”
“Возможно, вы имели в виду: multiwii.com”
Что посоветуете, Браузер переустановить?
Что посоветуете, Браузер переустановить?
Попробуй ДНС другой прописать! Например 8.8.8.8 (Google pubic DNS)
Попробуй ДНС другой прописать!
не помогло 😦
Может есть еще какие варианты? уже и 3 браузера сменил… не запускаются ссылки