roboforum.ru

Технический форум по робототехнике.
Текущее время: 06 май 2025, 12:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 30 окт 2007, 21:48 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Ну не знаю я в основном сталкивался с таким написанием. Ты же можешь писать мосфИты. :lol:
Да и какая разница как вещи называть главное чтобы смысл был понятен, а так что под столом (или сталом блин с этим албанским, вчера спорили как писать правильно флаг или флак, бедные училки руского языка, они наше время вспоминают как сказку с нашими "зделоть" и т. д.), что пацталом - все один фиг.


Последний раз редактировалось Master 30 окт 2007, 21:51, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 30 окт 2007, 21:51 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Master писал(а):
у меня был супер момент, забыл закрыть он весь вытек в ящичек


POXIPOL - не течет !!! Он "тикстропный" не стекающий значит. Как вазелин.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 30 окт 2007, 21:57 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
Master писал(а):
Тогда уж лучше повесить N-кодеры на INT0 и INT1, и по переполнению таймера, скажем раз в 1 сек, смотреть скока набежало на каждом колесе. А остальные ресурсы МК бросить на что то более полезное.


По моему быстрые INTы лучше использовать на что нибудь полезное. По моему пара операций выполняемых с частотой в 1-2 кГц два десятка операций выполняемых с частотой порядка 10 Гц
Ядро с тактовой 8МГц не перегрузят


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 30 окт 2007, 23:58 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
контрол обычно две, ну да ладна.
на основе таймера сделать часы с точностью Т=0,01 сек или более в зависимости от потребности. каждое срабатывание таймера, то есть чаждые Т секунд анализ датчиков энкодеров 1/0, запоминаем состояние 1/0, текущее время, смотрим изменилось ли состояние энкодера 0/1, если изменилось то надо расчитать время между срабатываниями. вычесть из текущего прошлое, запомнить, сравнить результат левого правого и расчитать поправку для изменения ШИМа. ШИМ тоже не мгновенно изменится значит надо вводить какую нибудь паузу на корректировку. скажем ввели поправку ждем Х*Т тактов на реакцию.
можно и остальные задачи также по кругу гонять. мегагерц должно хватить.
что скажем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 00:01 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
шим кстати программный или аппаратный будет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 00:04 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Аппаратный очевидно изменяемый програмно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 11:35 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
[
rig писал(а):
шим кстати программный или аппаратный будет

Аппаратный, зачем зря ядро грузить?
rig писал(а):
...ШИМ тоже не мгновенно изменится значит надо вводить какую нибудь паузу на корректировку. скажем ввели поправку ждем Х*Т тактов на реакцию.
...

Коэффициент заполнения ШИМа изменится на следующий такт после записи в OCR, так что поправку вводить не надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 14:45 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Пока не зарылись в подробности нужно продумать подход с созданию программы в целом.
Считаю, что в данном случае достаточно хорошим с точки зрения удобства разработки и дальнейшего усовершенствования, является использование подобия конечных автоматов. Это даст, во-первых, общность подходов к использованию периферии в разных местах программы, а, во-вторых, можно достаточно просто совершенствовать программу, не влияя на уже имеющийся код.
Что касается поворотов, то тут нужно прикидывать как будет соотноситься количество импульсов от левого и правого энкодеров, для поворота на определенный угол по определенному радиусу. Например на 2 импульса правого энкодера должен приходиться один от левого. Если это не так, нужно корректировать заполнение. Можно так же и выключать-тормозить один двигатель вообще, чтобы второе колесо довернулось до нужного соотношения импульсов.
Может уместно использовать ограниченный набор радиусов поворота и для них теоретически прикинуть соотношение количества импульсов от энкодеров и на практике замерить заполнения ШИМ, которые нужны для таких радиусов поворотов?

_________________
I live My life!


Последний раз редактировалось SSG 31 окт 2007, 15:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 14:46 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
я баловался только с динамической индикацией на 100Гц, диод плавно зажигался и гас, дискретность в 1 % тоесть 10 КГц заполнение . а вот с моторами как быть, какую частоту опорную делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 14:50 
Не в сети
Аватара пользователя

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
Victorovych писал(а):
Коэффициент заполнения ШИМа изменится на следующий такт после записи в OCR, так что поправку вводить не надо.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 15:02 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
rig писал(а):
Victorovych писал(а):
Коэффициент заполнения ШИМа изменится на следующий такт после записи в OCR, так что поправку вводить не надо.

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

ну вот шим изменится а мотор по инерции крутится
тогда в след раз шим ещё больше уменьшится а мотор продолжает медленно тормозит
в итоге он затормозится слишком сильно и будет поправка на увеличение шима
в итоге автоколебания :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 15:40 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
rig писал(а):
ту т я имел в виду нечто другое, шим то изменится быстро а насколько быстро изменится скорость вала мотора . вот на изменение скорости и надо делать паузу в корректировках. иначе мы за каждое срабатывание энкодера навводим поравок не учитывая момент инерции вала. тут нужен эксперимент или готовый практик.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 31 окт 2007, 17:49 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Предлагаю сделать проще. Движки работают независимо друг от друга. Скорость задается временем сигналов от энкодера (speed_time): меньше время - быстрей крутится. Энкодер сидит на прерывании, при срабатывании выясняется за какое время пришел сигнал (encoder_time) и после сравнивания с тем, что задано делается коррекция ШИМом скорости. ШИМ корректируется методом Ньютона ;) Грубо, без учета препятствий pwm_new = pwm_old * (encoder_time / speed_time)

Вот вам и прямолинейное движение, и повороты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 01 ноя 2007, 14:22 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Ну вот вобщем начал потихонечку набрасывать.
http://quark-bot.blogspot.com/2007/11/blog-post.html

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

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Софт - Алгоритм работы ШИМ+Энкодер->ПИД
СообщениеДобавлено: 01 ноя 2007, 17:11 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Цитата:
Ну вот вобщем начал потихонечку набрасывать.
http://quark-bot.blogspot.com/2007/11/blog-post.html

А по чему в ПДФнике, почему не сразу на сайте?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO