roboforum.ru

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


Диски для энкодера

Готовая электроника для самодельного робота. Уровень от начинающих до опытных конструкторов.

Диски для энкодера

Сообщение UriShap » 21 янв 2008, 20:21

Вот, наконец дошли руки и я нарисовал диски для энкодера минибота.
Дисков много (8 пар), они разные - специально для экспериментов.
Диски 2-х видов - "градусные" (с 9, 18, 36, 74 секторами) и "двоичные" (с 8, 16, 32, 64).
Если нужно, могу добавить и с 144/128 соответственно.

Одна беда - выкладываю файл в формате cdr (Corel Draw). Если кто может - переведите в формат pdf и положите сюда.

Почему не gif, jpg и т.д. - очень просто - возникают проблемы при печати с сохранением размеров дисков (если это просто у меня руки кривые - напишите методику "правильного распечатывания" - выложу гиф), а pdf вроде должен это дело учитывать.

Да, неожиданно выявилась еще одна проблема - у меня не получается подклеить файл к этому сообщению :(

Пришли мне на почту. Я выложу. <Digit>
UriShap
 
Сообщения: 14
Зарегистрирован: 06 янв 2008, 14:11
Откуда: г.Белгород

Re: Диски для энкодера

Сообщение Digit » 26 янв 2008, 01:03

Вот. В архиве Corel'овский файл с дисками для энкодеров. UriShap прислал их мне, а я выкладываю.
Вложения
_энкодера.rar
(29.69 КиБ) Скачиваний: 158
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Диски для энкодера

Сообщение Vooon » 07 май 2008, 11:13

переделал диски энкодеров
в приложении svg (сделано в инкскейпе)

24 белых полосок / 25 черных.

с "родными" дисками энкодеры работали нестабильно.
Вложения
encoders.svg
(11.68 КиБ) Скачиваний: 342
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Диски для энкодера

Сообщение Myp » 07 май 2008, 11:51

это у тебя нестабильно
а у меня очень даже стабильно
я специальной программой настраивал)
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Диски для энкодера

Сообщение Digit » 07 май 2008, 12:49

:D
Для потомков:
1. инкскейп, о котором говорит Vooon, там: Inkscape - OpenSource векторный редактор
2. "специальная прога" Мура там: Сборка МиниБота
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: Диски для энкодера

Сообщение avr123.nm.ru » 07 май 2008, 13:05

UriShap писал(а):gif, jpg и т.д. - возникают проблемы при печати с сохранением размеров дисков


Размер изображения сохраняется в .tif (в нем принимают рекламу газеты). Желательно делать 600 dpi.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Диски для энкодера

Сообщение Vooon » 07 май 2008, 13:11

Myp писал(а):это у тебя нестабильно
а у меня очень даже стабильно
я специальной программой настраивал)


я тоже, и лучше всего получилось именно с такими дисками.

Код: Выделить всёРазвернуть
/*!
* @author Vladimir Ermakov
* @mainpage
*/

//!
#include <avr/io.h>
#include <util/delay.h>

#include "minibot/pinout.h"
#include "minibot/led.h"

using namespace MBLib;
using namespace MBLib::Led;

int main()
{
   IrDLSet(true, Led::FRONT_LEFT);
   IrDLSet(true, Led::FRONT_RIGHT);
   IrDLSet(true, Led::BACK);
   IrLELSet(true);
   while(true)
   {
      if(MB_PS_LE_PIN  & (1<<MB_PS_ENC_LEFT))
         CLSet(Led::GREEN, Led::LED2);
      else
         CLSet(Led::RED, Led::LED2);
      if(MB_PS_LE_PIN  & (1<<MB_PS_ENC_RIGHT))
         CLSet(Led::GREEN, Led::LED1);
      else
         CLSet(Led::RED, Led::LED1);
   }
   
   return 0;
}
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Диски для энкодера

Сообщение Myp » 07 май 2008, 13:37

моя программа лучше :lol:

Код: Выделить всёРазвернуть
    ИК_свет = 1  'включаем ИК диоды
Do
    Portd.4 = 0    'отключаем левый мотор
    Portd.5 = 0    'отключаем правый мотор

    Кр_Правый = Обороты_Правый
    Кр_Левый = Обороты_Левый
Loop


и вобще я уже всё суперклеем приклеил :o
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Диски для энкодера

Сообщение Vooon » 07 май 2008, 13:45

а теперь напиши, чтобы когда фотопара засвечена горел зеленый
а когда нет - красный.

Добавлено спустя 4 минуты 39 секунд:
а еще можно

Код: Выделить всёРазвернуть
/*!
* @author Vladimir Ermakov
* @mainpage
*/

//!
#include <avr/io.h>
#include <util/delay.h>

#include "minibot/pinout.h"
#include "minibot/led.h"

using namespace MBLib;
using namespace MBLib::Led;
using namespace MBLib::Mot; // todo: Mot -> Motor

int main()
{
       IrLELSet(true);
       MSet(20, Mot::FORWARD, Mot::BOTH);
       while(true)
       {
          if(MB_PS_LE_PIN  & (1<<MB_PS_ENC_LEFT))
             CLSet(Led::GREEN, Led::LED2);
          else
             CLSet(Led::RED, Led::LED2);
          if(MB_PS_LE_PIN  & (1<<MB_PS_ENC_RIGHT))
             CLSet(Led::GREEN, Led::LED1);
          else
             CLSet(Led::RED, Led::LED1);
       }
       
       return 0;
}
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Диски для энкодера

Сообщение Myp » 07 май 2008, 14:33

Код: Выделить всёРазвернуть
Кр_Правый = Обороты_Правый
Кр_Левый = Обороты_Левый
Зел_Правый = !Обороты_Правый
Зел_Левый = !Обороты_Левый


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


Вернуться в МиниБот — национальный класс роботов

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

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