Балансиране на витло-моторната група

Георги Христов

Потребител
Здравейте приятели, дойде време да изпълня едно мое обещание към Никола и в тази тема ще предоставя информация как може със сравнително достъпни компоненти да се направи импровизиран сеизмограф, с който да се измерва баланса на витло-моторната група на мултикоптерите и данните да се използват за тяхното балансиране. Измерването на вибрациите на витло-моторната група може да се извърши и със мобилен телефон с инсталирано подходящо приложение. Предлаганото решение е алтернатива на използването на акселометъра на мобилния телефон и поради малката големина на използвания сензор се премахва неудобството и трудността при закрепване на мобилния телефон на рамото на мултикоптера.
Компонентите които съм използвал са следните - микроконтролер Arduino Uno R3, триосев акселометър MMA7260Q, три кондензатора по 1 микрофарад и 3 резистора по 1 килоом. Ето схемата на свързване:

Drawing1.jpg

Схемата може да бъде опростена, като аналоговите изходи на акселометъра се свържат директно към аналоговите входове на микроконтролера. В случая на схемата на изходите на сензора са реализирани RC филтри. Ето няколко снимки от процеса на сглабяне на джажата:

Photo 08.01.14, 21 36 11.jpg

За лесно монтиране на елементите за RC филтрите използвах допълнителна платка:

Photo 08.01.14, 21 36 44.jpg

Сензора се монтира с рейка към прототипната платка. След това скалъпих един псевдо корпус, който да позволява лесно закрепване на сензора за рамото на милтикоптера:

Photo 08.01.14, 22 29 44.jpg
 
Закрепването на сензора е лесно и бързо:

Drawing2.jpg

За да проверя достоверността на данните ги сравних с данните, които се генерират от приложението iSeismometer, което е налично в AppStore за Iphone безплатно. Данните напълно съвпадаха, ето видео от теста:

 
Някои насоки за тези които искат да тестват постановката. Компонентите могат да се закупят от редица онлайн магазини, но аз ви препоръчвам ето от тук:

http://www.robotev.com/index.php?cPath=1

Магазина се намира в София близо до зала Универсиада. Кода който трябва да се качи на микроконтролера е следния:

void setup()
{
Serial.begin(57600);
}
int buffer[20];
int data1;
int data2;
int data3;

void loop()
{
data1 = analogRead(0);
data2 = analogRead(1);
data3 = analogRead(2);
plot(data1,data2,data3);
delay(10);
}

void plot(int data1, int data2, int data3)
{
int pktSize;

buffer[0] = 0xCDAB;
buffer[1] = 3*sizeof(int);
buffer[2] = data1;
buffer[3] = data2;
buffer[4] = data3;
pktSize = 2 + 2 + (3*sizeof(int));
Serial.write((uint8_t * )buffer, pktSize);
}

Най-лесния метод за визуализация на данните от аналоговите портове на микроконтролера е като се използва програмата Sim Plot. Прикачвам архивирано копие на програмата. За допълнителни данни:

http://www.negtronics.com/simplot

Възможно е в зависимост от микроконтролера или сензора да се наложи промяна на кода. Ако някой има въпроси - получава пълно съдействие за реализация на сеизмографа.
 

Attachments

Последна промяна:
Back
Нагоре