MultiWii
Совсем запутался. У Вас ПроМини дефайны стоят? У меня Мега, и баззер на цифровом выходе. ПВМ это и есть ШИМ, и с ключем Вашим он будет работать в “полнакала”, конечно, это же тоже цифра, но за счет работы с системным таймером, он выдает серию прямоугольных импульсов разной скважности. Или, проще говоря, какое то время ноль, какое то время единица, за счет разного времени продолжительности этих импульсов результирующее напряжение будет от 0 до +5 вольт. Если у Вас все ШИМ заняты, тогда ничего не остается, как городить свое БАНО. Это не проблема, только моргание светодиодами, с которого начинается любое обучение программированию на контроллерах, основную программу повесит, на время делея. Нужно использовать прерывания от системного таймера командой millis. Это очень хорошо описано на Ардуиновском сайте. И даже по русски, на Ардуино.ру.
У меня такие полоски на лучах стоят. Очень удобно. Только они от 12 вольт работают. Я сляпал контроллер на ключах от регулей, благо их у меня куча паленых, получилась платка 10х20 мм, которую прилепил на конец ленточки и затянул термоусадкой. Выходы с нее +12 и 3 на порты. Ну и земля, есстественно. Единица на порте включает соответственный сектор светодиода. Можно комбинировать цвет кодом.
У меня почти Арудина Мини, потому и горожу огород. В Мультивие мигание светодиода относительно разряда батареи уже реализовано на ПИН8, только официально туда вешают баззер. Мне нуна, еще раз повторяю, чтобы при выключении светодиоды чуток горели, видимо на Мини это программно сделать трудно в случае Мультивия, так как ШИМы заняты, повешу резистор паралелльно.
Знаком я с этой реализацией! Выкинул ее из кода, когда подключил датчик тока/напряжения. В Вие у меня все это хозяйство отлично работало. Помудохался, пока коэффициенты подобрал, пришлось для этого городить вольтметр на параллельном LCD. Сериального, как в коде, у меня нет. А в Пирате такое наворочено, что разобраться просто не могу. Я железячник, в программировании почти совсем дилетант.
Вот вот, мультивий еще дает шанс разобраться в коде, пират говорит “куда б* лезешь?” 😃
Алекс, а можете прилепить к сообщению свою прошивку с исправленным кодом и подобранными коэфф, и номиналы резисторов, если не жалко?
Не жалко, только там нет резисторов. Есть платка AttoPilot со Спаркфана, подключена на аналоговые входы, там где радио. Только с Мегой будет работать, на Нано нет свободных ШИМ входов.
static float vbatRaw = 0.0f; //used for smoothing voltage reading
static float ibatRaw = 0.0f; //used for smoothing current reading
#if defined(VBAT)
vbatRaw = analogRead(V_BATPIN); // smoothing of vbat readings
vbat = vbatRaw / VBATSCALE; // result is Vbatt in 0.1V steps
voltageAvg = vbat;
if ( (vbat>VBATLEVEL1_3S)
#if defined(POWERMETER)
&& ( (pMeter[PMOTOR_SUM] < pAlarm) || (pAlarm == 0) )
#endif
)
//VBAT ok AND powermeter ok, buzzer off
{
buzzerFreq = 0; buzzerState = 0; BUZZERPIN_OFF
// Left_RGB_RED;
// RIGHT_RGB_GREEN;
// REER_RGB_WITE;
Это в annexCode()
#define THROTTLEPIN 0 //PIN 62 = PIN A8
#define ROLLPIN 1 //PIN 63 = PIN A9
#define PITCHPIN 2 //PIN 64 = PIN A10
#define YAWPIN 3 //PIN 65 = PIN A11
#define AUX1PIN 4 //PIN 66 = PIN A12
#define AUX2PIN 5 //PIN 67 = PIN A13
#define CAM1PIN 6 //PIN 68 = PIN A14
#define CAM2PIN 7 //PIN 69 = PIN A15
#define ISR_UART ISR(USART0_UDRE_vect)
#define V_BATPIN A3 // Analog PIN 3
#define I_BATPIN A2 // Analog PIN 2
Это в def.h
Еще в config.h
/* for V BAT monitoring
vbat = analogRead(A2) / 12.99
ibat = analogRead(A3) / 7.4*/
#define VBAT // comment this line to suppress the vbat code
#define VBATSCALE 12.99f // AttoPilot V & I sensing board
#define IBATSCALE 7.4f // AttoPilot V & I sensing board
#define VBATLEVEL1_3S 10.7f // 10,7V
#define VBATLEVEL2_3S 10.3f // 10,3V
#define VBATLEVEL3_3S 0.99f // 9.9V
Прошу прощения!
Это один из вариантов, для нормальной работы нужно объявить переменные
static int vbatRaw
static int ibatRaw
и переменные
в начале MultiWii_dev
float vbat
float ibat
это глобальные переменные, должны иметь область видимости для всего скетча
Поскольку в результате значение будет с плавающей запятой, то и арифметические операции лучше не проводить. Только сравнение.
DEV 20110714 - п-ц!
LEVEL - включайте только в том случае, если вам некуда девать пропеллеры!
Включил, блин… Включаю моторы, тут эта хрень на минимальной тяге “тупо вращать моторы” делает “мёртвую петлю”!
Передний-левый проп - в Ж, раздробил один из коннекторов контроллеров движков, чуть не испоганил стяжками обмотки мотора…
BATT - традиционно матерится на то, что “A2 не прописан”, и т.д. и т.п.
Итого - что делается в прошивке уже какую ДЕВ-версию - я фз! С мая все те-же глюки, кажется!
P.S. Эта скотина при включении очень “хорошо” реагирует на стики в “нейтральном” положении! А с учётом того, что полной нейтрали достичь практически нереал - надо как-то её загрубить в этом самом “нейтральном” положении!
DEV 20110714 - п-ц!
а вы в курсе чем отличается dev от релиза?
Может кто сталкивался? Собираю коптер… Ардуина + платка wii. От акб стартует норально, моторами крутит,пытался подлетнуть даже… Вроде ведет себя адекватно. При подключении к USB + прога конфигуратор ардуина запускается через раз,виснет и.т.д. Иногда может поработать несколько минут и зависнуть. При внешнем питании и USB комп вообще пишет неопределенное устройство.
Отвечу сам на свой вопрос. Может комуто пригодиться…
Проблема была в питании ардуины и несогласовании уровней сигналов с датчиками. Попилил платку multiwii (подключил по i2c),подключил нунчак по аналогу. Стало наоборот ) От usb работает а от внешнего питания нет.
Выяснилось что ардуина с датчиками устойчиво работает только в диапазоне от 4.8-4.95v . Тоесть когда подключал к usb напруга падала через диод в схеме до 4.8 и все работало. Если подключать от внешнего источника питания напруга поднималась до 5.05v и все сдыхало…
Выкинул из платки multiwii подпирающие резисторы 1.8к по выходу и с питанием стало получше.
Все летает,теперь борюсь с вибрацией и разбираюсь с настройками pid. Пока сломал 3 винта ))
у меня аналогичная ситуация - слепил мозги на WMP и нунчаке для летающего крыла, по USB всё адекватно, при питании от BEC с регуля (по идее теже 5в, но не 0.5, а 2А) не работает ничего =) буду припаивать itg3205 с пиленного wmp, и походу придется без акселя пока что (лень матушка не дает мне спилить adxl аналоговый с нунчака)
у меня аналогичная ситуация - слепил мозги на WMP и нунчаке для летающего крыла, по USB всё адекватно, при питании от BEC с регуля (по идее теже 5в, но не 0.5, а 2А) не работает ничего =) буду припаивать itg3205 с пиленного wmp, и походу придется без акселя пока что (лень матушка не дает мне спилить adxl аналоговый с нунчака)
Ток тут не при делах. напряжение разное немного при питании от usb и от внешнего источника. Померяй тестером )
LEVEL - включайте только в том случае, если вам некуда девать пропеллеры!
Я ж 1001 раз говорил что в мультивие надо быть очень аккуратно с полем LEVEL 0,045, я сразу опускаю его ВСЕГДА до 0,030 минимум, иначе переворот. Level в DEV отлично летает, сегодня завтра будет видео с фвп.
Померяй тестером )
тестер говорит что вместо 3.3 выдается 3.02, при питании от USB 3.3 четко показывает, стаб тупит? в общем забил пока - надо с коптером добавловаться, а потом уже крыло
а вы в курсе чем отличается dev от релиза?
В курсе, но должны-же быть изменения к лучшему, помимо того, что в DEV в последнее время ГУЙ более логичный и разнесено по модулям?!
Кажется разобрался с основной причиной этого “полёта шмеля”: не достаточно раскомментировать в опциях “AllInOne”! Надо как и прежде в Sensors для BMA180 выбрать адрес 82! Гррр…
Немного покурил пиды но еще не совсем вник в настройки. Теперь оно летает вот так…
www.youtube.com/watch?v=kGD2ie343BA
Демонстрация работы автогоризонта.
релиз 1.8 вышел !!! 😃
Немного покурил пиды но еще не совсем вник в настройки. Теперь оно летает вот так…
уважаемый, если вас не затруднит, сделайте пожалуйста скрин настроек, состав железа (желательно линки где покупали), фотографии рамы, делали ли вы настройки пропеллеров, моторов?
уж больно красиво он у вас висит, буду очень благодарен 😃
+1
тож самое хотел спросить! суперска висит учитывая “подушку”!
каккие сенсоры, моторы, регули, пропы, номер прошивки, ПИД-ы, размер рамы и т.д. ? думаю тут многие будут благодарны! 😃
Либо может у вас просто есть хороший вертолетный опыт?
Теперь оно летает вот так
- к описанию расскажите про крепление винтов, которое используете. У меня аналогичные моторы, но я их до упора вкрутил + стяжками зафиксировал.
Если не сложно, добавляйте свои УДАЧНЫЕ конфигурации в соответствующую ветку форума, чтобы новички ориентировались что покупать, а не мучительно задавать вопросы и выбирать: rcopen.com/forum/f123/topic233462
важаемый, если вас не затруднит, сделайте пожалуйста скрин настроек, состав железа (желательно линки где покупали), фотографии рамы, делали ли вы настройки пропеллеров, моторов?
уж больно красиво он у вас висит, буду очень благодарен
Двигатели dt750
Регули турнижи plush 30a
Акб 3s -2200
Винты 10x4.5
Рама самодельная. Профиль 10x10
На фотке стоит КК контроллер,сейчас мучаю multiwii (привлекает автогоризонт и больше настроек)
Отбалансировать двигателя руки не доходят пока.
Винты балансировал наждачкой без фанатизма.
По поводу крепления пропеллеров креплю так…
Накручиваю гайку до упора-шайба-проп-шайба-гайка+еще одна контрящая.
Стяжками не креплю. Имхо при креплении на гайках у винта есть шанс провернуться на валу и выжить при встрече с препятствием )
Ниже скрин с настройками.
Не совсем понятны значения I и D . Описание читал но толком не понял.Может кто доходчиво обьяснит? )
Хаха, Алексинпэис конечно крутой чувак, код становится все круче и круче,
вот чего он добился в прошивке 1.8