Activity

Простой регулятор коллекторного двигателя с реверсом на ATtiny25

Или еще один вариант, написать программный счетчик (на временных задержках в 1 мкс), Если подразумевается использование коллекторного регулятора на земноводной модели, то и 8-и битного разрешения за глаза

Простой регулятор коллекторного двигателя с реверсом на ATtiny25

Тогда можно сделать две переменных, в одной щитать кол-во переполнений, в другой значение таймера после спада импульса

Простой регулятор коллекторного двигателя с реверсом на ATtiny25

Может мой опыт пригодится, кину свои пять копеек.
У меня в LRS канальные импульсы считываются без внешних прерываний, всё построено на циклах while, 16-и разрядный таймер молотит с частотой 1/8 тактового генератора, то есть 1000кГц, то есть 1 тик в микросекунду. Вот код, из комментов думаю всё понятно:

while(!PPM_IN){};//дожидаюсь высокого уровня и запускаю счётчик
TCNT1H=0;
TCNT1L=0;
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (1<<CS11) | (0<<CS10);
while(PPM_IN){};//дожидаюсь низкого уровня и считываю его
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
PWML = TCNT1L;//подсчёт длительности канала
PWMH = TCNT1H;

Обсуждение Openpilot CC3D для гоночных коптеров

ппц, Вы чо? пропы клеить,пластиковые? Даже мысль такая в голову не приходила. По осени пробовал летать на 6045, при резкой подаче газа у двух лопасти как пули со свистом отстрелило! А так, ужо год вот ru.aliexpress.com/item/…/32322163154.html там закупаюсь, именно в этом магазине доставка скорая - максимум 2 недели. На счёт корпуса CC3D - пользую - вчерась в сугроб с размаху ляпнулся, полный бутерброд талого снега со льдом черпанул, еле вытряхнул. Подержал пол часа на батарее и дальше полетел.

RC приёмопередатчик на диапазон 430 МГц

На MRF делал - тему закрыл.

  1. Её мощность всего 7дБм, сложновато получить хорошую дальность, пришлось бы городить серьёзный усилитель.
  2. Она не умеет работать в режиме FHSS.
  3. Размер FIFO буфера всего 1 байт…
Обсуждение Openpilot CC3D для гоночных коптеров

Да можно для удобства и замикшировать, я миксил крен и разворот из-за недостатка опыта управления,чтобы летал как самолет при управлении элеронами, а так, для компенсации высоты есть где-то параметр Траст

Обсуждение Openpilot CC3D для гоночных коптеров

Про бузер и резисторный делитель понятно - их один раз воткнул и забыл. На счёт побаночной пищалки - ну и что, что она побаночно пищит, ведь если запищало - всё! лететь домой и так.

Обсуждение Openpilot CC3D для гоночных коптеров

Всем привет. Прочитал половину темы - в голове каша. GPS,OSD - зачем это!
Задам вопрос на прямую. Плата CC3D с алиэкспресса, OP 15.02.02 , приёмыш через РРМ, всё настроено, летает как по рельсам. Казалось бы чего ещё надо? А надо, настопи… каждый раз втыкать балансирный разъём акка в пищалку, на что перешиться, что б эта фишка уже на плате ПК была?

RC приёмопередатчик на диапазон 430 МГц

Ох, эти мицубиси! Нельзя их обвязку упрощать, наоборот - нужно довешивать доп. П-фильтры - возбудимы они очень. Народ на VRTP пожог их великое множество.
В завершении выкладываю исходники.

RC приёмопередатчик на диапазон 430 МГц

Всю неделю экспериментировал с раскачкой радиомодуля.
В итоге остановился на легко повторяемой схеме

все детали, кроме транзистора, SMD 0805.
Платка допаивается к радиомодулю с стороны его антенны.
Печатка. На дальность пока не проверял. Раньше от диполя на радиомодуле до полной шкалы волномера было 27см, теперь почти 70.

RC приёмопередатчик на диапазон 430 МГц

такой тест делал, одним лучом вставал на вход прд, другим на выход прм. Точного значения не помню, но гораздо меньше 50. Алгоритм такой - прд отлавливает синхроимпульс, соответственно дальше идёт импульс 1-го канала. Дальше определяется количество каналов на аппе - это только при включении питания. Дальше меряются канальные импульсы синхронизируясь по синхроимпульсу. Дальше весь пакет (4 байта преамбула + 2 байта номер прд + 1 байт количество каналов + 20 байт значения канальных импульсов) на скорости 100kbps улетает в эфир. ПРМ всё это восстанавливает в обратной последовательности. Т.Е. задержка - один фрейм + время на передачу. Повторюсь, точную цифру не помню, попаду на работу смерю.

RC приёмопередатчик на диапазон 430 МГц

Вот уже конструктивные предложения поступают

X3_Shim:

я не могу гонять бустер постоянно на 7 ватт, нужно иметь возможность рулить мощностью прям в полете.

А можно и не рулить, а предоставить эту работу камушку, и пусть увеличивает сам на основе показаний RSSI

RC приёмопередатчик на диапазон 430 МГц

На счёт говнокода вы правы - я просто стесняюсь показывать свою писанину… Недипломированный самоучка. Почему нельзя прикрутить бустер, прошивка тут при чём? К тому же я не стремился улететь далеко и высоко, куда там на 250 квадрике. Про Байчи я ничего плохого не говорю, он создавал свою систему для серьёзных и дальних полётов. А кому то и по стадиону полетать такой вариант больше подойдёт - альтернатива должна быть.

RC приёмопередатчик на диапазон 430 МГц

Закончил!
В архиве печатка, прошивки для передатчика и приёмника (для приёмыша две - .hex и .eep, надеюсь не надо ничего объяснять), скрин китай радиомодуля, схема в 11 посте. На плате передатчика можно не ставить кондёр и резюк на 14 ноге контроллера. А так они одинаковы… Фьюзы - заводские, Внутренний RC генератор на 8 МГц. Можно включить галку EESAVE, чтобы при просадках питания приёмник не забывал параметры фэйлсэйва.
Не уверен, что кому - то нужна версия приёмыша с параллельными выходами каналов (PWM?)…
Теперь буду работать в направлении увеличения мощности.

RC приёмопередатчик на диапазон 430 МГц

Извиняюсь за удаление всех ссылок, ничего не получалось, поудалял весь проект со всех компов и папок. Хотел плюнуть и забросить. Потом думаю нет - доведу до конца. Написал прошивку заново. Теперь с приемника прет стандартный ррм 20 мс. OpenPilot и CC3D видят его на ура! Хотел привести видео проверки, но пожалуй не буду, качество не айс. Из изменений только скорость передачи данных по радиоканалу и девиация. Остальное, схема, печатка без изменений. Осталось немного допилить переключение на FS и обратно. Как все будет готово, выложу одним архивом все нужное для сборки.

RC приёмопередатчик на диапазон 430 МГц

Проверил на дальность - с этим всё в поряде, как и говорил - в 3 раза дальше, на том же месте, где был в первый раз.
А вот с ППМ пока засада. Изначально период пакетов был 80мС. CC3D его не видила в упор… Пофиксил прошивку до 40 мС, но проверить не удалось - начальство нагрянуло, занимаюсь этим на работе, дома детки весь текстолит потравят…
Если и такой вариант не прокатит - придётся переписывать прошивку с истоков и передавать в эфир не буферизованные данные (fifo) о параметрах каналов, как щас, а гнать тупо PPM (direct).

RC приёмопередатчик на диапазон 430 МГц
Иван:

может у них настройки глянуть?

к сожалению не люблю подглядывать.
Переписал девиацию на 1КГц - видать полоса сузилась и влияние помех уменьшилось, соответственно и прирост в дальности.
Заколхозил два Т-образных диполя по описанию fpv-community.ru/…/152-antenny-lineinoi-poliarizat…
теперь хожу по зданию, (на работе). В том месте, где приёмыш начинал пропускать пакеты с антеннами - пружинами (передатчик на минимальной мощности) - теперь усё гуд! Теперь пропуск пакетов начинается на расстоянии в 3! раза дальше! А что будет, если настроить антенки по приборам, которых нет.

при чём даже не важно, держу антенну в одной плоскости или в разных…

RC приёмопередатчик на диапазон 430 МГц
Иван:

частота у вас 436 - 441 МГц выходной каскад у модулей настроен на 433мгц

-были модули с каскадом на 470, работали на 433,92 с не большим затуханием, а сейчас всего 6 мег - думаю не критично…

Иван:

антенной надо сначала разобраться - диполь или штырь правильный приконнектить, и уже по результатам выводы делать.

бегать однако далековато…
Как раз гуглю по поводу V-диполя, мож есть какие картинки?

RC приёмопередатчик на диапазон 430 МГц

сделал 25 КГц - стало хуже, 50 - ещё хуже. С расширением полосы ухудшается чутьё приёмника. Буду делать 5 или даже 1КГц, потом, а то бегать устал.

RC приёмопередатчик на диапазон 430 МГц

Спасибо за совет. Девиацию уже переписал, тоже об этом подумал. Видать даташит не дочитал, думал, что какое значение в регистр записано - так приёмник и настроится. Антенка - пружинка конечно временный вариант, потом в пульт установлю - штырь воткну!

RC приёмопередатчик на диапазон 430 МГц

Я имел в виду схемную простоту. Программную так не назовёшь, чего только одна настройка чипа стоит - гемор редкостный.
Сейчас ездил за город, остановился на прямой дороге, положил передатчик на панель и дальше с приёмышем потопал ножками. Прошёл по навигатору 400 метров - сигнал отвалился напрочь, потопал дальше с поднятой рукой - сигнал то появлялся, то пропадал. Ну допустим, что коптер будет лететь гораздо выше моего роста, ну долетить метров 600. Что - то не впечатлило.
Понятно, что дальность зависит от скорости передачи данных, но снижать скорость не могу, будут пропуски пакетов. Может с девиацией частоты поиграться? Где знатоки OpenLRS?

RC приёмопередатчик на диапазон 430 МГц

В файле печатной платы 5 канального приёмника, забыл исправить с 15 на 14 ножку микроконтроллера, выход RSSI. Исправленная платка. В РРМ версии без изменений. Новая ссылка для скачивания yadi.sk/d/F4jPhYh3oKtVB

RC приёмопередатчик на диапазон 430 МГц

я не особо разбираюсь в иностранных терминах и сокращениях, к сожалению. Наверно последовательный. Т.Е. если я правильно понимаю - РРМ - это импульсы со всех каналов, собранные в последовательность, с добавлением одного синхроимпульса. Один такой пакет называется - фрейм. Моей железке в общем всё это пофик, передатчик берёт и превращает в цифры каждый импульс с пульта, передаёт в эфир, приёмыш эти цифры преобразует обратно в пакеты импульсов, синхронизируясь по самому длинному синхроимпульсу. Если глянуть осциллографом, на выходе приёмыша увидим ту же картину, что и на пульте.

RC приёмопередатчик на диапазон 430 МГц
SergejK:

А какую использовали антенну на приемнике? Кстати, горит ли модуль если его без антенны включать?

  1. не горит
  2. Сергей, внимательней, ответ на вопрос в первом посте, в абзаце “Конструкция”
RC приёмопередатчик на диапазон 430 МГц

Прошивка писалась с чистого листа, о многочисленных граблях рассказывал в дневнике. Об использовании одновременно нескольких приёмопередатчиков пока сказать не могу - не проверял, но теоретически - конечно - ДА. Ведь работают же другие системы FHSS.

RC приёмопередатчик на диапазон 430 МГц

Собственно началось всё в дневнике rcopen.com/blogs/187889
Теперь можно полноценно обсуждать.
Тех. данные:
-частота 436 - 441 МГц
-FHSS 100 каналов, шаг скачков 50 КГц
-модуляция GFSK
-девиация частоты 10 КГц
-скорость передачи данных 10 kbps

приёмыш:
-выход PPM
-выход RSSI
-кнопка Fail Safe
-светодиод без комментариев понятно.
передатчик:
-вход PPM
-кнопка переключения выходной мощности (при включении всегда встаёт на малую мощность, светодиод не горит. При переключении на максимальную - горит. При обрыве сигнального провода мерцает).
-автоопределение количества каналов пульта, максимум 10.

Конструкция.
Всё собрано на двух одинаковых платах из двустороннего текстолита. Фольга на противоположной стороне используется в качестве земли и экрана. Проходные отверстия и контакты радиомодуля пропаяны тонким медным проводом. На плате передатчика, логично не ставить обвязку 14 ножки микроконтроллера из кондёра и резюка. К фольге на двустороннем скотче клеится радиомодуль. Антенны - пружинки, идущие в комплекте, ссылка, где покупал - в дневнике по ссылке выше. Ну и вся лирика там же.
К сожалению на коптер пока не поставил. Нету прозрачной термоусадки, что бы платки затянуть, да и пропов тоже нема.

В планах собрать ещё приёмник на 5 раздельных PWM каналов и добавить обратную связь, чтобы на передатчике слышать через зуммер включение FS на приёмыше.

Печатка yadi.sk/d/67u82RMtoFXA9
Скрин радиомодуля yadi.sk/i/hkwWfAecoFXPx
Прошивки yadi.sk/d/sNZzbZ1ioFY6p
Фьюзы вроде заводские, на всякий случай проверить, что б был включен внутренний RC генератор на 8 МГц. Шил распространённым программатором USB_ASP и программой Khazama.
Схему не рисовал.