Многократные попытки найти информацию( с исходниками и пояснениями ), о том как можно организовать приемник и передатчик пропорционального радиоуправления на мк (AVR) , (да еще и на одну комманду для наглядности) - не увенчались успехом. Нашел готовые решения на несколько дискретных команд, но исходников там не было - а если и были, то на СИ (я только в ассемблере немного кумекаю) Так же нашел готовый профессиональный проект самодельной аппаратуры радиоуправления на сайте http://forum.rcdesign.ru (но это уж слишком круто для моих знаний) Я (думаю, что не только я) хочу научиться самостоятельно строить аппаратуру радиоуправления на микроконтроллерах, но знания почерпнуть не от куда... (или я плохо ищу или недогоняю че то...) приемо передающая часть меня не интересует - есть готовые RX TX модули, - интересуют толко шифраторы - дешифраторы. Несколько раз создавал темы на форуме - но в ответ все очень сухо мол ищи UART или RC-232. или ссылки на очень старые книжки, в которых одно трололо.. начал писать свой интерфейс - для передатчика написал, а для приемника нет (времени не хватило) узнал что в некоторых МК уже есть встроенные интерфесы, но в каких (AVR-ках) и как их использовать??????? кто бы научил? (жаль что в обучалке нет примера передачи данных... )
_________________ не зная броду не лезь к вольтмоду
Я вот делал небольшой примерчик с UART в АВРстд на асме + проект для протеуса, используется одна прошивка для "ведущего" и для "ведомого", практически не важно кто из них ведущий, а кто ведомый. В тексте может быть немного воды, так как пробовал разные варианты и некоторые функции уже не используются. Работа примера простая, при нажатии кнопки значение порта В отображается на семисегментнике
На приемной стороне ищите синхропаузу. Запускаете таймер. Когда приходит следующий канальный импульс, берете значение таймера, обнуляете, запускаете снова. Полученные значения таймера переносите в другие таймеры, которые занимаются формированием ШИМ для управления сервами.
На приемной стороне ищите синхропаузу. Запускаете таймер. Когда приходит следующий канальный импульс, берете значение таймера, обнуляете, запускаете снова. Полученные значения таймера переносите в другие таймеры, которые занимаются формированием ШИМ для управления сервами.
это Вам все так просто...
zero648 писал(а):
Я вот делал небольшой примерчик с UART в АВРстд на асме + проект для протеуса, используется одна прошивка для "ведущего" и для "ведомого", практически не важно кто из них ведущий, а кто ведомый. В тексте может быть немного воды, так как пробовал разные варианты и некоторые функции уже не используются. Работа примера простая, при нажатии кнопки значение порта В отображается на семисегментнике
zero648, у Вас есть возможность скинуть исходник в *.txt ? просто у меня поломался жесткий диск на компе на котором стоит студия и протеус...
_________________ не зная броду не лезь к вольтмоду
У вас до радиомодуля от МК будет кабель длинной пару метров?
нет! я имею в виду сам принцип кодирования. защищен ли UART от помех или им можно пользоваться только при передаче по проводам ? видимо защищен - раз мой вопрос на столько глуп...
GRAF писал(а):
Ну так спрашивайте, для этого и есть форум. Кроме того, программа для передатчика у вас есть, значит и в алгоритме PPM разбираетесь.
программа передатчика у меня есть но сам интерфейс разработан самостоятельно - это слишком много кода и слишком сложно программу разрабатывал под 20 дискретных комманд
сейчас хочу посмотреть принцип передачи пропорциональных данных по одному каналу... исползуя UART или еще что нибудь - что есть в мк... так как мои познания в мк закончилисьна том , на чем закончилась обучалка Кота
_________________ не зная броду не лезь к вольтмоду
если вас интересует как устроено пропорциональное управление радиоуправляемыми моделями (RC) - то нужно смотреть про сигнал PPM..
к сожалению, как не странно, в интернете мало что про него написано, но если поискать (не найдете - напишите мне ...
если же вы хотите придумать свою систему - то тут все зависит от ваших желаний и возможностей..
я в свое время писал кодер для пропорционального управления моделями, исходники на СИ можно взять http://vg.ucoz.ru/ (смотреть файлы) - проект называется VCoder, там же по этой прошивке есть небольшой форум (недавно сделал)
в принципе могу пояснить что и как работает, как считается.
есть расчет значений каналов пропорционального управления на ассемблере (это проект miniCoder)
есть наработки по дешифрации полученного сигнала с приемника...
в общем конкретизируйте что именно вас интересует..
каждый из передаваемых каналов это импульс размером от 1000 до 2000 мкс... в RC моделях сервы отрабатывают изменение длительности управляющего сигнала не менее 3-4 мкс (у цифровых).. чаще даже до 5-7 мкс на шаг (у аналоговых)
код который генерит все это выглядит примерно так (это я тут помогал для ардуины писать) длительности каналов находятся в массиве packet[], длительности от 0 до 1000, код ниже сам прибавит минимум в 1000 мкс pause = 300 мкс msec=20000 мкс
Код:
void emitPPM_negativ() { int tmsec = msec; double del;
for (int i = 0 ; i < channels; i++){
digitalWrite(PPM,LOW); del = 1000.0+((double)packet[i])*4-pause; // пауза входит в общую длительность канала !! delayMicroseconds(del); digitalWrite(PPM,HIGH); delayMicroseconds(pause); tmsec -= del+pause; } digitalWrite(PPM,LOW); delayMicroseconds(tmsec-pause); digitalWrite(PPM,HIGH); delayMicroseconds(pause); }
что это за язык я не знаю.. сам либо на асме либо на си пишу, но в принципе думаю алгоритм кодирования понятен...
Миль Г. Модели с дистанционным управлением: Пер. с нем. -Л.: Судостроение, 1984. https://sunduk.radiokot.ru/loadfile/?load_id=1287546973 там правда только принцип и макеты на "рассыпухе" (+премники/передатчики радиоканала и их наладка) , под МК прийдется немножко подумать
Миль Г. Модели с дистанционным управлением: Пер. с нем. -Л.: Судостроение, 1984.
там правда только принцип и макеты на "рассыпухе" (+премники/передатчики радиоканала и их наладка) , под МК прийдется немножко подумать
нее, это не то.. если там и будет многоканальная пропорционалка - то что нить двух канальное на одновибраторах... максимум это взять от туда описание сигнала ppm, но имхо это слишком сложный путь получения этой информации
Попытаюсь конкретизировать вопрос. Хочу увидеть код с пояснениями (желательно на ассемблере) для МК (AVR) для приемника и передатчика, для одного пропорционального канала радиопередачи с использованием встроенного в мк UART (или еще чего, что упрощает жизнь программисту) (мк желательно тинька 2313 - с ней уже имел опыт общения) НО так как, мне нужно в первую очередь понять принцип использования UART (или чего еще), то в первую очередь мне нужно научиться передавать 1 дискретную команду, используя UART и естественно в первую очередь хочется посмотреть коды приемника и передатчика с одной дискретной командой.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения