Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Тригонометрия в PIC

Непрочитано 25.06.2008, 18:14  
Eddy71
Гуру портала
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, Полтава
Сообщений: 10,463
Сказал спасибо: 6,007
Сказали Спасибо 26,925 раз(а) в 6,084 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Тригонометрия в PIC

Столкнулся с проблемкой: есть подвижный указатель 2D по осям X и Y координаты с помощью переменных резисторов выдаются в виде напряжения в интервале 0-5В. Если вспомнить тригонометрию (ох, давненько это было..), тангенс угла поворота указателя можно получить поделив координату по оси Y на соответствующую по оси X. У меня есть 2 значения АЦП - одно пропорционально Y, второе X.
Поделив одно на другое имею тангенс. Как легче получить значение угла в градусах, соответствующее этому тангенсу? Угол в пределах 0-90 градусов. Реализация - ассемблер 16-я серия PIC-ов.

-- Прилагается рисунок: --
Реклама:
Eddy71 вне форума  
Непрочитано 25.06.2008, 19:52  
Gordey
Прописка
 
Аватар для Gordey
 
Регистрация: 13.06.2006
Адрес: Санкт-Петербург
Сообщений: 289
Сказал спасибо: 5
Сказали Спасибо 52 раз(а) в 17 сообщении(ях)
Gordey на пути к лучшему
По умолчанию

чтобы получить угол, вам нужно считать не тангенс, а арктангенс. Реализация зависит от того, в чем вы больше ограничены - во времени расчета или в размере кода. В первом случае используйте табличный метод, во втором - стандартную подпрограмму вычисления арктангенса на ASM.
Gordey вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.