Колесный мобильный робот Micrоcamp 2.0

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ановите следующие параметры:

)В окне Projecttype выделите строку AVRGCC: для выбора проекта на языке C.

)Задайте имя проекта Switch_LED (пример). Будет создана начальная часть файла проекта. В этом проекте файл главного модуля будет иметь имя Switch_LED.

)Задайте адрес проекта в Location: Пример: M:\ROBO\AVR-ROBOT\Code. После этого нажмите кнопку Finish.

 

7)Рабочая область проекта Switch_LED будет выглядеть как на рисунке ниже.

 

 

)Далее необходимо определить параметры микроконтроллера и задать путь ко всем библиотекам и файлам, которые будут использованы в проекте. Выберите пункт Project-ConfigurationOptions

 

 

)После этого появится окно Switch_LED Project Options. В левой части окна расположены 5 иконок:

General

Include Directories

Libraries

Memory Settings

CustomOptions

В пункте General задаются следующие параметры

Device :Atmega8

Frequency: 16000000 Hz

)Иконка Libraries предназначена для связи всех библиотек с проектом

 

 

)В окошке AvailableLinkObjects:, выделите строку libm.a и нажмите кнопку AddLibrary. Нажмите кнопку OK для завершения

 

 

Иконка IncludeDirectories предназначена для задания пути к библиотеке. Найдите и выделите файл библиотеки, затем нажмите кнопку Add.

)Затем введите код на языке C в файл Switch_LED.c.

)Компилируйте программу в файл Switch_LED.hex выбирая команду Build

Статус операции будет отображаться в окне внизу главного окна AVRStudio, как показано на рисунке:

 

 

Как установить программу на робота.

При возникновении любой ошибки, такой как неправильная команда или ошибка связи, появляется окно BuildOutput. В этом случае необходимо отредактировать программу, устранить все ошибки и повторить компиляцию.

После компиляции необходимо загрузить HEX-файл в микроконтроллер. В нашем случае результирующий файл будет Switch_LED.hex. Загрузка файла в микроконтроллер производится в следующем порядке:

а) Включите питание платы (выключатель POWER). Должен загореться зеленый светодиод.

б) Подключите ISP-кабель к программатору PX-400 и к плате MicroCamp.

Схема1 - Подключение программатора PX-400 к плате MicroCamp для загрузки программы:

 

Запустите программу AVRStudio, выбирайте пункт меню Tool - AVRProg

 

 

Должно появиться окно AVRprog

 

 

1. В окне AVRprog нажмите кнопку Browse для задания пути к файлу Switch_LED.hex или любому hex-файлу, предназначенному для загрузки.

. Нажмите кнопку Program в группе Flash. Файл Switch_LED.hex будет загружен в микроконтроллер ATmega8 на плате MicorCamp.

Когда загрузка заканчивается, программа запускается автоматически. Нажимайте кнопки SW1 и SW2 на плате MicroCamp. Обратите внимание на состояние индикаторов LED.Индикатор LED будет включаться и выключаться при нажатии на кнопки и мигать когда кнопки не нажаты

Библиотеки и специализированные команды:

Библиотека это файл, содержащий одну или несколько схожих функций. Обычно, название библиотеки отражает назначение содержащихся в ней функций. Для использования библиотеки разработчик должен ее объявить в заголовке главной программы на языке C. Для корректной работы библиотеки необходимо правильно задать путь к ее файлу при создании проекта AVRStudio.

В состав набора MicroCamp входит большое количество библиотек для разработки и обучения. Среди них библиотека управления портами ввода/вывода, чтение данных с аналоговых входов, библиотека временных задержек, библиотека контроля моторов и воспроизведения звука

Перечень библиотек комплекта:

in_out.h Библиотека работы с цифровыми портами.

Пример: x = in_b(2); // Чтение значения с порта РВ2 и запись в х

out_c(5,0);// Выдача логического "0" в порт РС5

sleep.h Библиотека временных задержек

Пример: sleep(1000); //Продолжительность действия в одну секунду

analog.h Библиотека чтения аналоговых данных с портов P0...P4

Пример:adc_val = analog(0); // чтение из аналогового порта 0 (РСО) и запись в adc_val

led.h Библиотека управления светодиодом LED

Пример: led1_on()//Включить мигание LED1 (PC5)

led1_off()//Выключить мигание LED1 (PC5)

motor.h Библиотека управления мотором постоянного тока

Пример:motor(1,60); // Вращение мотора 1 со скоростью 60%

motor_stop(ALL); // остановка двух моторов

sound.h Библиотека генерации звука

Пример:sound (2000,500);// формирует сигнал с частотой 2кГц, длительностью 0.5 секунды

Все необходимые библиотеки должны храниться в папке проекта или путь к ним должен быть правильно указан в проекте. Все дополнительные библиотеки хранятся в папке MicroCamp_include на компакт-диске из комплекта.

Задание 1: управление скоростью робота

Описание схемы:

У робота танковая система движения. Работают два независимых мотора и рулевые колеса.

По данной программе робот движется согласно графику скорости:

 

 

Описание программы:

Программа может задавать скорость движения вперед и назад, для обоих моторов одновременно и для каждого мотора в частности

 

 

#include //подключение библиотеки ввода-вывода информации

#include //подключение библиотеки задержки

#include //подключение библиотеки контроля моторовmain() //главная программа

{ int i; //задание переменной "i"(1) //бесконечный цикл

{(i=1;i<60;i++) //конечный цикл увеличения скорости от 1% до 30%

{(i); //движение назад 0.05 секунды(50);

}(i=60;i>0;i--) //конечный цикл уменьшения скорости от 30% до 1%

{

backward(i);

sleep (50);

}

sleep (2000); //задержка 2 секудны(i=1;i<100;i++) //цикл увеличения скорости

{(i); // движение вперёд 0.02 секунды(20);

}(i=100;i>0;i--) //?/p>