5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

机器人夹持器制作【RobotAnno安诺科技】

查看数: 3255 | 评论数: 10 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-11-28 19:40

正文摘要:

本帖最后由 543352664 于 2014-11-28 20:25 编辑 先上照片:

回复

ZXZZH 发表于 2019-8-11 16:53
学习了

欢迎继续阅读楼主其他信息

Diy_IMRE 发表于 2015-1-3 10:40
有视频麽
合约达人 发表于 2014-12-18 17:03
这个太便宜了,居然要1000多。。。。

搜狗截图14年12月18日1701_1.jpg (67.84 KB, 下载次数: 31)

搜狗截图14年12月18日1701_1.jpg
蔡健雄236015907 发表于 2014-12-10 07:10
这个可以顶
来自安卓客户端来自安卓客户端
蔡健雄236015907 发表于 2014-12-5 22:59
先顶再说。
来自安卓客户端来自安卓客户端
sdxgy 发表于 2014-12-5 12:09
不错
zhaolong01 发表于 2014-11-29 21:32
路过学习。
合约达人 发表于 2014-11-29 04:52
制作图比较给力
履带机器人 发表于 2014-11-28 22:52
专业
543352664 发表于 2014-11-28 19:47
平台的搭建共需要如下三步:
(1)L298N驱动板与机械手的连接,如图4-1所示
(2)L298N 驱动板VCC、GND分别连接Arduino mege 2560 VCC、GND,接口接线请参照代码注释。
(3)L298N 驱动板与DC直流电源连接。

4.1.2 控制代码及注解
#define motorpin 8  
#define motorpwm 11
/**********************************************
// IN1->pin8  IN2->pwm11   接口接线
***********************************************/
void setup()
{}
void loop()
{
motor(motorpin,motorpwm,1,200);      //机械手以200的速度张开
delay(3000);                         //延时3秒
motor(motorpin,motorpwm,2,200);      //机械手以200的速度闭合
delay(3000);                         //延时3秒
}
void motor(char pin,char pwmpin,char state,int _Rval )
//参数pin是输入的高低电平的IO口,pwmpin表示输入的PWM波形的IO口,state指电机状态(正转或反转),val是调速值大小0-255
{
pinMode(pin, OUTPUT);
if(state==1)                    //当state为1时正转
{
analogWrite(pwmpin, _Rval);
digitalWrite(pin,1);
}
else if(state==2)       //当state为2时反转
{
analogWrite(pwmpin,_Rval);
digitalWrite(pin,0);
}
else if(state==0)     //当state为0时停止
{
analogWrite(pwmpin,0);
digitalWrite(pin,0);
}
}
4.2  51单片机控制平台
4.2.1 STC89C52单片机平台的搭建
在本说明中选用L298N电机驱动板,12VDC直流电源,STC89C52单片机。
平台的搭建共需要如下三步:
(1)L298N驱动板与机械手的连接,如图4-1所示
(2)L298N 驱动板VCC、GND分别连接STC89C52单片机 VCC、GND,接口接线请参照代码注释。
(3)L298N 驱动板与DC直流电源连接。

4.2.2 控制代码及注解
/************头文件*********/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
/*****************延时函数*************************/
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
/**********************************************
// IN1->P0^1  IN2->P0^2  
***********************************************/
void main()
{
  while(1)
{
    P0=0xaa; //机械手张开
    delay(4500); //延时
    P0=0x55;   //机械手合拢
    delay(4000);  //延时
}
}
4.3  STM32单片机控制平台
4.3.1 STM32F103RBT6单片机平台的搭建
在本说明中选用L298N电机驱动板,12VDC直流电源,STM32F103RBT6单片机。
平台的搭建共需要如下三步:
(1)L298N驱动板与机械手的连接,如图4-1所示
(2)L298N 驱动板VCC、GND分别连接STM32F103RBT6单片机VCC、GND,接口接线请参照代码注释。
(3)L298N 驱动板与DC直流电源连接。

4.3.2 控制代码及注解
/************头文件*********/
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
/**********************************************
// IN1->PB1  IN2->PB2
// PWM-->PB0   接口接线
***********************************************/
int main(void)
{   
   u16 robotpwmval=500;     //PWM值设置
    delay_init();         //延时函数初始化  
NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,响应优先级
uart_init(9600);      //串口初始化为9600
Motor_IO();               //电机in1,in2 IO口初始化
TIM3_PWM_Init(899,0);     //不分频。PWM频率=72000/900=8Khz
delay_ms(10);
TIM_SetCompare2(TIM3,robotpwmval);
Motor_D();               //机械手合拢
// Motor_F();            //机械手张开
second(10);
Motor_S();            //机械手停止
}

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表