Пропорциональное управление на МК с нуля
| |
ВитГо | Дата: Суббота, 04.05.2013, 23:10 | Сообщение # 331 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| нужно раскидать таймеры по задачам..
опять таки почитай внимательно про BAM - там можно сделать сколько угодно каналов !! - это для моторов !! - заодно и мщность более плавно будет регулироваться (с меньшими пульсациями)
а для сервы использовать ШИМ (так как там BAM вообще не работает ! серва с ума сойдет если ею при помощи BAM управлять :-)
вот тогда и хватит тебе таймеров !
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Суббота, 04.05.2013, 23:12 | Сообщение # 332 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| кстати, из моей практики - редко какая серва отрабатывает изменение управляющего сигнала на 1 мкс.. хорошая аналоговая серва отрабатывает изменения в 4 мкс.. средняя в 6 мкс. то есть это всего около 256 итераций !!!! и этого все равно "за глаза" для управления !!! (по крайней мере твоим вертом)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 04.05.2013, 23:33 | Сообщение # 333 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| я вот тут уже сделал моторы через ШИМ ( хотел через Phase Correct PWM, но сделал через Fast PWM - это проще, и тут наверно не нужна такая точная регулировка по фазе )
--------------------------------------------- кстати, а чем отличается PWM, Phase and Frequency Correct от PWM, Phase Correct ?
---------------------------------------------
схема gif и в ДипТрейсе
--------------------------------------------- Утро ночера мудренее - пошел я спать Днем буду думать, как сервой управлять, придется наверное программный ШИМ городить, или запускать отдельный ШИМ на другом таймере ( благо в Тини 2313 их несколько )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 05.05.2013, 15:16 |
|
| |
uwrtey | Дата: Воскресенье, 05.05.2013, 15:25 | Сообщение # 334 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| у меня остался таймер_0, а он к сожалению всего восьмибитный. И считать он умеет всего до 255-ти Аппаратный ШИМ на нем не получится сделать - так как у меня для управления сервоприводом значение десятибитное ( от 0 до 1023 ) ... Хотя, исходя из Твоих слов Цитата кстати, из моей практики - редко какая серва отрабатывает изменение управляющего сигнала на 1 мкс.. хорошая аналоговая серва отрабатывает изменения в 4 мкс.. средняя в 6 мкс. то есть это всего около 256 итераций !!!! и этого все равно "за глаза" для управления !!! (по крайней мере твоим вертом) можно взять значение и поделить его на 4 ( 1024/4=256 ) и тогда можно будет задействовать аппаратный ШИМ с вершиной в OCRA
схема снова претерпела изменения
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 05.05.2013, 15:31 |
|
| |
ВитГо | Дата: Воскресенье, 05.05.2013, 16:54 | Сообщение # 335 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| гм.. мое последнее сообщение потерялось что ли?!
в общем в кратце, скорее всего таймер 0 для управления сервой не подойдет.. лучше на нем сделай программный шим двигателей...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 05.05.2013, 17:13 | Сообщение # 336 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| почему не пойдет ? я уже почти на нем сделал....
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 05.05.2013, 17:16 |
|
| |
ВитГо | Дата: Воскресенье, 05.05.2013, 20:16 | Сообщение # 337 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| гм...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 05.05.2013, 23:20 | Сообщение # 338 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Ну вот, я обнаружил почему таймер_0 не подойдет для управления сервой
у меня установлен кварц на 16 мгц. внутренний делитель на 8 отключен. таймер_0 - восьмибитный. сервопривод работает на частоте 50Гц ( период 0,02 секунды ) и даже если использовать предделитель таймера на 1024, то получается 16МГц/1024=15625Гц ( частота таймера ) 1/15625=0,000064секунды ( 1 тик таймера ) 0,02сек/0,000064сек=312,5 ( число таймера ) а так как таймер может считать только до 255, то это значит, что этот вариант не подходит
НУ ВОТ, А ТАКАЯ НАДЕЖДА БЫЛА НА ТАЙМЕР_0
Пошел читать про программный ШИМ....
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Понедельник, 06.05.2013, 14:46 |
|
| |
uwrtey | Дата: Понедельник, 06.05.2013, 14:39 | Сообщение # 339 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Что то я ни как не могу найти ссылку, где про BAM можно почитать
яндексом нашукал http://bsvi.ru/bam-alternativa-shimu/
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Понедельник, 06.05.2013, 14:41 |
|
| |
uwrtey | Дата: Понедельник, 06.05.2013, 14:56 | Сообщение # 340 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Дак как теперь быть ? для управления двигателями организовать программный ШИМ на таймере_0 ( или BAM ? ) для управления сервой тангажа организовать аппаратный ШИМ на таймере_1
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Понедельник, 06.05.2013, 14:56 |
|
| |
ВитГо | Дата: Понедельник, 06.05.2013, 17:02 | Сообщение # 341 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| для двигателей лучше наверное BAM
а для сервы аппаратный ШИМ..
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 07.05.2013, 21:50 | Сообщение # 342 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| где бы прочитать про то как программно можно реализовать BAM на асме?
весь вечер ищу и ничего толком не нагугуглил
смысл ясен, а принцип я не понял....
в какой режим нужно ввести таймер? и как менять лог_уровни ?
автор слишком скупо рассказал про него
--------------------------------------------- вот тут кое что нашел, но пример написан на Си
еще про BAM --------------------------------------------- тупил тупил и решил озадачить форумчан радиокота http://radiokot.ru/forum/viewtopic.php?f=20&t=89324
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Вторник, 07.05.2013, 23:16 |
|
| |
uwrtey | Дата: Среда, 08.05.2013, 21:38 | Сообщение # 343 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| на радиокоте PANYTA дал хорошую ссылку где можно почитать про BAM, спасибо ему
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 08.05.2013, 21:38 |
|
| |
uwrtey | Дата: Среда, 08.05.2013, 21:51 | Сообщение # 344 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| выложу на всякий случай архив с неудачной попыткой сделать на аппаратных ШИМах
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 09.05.2013, 00:05 | Сообщение # 345 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Цитата (ВитГо) для двигателей лучше наверное BAM
а для сервы аппаратный ШИМ..
начну со схемы Добавлено (09.05.2013, 00:05) --------------------------------------------- еще же нужно таймер запустить в режиме счетчика для того что бы временные интервалы замерял
не успеваю за своими мыслями......
|
|
| |
|