5.13 Калибровка и мониторинг исходных данных АЦП на датчиках, подключенных к СТДАПП

Для настройки и калибровки АЦП датчиков необходимо подключить СТДАПП в составе с АП и задать режим присутствия СТДАПП. Режим присутствия СТДАПП задается через переменную настройки Receiver_Mode. Посмотреть, чему она равна в данный момент можно командой CAT STAB. Как ее установить было описано в разделе 5.10.

Если данная переменная установлена правильно, то можно распечатать текущие настройки и калибровки АЦП датчиков модуля СТДАПП. Делается это при помощи команды CAT ADC_SETTINGS.

 Например так:

=>cat adc_settings

MainBattery_C1=0.500

MainBattery_C2=0.319

MainBattery_C3=0.139

SecondBattery_C=0.130

ThirdBattery_C=0.130

AirSens_C=0.526

RssiSens_C=0.380

CurrentSens_C=0.295

CurrentSens_K=-12.000

CurrentSens_B=30.000

=>

MainBattery_C1 – коэффициент деления напряжения ячейки S1 на разъеме питания

MainBattery_C2 – коэффициент деления напряжения ячейки S2 на разъеме питания. Фактически это значение напряжения S1+S2

MainBattery_C3 – коэффициент деления напряжения ячейки S3 на разъеме питания. Фактически это общее значение напряжения на батарее.

SecondBattery_C – коэффициент деления напряжения пина BAT2 на разъеме дополнительных батарей.

ThirdBattery_C – коэффициент деления напряжения пина BAT3 на разъеме дополнительных батарей.

AirSens_C – коэффициент деления напряжения пина AIR_SPEED на разъеме ADC датчиков.

RssiSens_ C – коэффициент деления напряжения пина RSSI на разъеме ADC датчиков.

CurrentSens_C  – коэффициент деления напряжения пина CURRENT на разъеме ADC датчиков.

5.13.1 Мониторинг показаний датчиков

Для мониторинга сырых данных, снимаемых с АЦП датчиков служит команда MON ON ADC_VALUES

Например так:

=>mon on adc_values

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

$ADC:BAT1=0.00 BAT2=0.00 BAT3=0.00 RSSI=0.00 AIR=0.00 CurV=0.00 CurI=0.00 Cur_Used=0.00

 

BAT1 – напряжение пина S3 главной батареи питания

BAT2 – напряжение на второй батарее

BAT3 – напряжение на третьей батарее

(ячейки s1,s2 пока не мониторятся)

RSSI – напряжение на RSSI пине

AIR – напряжение на пине AIR_SPEED (датчик воздушной скорости)

CurV – напряжение на пине, куда подключен датчик тока.

CurI – рассчитанный ток с учетом заданных коэффициентов.

Cur_Used – кол-во использованной емкости батареи с учетом тока прошедшего через датчик тока. Старт интегратора тока производится командой START CURRENT_INTEG.

5.13.2 Калибровка показаний датчиков напряжений на батареях питания

Для калибровки вам потребуется тестер(вольтметр). Измерьте напряжение на всех нужных пинах и запишите на бумагу показания вольтметра. Далее запустите мониторинг командой MON ON ADC_VALUES.

 Далее, подстраивая значения коэффициентов MainBattery_C3, SecondBattery_C, ThirdBattery_C добейтесь наиболее правдивых показаний напряжений, соответствующих показаниям вольтметра. Стоит иметь ввиду – напряжение не будет гулять в пределах +/- 0.03 вольта, это нормально.

Изменять коэффициенты можно прямо на лету. Например так:

Set MainBattery_C3 0.2

MainBattery_C3=0.2

=>

С остальными коэффициентами, действуйте по аналогии. После калибровки сохраните значения на флэш память командой SAVE CONFIG

5.13.3 Калибровка показаний датчиков напряжений RSSI и воздушной скорости

Для калибровки RSSI необходимо замкнуть вход RSSI разъема с пином +5В, находящимся на том же разъеме. После этого дать команду в консоли MON ON ADC_VALUES. Начнется вывод показаний датчиков на экран консоли. Нас интересует напряжение RSSI= “показания в вольтах”. Мы подали туда +5В, соответственно, используя параметр RssiSens_ C необходимо добиться, чтобы показание RSSI равнялось +5В. Изменять значение RssiSens_ C можно как обычно командой SET RssiSens_ C.

После подбора правильного RssiSens_ C необходимо снять +5В с пина RSSI. Теперь подключите приемник. Аналоговый вход RSSI приемника подайте на пин RSSI разъема СТДАПП. Затем включите передатчик. Запишите на бумагу показания RSSI в вольтах для случая, когда передатчик близко к приемнику. Затем выключите передатчик. Запишите значение RSSI при потери приемником передатчика.

Теперь нам необходимо задать минимум и максимум напряжения RSSI для корректного отображения этого показателя на экране OSD. Для задания минимума воспользуйтесь переменной Rssi_Sens_Min_V

Например так:

Set Rssi_Sens_Min_V 0.1

Rssi_Sens_Min_V=0.1

=>

Для задания максимума используйте переменную Rssi_Sens_Max_V

Например так:

Set Rssi_Sens_Max_V 2.56

Rssi_Sens_Max_V=2.56

=>

Теперь 2.56 будет принят за 100% RSSI, а 0.1 будет отображаться как 0% RSSI.

Для настройки датчика воздушной скорости необходимо воспользоваться тем же приемом, что и для датчика RSSI. То есть сначала подаем +5В на пин AIR_SPEED разъема аналоговых датчиков. Затем включаем мониторинг напряжений MON ON ADC_VALUES. Наблюдаем значение AIR=”напряжение в вольтах”. При помощи подстройки коэффициента AirSens_C добиваемся показания AIR равного 5В. После этого отключаем 5В от AIR_SPEED пина.

Теперь подключаем реальный датчик дифференциального давления. Для того чтобы увидеть рассчитанную воздушную скорость можно включить мониторинг барометра командой MON ON BARO

=>mon on baro

$BARO: 00:00:28, 24.849 59.670 100610.359 125.021 36696 809

$BARO: 00:00:28, 24.837 60.125 100604.922 125.022 35028 812

$BARO: 00:00:28, 24.831 60.556 100599.719 125.026 34194 815

4-я колонка, показывающая расчитанную скорость, выделена жирным шрифтом, это 4-я колонка.

Неправильная скорость обуславливается неверным, заданным графиком расчета давления от напряжения на датчике. График давления задается формулой

P = AIR_Speed_Koef_K * Uдат + AIR_Speed_Koef_B

P – давление в Паскалях (А НЕ в КИЛОПАСКАЛЯХ !!!)

Uдат – напряжение, которое мы получаем с датчика воздушной скорости.

AIR_Speed_Koef_K коэффициент наклона графика

AIR_Speed_Koef_B коэффициент сдвига графика.

Для каждого конкретного датчика воздушной скорости необходимо руководствоваться даташитом производителя.

Для датчика MPXV7002DP@FREESCALE необходимо поставить коэффициенты:

Set AIR_Speed_Koef_K -1000

Set AIR_Speed_Koef_B 2500

5.13.4 Калибровка показаний датчика тока и расчета израсходованной емкости ходовой батареи

Для настройки датчика тока необходимо воспользоваться тем же приемом, что и для датчика RSSI. То есть сначала подаем +5В на пин CURRENT разъема аналоговых датчиков. Затем включаем мониторинг напряжений MON ON ADC_VALUES. Наблюдаем значение CurV=”напряжение в вольтах”. При помощи подстройки коэффициента CurrentSens_C добиваемся показания AIR равного 5В. После этого отключаем 5В от CURRENT пина.

Ток в амперах вычисляется по формуле

I = CurrentSens_K * CURRENT(напряжение на пине) + CurrentSens_B

Где CurrentSens_K – коэффициент К формулы линейной аппроксимации, CurrentSens_B – коэффициент B формулы линейной аппроксимации, CURRENT напряжение снятое с пина датчика тока и уже скомпенсированное с учетом CurrentSens_C.

Коэффициенты CurrentSens_K и CurrentSens_B подбираются исходя из даташитов на конкретные модели датчиков. Графики расчета протекающего тока, от показаний аналогового выхода напряжения всегда представлены в даташитах.

Например для датчика, основанного на микросхеме ACS712ELCTR-30A-T@ALLEGRO, коэффициенты необходимо задать следующим образом:

Set CurrentSens_K -12

Set CurrentSens_B 30

Если коэффициенты расчета тока заданы правильно, то показания расчитанного тока CurI= должны показывать правильное значение.

Проверить качество расчета затраченной ёмкости батареи можно путем ручной активации процесса интеграции тока, протекающего через датчик тока. Команда для активации интегратора START CURRENT_INTEG. После подачи этой команды вы увидите расчет использованной емкости в показаниях Cur_Used=”кол-во затраченных мА/ч”

В процессе реальных полетов интегратор тока стартует автоматически, при условии, что показания датчика тока разрешены к выводу на OSD.]

5.13.5 Задание минимальных и максимальных характеристик аккумуляторных батарей

Для того чтобы показания параметров батарей на OSD работали правильно необходимо для каждой батареи задать напряжение разряда и напряжение полного заряда. Кроме того для главной батареи необходимо задать суммарную емкость в мА/ч

Для вывода текущих заданных параметров батарей используйте команду в консоли CAT BATTERIES

=>cat batteries

Main_Battery_Full_V=11.20

Main_Battery_Empty_V=9.30

Main_Battery_Full_C=4400.00

Second_Battery_Full_V=0.00

Second_Battery_Empty_V=0.00

Third_Battery_Full_V=0.00

Third_Battery_Empty_V=0.00

=>

Параметры Full_V задают напряжение на полностью заряженной батарее. Параметры Empty_V задают напряжение на полностью разряженной батарее. Параметр Main_Battery_Full_C задает емкость основной батареи.

Бесплатный хостинг uCoz