Четверг, 25.04.2024, 14:26
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
Важно!!!
Для успешного просмотра
сайта воспользуйтесь
браузером Mozilla Firefox



Мини-Профиль
Гость


Группа:
Гости
Время:14:26

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

Категории раздела
О программаторах [4]
Не много о том как и с помощью чего программировать.
Программирование в BascomAVR [6]
Учимся благодаря статьям писать программы. Язык Basic
Программирование в CV AVR? [4]
Учимся благодаря статьям писать программы. Язык Си

Поиск

Наш опрос
На каком языке вы пишите?
Всего ответов: 367

Друзья сайта
roboforum
  • robozone
  • Железный феликс
  • robo.com.ua
  • imobot
  • ASARobotics
  • Grover
  • Электроника
  • Your Device
  • Программирование BASCOM
  • Basic для PIC мк
  • Электроника для всех
  • RassionRobots
  • Newrobots-world

  • Статистика

    Каталог-Молдова - Ranker, Statistics
    RoboRing.Ru
    << | list | ? | >>
    Rambler's Top100
    Рейтинг@Mail.ru
    Рейтинг робо-сайтов


    Помоги сайту
    ЯндексЯндекс. ДеньгиХочу такую же кнопку


    Главная » Статьи » Программирование » Программирование в BascomAVR

    Подключаем сервопривод
    Для управления сервой воспользуемся циклом For. Сервопривод возьмём HXT12K.

    И так действие данного цикла, выполняет некотрые действия заданное число раз. Основой управления конструкцией FOR...NEXT служит изменение указанной переменной от начального до конечного значения.
    Синтаксис конструкции:

    For var = start To end [Step value]
    'Повторяемый блок
    Next


    var - переменная, start - начальное значение переменной, end - конечное значение переменной, value - значения шага изменения переменной. Изначально шаг идёт уже как 1, поэтому step 1 ставить не обязательно. Переменная может уменьшаться в зависимости от шага. Если число в шаге положительно, значит переменная увеличивается, отрицательное переменная уменьшается.
    Что касается настройки программы под работу сервопривода. Нам потребуется указать кол-во подключённых серв, присвоить имя servo1 к одному из портов и указать длину импульса.

    Config Servos = 1 , Servo1 = Portc.2 , Reload = 11

    Код программы, если что-то не понятно обащайтесь:

    $regfile = "m16def.dat"                                     'используем мк ATmega16

    $crystal = 16000000                                         'частота кварцевого резонатора 16mHz

    Config Portc.2 = Output                                     'Порту присвоенно имя Servo1

    Config Servos = 1 , Servo1 = Portc.2 , Reload = 11

    Dim I As Integer , P As Integer

    P = 12                                                     'чем меньше значение переменной, тем быстрее будет вращаться серва и наоборот

    Enable Interrupts

    Servo(1) = 101                                              'центрируем серво (для разных моделей серво этот параметр может отличаться)

    Wait 1

    Do

    For I = 101 To 150
    Servo(1) = I : Waitms P
    Next

     For I = 150 To 200
     Servo(1) = I : Waitms P
     Next

    For I = 200 To 150 Step -1
    Servo(1) = I : Waitms P
    Next

     For I = 150 To 0 Step -1
     Servo(1) = I : Waitms P
     Next

    For I = 0 To 101
    Servo(1) = I : Waitms P
    Next

    Loop

    End

    Скачать прошивку и исходник.
     
    Категория: Программирование в BascomAVR | Добавил: Space (31.01.2010)
    Просмотров: 5745 | Теги: управление сервоприводом, как настроить скорость сервы, серва, как управлять сервой, управление сервой, сервопривод | Рейтинг: 5.0/2 |
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]