DIY花费不到一千元的电控轨道,一样用,一样抗造。
本帖最后由 陈亚龙2010 于 2014-3-15 17:32 编辑最近看到很多朋友都在自己做电控轨道,自己也腾出了点时间做了一套,主要是为了自己使用方便,但是也有一些小体会,今天就把制作过程录制的视频片段放出来和大家分享,一段视频是用手机拍的,晃动比较厉害还请大家不要介意,
喜欢diy的朋友都应该能够深深的体会到自己动手制作过程的乐趣,但是也有失败时的沮丧,不断的尝试不断的改进,最终成功的喜悦只有自己能够深深的体会。今天我就给大家带来一段本人自己做的一套电控轨道的制作全过程,希望对喜欢自己动手的朋友有所帮助吧。先说一下一共花费的价钱:所有用到的东西到最后出成品一共花费了不到1000元。很多不足之处请多多包含。
下面是视频演示。
视频一:使用程序加单片机来控制电机
http://player.56.com/v_MTA5MDgyMTc0.swf
视频二:电机接线和安装更换电机
http://player.56.com/v_MTA5MDg1OTEx.swf
拍摄片段小效果
http://player.56.com/v_MTA5MDQzODM2.swf
LZ 是用照片延时还是把帧率减低拍的视频? 冰欲牛仔 发表于 2014-3-15 20:30 static/image/common/back.gif
LZ 是用照片延时还是把帧率减低拍的视频?
帧率减低拍的 效果不错!单片机是那买的,神马型号? 赞一下DIY高手!^24^ 想问驱动单片的那段代码要去哪里找呀?LZ能分享一下么? 同问,记号. haoys12 发表于 2014-3-15 23:25 static/image/common/back.gif
效果不错!单片机是那买的,神马型号?
板子我不知道是什么型号的,我是在电子城买的,芯片是STC 12C2052AD的型号。这个板子是做高端一点的遥控汽车用的。 本帖最后由 陈亚龙2010 于 2014-3-16 17:47 编辑
Tin-wong易小天 发表于 2014-3-16 00:21 static/image/common/back.gif
想问驱动单片的那段代码要去哪里找呀?LZ能分享一下么?
代码复制过来的话起头有很多空格,不知道论坛里可不可以看的到,后缀的//加汉字都是简单的中文描述。
------------------------------------------------------*/
#include<STC12C2052AD.H> //头文件
#define KeyPort P3 //定义P3为键盘端口
sbit A1=P1^0; //定义直流电机A正端口
sbit A2=P1^1; //定义直流电机A负端口
sbit B1=P1^2; //定义直流电机B正端口
sbit B2=P1^3; //定义直流电机B负端口
#define DCOUT_A1 {A1=1;A2=0;}//A电机正转
#define DCOUT_A2 {A1=0;A2=1;} //A电机反转
#define DCOUT_B1 {B1=1;B2=0;}//B电机正转
#define DCOUT_B2 {B1=0;B2=1;} //B电机反转
#define DCOUT_AOFF{A1=1;A2=1;}//A电机停
#define DCOUT_BOFF{B1=1;B2=1;}//B电机停
unsigned int b=2000; //中断初值变量
unsigned char PWM_ON; //定义速度等级
#define CYCLE 10 //周期
bit Flag1; //启停标志位
bit Flag2; //正反转标志位
void DelayMs (unsigned int a) //大致1ms延时
{
unsigned int i; //无符号整型局部变量
while(a--!=0)
{
for(i=0;i<600;i++);
}
}
unsigned char KeyScan(void)//按键扫描函数,返回扫描键值
{
unsigned char Keyvalue; //无符号字符型变量
if(KeyPort!=0xff) //判断P3口是否有按键按下
{
DelayMs(10); //按键去抖
if(KeyPort!=0xff) //再次判断
{
Keyvalue=KeyPort; //赋值
while(KeyPort!=0xff);//等待按键松开
switch(Keyvalue) //读取按键,提取返回值
{
case 0xfe:return 1;break; //第一个键按下,返回1
case 0xfd:return 2;break; //第二个键按下,返回2
case 0xfb:return 3;break; //第三个键按下,返回3
case 0xf7:return 4;break; //第四个键按下,返回4
default:return 0;break; //条件不符合,返回0
}
}
}
return 0; //没按键按下返回0
}
void Init_Timer0(void) //初始化定时器0
{
TMOD=0x01; //定时器0,使用模式1,16位定时器
TH0=(65536-b)/256; //给定初值
TL0=(65536-b)%256;
EA=1; //打开总中断
ET0=1; //打开定时器中断
TR0=1; //开定时器
}
void main() //主函数
{
unsigned int num; //无符号整型变量
Init_Timer0(); //初始化定时器0
DCOUT_AOFF //全部断电
DCOUT_BOFF
PWM_ON=5;
while(1) //大循环
{
num=KeyScan(); //循环调用按键扫描
if(num==1) //启停按键
Flag1=!Flag1; //取反
else if(num==2) //正反转按键
Flag2=!Flag2; //取反
else if(num==3)//第三个按键,速度等级增加
{
if(PWM_ON<CYCLE)
PWM_ON++;
}
else if(num==4)//第四个按键,速度等级减小
{
if(PWM_ON>0)
PWM_ON--;
}
}
}
void Timer0_isr(void) interrupt 1 //定时器中断子程序
{
static unsigned char count; //静态局部变量
TH0=(65536-b)/256; //重新赋值
TL0=(65536-b)%256;
if(Flag1==0) //停转标志
{
DCOUT_AOFF //全部断电
DCOUT_BOFF
}
else if(Flag1==1&&Flag2==1) //正转
{
if (count==PWM_ON)
{
DCOUT_AOFF
DCOUT_BOFF
}
count++;
if(count == CYCLE)
{
count=0;
if(PWM_ON!=0)
{
DCOUT_A1
DCOUT_B1
}
}
}
else if(Flag1==1&&Flag2==0) //反转
{
if (count==PWM_ON)
{
DCOUT_AOFF
DCOUT_BOFF
}
count++;
if(count == CYCLE)
{
count=0;
if(PWM_ON!=0)
{
DCOUT_A2
DCOUT_B2
}
}
}
}
结束恢复初始状态
我是用TC5510做的,操控相对复杂些。
你这个控制器下来要多少钱?
haoys12 发表于 2014-3-17 11:44 static/image/common/back.gif
我是用TC5510做的,操控相对复杂些。
你这个控制器下来要多少钱?
你用的是步进电机控制器,做的是延时间断式的方法,电机也是步进电机。我这个是用的直流电机,用的就是stc的芯片,我的这些件都是散的,用单片机控制的,操作比较简单,就是控制加速减速 正反转限位,其他的功能也没有,我做完后盒子上面就做了三个键,一个调速的编码器,一个启停限位键,一个正反转,单片机98元,控制版30元。 我也是慢速长时间拍延时的。你不是说也可以控制步进电机吗?是不是要换芯片或软件才能控制。 haoys12 发表于 2014-3-18 10:47 static/image/common/back.gif
我也是慢速长时间拍延时的。你不是说也可以控制步进电机吗?是不是要换芯片或软件才能控制。
不用换芯片,直接烧一下程序就可以了,插上线10秒钟搞定。 haoys12 发表于 2014-3-18 10:47 static/image/common/back.gif
我也是慢速长时间拍延时的。你不是说也可以控制步进电机吗?是不是要换芯片或软件才能控制。
我试了一下步进电机的控制,和直流电机差不多,只是比直流电机的可操控功能更多一些,比方说限制转多少圈就反转,反转多少圈后就正转,或者重复,或者重复多少次后停止断电。
那这款单板机还真不错呢。
其实太多功能真没什么用。 不错 不知道你有没有考虑再改进一下功能,比如加个快门同步
求教控制器的配件做法 陈亚龙2010 发表于 2014-3-18 20:25 static/image/common/back.gif
不用换芯片,直接烧一下程序就可以了,插上线10秒钟搞定。
烧一下是怎么烧?我用的也是步进电机 不知道怎么烧哎我现在的控制器巨大,想重新改一下不知道怎么改,能加你QQ吗
595480780 冰欲牛仔 发表于 2014-3-15 20:30 static/image/common/back.gif
LZ 是用照片延时还是把帧率减低拍的视频?
咳咳,弱弱的问下帧率减低是什么意思?跟抽帧相同吗? ☆冰軒杰少☆ 发表于 2014-4-1 17:56 static/image/common/back.gif
咳咳,弱弱的问下帧率减低是什么意思?跟抽帧相同吗?
跟抽针不相同,就像延时照片一样,只是是动起来连续的。 陈亚龙2010 发表于 2014-4-3 14:42 static/image/common/back.gif
跟抽针不相同,就像延时照片一样,只是是动起来连续的。
谢谢你的答案^28^ 楼主厉害 相同的问题。您的延时是后期抽帧吗?
页:
[1]