Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
03.03.2015, 18:59
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Как с помощью акселерометра замерять углы тангажа и крена?
хотелось бы в общих чертах узнать
|
|
|
|
03.03.2015, 19:53
|
|
Заблокирован
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
Если ось Х смотрит вперёд, а ось Y вбок, и показания, например, X=2400, Z=12000, то тангаж равен arctg(X/Z)= 11.3 градуса.
Для крена вместо X используем Y.
Последний раз редактировалось Yurkin2014; 03.03.2015 в 19:57.
|
|
|
Сказали "Спасибо" Yurkin2014
|
|
|
03.03.2015, 20:20
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
в таком виде угол измеряется, но от 0* до 45* нет промежуточных значений почему то
PHP код:
|
a1 = (atan(x/z)*180/3.14);
a2 = (atan(y/z)*180/3.14);
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer1," %i ", x);// "%i" вывести "a" в десятичном выражении
lcd_puts(lcd_buffer1);
lcd_gotoxy(5,0);
sprintf(lcd_buffer1," %i ", y);// "%i" вывести "a" в десятичном выражении
lcd_puts(lcd_buffer1);
lcd_gotoxy(0,1);
sprintf(lcd_buffer1," %i ", a1);// "%i" вывести "a" в десятичном выражении
lcd_puts(lcd_buffer1);
|
|
|
|
|
03.03.2015, 20:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
Сообщение от Yurkin2014
|
Если ось Х смотрит вперёд, а ось Y вбок, и показания, например, X=2400, Z=12000, то тангаж равен arctg(X/Z)= 11.3 градуса.
Для крена вместо X используем Y.
|
Как все просто - 3х осный акселерометр и управляй самолетом - тангаж крен и рысканье сразу определишь. И зачем нужны гироскопы ?
|
|
|
|
03.03.2015, 21:14
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
в его акселлерометре есть гироскоп. Он еще одну тему создал т.к. той мало было. Теперь ему нужно рассказать, что такое типы переменных и как их использовать.
|
|
|
|
03.03.2015, 21:19
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
Сообщение от Easyrider83
|
в его акселлерометре есть гироскоп. Он еще одну тему создал т.к. той мало было. Теперь ему нужно рассказать, что такое типы переменных и как их использовать.
|
PHP код:
|
a1 = (atan(x/y)*180/3.14);
a2 = (atan(x/z)*180/3.14);
a3 = (atan(y/z)*180/3.14);
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer1," %i ", a1);
lcd_puts(lcd_buffer1);
lcd_gotoxy(5,0);
sprintf(lcd_buffer1," %i ", a2);
lcd_puts(lcd_buffer1);
lcd_gotoxy(0,1);
sprintf(lcd_buffer1," %i ", a3);
lcd_puts(lcd_buffer1);
|
вот так сделал, данные меняются при изменении положения но как то хаотично
всмысле - типы переменных? я же их вроде правильно считываю
|
|
|
|
03.03.2015, 21:27
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
x и y имеют тип int16? Тогда деление x на y - это целое число. Дальше сами догадаетесь?
|
|
|
|
03.03.2015, 21:46
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
Integer это целое число, а поле деления получается дробное, и после запятой всё теряется?
|
|
|
|
03.03.2015, 22:15
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
при деление int16 на int16 будет int16, если не указан другой тип. Компилятор умный, но не на столько.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
03.03.2015, 22:18
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Как с помощью акселерометра замерять углы тангажа и крена?
Сообщение от Easyrider83
|
при деление int16 на int16 будет int16, если не указан другой тип. Компилятор умный, но не на столько.
|
ну получился у него int16, пусть его и показывает
что ему не нравится?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:47.
|
|