Как я Spektrum и Hitec пытался подружить (часть 3)

Продолжение поста https://pikabu.ru/story/kak_ya_spektrum_i_hitec_pyitalsya_po...

С теорией разобрались - вырисовывается примерно такая схема:

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

В роли микроконтроллера атмега16л. Во-первых их есть у меня и куда-то надо девать, во вторых на 8мгц с прескаллером 1/8 таймеры считают каждую микросекунды и математика становиться немного проще. + С точки зрения кода мало что меняется, ТК есть проекты ардуины почти под все чипы АВР.

Код можно посмотреть у меня на гитхабе:

https://github.com/Shkolik/PPM_converter

Код постепенно допиливается, в частности сейчас в планах перейти на прямое управление портами, ТК с таймингом уже есть проблемы. Главная засада сейчас в том, что ардуина считает микросекунды дискретно по 4 при 16мцг и по 8 при 8ми. Это вызывает дрейф значений +-8мкс при чтении, что в свою очередь завтавляет сервы дрожать. И если для какого планера-тренера ещё не так страшно, то для чего либо побыстрее уже очень критично. Так что в первую очередь надо избавиться от использования функции micros() в расчетах и для этих целей использовать последний свободный таймер...

Пару фоток на закуску:

Стабилитрон и резистор распашные прямо на разъем, питание берём там же.

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

Самый обычный линейный стаб на 5в для питания Меги.

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

Вот так пока все на соплях. Плату изобретать не хотелось - все же макет.

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

ISP разъем - прошивку менять придётся часто. Рядом ещё тх/рх уарта, для отладки.

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

Можно закрывать и дальше работать над кодом.

Как я Spektrum и Hitec пытался подружить (часть 3) Arduino, Микроконтроллеры, Радиоуправление, Длиннопост

В следующей части постараюсь привести код к минимальному рабочему состоянию, осталось только найти на это время...

Arduino & Pi

1.4K постов20.6K подписчика

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

3
Автор поста оценил этот комментарий
speCtrum, ёпт.
раскрыть ветку
Автор поста оценил этот комментарий

ИМХО, если хочешь точности в 1мкс таймер надо тактировать хотя бы от 10МГц. .+ Купить новый(!) качественный кварц со стабильностью 10^-8 - 10^-12. + Надо убедиться, что фронты импульсов измеряемого сигнала достаточны для стабильной работы таймера мк. + Уверены, что такая погрешность не приходит с первого пульта? На крайний случай я бы округлял значения, с шагом 5-10 единиц.

раскрыть ветку
Автор поста оценил этот комментарий

эмм, стабилитрон сразу на ногу контроллера, не боитесь? рабочий ток ноги маленький, может стоило гасящий резистор поставить или буфер на чем то вроде 1G125?

раскрыть ветку
1
DELETED
Автор поста оценил этот комментарий

Автор, у тебя ж 16ая мега, там есть жтаг, нафига тебе этот исп разъем? Ну и использовать 16 мегу и не пользоваться благами настоящей отладки в железе по жтагу - как то странно.

раскрыть ветку
Автор поста оценил этот комментарий

открыл свой чемоданчик с zxSpetrum'омо Нафаней, прослезился .... закрыл. Старечку уже 28 лет, но он в рабочем состоянии.

раскрыть ветку