HeadTracker: Как побороть наводки от передатчика на гироскоп?
Но как только пытаюсь подключить к передатчику через тренерский разъем, чтобы взять оттуда питание и сервосигналы, так начинаются сущая свисопляска в показаниях гироскопа. Причем, они не прекращаются даже при вынутом кварце передатчика.
А РРМ как заведен на процессор? Может быть, он дергает питание вверх через защитные диоды входа? И надо бы осциллографом проверить, нет ли возбуждения стабилизаторов в условиях питания от пульта.
Там ещё с пульта, с тренерского разъёма, РРМ сигнал идёт с размахом 10V. Это нужно учесть.
Если вытаскиваешь кварц, и помеха не пропадает, наводки от передатчика, тут не при чём.
Спасибо огромное 😃 , действительно дело было в уровне сигнала. А я-то думал, что там 5V идет! В общем, поставил оптрон чтобы вообще не думать об его амплитуде, и помехи исчезли. 😃
Ну опять засада. У меня в программе обработчик прерывания (PIC16F688) использовался для определения фронтов сервоимпульса (INT) и для формирования и врезки своих каналов по таймеру (TMR1). Все работало отлично. Но с приходом гироскопа я поюзал еще и прерывания TMR0 (чтобы замерять время между опросами гироскопа), чтобы сделать из 8 бит таймера 16 бит - просто в прерывании TMR0 я инкрементирую переменную, в которой хранится старший байт. Но из-за этого стали дергаться сервы. Периодически возникающие раз в 256 ms прерывания TMR0 могут на несколько десятков us менять длительности всех сервоимпульсов, и сервы дергаются.
Вижу несколько решений:
Перейти на 20 MHz с 4 MHz - эффект ослабнет в 5 раз; Но ног для кварца хватает;
Перейти на PIC18 - сразу с 28 ногами (у меня есть PIC18F252). У него есть TMR3, и два уровня прерываний; Там же можно переделать программу под использование CCP модулей - будет вероятно точнее длительность импульсов замеряться и генерироваться.
Может кто-нибудь предложит другие решения?
Честно говоря я до конца не понял проблемку, а в таймере уже стоит максимальный предделитель?
Честно говоря я до конца не понял проблемку, а в таймере уже стоит максимальный предделитель?
Нет, ибо мне надо точно засекать время. Но я уже вроде бы подбираюсь к решению - просто использую TMR1 для двух целей - и для формирования сервоимпульсов через прерывание, и для замера времени, считывая его значение. Некрасиво и сложно отследить все задержки на перезагрузку таймера, но можно. Придется симулятор осваивать наверное.
Нет, ибо мне надо точно засекать время.
Не знаю, как в Вашем процессоре, а в PIC 16F876 (4, 5 ноги) существуют два аппаратных входа для ШИМ и два таких же выхода(15, 16).
И если Вам надо точно мерять длину канального импульса и точно его генерить- посоветовал бы работать именно по этим ногам.
А потом, судя по картинке- у вас очень “развесистый” монтаж- тут тоже могут быть проблемы…
Не знаю, как в Вашем процессоре, а в PIC 16F876 (4, 5 ноги) существуют два аппаратных входа для ШИМ и два таких же выхода(15, 16).
И если Вам надо точно мерять длину канального импульса и точно его генерить- посоветовал бы работать именно по этим ногам.
А потом, судя по картинке- у вас очень “развесистый” монтаж- тут тоже могут быть проблемы…
Извиняюсь, вкралась опечатка: номера ног соответствуют AtMega-8!
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"3e7587103df95500777968ac":{"_id":"3e7587103df95500777968ac","hid":1461,"name":"ubd","nick":"ubd","avatar_id":null,"css":""},"41b8a4ac3df9550077792e83":{"_id":"41b8a4ac3df9550077792e83","hid":5271,"name":"Prikupets","nick":"Prikupets","avatar_id":null,"css":""},"429ec82d3df9550077790a4a":{"_id":"429ec82d3df9550077790a4a","hid":7569,"name":"Vad64","nick":"Vad64","avatar_id":null,"css":""},"4405a56c3df955007778c8e5":{"_id":"4405a56c3df955007778c8e5","hid":12374,"name":"SGordon","nick":"SGordon","avatar_id":null,"css":""},"46847ae33df95500777830ba":{"_id":"46847ae33df95500777830ba","hid":24889,"name":"foxfly","nick":"foxfly","avatar_id":null,"css":""}},"settings":{"can_see_ip":false,"can_report_abuse":false,"can_see_hellbanned":false,"forum_can_view":true,"forum_can_reply":false,"forum_edit_max_time":30,"forum_can_close_topic":false,"forum_show_ignored":false,"forum_mod_can_delete_topics":false,"forum_mod_can_hard_delete_topics":false,"forum_mod_can_see_hard_deleted_topics":false,"forum_mod_can_edit_posts":false,"forum_mod_can_pin_topic":false,"forum_mod_can_edit_titles":false,"forum_mod_can_close_topic":false,"can_vote":false,"forum_mod_can_add_infractions":false,"forum_topic_title_min_length":10,"forum_reply_old_post_threshold":30,"votes_add_max_time":168,"forum_show_post_interval":7,"can_see_deleted_users":false},"section":{"_id":"61c9a54c3df9550077bb50ba","hid":8,"title":"Самодельная электроника, компьютерные программы","parent":"61c9a54c3df9550077bb50f3","description":"Софт для моделирования и черчения, самодельные электронные устройства.","is_category":false,"is_votable":true,"is_writable":true,"cache":{"topic_count":2666,"post_count":48273,"last_post":"65f92eb7c68e4ffcbcbdffa9","last_topic":"5a9828483df9550077cbbef3","last_topic_hid":517779,"last_topic_title":"Самодельный Futaba CIU-2","last_ts":"2024-03-19T06:20:39.517Z","last_user":"4f3e22e13df955007774805c"}},"topic":{"_id":"47c2a6f73df9550077b28b3a","hid":92630,"title":"HeadTracker: Как побороть наводки от передатчика на гироскоп?","views_count":2411,"last_post_counter":9,"cache":{"post_count":9,"first_post":"47c2a6f73df9550077b298da","first_ts":"2008-02-25T11:31:03.000Z","first_user":"41b8a4ac3df9550077792e83","last_post":"47ce100b3df9550077b298ea","last_post_hid":9,"last_ts":"2008-03-05T03:14:19.000Z","last_user":"46847ae33df95500777830ba"},"st":1,"section":"61c9a54c3df9550077bb50ba"},"subscription":null,"pagination":{"total":9,"per_page":25,"chunk_offset":1},"posts_list_before_post":["paginator","datediff"]},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}