文档详情

履带式壁障小车.doc

发布:2018-01-19约2.06万字共35页下载文档
文本预览下载声明
完成小的组装,首先应该调试舵机,舵机的调试应用多功能调试器 多功能调试器使用之前要安装驱动程序,将多功能调试器插在电脑上,会出现下面界面, 选择“从列表或指定位置安装” “浏览”时找到InnoStar产品光盘,打开“部件资料汇总”文件夹,打开“多功能调试器”文件夹就可以看到“调试器驱动程序”,点击“下一步” 点击“下一步” “完成”,再重复一遍上面的过程,多功能调试器的驱动就完成了。 下面要用调试器调试舵机,连接调试器与舵机,调试舵机时一定要加外接电源 打开机器人舵机调试系统软件“RobotServoTerminal” 这里要修改Com口,右键“我的电脑”点击“设备管理器”查看“端口” “USB Serial Port(COM3)”说明调试器用3号端口与电脑通信 现在可以调试第一个舵机了,修改COM口为3,“Open”,“Search”搜索到第一个舵机的ID,“Stop” 调试舵机模式“Servo Mode”时给定一定的速度,即“Speed”不为零,改变位置,即“Pos”不为中位,观察舵机是否转动;调试电机模式“Moter Mode”时,改变“Speed”,观察舵机是否转动。以上两种情况舵机都转动说明舵机可以正常工作。 调试2号舵机 搜索出的状态同1号舵机 将“舵机”的ID修改为2,设置“Set”其他位置的ID都自动修改了 舵机的舵机模式、电机模式调试方法同1号舵机 重复以上过程,设置其他几号舵机,设定相应的ID号、调试舵机是否正常工作。 完成舵机的调试,将舵机连接到控制器,控制器上有“Bobot Servo”7个连接口,选择哪些口都可以,传感器属于输入设备,连接到控制器的I/O口上,I/O口有12个,选择那两个口都可以,但一定要定义好,这里选择0口和1口。 编写程序,对于AVR型单片机,有很多编程工具,这里介绍两种软件,“NorthStar”和“eclipse” “NorthStar”软件用法简介 新建项目,控制器芯片为AVR选择“MultiFLEX2-AVR” “下一步” 壁障小车有四个轮子,所以有四个舵机,ID1-4,四个舵机都选择“电机模式”,“舵机模式”的舵机转动角度由0°-- 180°,“电机模式”舵机转动角度由0°-- 360°,小车执行前进和后退程序,整周转,选择“电机模式”。 没有模拟量转数字量装置AD通道个数为0 有两个传感器,IO通道个数为2,Channel0和Channel1,且传感器为输入装置 生成以下界面 两个传感器输入口,定义两个变量,变量类型int,再起一个名称,另一个变量io1。 引入一个while循环 传感器两个数字输入,io0如下,io1选择通道2 If语句,给两个输入赋予高电位的初值,即两个传感器都没有检测到障碍物,不向控制器输入信号 If条件成立,就是没有检测到障碍物,小车直走 延时10毫秒 If条件不成立,即有其中一个传感器检测到障碍物 左侧遇到障碍物条件成立,小车后退,延时10毫秒,向右转,延时10毫秒 If条件不成立,即小车右侧传感器检测到障碍,舵机后退,延时10毫秒,舵机左转,延时10毫秒。 后退 左转 将各个模块连接起来,得到壁障小车程序如下 自动生成程序如下 #include Apps/SystemTask.h uint8 SERVO_MAPPING[4] = {1,2,3,4}; int main() { int io0 = 0; int io1 = 0; MFInit(); MFInitServoMapping(SERVO_MAPPING[0],4); MFSetPortDirect(0x00000FFC); MFSetServoMode(1,1); MFSetServoMode(2,1); MFSetServoMode(3,1); MFSetServoMode(4,1); while (1) { io0 = MFGetDigiInput(0); io1 = MFGetDigiInput(1); if ((io0==1)(io1==1)) { MFSetServoRotaSpd(1,1000); MFSetServoRotaSpd(2,-1000); MFSetServoRotaSpd(3,1000); MFSetServoRotaSpd(4,-1000); MFServoAction(); DelayMS(10); } else
显示全部
相似文档