roboforum.ru

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

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


Правила форума


Правила раздела OpenRobotics



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 02 май 2009, 21:29 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
В этой теме будет обеспечена поддержка пользователей модуля.

Подробная информация по модулю на странице: [[Модули OpenRobotics и документация к ним]]

Все вопросы дальнейшей доработки модуля и почему были выбраны те или иные технические решения - в теме http://www.roboforum.ru/viewtopic.php?f=73&t=5722.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 09 янв 2011, 21:55 
Не в сети

Зарегистрирован: 22 дек 2010, 12:06
Сообщения: 12
Откуда: Москва
Skype: pritmix
прог. языки: C, C++(из-за наличия STL :) ), Java
ФИО: Михаил Притула
В вики в примере для arduino используется некий ORBWSens.h
Можно его опубликовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 10 янв 2011, 12:23 
Не в сети

Зарегистрирован: 05 янв 2010, 23:07
Сообщения: 283
Откуда: Красноармейск
Skype: dmitry.vladimirivich
ФИО: Дима.В.
Всем привет!
У меня вопрос - на вики в разделе поддрежки модуля есть код для Ардуино. Он использует некую библиотеку ORBWSens.h.

Где её взять?)))

Дима

_________________
#define TRUE FALSE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 10 янв 2011, 18:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Здесь: http://hg.vehq.ru/orduino/file/tip

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 10 янв 2011, 20:01 
Не в сети

Зарегистрирован: 05 янв 2010, 23:07
Сообщения: 283
Откуда: Красноармейск
Skype: dmitry.vladimirivich
ФИО: Дима.В.
Спасибо большое!)))

_________________
#define TRUE FALSE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 28 сен 2011, 18:08 
Не в сети
Аватара пользователя

Зарегистрирован: 20 фев 2011, 14:56
Сообщения: 34
Откуда: Самара
прог. языки: C++ PHP ActionScript LabVIEW
Проблема с данным датчиком, читаю его значения через UART и получаю, что он не видит черной полосы (расстояние между датчиком и поверхностьтю около 5мм):
0000000000
Когда поднимаю датчик, т.е. увеличиваю расстояние между датчиком и поверхностью, тополучаю:
1111111111
Т.е. датчик то вроде работает, светодиод C5 горит, т.е. на ножку LED-on идет логическая единица.
И еще, поднимаю робота вместе с датчиком над поверхностью так, чтобы датчик видел белый лист под собой (и показывал 0000000000), подношу вырезанную черную полоску и получаю 0000010000 или 0010000000, или подношу черный маркер (не важно, чтот маркер, важно что он черный и цилиндрический) и получаю примерно такую же картину. Как только ставлю на землю и полоску и робота сразу вс нули, как-будто ему главно, чтобы полоску распологалась не перпендикулярно датчику...

Не понимаю в чем дело. :-o

Исходный код проверки датчика через ваш UART модуль (USB-UART)
Код:
#include "defines.h"

#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

#include <avr/interrupt.h>

#include <util/delay.h>

#include "uart.c"


FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);

int main(void)
{
  uart_init();
  stdout = stdin = &uart_str;
  printf("Linetracer ready 1!\n");

  DDRC=0x20;
  DDRD=0x30;

  _delay_ms(5000);

  //PWM, Phase and frequency correct, TOP=ICR1
  TCCR1A=0xA0; //clear on up-counting, set on down-counting
  TCCR1B=0x12; //Clock prescaler 1/8
  ICR1=9216;  //Set 50Hz frequency   
  uint16_t baseA=(153*2+1)*23/10;
  uint16_t baseB=(156*2+1)*23/10;
  OCR1A=0;
  OCR1B=0;
  while(1==1){
    DDRA=0xFF;
   PORTA=0xFF;
   DDRC|=0xC0;
   PORTC|=0xC0;
   _delay_us(1000);
   DDRA=0x00;
   PORTA=0x00;
   DDRC&=~0xC0;
   PORTC&=~0xC0;
   PORTC|=0x20;
   _delay_us(4000);
   int x=PINA;
   int y=PINC>>6;
   if(y==1){ y=2; }else if (y==2){y=1;};
   x=x+(y<<8);
   int pos1=-1;
   int pos2=10;

   for(int i=0; i<10; i++){
      int j=x&0x01;
      if(j==1 && pos1==-1){ pos1=i; };
      if(j==1){ pos2=i; };
      printf("%d",j);
      x=x>>1;
   };
   printf("\n");
   
   
   int pos=(pos2+pos1)/2;
   printf("pos=%d\n\n",pos);
   
   

     _delay_ms(1000);

  };
}



Добавлено спустя 37 минут 31 секунду:
Уже не так трагично. Датчик не реагирует на поверхность - лист A4 с нарисованной маркером черной линии шириной 2 см, зато видит черную линию если поднести черную клеищую бумагу (она является более глянцевой), кто экспериментировал с этим датчиком и разными поверхностями отзовитесь!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 28 сен 2011, 18:14 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А чего это у вас _delay_us(4000) перед
Цитата:
int x = PINA;
int y = PINC>>6;


когда в примере на странице модуля _delay_us(500) ?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 28 сен 2011, 19:07 
Не в сети
Аватара пользователя

Зарегистрирован: 20 фев 2011, 14:56
Сообщения: 34
Откуда: Самара
прог. языки: C++ PHP ActionScript LabVIEW
Потому что тут в исходных кодах так было

Добавлено спустя 2 минуты:
А в иходниках для тестирования датчика действительно
Цитата:
_delay_us(500);


Добавлено спустя 22 секунды:
Сейчас попробую

Добавлено спустя 5 минут 32 секунды:
Проблема была именно в этом! Спасибо, проблема решена, необходимо делать "_delay_us(500);" тогда датчик будет работать нормально.

Добавлено спустя 1 минуту 12 секунд:
Тогда и исходники в вики нужно поправить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 28 сен 2011, 19:23 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Так то были исходники под какие-то мои конкретные заморочки и перепайки, на странице [[OR-LINESENS-KTIRx10]] всё корректно...

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 29 сен 2011, 23:12 
Не в сети
Аватара пользователя

Зарегистрирован: 20 фев 2011, 14:56
Сообщения: 34
Откуда: Самара
прог. языки: C++ PHP ActionScript LabVIEW
Поставил на ПИД-регулятор движение по линии. Коэффициенты подобраны наспех. Вообщем, вот что получилось:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 30 сен 2011, 07:52 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Ну как минимум по линии оно ездит :) хотя и не мега-быстро... Какие движки?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 30 сен 2011, 17:20 
Не в сети
Аватара пользователя

Зарегистрирован: 20 фев 2011, 14:56
Сообщения: 34
Откуда: Самара
прог. языки: C++ PHP ActionScript LabVIEW
Такие же как и у OR-LT-v2 - HXT900 модифицированные по твоему способу :)
А где посмотреть как твой OR-LT-v2 ездил? Я не нашел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 30 сен 2011, 17:41 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вот тут видео, как он у меня двигался (хм, тоже не мега-быстро :)):

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 30 сен 2011, 19:06 
Не в сети
Аватара пользователя

Зарегистрирован: 20 фев 2011, 14:56
Сообщения: 34
Откуда: Самара
прог. языки: C++ PHP ActionScript LabVIEW
Круто! А алгоритм такой же на видео как и на вики? Я про исходники на этой странице имею в виду.

Добавлено спустя 2 минуты 13 секунд:
Я завтра коэффициенты подберу к ПИД-регулятору, вечером выложу видео. Потом и сам алгоритм. Ты пробывал хотя бы П-регулятор использовать для движения по линии для этой машинки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль OR-LINESENS-KTIRx10: Датчик линии
СообщениеДобавлено: 30 сен 2011, 19:45 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вот уже не возьмусь вспоминать, чего я там наворотил :) вроде просто прописал IF'ы и всё... но мне стыдно :D

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

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


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

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


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

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


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

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