仿生同步机械手臂设计(附图)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仿生同步机械手臂设计(附图)
本设计利用安装在人手臂部的加速度传感器采集运动信号,单片机智能运算后发出控制指令,实现机械臂与人臂的同步运动。

系统将在采集传感器的输出模拟量经过单片机的处理产生PWM 波,使用PWM 波驱动舵机实现准确定位, 使机械臂实现四自由度的运动。

而且还可通过编程和仿生来完成各种预期的作业任务,在构造和性能上兼有人和机器各自的优点,体现了其智能和适应性。

主要研究内容有两点:(1)利用51单片机编程(C 语言)实现对三轴加速度传感器的数据采集。

(2)编程(C 语言)产生PWM 波,并通过改变其占空比来控制舵机的转动角度。

该系统以STC12C5A60S2单片机为核心,STC12C5A60S2单片机中集成了高精度的A/D 转换器,可将加速度传感器采集的模拟量转换为数字量,数字量经过单片机的处理后产生PWM 波,驱动机械臂上的伺服舵机。

1. MMA7260传感器:由于本设计是一款同步的机械臂,所以要随时准确的确定手臂的位置,而三轴加速度传感器是一种可以对物体运动过程中的加速度进行测量的电子设备,典型互动应用中的加速度传感器可以用来对物体的姿态或者运动方向进行检测。

人手臂的运动角度,传感器将输出不同的电压,从而确定人手臂的状态。

图1 MMA7260三轴加速度传感器 35元
2.A/D转换:将采集到的传感器输出的模拟量转换成数字量。

3.STC12C5A60S2单片机:处理A/D转换输出的数字量,输出PWM波。

单片机系统实现对舵
机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。

图表 2
图3 STC12C5A60S2开发板 94元
4.MG996舵机:用做机械臂的关节力量来源,接受PWM波信号,分析其占空比,转动不同
的角度。

舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。

图4 MG996舵机 70元5.PWM程序
#include <reg51.h>
#include<intrins.h>
sfr CCON = 0xD8;
sfr CMOD = 0xD9;
sfr CL = 0xE9;
sfr CH = 0xF9;
sfr CCAP0L = 0xEA;
sfr CCAP0H = 0xFA;
sfr CCAPM0 = 0xDA;
sfr CCAPM1 = 0xDB;
sbit CR = 0xDE;
unsigned char duty = 0xe5;
void timer0_int (void) interrupt 1 using 1 {
TH0 = 0xff;
TL0 = 0xb9;
}
void timer0_init(void)
{
TMOD = 0x01;
TH0 = 0xff;
TL0 = 0xe0;
TR0 = 1;
ET0 = 1;
}
void pwm_init(void)
{
CMOD = 0x4; // Use timer0
CL = 0x0;
CH = 0x0;
CCAP0H=CCAP0L=duty; //Duty Cycle
CCAPM0 = 0x42; // PWM mode
CR = 1; //Start PCA Timer.
}
void main (void)
{
pwm_init();
timer0_init();
EA = 1;
while(1){
CCAP0H=duty;
}
}。

相关文档
最新文档