打印

由PMW信号控制直流电机的小东东

[复制链接]
3835|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunxflower|  楼主 | 2007-6-17 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    自学单片机,做的一个由PMW信号控制电机的小东东,希望能与初学的同道共享
    控制摄像头用的。PMW遥控器的接收机有多余的通道,所以干脆自己DIY一个控制摄像头左右转的电路。但是合肥没卖到电机控制芯片,所以就自己搞了个H电桥来控制。
    刚开始我把对角两个可控硅的门级用导线连到一起,由一个信号控制,表测通过,可是接到单片机上就不动,后来把各可控硅用不同的线路控制就搞定了,实验通过。
    
代码部分:

ORG 0000H
AJMP MAIN
org 0003h
ajmp s_1
ORG 0050H
MAIN:     MOV SP,#60H
          mov p0,#0ffh
          mov p2,#00h
          mov p3,#00h
          MOV R5,#03H

 S0:      clr p1.2
          acall delay
          setb p1.2
          clr p1.1
          acall delay
          setb p1.1
          clr p1.0
          ACALL DELAY
          setb P1.0
          DJNZ R5,S0

 

 

 SS:     mov TH0,#00H
         MOV TL0,#00H
         SETB IT0
         setb px0
         MOV TMOD,#00001001B
         MOV IE,#10000001B
         ajmp $

S_1:
    S_1B:JB P3.2,S_1
         SETB TR0
    S_2: JNB P3.2,S_2
    s_3: JB P3.2,s_3

         CLR TR0
         MOV A,TH0
         CLR C
         subb A,#01h
         jc ERROR
         CLR C

         mov A,TH0
         SUBB A,#02H
         JC LIFT
         CLR C

         MOV A,Th0
         SUBB A,#03H
         JC ERROR
         CLR C

         MOV A,Th0
         SUBB A,#05H
         JC RIGHT
         AJMP ERROR

ERROR: clr P1.1
       setb p1.0
       setb p1.2
       setb p0.0
       setb p0.1
       setb p0.6
       clr p0.7
       setb p0.2
       CLR IE0
       acall delay
       ajmp out

LIFT:  clr P1.0
       setb p1.1
       setb p1.2

       clr p0.0
       clr p0.1
       setb p0.5
       setb p0.6

       setb p0.7
       clr p0.2

       CLR IE0
       acall delay
       ajmp out

RIGHT: CLR P1.2
       setb p1.0
       setb p1.1

       clr p0.5
       clr p0.6
       setb p0.0
       setb p0.1

       setb p0.7
       clr p0.2

       CLR IE0
       acall delay
       ajmp out
out:   MOV TH0,#00H
       MOV TL0,#00H
       reti


DELAY:         mov R0,#0AFh
               MOV R2,#03H
         w_1:  mov R1,#090h
         w_2:  djnz R1,w_2
               djnz R0,w_1
               DJNZ R2,W_1
               RET

相关帖子

沙发
sunxflower|  楼主 | 2007-6-17 11:28 | 只看该作者

补图

实际上是用手工旱的,奇丑无比,所以就不拿来献丑了。
补个电路连接图。

使用特权

评论回复
板凳
古道热肠| | 2007-6-17 12:16 | 只看该作者

动手能力强

  值得学习。

使用特权

评论回复
地板
gyt| | 2007-6-17 12:18 | 只看该作者

不错不错

卖给《24》剧组做智能道具一定行:)

使用特权

评论回复
5
maychang| | 2007-6-17 15:10 | 只看该作者

给楼主浇点凉水

为什么要用可控硅?据我看用功率稍大一点的普通三极管就行。可控硅关断很讨厌的。
光耦的作用显然是关掉电源,如果桥的四臂都是三极管,四臂均关断时电机自然不转,不必关电源,这个光耦可以省掉。
单片机用四根口线控制电机,占用单片机资源,实际用两根就够了。
再进一步,电机功率要是比较大,供电电压一般也比较高。单片机如何控制?这个问题解决,楼主的电路通用性将强得多。

使用特权

评论回复
6
sunxflower|  楼主 | 2007-7-11 10:52 | 只看该作者

回复楼上兄台。

    首先真心感谢你的关心,你的回复让我受益匪浅。
同时回复一下你的问题:
    关于为什么用光偶是因为当时身边没有合适的三极管,而又急着用所以就顺手上了以前买的可控硅,
    另外四根控制线的确很占资源,但是实际调试过程中发现一个9012如果接到两个可控硅的门极那么只有一个可控硅会导通,同时考虑到单片机其他口也是空闲的,所以就分开来控制同时解决这个问题。
    你说的解决大功率是指220以上的吧,这个现在倒是没尝试过,我想工业用的话可能外围得重新考虑了,还请赐教

使用特权

评论回复
7
huntington| | 2007-7-11 11:25 | 只看该作者

re

如果电机功率很小的话直接用三极管组成H桥就行了呀
以前我实验过的用9012/9013做的都可以驱动,好象8050/8055更好~~~~~~~
呵呵,型号记得不太清了

使用特权

评论回复
8
HQGBOY| | 2007-7-11 11:33 | 只看该作者

不错...

使用特权

评论回复
9
sunxflower|  楼主 | 2007-7-11 15:28 | 只看该作者

功率不小的

呵呵,我用9012试过组H电桥,3v电机空转没问题,如果带负载那就力不从心了。我已经把那个电桥换成电机驱动芯片了,还打算加片DA进去来控制电机速度,等整理完了再发布

使用特权

评论回复
10
ptt1234| | 2007-7-11 16:22 | 只看该作者

程序不太懂,望赐教

我是笨鸟一只,下面有不懂之处,望高手讲解以下:
等待INT0,当进入INTO中断程序:S_1,这时P3.2要么是1,要么是0,程序就停在此处.即使P3.2=0,启动T0,由于没有开定时中断,那么下一语句也可能停在此处.
是不是P3.2为外部遥控而产生的脉冲.
还有一点:当你把电机向LEFT,如果马上向RIGHT,这时没有看见LEFT的SCR关断语句.我们知道当SCR开通后,即使控制信号为0,也不会关断.请明白人赐教.

使用特权

评论回复
11
zusen| | 2007-7-11 16:32 | 只看该作者

给我做

我用步进电机算了,当然,要考虑成本

使用特权

评论回复
12
zusen| | 2007-7-11 16:41 | 只看该作者

看上去

这电路还可以减少两只三极管哦,呵呵
左下和右上的可控硅 控制极连在一起,用一只三极管控制
左上和右下 也一样

使用特权

评论回复
13
谈的元| | 2007-7-11 20:08 | 只看该作者

不错,顶一下

使用特权

评论回复
14
sunxflower|  楼主 | 2007-7-11 23:05 | 只看该作者

回复十楼

进入中断S_1是测脉冲宽度的,脉冲信号来自接收机的1通道(如果玩过模型,就很明白接收机是什么东东了)。
JB P3.2,S_1 是等待信号变低电平,这样启动定时器----请注意,这个GATE,GATE=1所以定时器开始计时的条件是TR0=1且INT0电平为高----这样做的目的是等外部信号一但变高,那么立马开始计时,我也是通过这个实验才了解GATE位的。
  另外你说可控硅关断的问题请看五楼maychang兄弟的留言。
  12楼的朋友你好,我刚开始也是如你说的接法来连电路,但是一个9012只能打开一个可控硅,所以就接成这个样子了,当然把对角的两个9012的基极可以一同接到单片机的一个脚上,这样节省管脚

使用特权

评论回复
15
conwh| | 2007-7-12 11:41 | 只看该作者

TO 10L:上面有电源总开关,停止和换向都要先关总电源

就是这个电源总开关用光耦,感觉有点悬,可以提供的电流也太小了。

使用特权

评论回复
16
sunxflower|  楼主 | 2007-7-12 18:18 | 只看该作者

介绍一款合时的DC电机驱动芯片阿。

电压6V,电流峰值大与2A。有合适的驱动芯片吗?我在别的地方看到介绍293D的,可惜买不到……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

48

帖子

0

粉丝