roboforum.ru

Технический форум по робототехнике.

Skyer's PID Linetracer

Re: Skyer's PID Linetracer

Сообщение Radist » 23 дек 2011, 19:45

Зашел, посмотрел. Для начала неплохо, есть куда совершенствоваться. Мне кажется, что МК жирноват - хватило бы и меги8. И драйвер жирноват - хватило бы 293. Скорость платформы маловата - ведь это же гонки, а не марафон. Аккумулятор такой возить - не спортивно. Для лайнтрейса нужен легкий аккумулятор, способный отдать большой ток, который можно быстро зарядить. Речь о литийполимерных. В общем такая вот конструктивная критика.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Vovan » 23 дек 2011, 20:04

ИМХО кое-что можно было бы продублировать и здесь - для этого на форуме есть все возможности (кстати, об этом по-моему и в правилах есть). Посмотреть реальный продукт, а уж затем (если что-то заинтересовало) можно и по ссылке перейти...
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Skyer's PID Linetracer

Сообщение Skyer » 09 янв 2012, 12:09

Аккумулятор и вправду тяжеловат. Я его брал исходя из дешевизны и простоты эксплуатации по сравнению с Li-Pol, которые установлю в перспективе. Но даже с этим аккумом машинка гоняет быстро (при максимальных оборотах). Касаемо меги, чтож этого много, но я ее брал еще когда толком не представлял сколько ресурсов понадобится. К тому же щас пришли платы с ebay, так что программа будет разрастаться.

Radist, читал вашу тему о самонастраивающихся регуляторах. Как ваши успехи в этом направлении? Хочу тоже заняться этой темой.
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение Radist » 09 янв 2012, 12:42

Все успехи изложены в той теме, больше я к ней не возвращался. Я исходил из неверного предположения, что трехмерная функция t(P,D) монотонна и имеет глобальный экстремум. Единственный успех - самонастройка П регулятора. Есть простор для дальнейшего творчества.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Skyer » 10 янв 2012, 22:41

Radist, на чем пишете? Что посоветуете почитать из теории? Еще хотел спросить насчет аккумулятора, как смотрите на Ni-Cd или Ni-Mh аккумуляторы? Я щас получил платы блютуса и ультразвукового дальномера, поэтому планирую немного переделать шасси и возможно сменить аккумулятор и саму компоновку. Но думаю что текущего аккумулятора будет хватать на много большее (в плане наработки). Видите ли, я поначалу тоже делал акцент на скорость, но щас с текущим аккумулятором на максимальных оборотах платформа ездит итак шустро, а я хотел бы сделать упор на алгоритмы и многофункциональность.
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение Radist » 11 янв 2012, 07:45

Из предложенных типов аккумуляторов рекомендую металлгидридные. Пишу на асемблере. Теории обычных ПИД регуляторов в сети полно, а вот именно для гоночной машинки - сам ничего не смог найти. Но форумчане помогли разобраться, там все просто. Рассказываю алгоритм ПД регулятора для лайнтрейса. Есть система координат (линейная), трасса всегда проходит через ноль. А робот (его центр) может находиться как на трассе (отклонение ноль), так и справа или слева от трассы. Для мнемонической простоты отклонения влево будем считать отрицательными, а вправо положительными. С каким-то периодом мы от датчиков получаем информацию: отклонение и знак. Нам нужно знать текущее отклонение Е1 и предыдущее отклонение Е2 (числа знаковые). Формула ПД регулятора получается такой: А = П*Е1 + Д*(Е1-Е2), где П - пропорциональный коэффициент, Д - дифференциальный коэффициент, А - разность скоростей колес (по знаку определяете какое должно крутиться на всю катушку, а какое должно крутиться медленнее). Казалось бы что это все, однако нет. Мы получили разность скоростей (причем затормаживающее колесо может в пределе на всю катушку крутиться в обратную сторону, если ваш лайнтрейсер это позволяет (а если хотите побеждать на нем, то должен позволять)), но нам надо на моторы выдать разный шим, а он со скоростью связан не линейно. То есть у вас должна быть таблица перевода скорости в параметр шим. Вот теперь все. Что делает коэффициент П? Он делает разность скоростей тем больше, чем дальше мы от линии. А что делает коэффициент Д? Он стремится увеличить разность скоростей, когда происходит уход с трассы, и уменьшаем разность скоростей когда происходит возврат на трассу. Из двух коэффициентов главный конечно П, сперва надо найти его. При малых П робот не успевает возвращаться на трассу при ее уходе, при больших дергается как сумашедший. Сперва ищем приемлимое значение П, при котором робот не теряет трассу, затем улучшаем динамику коэффициентом Д (при этом нужно уменьшать и П, поскольку работа несколько перераспределяется между коэффициентами). И еще одно пояснение, которое я сам долго не мог понять. Как так, аргумент у нас в единицах длины (мм, дискреты, попугаи), а функция выдает даже не скорость, а разность скоростей двух моторов. Мне это объясняли, но сейчас я нужных слов не найду, просто поверьте в это (или докопайтесь до истины и всем расскажите в этой ветке). Когда едем по прямой и прямо по трассе, то Е1 и Е2 равны нулю, А равно нулю, оба движка включены на всю катушку. И последний нюанс - когда происходит потеря линии (для робота это максимально возможное отклонение) - тогда разность скоростей максимальна (одно колесо полный вперед, второе полный назад). То есть разность скоростей, выдаваемых функцией, должна быть ограничена. Ну вроде основное рассказал, если что забыл или не ясно - спрашивайте.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Skyer » 13 янв 2012, 17:27

Radist, спасибо, примерно уловил. Щас пока вожусь с железом, поэтому через неделю вернусь к регуляторам. Сегодня все-таки не удержался и купил 4 аккумулятора Ni-Mh GP 2500mAh 1.2V. Решился на покупку, так как SLA аккумулятор занимает много места, много весит и его трудно закрепить чтобы он не болтался. Как думаете хватит мощности? думаю завести аккумы последовательно между собой и на моторы а от них через диод и кондеры на питание микросхем.
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение Radist » 14 янв 2012, 11:30

Вообще-то 4 АА последовательно - это нормально. А вот питать сперва моторы, а от них электронику - это плохо. Питание на моторы - налево, питание на электронику - направо. И большой кондер рядом. В общем чтоб большие токи не текли по земле электронной части.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Skyer » 20 янв 2012, 21:05

Я думаю сделать так: питание от аккума идет на движки (именно на движки, а не на L298). Далее диод и кондеры, после чего питание идет на МК и L298. Щас развожу платы чтобы все на одной
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение Radist » 21 янв 2012, 20:00

Нарисуйте картинку, эскизик схемы питания. А то не понятно.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Skyer » 25 янв 2012, 15:05

Я имел в виду схему, которая описана в первом посте темы про питание в разделе по электронике. Там сказано

Советую отделить питание МК или стабилизатора питания от силового питания быcтрым диодом 1N4148 ( а лучше шоттки типа 10bq30 или bat54 ) и добавить на катод диода ( черточка на схеме ) конденсатор электролитический качественный на 220-470 мкФ и керамический на 0.1 мкФ. После стабилизатора питания рекомендую сатвить конденсатор электролитический качественный на 10-47 мкФ (не более !) и керамический на 0.1 мкФ
< avr123.nm.ru >


Схему привожу в аттаче. Хотел узнать, в качестве диода Шоттки 1N5819 подойдет?
Вложения
Питание.JPG
Схема питания
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение dccharacter » 25 янв 2012, 17:39

пойдет

Добавлено спустя 47 секунд:
Токо он кажись не супербыстрый

Добавлено спустя 1 минуту 49 секунд:
Во, точно пойдет: For use in low voltage, high frequency inverters free wheeling, and polarity protection applications
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Skyer's PID Linetracer

Сообщение Radist » 25 янв 2012, 18:46

Хорошо бы чтобы земли силовой и цифровой частей соединялись в одной точке НА ИСТОЧНИКЕ ПИТАНИЯ. Так Хоровиц и Хилл рекомендуют, а уж они то знают....
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Skyer's PID Linetracer

Сообщение Skyer » 25 янв 2012, 19:19

Radist, можно поточнее? Просто дорожки на плате то я разведу так чтобы они соединялись в одной точке и чтобы в эту же точку коннектился аккумулятор. Но от платы то идут тоже провода к колодке с аккумом
Аватара пользователя
Skyer
 
Сообщения: 24
Зарегистрирован: 13 окт 2011, 09:32
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php

Re: Skyer's PID Linetracer

Сообщение Radist » 26 янв 2012, 03:46

Главное чтобы на плате земли только в одной точке объединялись. А поточнее - гляньте в библиотеке форума книгу "Искусство схемотехники", раздел про помехи, наводки, и длинные линии - там достаточно много для цитирования, но просто для понимания.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Пред.След.

Вернуться в Line Tracer

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

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