标题: 新手接触单片机驱动玩具直升机直流电机的一些问题 [打印本页]

作者: backbeast    时间: 2019-7-16 16:59
标题: 新手接触单片机驱动玩具直升机直流电机的一些问题
想用单片机去修复一个废置的玩具直升机,但在驱动电机时就出现问。电机是由玩具飞机中拆卸出来的,接入单片机5v电源会出现芯片异常发热(ULN2003)且运行一段时间,电机速度自动下降(同时伴随s2、s3等led点亮)。求大神讲解一下这样的电机应该怎么样驱动,我是直接将电机的一路插入5v扩展口,一路插入给定信号为1的扩展口。

单片机源程序如下:
#include <STC15F2K60S2.h>
#define uint unsigned int
#define uchar unsigned char
sbit s1 =P4^1;
sbit key1=P3^2;
sbit key2=P3^3;
void delay_ms( uint n )
{
    while( n )
    {
        uchar i, j;
        i = 11;
        j = 190;
        do
        {
            while ( --j );
        }
        while ( --i );
        n--;
    }
}
void main()
{
key1=1;
key2=1;
s1=0;
while(1)
{
  if(key1==0)
  {
   delay_ms(10);
   if(key1==0)
   {
    s1=1;
   }
  }
  if(key2==0)
  {
   delay_ms(10);
   if(key2==0)
   {
    s1=0;
   }
  }
}
}

BED_M`RXQ((}22IAVHK(%1C.png (79.61 KB, 下载次数: 23)

BED_M`RXQ((}22IAVHK(%1C.png

IMG_4437.JPG (1.91 MB, 下载次数: 31)

IMG_4437.JPG

IMG_4436.JPG (1.27 MB, 下载次数: 40)

IMG_4436.JPG

作者: backbeast    时间: 2019-7-16 17:01
本帖最后由 backbeast 于 2019-7-16 17:07 编辑

#include <STC15F2K60S2.h>
#define uint unsigned int
#define uchar unsigned char
sbit s1 =P4^1;
sbit key1=P3^2;
sbit key2=P3^3;
void delay_ms( uint n )
{
    while( n )
    {
        uchar i, j;
        i = 11;
        j = 190;
        do
        {
            while ( --j );
        }
        while ( --i );
        n--;
    }
}
void main()
{
        key1=1;
        key2=1;
        s1=0;
        while(1)
        {
                if(key1==0)
                {
                        delay_ms(10);
                        if(key1==0)
                        {
                                s1=1;
                        }
                }
                if(key2==0)
                {
                        delay_ms(10);
                        if(key2==0)
                        {
                                s1=0;
                        }
                }
        }
}
作者: backbeast    时间: 2019-7-16 17:51
暖暖暖,求一个大手子来帮我解决一下问题。
作者: 小黑屋525    时间: 2019-7-19 17:47
大哥,你确定你会用单片机?单片机的引脚虽然可以直接输出高电平,但是每个引脚能承受的电流最多20mA,如何驱动电动机?难怪没人回答你!
作者: aidianzi    时间: 2019-7-20 08:06
ULN2003驱动电流小  你需要更换驱动IC  这个2003经常用来驱动小步进那种步进电机电流很小的,这种直流电机不行的,建议买个直流电机驱动模块
作者: 欣语宝贝    时间: 2020-8-7 22:06
可以用三极管驱动    9013
作者: LF575859258    时间: 2020-8-8 11:34
有没有冒烟?过载了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1