roboforum.ru

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

Помогите код написать...

Re: Помогите код написать...

кулер 23 » 20 фев 2010, 21:39

А почитать где можно ? :sorry:

Re: Помогите код написать...

EdGull » 20 фев 2010, 21:55

на бумаге, но можно и на компе

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 21:14

:O:
Что такое? Прошил минибота, чтобы от пульта ездил, нажимаю на кнопку а моторы не крутятся а так дрыгаются :( ставил скорость на 100 они стали еле крутится :no: акум заряжен полностью!

Re: Помогите код написать...

galex1981 » 25 фев 2010, 22:36

Что за прошивка? Код можно?

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 22:38

Конешно :)
Код: Выделить всёРазвернуть
                                          ' Указываем какой версии у нас МиниБот
Const Device = 1                                            'MiniBot Version 1 or 2
$regfile = "m32def.dat"                                     ' файл спецификации Меги32

#if Device = 1
' Set configuration for MB1
   $prog &HFF , &HE4 , &HD9 , &H00                          'указываем какие фусибиты надо прошить
   $crystal = 8000000                                       ' указываем на какой частоте будем работать
   $baud = 9600                                             ' указываем частоту дла usart (теперь нужно только для отладки программы)
#else
' Set configuration for MB2
'  $prog &HFF , &HBD , &HC9 , &H00      'указываем какие фусибиты надо прошить
   $crystal = 7372800                                       ' указываем на какой частоте будем работать
   $baud = 115200                                           ' указываем частоту дла usart (теперь нужно только для отладки программы)
#endif

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

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

Config Rc5 = Pind.3
Enable Interrupts
Dim Address As Byte , Command As Byte

Print "Start MiniBot"                                       ' выводим в терминал отладочное сообщение

Do
   Gosub Прием_rc5
   If Command = 255 Then
      Gosub Стоп
   Elseif Command = 32 Then
      Gosub Прямо
      Waitms 100
   Elseif Command = 33 Then
      Gosub Назад
      Waitms 100
   Elseif Command = 17 Then
      Gosub Влево
      Waitms 100
   Elseif Command = 16 Then
      Gosub Вправо
      Waitms 100
   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

Влево:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Вправо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

Прямо:
   Gosub Стоп : Waitms 10
   Drl = 0 : Drr = 0 : Pwm1b = Speed : Pwm1a = Speed:
Return

Назад:
   Gosub Стоп : Waitms 10
   Drl = 1 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed:
Return

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

Re: Помогите код написать...

galex1981 » 25 фев 2010, 22:41

Слушай, а RC5 использует тот же таймер что и движки, нужно разделять использование RC5 и PWM на таймере 1

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 22:46

Да кстати он даже от такого также моторами дергает :(

Код: Выделить всёРазвернуть
$prog &HFF , &HE4 , &HD9 , &H00       'указываем какие фусибиты надо прошить
$regfile = "m32def.dat"       ' файл спецификации Меги32
$crystal = 8000000       ' указываем на какой частоте будем работать

'----------------------------------------------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Pinc.2 = Output : Drl Alias Portc.2       'ногу сконфигурировали как выход и обозвали Drl
Config Pinc.3 = Output : Drr Alias Portc.3       'ногу сконфигурировали как выход и обозвали Drr
Config Pind.4 = Output       'ногу ШИМа левого  движка сконфигурировали как выход
Config Pind.5 = Output       'ногу ШИМа правого движка сконфигурировали как выход
'----------------------------------------------------------------------------
Dim Speed As Byte
Speed = 70

Do
  Drl = 0  'направление движения левого движка, в нашем случае это прямо
  Drr = 0  'направление движения правого движка, в нашем случае это прямо
  Pwm1b = Speed : Pwm1a = Speed
Loop

Re: Помогите код написать...

galex1981 » 25 фев 2010, 22:51

А какие фузи биты выставил? И посмотри на частоту кварца. Если работа от внешнего то тебе нужно ставить:
Код: Выделить всёРазвернуть
$crystal = 7372800       

если от внутренней RC цепочки то так и оставить частоту, но может и не очень стабильно работать

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 22:54

А какие фузи биты выставил?

Никаких :pardon:

Re: Помогите код написать...

galex1981 » 25 фев 2010, 22:55

ТОгда посмотри, какие зашиты и выложи плиз, а то разговор ни о чем

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 23:01

Вроде вот эти :unknown:
Код: Выделить всёРазвернуть
 $prog &HFF , &HE4 , &HD9 , &H00 

Re: Помогите код написать...

galex1981 » 25 фев 2010, 23:06

Это настройки в программе для прошивки фузов. Ты программатором считай фузы например в AvrStudio или в Bascome, тут человек в соседней ветке так и сделал - выложил скриншот

Re: Помогите код написать...

кулер 23 » 25 фев 2010, 23:08

:oops: я в баскоме ничего вроде даже не ставлю :oops:

Re: Помогите код написать...

кулер 23 » 27 фев 2010, 14:45

:Yahoo!: У мя появился мозг я понял что надо делать с библиотекой :Yahoo!:

Re: Помогите код написать...

galex1981 » 27 фев 2010, 16:21

Поздравляю! Может быть нам расскажешь свои мысли по этому поводу?


Rambler\'s Top100 Mail.ru counter