roboforum.ru

Технический форум по робототехнике.
Текущее время: 03 дек 2024, 13:47

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




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 23 фев 2010, 00:13 
Не в сети

Зарегистрирован: 10 фев 2010, 20:27
Сообщения: 16
Откуда: Екатеринбург
Skype: nikitoz236
прог. языки: Ассемблер, си
ФИО: Куликов Никита Александрович
В общем то и без резистора тсоп замечательно работает , ошибок нет совсем при передаче
Сейчас во пишу подобие операционки для него , ато больно размашистая программа получается уже.
Мало блен времени им заниматься :(
научился работать с джойстиком PSX, скоро будет печатка и пульт для всего этого


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 10 мар 2010, 19:05 
Не в сети

Зарегистрирован: 10 фев 2010, 20:27
Сообщения: 16
Откуда: Екатеринбург
Skype: nikitoz236
прог. языки: Ассемблер, си
ФИО: Куликов Никита Александрович
Есть прогресс!!!
Сварганил контроллер джойстика.
Теперь умеем ездить по нажатию кнопочек на крестовине в полную скорость, а также плавненько рулить бортами отклоняя аналоговые стики вперед/назад. Ну еще убрал оставшиеся миллиграммы соплей =)


Вложения:
Комментарий к файлу: красиво закрепил выключатель питания
P1030534.JPG
P1030534.JPG [ 165.9 КиБ | Просмотров: 1979 ]
Комментарий к файлу: Контроллер джойстика
P1030528.JPG
P1030528.JPG [ 213.63 КиБ | Просмотров: 1967 ]
Комментарий к файлу: Контроллер джойстика
P1030532.JPG
P1030532.JPG [ 95.16 КиБ | Просмотров: 1960 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 10 мар 2010, 22:29 
Не в сети
Аватара пользователя

Зарегистрирован: 12 янв 2007, 00:34
Сообщения: 6285
Откуда: Масква
Радуются глазья мои :)
Всё аккуратно, родные колёса, переключатель достойно расположен :good:
В остальном не шарю, ато бы ещё налюбезничал :oops:

_________________
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 30 мар 2010, 14:03 
Не в сети

Зарегистрирован: 10 фев 2010, 20:27
Сообщения: 16
Откуда: Екатеринбург
Skype: nikitoz236
прог. языки: Ассемблер, си
ФИО: Куликов Никита Александрович

вот видео как катается с пульта


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 30 мар 2010, 14:39 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2010, 14:51
Сообщения: 979
Откуда: Петрозаводск
прог. языки: C, FBD, Wiring-Processimg,,,LD, SFC, ST...
ФИО: Вадим
МОЛОДЦА!!! :good:

_________________
Роботы, уже среди нас...
Прошу прощения за аватар, никак схему динамической индикации не могу настроить :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 30 мар 2010, 17:36 
Не в сети
Аватара пользователя

Зарегистрирован: 11 июл 2008, 22:43
Сообщения: 134
Откуда: Воронежск
прог. языки: С, Delphi, Asm
Я се тоже такой джойстик сварганил saitec бывший, самое что дешовое в магазине лежало, аналоговые джойстики мне понравились, ускорение на них делать. На тсопах это хорошая идея. :good:

_________________
GIRUGAMESH!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 30 мар 2010, 18:11 
Не в сети

Зарегистрирован: 25 янв 2009, 00:08
Сообщения: 41
Откуда: Великий Новгород
прог. языки: PHP
А тсопы чтоли с каждой стороны по одному ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 30 мар 2010, 18:45 
Не в сети
Аватара пользователя

Зарегистрирован: 17 апр 2009, 19:44
Сообщения: 798
Откуда: Югорск
Skype: rizhykot
ФИО: Аксютин Юрий
CALLIKA писал(а):
А тсопы чтоли с каждой стороны по одному ?

вообще он там один на рооте.....больше нигде не вижу...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 03 апр 2010, 15:03 
Не в сети

Зарегистрирован: 25 янв 2009, 00:08
Сообщения: 41
Откуда: Великий Новгород
прог. языки: PHP
кулер 23 писал(а):
CALLIKA писал(а):
А тсопы чтоли с каждой стороны по одному ?

вообще он там один на рооте.....больше нигде не вижу...

я просто думаю так как управление идет по ик-каналу, а робот поворачивается на 360 градусов то 1 тсопа прямо направленного мало будет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 03 апр 2010, 21:14 
Не в сети

Зарегистрирован: 10 фев 2010, 20:27
Сообщения: 16
Откуда: Екатеринбург
Skype: nikitoz236
прог. языки: Ассемблер, си
ФИО: Куликов Никита Александрович
тсоп товарищи на роботе всего один :) его хватает чтобы очень хорошо принимать сигнал на дальности метров 15 , а в комнате 3х5 в результате пере отражений очень стабильный прием, ошибок нет, никаких потерь. Вот так то :)
правда в пульте стоит 2 ик светодиода без всякого токоограничения, по 2 канала ULN2003 на каждый светодиод , и протокол я конечно долго мучил ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 03 апр 2010, 23:11 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
2 Nikitoz: а как насчет поделиться протокольчиком? :wink:
всё же не одни сишники тут тусят :oops:
Вообще-то у меня просто не доходили руки до него, не было надобности, но вскоре понадобится и чтоб долго не сидеть над ним, хорошо бы иметь под рукой :) , ну если нет, то нет, без никаких обид канешно :)

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 04 апр 2010, 13:33 
Не в сети

Зарегистрирован: 10 фев 2010, 20:27
Сообщения: 16
Откуда: Екатеринбург
Skype: nikitoz236
прог. языки: Ассемблер, си
ФИО: Куликов Никита Александрович
на самом деле ничего сложного в протоколе нет :)
по таймеру настроенному ровно на 72 кГц, происходит переключение туда сюда ноги со светодиодом.
таким образом я формирую 64 импульса , а потом жду еще 64 импульса не дергая ногой, так передаю 1 бит
первый бит имеет длину 32 импульса , он стартовый ,чтобы через период бита опрос тсопа был именно в серединке следующего значащего бита.

Код:
;***********************************************************************
;*
;*
;*
;*      Library infrared data resiving and transmitting
;*
;*      file:         ir_data.asm
;*      developer:      Nikitoz
;*
;*      using          TIMER0
;*      
;*      interrupt vector:
;*         rjmp ir_timer         (tim0 ovf)
;*
;*
;***********************************************************************
;*
;*      Prototypes
;*
;*      ir_send            - послать байт из temp по ИК
;*      ir_resive         - при обнаружении сигнала на ноге TSOP принять байт
;*      ir_resive_wait      - одидать приема байтаи
;*
;*
;***********************************************************************

;.equ irport = portB
;.equ irled = 0

;.equ TSOPpin = pinD
;.equ TSOP = 3





.def takts = r18               ;количество полупериодов в пачке
.def bits = r19                  ;счетчик битов в пачке
.def ir_dr = r20               ;резервный регистр данных

/*
ir_send:
   push ir_dr
   push takts                  ;эти байты можно незаморачиваясь использовать
   push bits
   push temp1

   mov ir_dr, temp               ;резервируем данные, там стартбит пока будет

   in temp1, timsk               ;сохранение в стеке текущих астроек таймера
   push temp1
   in temp1, tccr0
   push temp1

   ldi temp1, 1               ;инициализация таймера
   out tccr0, temp1
   ldi temp1, (1 << toie0)
   out timsk, temp1

   ldi takts, 192;96               
   clr bits
   ldi temp, 1                  ;стартовый бит еденица

   sei

overprov:
   cpi bits, 9
   brne overprov

   pop temp1                  ;извлекаем из стека предыдущие настройки таймера
   out tccr0, temp1            ;и инициализируем как было
   pop temp1
   out timsk, temp1

   pop temp1                  ;извлекаем из стека предыдущие значения локальных переменных
   pop bits
   pop takts
   pop ir_dr

   ret

;-----------------------------------

ir_timer:
   ldi temp1, ir_long
   out tcnt0, temp1

   sbrs temp, 0               ;если в данных нулевой бит установлен то пляшем ,или сначала стартбит
   rjmp pc + 7

      cpi takts, 129;65            ;это чтобы первая половина колебалась, вторая молчала
      brmi ir_timer_1

         sbrs takts, 0         ;если нечетное то 0
         sbi irport, irled
         sbrc takts, 0         ;если четное то 1
         cbi irport, irled

ir_timer_1:
   dec takts                  ;если пачка кончилась то на следущий бит
   brne end_ir_timer

      inc bits               ;следущий бит
      clr takts;, 128            ;нормальные биты по 33 полупериода в пачке
      lsr temp               ;LSB вперед

   cpi bits, 1                  ;первый - старт бит
   brne pc + 2
      mov temp, ir_dr            ;начиная со второго по счету бита данные


   cpi bits, 9                  ;конец посылки
   brne pc + 5
            
      clr temp               ;включаем таймер
      out timsk, temp
      out tccr0, temp      
      cli                     ;запрещаем прерывания

end_ir_timer:
   reti
*/
;-----------------------------------

ir_resive_wait:                  ;если старт бит ещё ожидается
   sbic TSOPpin, TSOP
   rjmp ir_resive_wait

ir_resive:                     ;если старт бит уже пришел
   push temp1
   ldi temp1, 8

ir_resive_1:                  ;прием бита
   ldi YL, low ( 3552 )   ;( 1778 )
   ldi YH, high ( 3552 )   ;( 1778 )
   rcall delay_1mks

   lsr temp

   sbic TSOPpin, TSOP
   cbr temp, 0x80
   sbis TSOPpin, TSOP
   sbr temp, 0x80

   dec temp1
   brne ir_resive_1

   ldi YL, low ( 3552 )   ;( 1778 )         ;когда последний бит уже пинят в эфире ещё идёт посылка
   ldi YH, high ( 3552 )   ;( 1778 )         ;на неё может отреагировать следующий цикл приема   
   rcall delay_1mks            ;выжидаем пока передатчик не закончит вещать

   pop temp1
   ret

;-----------------------------------


вот временная диаграмма передачи символа "1" (0x31)


Вложения:
ir_tx.jpg
ir_tx.jpg [ 18 КиБ | Просмотров: 1659 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: palindroid
СообщениеДобавлено: 04 апр 2010, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Спасибо СЭР! :good: Всё круто и понятно :)
Эх... побольше б таких продвинутых чувакоф...

_________________
_________
Sincerely,
Vovan


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

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


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

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


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

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