roboforum.ru

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

Помогите с роботом

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Re: Помогите с роботом

Сообщение setar » 15 апр 2011, 21:07

у переменного резистора три ноги, сопротивление между двумя из них не изменяется при его вращении - это крайние точки.
оставшийся вывод это средняя точка, сопротивление между ней и одной из крайних ног будет увеличиваться при вращении , а со второй крайней соответственно уменьшаться (при вращении в том же направлении)
P.S. на словах наверное не понятно ?
Аватара пользователя
setar
Site Admin
 
Сообщения: 10984
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Помогите с роботом

Сообщение Krish » 16 апр 2011, 14:25

Нет, в принципе, понятно. Спасибо.
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение Krish » 17 апр 2011, 15:37

Собрал механику+электронику, нашёл программу:
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"                                      ' файл спецификации Меги16
$crystal = 16000000                                         ' указываем на какой частоте будем работать


'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.4 = Output : Drl Alias Portc.4                  'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.5 = Output : Drr Alias Portc.5                  'ногу сконфигурировали как выход и обозвали Drr
Config Pinc.3 = Output : Dre Alias Portc.3                  'ногу сконфигурировали как выход и обозвали Dre
Config Pinc.2 = Output : Drw Alias Portc.2                  'ногу сконфигурировали как выход и обозвали Drw
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 200                                                 ' указываем скорость робота

Config Rc5 = Pinc.7
Enable Interrupts
Dim Address As Byte , Command As Byte
Print "Start"                                               ' выводим в терминал отладочное сообщение

Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
       Waitms 0
  Elseif Command = 32 Then
      Gosub Прямо
       Waitms 0
   Elseif Command = 33 Then
      Gosub Назад
       Waitms 0
   Elseif Command = 17 Then
      Gosub Влево
       Waitms 0
   Elseif Command = 16 Then
      Gosub Вправо
       Waitms 0
   End If
Loop

Прием_rc5:
   Getrc5(address , Command)
   If Address <> 255 And Command <> 255 Then
      Command = Command And &B01111111
      'Print Chr(12);       ' выводим в терминал символ
      'Print "Address - " ; Address;       ' выводим в терминал адрес
      'Print "Command - " ; Command;       ' выводим в терминал номер команды
   End If
Return

Влево:
   Drl = 0 : Drr = 1 : Dre = 1 : Drw = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Вправо:
   Drl = 1 : Drr = 0 : Dre = 0 : Drw = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Прямо:
  Drl = 1 : Drr = 0 : Dre = 1 : Drw = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Назад:
   Drl = 0 : Drr = 1 : Dre = 0 : Drw = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Стоп:
   Drl = 0 : Drr = 0 : Dre = 0 : Drw = 0 : Pwm1b = 0 : Pwm1a = 0:
Return

"Мозг" робота - атмега16
ДД - http://robotsspace.ucoz.ru/publ/7-1-0-50
Tsop модуль по datasheetу tsop1736
подключил ДД он начинает крутить мотор левый в одну сторону, почему ?
Я не уверен что правильно подключаю данный ДД... Помогите его правильно подключить...
Схемы рабочие...
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение Krish » 18 апр 2011, 19:58

Блин, запутался...
Целый день провел за программой... Не чего не получается... Я фьюзы на атмеги 16 не прошивал, от это влияет работа робота ?
Схему полностью проверил, всё работает! RC5 модуль собрал по даташиту tsop 1736...
ШИМ не использую... Помогите плиззззззззззз....
ДД подключаю по программе и схеме, всё правильно..
ДД проверил для робота BEAM, подключил фотодиод и светодиод без МК, работает! т.е. ДД живой на 100%
Может в программе что то не то? посмотрите плиз.
У меня только 3е теории:
1) У меня пульт не на 36khz
2) У меня программа не правильная..
3) У меня TSOP сгорел или не работает!
Уже на грани срыва... Может быть RC5 нужно подключать не по даташиту tsopa?
Порты проверил светодиодом.. работают шикарно!
Может подключить SHARP ? у меня он есть!
Код: Выделить всёРазвернуть
$regfile = "m16def.dat"                                     ' файл спецификации Меги8
$crystal = 16000000                    ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
Config Pina.1 = Output : Drl Alias Porta.1                  'ногу сконфигурировали как выход и обозвали Drl
Config Pina.2 = Output : Drr Alias Porta.2                  'ногу сконфигурировали как выход и обозвали Drr
Config Pina.3 = Output : Dre Alias Porta.3                  'ногу сконфигурировали как выход и обозвали Dre
Config Pina.4 = Output : Drw Alias PortA.4                  'ногу сконфигурировали как выход и обозвали Drw
'----------------------------------------------------------------------------

Dim Speed As Byte
Speed = 200                    ' указываем скорость робота

Config Rc5 = Pina.0
Enable Interrupts
Dim Address As Byte , Command As Byte
Print "Start"                    ' выводим в терминал отладочное сообщение

Do
    Gosub Прием_rc5
    If Command = 255 Then
       Gosub Стоп
        Waitms 0
   Elseif Command = 32 Then
       Gosub Прямо
        Waitms 0
    Elseif Command = 33 Then
       Gosub Назад
        Waitms 0
    Elseif Command = 17 Then
       Gosub Влево
        Waitms 0
    Elseif Command = 16 Then
       Gosub Вправо
        Waitms 0
    End If
Loop

Прием_rc5:
    Getrc5(address , Command)
    If Address <> 255 And Command <> 255 Then
       Command = Command And &B01111111
       'Print Chr(12);       ' выводим в терминал символ
       'Print "Address - " ; Address;       ' выводим в терминал адрес
       'Print "Command - " ; Command;       ' выводим в терминал номер команды
    End If
Return

Влево:
    Drl = 0 : Drr = 1 : Dre = 1 : Drw = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Вправо:
    Drl = 1 : Drr = 0 : Dre = 0 : Drw = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Прямо:
   Drl = 1 : Drr = 0 : Dre = 1 : Drw = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Назад:
    Drl = 0 : Drr = 1 : Dre = 0 : Drw = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Стоп:
    Drl = 0 : Drr = 0 : Dre = 0 : Drw = 0 : Pwm1b = 0 : Pwm1a = 0:
Return

SAM_0192.JPG

SAM_0193.JPG

SAM_0194.JPG

Помогите, а то я уже в шоке!
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение osc » 18 апр 2011, 20:37

Было бы это на си...
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: Помогите с роботом

Сообщение Grofus » 18 апр 2011, 20:46

Я так понимаю у тебя на плате есть кварц на 16 МГц и он припаян к контроллеру. а знаешь ли ты что внешнее тактирование от кварца необходимо включать во фьюз битах.По умолчанию контроллер работает на 1 МГц.
Алокоголизм - излечим, пьянство - нет.
Peace-death.
Аватара пользователя
Grofus
 
Сообщения: 104
Зарегистрирован: 25 июл 2009, 16:35
Откуда: Ессентуки
прог. языки: ASM , Lisp , C# :)
ФИО: Алексей

Re: Помогите с роботом

Сообщение Krish » 18 апр 2011, 21:00

Grofus писал(а):Я так понимаю у тебя на плате есть кварц на 16 МГц и он припаян к контроллеру. а знаешь ли ты что внешнее тактирование от кварца необходимо включать во фьюз битах.По умолчанию контроллер работает на 1 МГц.

Нет не знал.... Я с фьюзами никогда не работал... Я работаю в avr studio 4 я думал там при выборе МК всё автоматом ставится:( Спасибо, учту!
А если я не выбрал кварц на 16 Mhz из за этого могут быть неполадки в работе робота?
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение osc » 18 апр 2011, 21:37

Конечно будут неполадки, RC5 однозначно не будет работать из-за этого.
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: Помогите с роботом

Сообщение SkyStorm » 18 апр 2011, 23:11

Я конечно ничего не хочу сказать, но программа на Басике в Студии ... или я чего то не понимаю?!?
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

Re: Помогите с роботом

Сообщение Krish » 19 апр 2011, 17:57

У меня программатор STK500 через USB и работает только в avr studio 4, но в нём очень скудный выбор fuse bit, да + atmega16 запорол, выбрал фьюз SPIEN, который не дает возможности программировать через SPI.
В какой программе лучше работать с STK500, пробовал в CodeVisionAVR но там STK500 через COM порт работает(
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение Radist » 19 апр 2011, 20:01

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

Re: Помогите с роботом

Сообщение osc » 19 апр 2011, 20:20

только в avr studio 4, но в нём очень скудный выбор fuse bit

Как раз в студии с фьюзами всё отлично сделали, в ней и работай с STK500.
Аватара пользователя
osc
 
Сообщения: 333
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: Помогите с роботом

Сообщение Krish » 19 апр 2011, 20:51

Radist писал(а):А что, разве программатор в системе видится не как виртуальный компорт?

Мне говорили уже про это, как выглядит виртуальный компорт и как его использовать?
Krish
 
Сообщения: 155
Зарегистрирован: 29 дек 2010, 14:08
Откуда: Ростов-на-Дону
Skype: levanchik322
прог. языки: С++

Re: Помогите с роботом

Сообщение Radist » 20 апр 2011, 05:55

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

Re: Помогите с роботом

Сообщение SkyZi » 10 авг 2012, 10:42

о.О А куда вы мальчика дели?:((
интересно чем все это закончилось...
Project "Hexxx" (in progress...)
Аватара пользователя
SkyZi
 
Сообщения: 133
Зарегистрирован: 27 окт 2011, 22:32
Откуда: Ростов-на-Дону
Skype: skyzi007
прог. языки: Python, Си (МК)
ФИО: Святослав Игоревич

Пред.

Вернуться в Новичкам или основы основ роботостроения.

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

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