[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Мастерская » Я начинающий » Помогите новичку с ШИМ :(
Помогите новичку с ШИМ :(
KrishДата: Пятница, 28.10.2011, 10:44 | Сообщение # 1
Группа: Пользователи
Сообщений: 184
Репутация: 2
Статус: Offline
На днях для своего проекта собрал модуль : http://robozone.su/2008....mi.html
Начал его тестировать.. а там работает только 1 мотор:((
Не знаю что прям делать, очень жалко детали которые потратил, может поможете, чем сможете...
Code
$regfile = "m16def.dat"                    ' файл спецификации Меги8
$crystal = 16000000                    ' указываем на какой частоте будем работать

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

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

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

Do
    Gosub Прием_rc5
    If Command = 255 Then
       Gosub Стоп
        Waitms 0
   Elseif Command = 1 Then
       Gosub Прямо
        Waitms 0
    Elseif Command = 2 Then
       Gosub Назад
        Waitms 0
    Elseif Command = 3 Then
       Gosub Влево
        Waitms 0
    Elseif Command = 4 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

Стоп:                    ' стоим на месте
  Dr1 = 0 : Dr2 = 0 : Pwm1a = 0 : Pwm1b = 0
  Return

  Прямо:
                      ' едим вперёд на заданной скорости
  Dr1 = 1 : Dr2 = 0 : Pwm1a = 1 : Pwm1b = 0
  Return

  Назад:                    ' едим назад на заданной скорости

  Dr1 = 0 : Dr2 = 1 : Pwm1a = 0 : Pwm1b = 1
  Return

  Вправо:                    ' делаем Разворот_вправо на заданной скорости

  Dr1 = 1 : Dr2 = 0 : Pwm1a = 0 : Pwm1b = 1
  Return

  Влево:                    ' делаем Разворот_влево на заданной скорости

  Dr1 = 0 : Dr2 = 1 : Pwm1a = 1 : Pwm1b = 0
  Return

ШИМ 1 и ШИМ 2 по 4.6В.


LacOS
KrishДата: Четверг, 03.11.2011, 09:56 | Сообщение # 2
Группа: Пользователи
Сообщений: 184
Репутация: 2
Статус: Offline
Прикрепления: 0726457.jpg (16.7 Kb)


LacOS
Форум » Мастерская » Я начинающий » Помогите новичку с ШИМ :(
  • Страница 1 из 1
  • 1
Поиск: