Пропорциональное управление на МК с нуля
|
|
uwrtey | Дата: Четверг, 18.04.2013, 22:20 | Сообщение # 286 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Вот и я совсем не могу понять как это сделать... на двух канальных выходах нужно получить ШИМ для управления двигателями ( тут сложность в микшировании каналов ) а на третьем выходе нужно получить "стандартный" ШИМ для управления сервоприводом
для начала я могу попробовать сделать вход в прерывание по ICP с выводом данных всех трех каналов на экран... а дальше видно будет... ( хотя, это - не правильный подход )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Четверг, 18.04.2013, 22:23 |
|
| |
ВитГо | Дата: Пятница, 19.04.2013, 11:24 | Сообщение # 287 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну это вопрос подхода..
в принципе шим для двигателей оставляй, а для серв - используй таймер и программный шим. ничего страшного там нет.. программно, при помощи одного таймера можно до 9 каналов управления сервами генерить !! и все это без аппаратного шима !!
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Пятница, 19.04.2013, 18:23 | Сообщение # 288 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| вот написал программу, которая входит в прерывание по падающему фронту на ICP в самом прерывании значение ICR1* читается в регистровую пару "Х" затем программа выходит из прерывания и зацикливается в Главном цикле, ожидая нового падающего фронта на ICP
вроде все правильно ? кстати а счетчик таймера нужно обнулять? ил он сам обнулится?
что дальше ? ШИМ для двигателей настроить ? А как программный ШИМ организовать? ( ума не приложу )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 19.04.2013, 22:58 |
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 08:43 | Сообщение # 289 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| неее, нифига ! нам же нужно знать длину импульса (спада) !!
поэтому вошли по спаду, сбросили счетчик, установили вход по фронту, и уже попав во второй раз в прерывание по фронту - смотрим значение счетчика..
а то что ты написал даст тебе период сигнала... 20 мс :-) фиксированно и не изменяемо :-)
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 08:44 | Сообщение # 290 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| шим для двигателей делай на аппаратных шимах счетчика !
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 20.04.2013, 11:48 | Сообщение # 291 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) а то что ты написал даст тебе период сигнала... 20 мс :-) фиксированно и не изменяемо :-) да ладно ??? то, что я написал, даст длину каждого импульса + длина паузы = длина канального импульса ( прерывание по падающему фронту ) вошли по падающему фронту, скопировали значение счетчика, сбросили таймер, обработали данные, вышли...
Ну или я что то не понимаю опять.....
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 20.04.2013, 12:08 |
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 15:27 | Сообщение # 292 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| аааа, так ты ppm разбираешь !!?
тьфу, я думал сигнал идущий на сервер решил отдетектить :-) там то период один и тот же..
тогда извиняюсь, не в тему написал :-)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 20.04.2013, 17:43 | Сообщение # 293 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| а на какой сервер ?
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 17:44 | Сообщение # 294 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну ты меня понял :-) я тут свое обмозговываю :-)))
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 20.04.2013, 20:50 | Сообщение # 295 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| в том то и дело, что не понял...
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Суббота, 20.04.2013, 22:53 | Сообщение # 296 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Виталий, я не пойму как мне наложить канал_0 ( газ ) на канал_1 ( рысканье ) ( их нужно как то смикшировать )
а уже результат вывести с помощью ШИМ на моторы
---------------------------------------------
программный ШИМ http://habrahabr.ru/post/152299/
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 20.04.2013, 23:25 |
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 23:23 | Сообщение # 297 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| не понял вопроса :-(
что значит наложить ?
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 20.04.2013, 23:29 | Сообщение # 298 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| за тягу ( газ ) и за рыскание ( курс ) отвечают основные моторы... как организовать управление тягой и курсом одновременно ?
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Суббота, 20.04.2013, 23:59 | Сообщение # 299 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| у тебя же вроде перекосом серва управляет ?
тяга - это общая константа скорости вращения - меняется для обоих движков
а курс - это разность вращения винтов относительно константы тяги следовательно скорость одного увеличиваем а другого уменьшаем - это управление по курсу..
или я опять вопрос не понял ?
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 21.04.2013, 08:29 | Сообщение # 300 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) у тебя же вроде перекосом серва управляет ? у меня серва тангажем управляет.. От автомата перекоса курс не изменить
Цитата (ВитГо) следовательно скорость одного увеличиваем а другого уменьшаем - это управление по курсу.. это я знаю, но как это организовать... для управления двигателями нужно организовать два ШИМа для того что бы организовать эти два ШИМа нужно взять данные с двух каналов и как-то их смикшировать... вот я и не могу понять как это все организовать...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 21.04.2013, 09:46 |
|
| |