roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 07:22

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




Начать новую тему Ответить на тему  [ Сообщений: 50 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Skyer's PID Linetracer
СообщениеДобавлено: 21 окт 2011, 20:54 
Не в сети
Аватара пользователя

Зарегистрирован: 13 окт 2011, 09:32
Сообщения: 24
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php
Здравствуйте, начал собирать своего робота, первоначальная задача - следование по линии. При сборке столкнулся со следующй проблемой, считываю показания с датчиков (их семь 0-6), почему-то каждый раз на нулевом канале показания сильно искажаются, причем так будто линия под нулевым датчиком. Например, если полоса по центру (под третьим), то показания нулевого и третьего датчиков примерно одинаковы, иногда даже показания нулевого чуть меньше. Для датчиков использовал фототранзисторы L-53P3C и ИК-светодиоды IR513B-40. Датчики между собой не разделял перегородкой, так как в каждый момент времени опрашивается один канал (хотя изначально было, потом убрал) Прикладываю два файла, в них показания с датчиков в виде номер канала - значение. Также прикладываю фотографии того, что собрано на текущий момент. Кто может помочь выявить ошибку? Заранее благодарен :)


Вложения:
Комментарий к файлу: Плата датчиков
Platform-new-3.JPG
Platform-new-3.JPG [ 1.31 МиБ | Просмотров: 4507 ]
Комментарий к файлу: Плата драйвера двигателей L298
Platform-new-2.JPG
Platform-new-2.JPG [ 1.27 МиБ | Просмотров: 4475 ]
Комментарий к файлу: Общий вид платформы
Platform-new-1.JPG
Platform-new-1.JPG [ 1.46 МиБ | Просмотров: 4486 ]
Комментарий к файлу: Полоса под 3им датчиком, по центру робота
Полоса по центру.txt [1.83 КиБ]
Скачиваний: 527
Комментарий к файлу: Полосы нет, робот стоит на белом листе бумаги
Нет полосы.txt [1.52 КиБ]
Скачиваний: 522

_________________
https://sites.google.com/site/skyersoft/home
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 22 окт 2011, 20:29 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 23 окт 2011, 12:53 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 13 окт 2011, 09:32
Сообщения: 24
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php
Спасибо, занят был, поэтому долго не отвечал. В общем одел снова трубочки (не знаю почему я их одевал в первый раз на светодиоды), ситуация улучшилась, сторону с выводами чуть попозже думаю закрасить темным лаком. На текущий момент такие результаты:
0 - 0x18 = 24
1 - 0x1D = 29
2 - 0x25 = 37
3 - 0x14 = 20
4 - 0x24 = 36
5 - 0x28 = 40
6 - 0x32 = 50

Явно видна разница в показаниях крайних каналов (5-6 и 0-1), думаю это связано с АЦП МК, серия экспериментов это подтверждает. Поэтому думаю дальше поможет только калибровка. Будет ли польза от уменьшения расстояния между датчиками (текущее 1см, плату буду переделывать, поэтому интересуюсь). Стоит ли менять светодиоды на другие (те же TSALы)?

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 13:46 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 13:50 
Не в сети
Аватара пользователя

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

1 см между датчиками - нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 13:51 
Не в сети
Аватара пользователя

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

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 14:32 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 15:03 
Не в сети
Аватара пользователя

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

Кстати что со светодиодами?стоит ли менять? щас стоят на 40мВт, думаю насчет TSALов на 130мВт

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 08 ноя 2011, 20:52 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2253
Откуда: Екатеринбург
прог. языки: асемблер AVR
Менять пока рано. Надо в программе рыть. Планируем эксперимент такой:
1. Робота всегда ставим на одно и то же место, внешние условия чтоб тоже не менялись.
2. Сперва получаем инфу с одного датчика, проверяем повторяемость инфы.
3. Теперь с двух и тоже повторяемость проверяем.
4. Если инфа с первого датчика изменилась - вводим задержку между опросами первого и второго датчиков.
5. Повторить для всех датчиков.
6. В идеале общая картинка инфы должна быть повторяема сильно.
7. Не знаю в какой логике вы работаете, но на краях линейки показания должны быть практически одинаковыми - концы оба над белым.
8. Когда этого добились - можно подвигать линейку по линии и наблюдать правильную картину распределения засветок.
9. Когда все заработало - ввести мат. обработку кадра засветки, чтобы на выходе иметь отклонение от центра линии (в мм, уе, попугаях) и сторону, в которой находится центр линии.
10. После этого эти данные можно пихать в пид регулятор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 17 ноя 2011, 19:24 
Не в сети
Аватара пользователя

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

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 18 ноя 2011, 03:56 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 13 дек 2011, 23:26 
Не в сети
Аватара пользователя

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

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 14 дек 2011, 10:49 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Skyer's PID Linetracer
СообщениеДобавлено: 23 дек 2011, 12:38 
Не в сети
Аватара пользователя

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

1 Фотографии обоих версий шасси (показанная здесь на фотках и самая первая) с их описанием.
2 Схемы электроники - блок управления и датчиков, силовой блок и блок преобразователя уровней на MAX232
3 Видео тестового запуска платформы, показанной тут на фотках
4 Фотография и видео запуска доработанной платформы уже по линии
5 Планы по дальнейшей разработке.

Видяшки весят пару мб, просьба не пугаться.

Также планирую выложить схемы печатных плат, описание алгоритмов и прошивку. Есть все алгоритмы в блок-схемах в PDF. Все это на днях. Критика приветсвуется.

P.S. Надеюсь за такое не забанят, но просьба кому не жалко дернуть за рекламку, как-никак спонсирование разработки :pardon:

_________________
https://sites.google.com/site/skyersoft/home


Последний раз редактировалось Skyer 25 фев 2012, 18:57, всего редактировалось 1 раз.

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

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


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

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


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

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