Создание собственной системы стабилизации
хочу сперва прием наладить…
Сделайте следующее:
Настройте таймер на 250 Кгц (регистр TCCR)
Запустите его в программе по нарастающему фронту.
Остановите счет по спадающему фронту.
Получите значение длительности из регистра TCNT.
Обнулите TCNT для начала следующего отсчета.
Все!
Сделайте следующее:
Настройте таймер на 250 Кгц (регистр TCCR)
спасибо большое за дельный совет! попробую, о результатах отпишусь)
к сожалению не перешел еще на STM32, но звучит такое измерение здорово. т.е. вы потом просто из периода вычитаете заполнение и получаете длительность ШИМа? получается вообще без всяких таймеров и подбора дискретности измерения?
Почему без таймеров? таймер себе отлично ведет счет.
Ну вот например, таймер считает с периодом 1 мкс.
Начало отсчета:
CCR1 = 0; (регистра сравнения первого канала - ловит фронты)
CCR2 = 0; (регистр сравнения второго канала - ловит спады)
допустим, через 250 мкс после начала отсчета ловим спад.
Значит в CCR2 заносим число 250.
Через 500 мкс ловим фронт.
Значит в CCR1 заносим число 500.
Скважность будет CCR2/CCR1 = 250/500 = 0,5 = 50%.
Вот у вас есть все данные для измерения ШИМ.
Сбрасываем CCR1 и CCR2 и начинаем счет сначала.
Ну вот например, таймер считает с периодом 1 мкс.
вот в этой фразе самое интересное! Не получается у меня завести таймер быстрее чем 5,2 мкс. сегодня 2 часа бился вокруг этого таймера, никак не хочет. хотя теоретически считая по формуле, он вообще с 0,1мкс должен точно тикать.
Не получается у меня завести таймер быстрее чем 5,2 мкс. сегодня 2 часа бился вокруг этого таймера, никак не хочет
а часом не работает ли микросхеа от внутреннего генератора с делителем на 8, или вообще на килогерцах, фьюзы выставлены правильно?
вот в этой фразе самое интересное! Не получается у меня завести таймер быстрее чем 5,2 мкс. сегодня 2 часа бился вокруг этого таймера, никак не хочет. хотя теоретически считая по формуле, он вообще с 0,1мкс должен точно тикать.
А можно глянуть код, как вы настраиваете частоту таймера?
Сейчас глянул даташит на Атмегу8, там фиксированные предделители (8, 64, 256, 1024) или без него, той формулы, которую вы писали выше, не нашел.
может AeroQuad32 попробовать? он по идее мне в имеющийся проц влезет…
а часом не работает ли микросхеа от внутреннего генератора с делителем на 8, или вообще на килогерцах, фьюзы выставлены правильно?
фьюзы правильные и микруха настроена на внешний кварц. дело в том, то таймер нормально работает до периода 5,2мкс. т.е. например если я захочу выставить период 10мкс, то его расчет полностью совпадет с формулой. да и другие датчики настроены на частоту внешнего кварца и работаю правильно. Тут именно урунда какая то, почему то не хочет таймер работать быстрее 5.2 мкс, даже если я регистру сравнения присваиваю число, согласно которому период должен быть наприммер 1мкс. и понять в чем дело не могу…
Не получается у меня завести таймер
Давайте свою микросхему (марку), частоту кварца, щасс заведем…
(сброшу Вам значения регистров)
Сейчас глянул даташит на Атмегу8, там фиксированные предделители (8, 64, 256, 1024) или без него, той формулы, которую вы писали выше, не нашел.
да, полная форула конечно еще в знаменатель нужно предделитель ставить. но так как мне надо наоборот скорость увеличить, то предделители я выключил. формула которую я писал, она в книжке по АВР написана, в разделе таймеров) формула верная. я сегодня ее на осцилле проверял, все норм.
А можно глянуть код, как вы настраиваете частоту таймера?
код сегодня, к сожалению, на работе остался. завтра еще бороться буду, если не получиться, выложу код…
Давайте свою микросхему (марку), частоту кварца, щасс заведем…
микросхема Atmega128, кварц 14.7456МГц…
да, полная форула конечно еще в знаменатель нужно предделитель ставить. но так как мне надо наоборот скорость увеличить, то предделители я выключил
Ага, уже нашел что-то похожее… 😃
Ой забыл, номер таймера еще и желаемую частоту.
Ой забыл, номер таймера еще и желаемую частоту.
Timer2. Желаемая частота таймера 2МГц)
Желаемая частота таймера 2МГц
С Вашим кварцем и аве/эровским “дубовым” делителем можете получить только ближайшее: 1.8432 Mhz.
Пишите следующие значения в регистры:
TCCR2=0x02;
TCNT2=0x00;
OCR2=0x00;
Должно затикать… (не понятно только как Вы меряете результат работы ? )
Должно затикать… (не понятно только как Вы меряете результат работы ? )
спасибо, попробую! результат работы меряю с помощью светодиода. просто в тело таймера записал одну команду вкл/выкл светодиода. на осциллографе смотрю
Не пойму фейк или нет:
www.rcgroups.com/forums/showthread.php?t=1849347
Если нет, то получается довольно-таки интересно - open source проект под YS-X4:
With the aim of creating an autopilot that achieves stability without a lot of tuning, and having a 32-bit processor and still supporting many external devices, ZeroUAV and HeX, together intend to initiate an open source autopilot that is based on the commercial YS-X4. We are not interested to reinvent the wheel, but instead are interested to solve the aforementioned flaws.
Licenses:
Software License: GPL v3
Hardware License: Creative Commons BY-SA
Hardware:
Eva uses a 32 bit ARM processor.
Onboard sensors include 3-axis gyroscope, 3-axis accelerator, barometer, and thermometer.
Eva uses a very precise Analog-to-Digital Converter.
Eva supports GPS and 3 axis digital gyroscope.
Eva supports standalone power sources, and doesn’t need a UBEC connection.
А ведь в принципе гениальная идея: YS раскрывает спецификацию железа, и пусть народ софт пишет. Может получиться вполне интересно. Но что-то в той ветке ни каких-либо деталей ни исходников пока нет.
А ведь в принципе гениальная идея: YS раскрывает спецификацию железа, и пусть народ софт пишет. Может получиться вполне интересно. Но что-то в той ветке ни каких-либо деталей ни исходников пока нет.
И железа такого ни у кого нет.
Из существующих ПХ4 вполне достойная железная платформа, если б ещё больше входов/выходов. SergDoc, разрабатывал плату аналогичную ПХ4 с большим количеством входов/выходов, но что то новостей давно нет по ней.
но что то новостей давно нет по ней.
жду github.com/SergDoc/…/hardware первый комплект плат, где-то в пути… и мультипилот адаптирую к ней потихоньку…
Не пойму фейк или нет:
по картинкам похожа, но по моему аксель не тот, может правда с чем путаю, аналоговые датчики через 24-х битный АЦП - круто…
И железа такого ни у кого нет.
Насколько я понял, планируется полная совместимость у YS-X4, так что залить прошивку-то не проблема 😃
Остается вопрос отладки конечно, ну и жаль что проц не STM.
ну и жаль что проц не STM.
Видимо обусловлено личными пристрастиями автора, СТМ32Ф4 те же мипсы даёт.
первый комплект плат, где-то в пути…
Ух ты!! Что ж , ждёмс! Сергей, покажи итоговую схему картинкой, орёл у меня сильно гордый, даже с пинка не летит:).
В PDF ибо в картинках не видно, в 1.2 не обозначил таймеры по этому прикрепил и старую версию…
да приедет десять голых нижних плат, так как стоимость копеешная, то буду лишние раздавать, ибо мне самому хватит одной ну двух…