Управление без радиуправления.

Orangeshotman

Здравствуйте форумчане. Помогите разобраться.
В наличии есть вот такой контроллер.

Проблема в том что у меня нет приемника и пульта радиоуправления. Но есть Arduino UNO. С его помощью я пытаюсь обмануть контроллер и подать на те разъемы где должен быть приемник ШИМ. Для активации платы необходимо эмулировать перемещение стика в крайне правое-нижнее положение. Какое должно быть напряжение (ШИМ) на управляющих пинах при отклонении стика в данное положение?

DVE

Центр - 1.5мс.

Примерно как-то так, если я правильно понял вопрос.

PS: Контроллер я бы купил другой, этот устарел года на 3 😃 Откуда только народ такой антиквариат добывает…

Smolett
Orangeshotman:

Для активации платы необходимо эмулировать перемещение стика в крайне правое-нижнее положение.

А потом что, когда взлетит?

DVE

Может человек к конкурсу КРОКа готовится 😃

Orangeshotman
DVE:

Центр - 1.5мс.

Примерно как-то так, если я правильно понял вопрос.

PS: Контроллер я бы купил другой, этот устарел года на 3 😃 Откуда только народ такой антиквариат добывает…

Спасибо большое! Думаю эта информация должна помочь. Завтра проверю)

Smolett:

А потом что, когда взлетит?

Есть Трансиверы NRF24L01 2.4GHz. С их помощью можно соединить два контроллера. Написать программку для управления с компьютера не сложно будет если разберусь с работой данной платы)

serenya
Orangeshotman:

Какое должно быть напряжение (ШИМ) на управляющих пинах при отклонении стика в данное положение?

Или Вы не правильно выразились или Вам надо учить матчасть, в частности что такое ШИМ.

Orangeshotman
serenya:

Или Вы не правильно выразились или Вам надо учить матчасть, в частности что такое ШИМ.

Вот я и пытаюсь разобраться. При помощи ШИМ мы можем регулировать напряжение которое легко померить и которым можно производить управление. Или же тут имеет большее значение длительность циклов?

UserM
Orangeshotman:

При помощи ШИМ мы можем … и которым можно производить управление.

Нет, не правильно понимаете, почитайте тут www.rcdesign.ru/articles/radio/tx_intro

serenya

Как бы ШИМ - широтно-импульсная модуляция, напряжение всегда одно и тоже, только оно либо есть либо нет. Почитайте про ШИМ, желательно наверное не википедию, я там нихрена не понял, и про принципы работы сервопривода/сервомашинки.

Orangeshotman
serenya:

Как бы ШИМ - широтно-импульсная модуляция, напряжение всегда одно и тоже, только оно либо есть либо нет. Почитайте про ШИМ, желательно наверное не википедию, я там нихрена не понял, и про принципы работы сервопривода/сервомашинки.

Это я понимаю. Но оно либо есть, либо его нет только в отдельный момент времени. И чем дольше (чем дольше рабочий цикл) оно есть тем ближе значение напряжения будет к тому что возникает в отдельный взятый момент. Ведь так?)
Читал тут arduino.ru/Tutorial/PWM

UserM:

Нет, не правильно понимаете, почитайте тут www.rcdesign.ru/articles/radio/tx_intro


Тут у нас уже несколько каналов.
С приемника с отдельного канала подается только один сигнал.

Так будет выглядеть сигнал с одного канала приемника?

UserM

Гуглить нужно PPM (Pulse-position modulation)

Orangeshotman:

Так будет выглядеть сигнал с одного канала приемника?

Нет, не так. Один канал с приёмника действительно можно рассматривать как ШИМ с длительностью импульса от от 1 до 2мс и периодом повторения 20мс, но несколько каналов должны быть синхронизированы.

puh21

T.S. в библиотеке ардуино есть стандартная библиотека Servo используйте её, вполне адекватно работает, для ленивых arduino.ru/Reference/Library/Servo

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

Orangeshotman
UserM:

Один канал с приёмника действительно можно рассматривать как ШИМ с длительностью импульса от от 1 до 2мс и периодом повторения 20мс

Да) Так у меня и задача стоит такая, что бы с ардуино у меня шло 4 ШИМа и ими я бы регулировал работу платы.
Возникает такой вопрос: должны ли эти 4 ШИМа быть синхронизированы или плате важна лишь длинна импульса каждого сигнала?

puh21:

T.S. в библиотеке ардуино есть стандартная библиотека Servo используйте её, вполне адекватно работает, для ленивых arduino.ru/Reference/Library/Servo

Именно ею и пользуюсь) но вся проблема в том чтобы подобрать такие значения, с помощью этой библиотеки, чтобы плата подумала что я отклонил ручку управления “вправо-низ”.

puh21
Orangeshotman:

или плате важна лишь длинна импульса каждого сигнала?

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

а 4 мкС это погрешность ардуиновской библиотеки micros()

serenya
Orangeshotman:

Именно ею и пользуюсь) но вся проблема в том чтобы подобрать такие значения, с помощью этой библиотеки, чтобы плата подумала что я отклонил ручку управления “вправо-низ”.

Надо посмотреть какие стандартные значения используются в куке для арминга (“вправо-низ” думаю что это оно, хотя с куком не знаком) и такие же выдавать в каналы. ТОлько вот заведете Вы моторы, а дальше что?

Orangeshotman
puh21:

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

а 4 мкС это погрешность ардуиновской библиотеки micros()

подергивание действительно есть. небольшое, но есть…
хотелось бы узнать, нужна ли синхронизация импульсов с каждого канала ПРИЕМНИКА? или приемник обычно выдает просто ШИМ на выходе ИЗ КАЖДОГО КАНАЛА уже заранее раскодировав сигнал?

serenya:

Надо посмотреть какие стандартные значения используются в куке для арминга (“вправо-низ” думаю что это оно, хотя с куком не знаком) и такие же выдавать в каналы.

А как это можно посмотреть? Будь у меня пульт и приемник - я бы знал какие значения должны быть, но увы)

serenya:

ТОлько вот заведете Вы моторы, а дальше что?

Orangeshotman:

Есть Трансиверы NRF24L01 2.4GHz. С их помощью можно соединить два контроллера. Написать программку для управления с компьютера не сложно будет если разберусь с работой данной платы)

serenya
Orangeshotman:

А как это можно посмотреть? Будь у меня пульт и приемник - я бы знал какие значения должны быть, но увы)

Почитать ветку про кук контроллер, полагаю что там должно быть это

puh21
serenya:

(“вправо-низ” думаю что это оно,

по каналу питча 1000мкС по каналу рола 2000мкС

Orangeshotman:

приемник обычно выдает просто ШИМ на выходе ИЗ КАЖДОГО КАНАЛА уже заранее раскодировав сигнал?

так и есть… на каждом канале свой “чистый” сигнал.

TeHoTaMy
Orangeshotman:

хотелось бы узнать, нужна ли синхронизация импульсов с каждого канала ПРИЕМНИКА? или приемник обычно выдает просто ШИМ на выходе ИЗ КАЖДОГО КАНАЛА уже заранее раскодировав сигнал?
А как это можно посмотреть? Будь у меня пульт и приемник - я бы знал какие значения должны быть, но увы)

Синхронизация импульсов каналов между собой не требуется. Главное - длительность импульса. На каждом канале приемника длительность импульса пропорциональна положению ручки передатчика. Крайние положения ручки = 1мс и 2мс. Четыре варианта крайнего положения двух каналов перебрать несложно. В чем вопрос?!

Orangeshotman
puh21:

по каналу питча 1000мкС по каналу рола 2000мкС

.

TeHoTaMy:

Крайние положения ручки = 1мс и 2мс. Четыре варианта крайнего положения двух каналов перебрать несложно. В чем вопрос?!

Предполагаю что вы ни так поняли меня. 1мс и 2 мс - это действительно крайнее положение ручки.
Но мне конкретно нужно что-то вроде этого)
Начинаю думать, что наверно действительно стоит приобрести пульт с приемником…

DVE

Кук он ведь доступен в исходниках. Можете просто отключить арминг движков при включении, это должно быть несложно. Правда взлететь это Вам не поможет, действительно быстрее купить пульт чем сделать и отладить полноценное управление с компа.

puh21
Orangeshotman:

Предполагаю что вы ни так поняли меня.

я вас правильно понял, на нормальном пульте будет как я написал. но в вие например АРМ можно сделать по отдельному каналу например, может и в куке можно…?

SergDoc

В вие тоже АРМ не сделать одним каналом, должны быть соблюдены условия, как то газ в нуле, датчики откалиброваны, коптер находится не под углом, и т.д. и КУК без управления руками (аппой) никуда не полетит, ну разве что в хозяина, оставте вы это дело от греха подальше, разберитесь (по написанному) как оно работает (по какаим принципам) и купите аппаратуру…

Orangeshotman
puh21:

я вас правильно понял, на нормальном пульте будет как я написал. но в вие например АРМ можно сделать по отдельному каналу например, может и в куке можно…?

Пробовал ставить 1мс и 2мс . Газ 1мс и другие по 2мс. Не включается…

SergDoc:

купите аппаратуру…

Видимо придется. Куплю, а там уже буду снимать показания с приемника и пытаться их воспроизвести.

Dynamitry

для ардуино есть библиотека Servo. Ею элементарно просто вы можете повторить сигнал канала приемника.
myservo.write(0); - “ручка в нуле”
myservo.write(255); - “ручка на максимуме” .
Смотрите примеры.