2019-01-11 09:23:29 qq_41126763 阅读数 203
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3993 人正在学习 去看看 朱有鹏

在这里插入图片描述

这个电路一个开关控制9V的电源,一个可以控制信号。接下来分析一下吧。
第一部分是前面的NPN和PNP组成的电路。上面VCC用的9V,其实输出的也就5V,因为输出在放大区嘛。其实这部分感觉可有可无,因为单片机本身就是5V的,因为我用这个电路搭建的,就按这个来说吧。
在来说下上面的N-MOS这部分的。GS之间的电阻是按照惯例加上去的,其实这个我试过将这个电阻拆去,基本没啥影响。
网上 有说易烧毁和放触发啊。可能是电压较高的情况。
其实 这个电路很简单但是还得自己动手去试一试才知道。
这个电路 我不是很满意:
N-MOS这边输出和P-MOS输出不一致。P-MOS总而言之要低那么0.1-0.2V之间,可能是N-MOS和P-MOS的特性差异。这个电路空载,单片机在1-0切换时候,主电路大概有2-4mA的电流。就是说电路耗损还是较大的。我也是新手,发个动态开心就好。祝大家过个好年!!!!

2011-08-24 16:29:29 yezhubenyue 阅读数 2028
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3993 人正在学习 去看看 朱有鹏

 

                    单片机控制水龙头出水温度

简单说下功能  有8个按钮          1;冷水 开

2;冷水 关

3 ;温水35度 开

4;温水35度  关

 5;温水50度 开

6; 温水50度  关

7;热水80度   开

8;热水  80度  关

  

两个水箱里的水分别有电磁阀和步进电机控制  电磁阀水箱装热水  步进电机水箱装冷水 (热水和冷水混合根据步进电机带动水龙头阀门开闭的大小来调节水温) 

比如要35摄氏度水,就是电磁阀全开,步进电机转70度左右,就可以了。

还有关于温度显示   (在0---30度显示蓝光    30-60度显示黄光     大于60度显示红光)

              

主要器件  1;步进电机  42H48410 (2相4线 1A ,12-24V ,45N.CM力矩) 

                   2 ;   L298N   

                   3; 1/4口的电磁阀

                   4;AT89C51

                   5;DS18B20

   一 这是步进电机控制电路    

            

 

                                              二极管的作用是防止反电动势

 

 

 

 

二这是电磁阀的驱动电路               

 

         

  

 

 

   主要的就这些了,都很简单,网上到处都是。。。。。

 

 

软件部分,也很简单    在http://download.csdn.net/source/3545348有下载

              

 

机械部分是我爸帮弄的。都是不锈钢。。。。。。。。。

就这些了

 

总结

          虽然很简单的东西,不过自己做了很久,也花了很多心思。 主要很多东西都没接触过(比如步进电机选型,都不知道该选多大的扭矩的才能驱动水龙头)

          驱动电源也选了好久,开始用12V电源的电机带不动,于是又去买了24V的电源,,没考虑到电流的因素,L298烧坏了。。。又得跑到电子商城去买,,一个来回一天就没了  

钱烧的慌。。。。 

             幸好我家有电焊,金属材料不用买,不然叫别人弄弄也得好几百。。 (也不知道为什么想不到一个整体,,非要做到那步才会往下想。)

              还有就是调试,,郁闷的很,又一次,显示DS18B20的液晶屏不显示数字,,,查了好久才知道是一个DS18B20的电源线没接好。。。

 

 

 

 

 

2013-07-09 09:49:50 zgc261 阅读数 5824
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3993 人正在学习 去看看 朱有鹏

连接问题:


图中的这个要用杜邦线连接,3个排针左右可能是电源的正负端,中间是单片机的信号端。(图片不是很清晰,我也不能确定)这个板子上有三极管,所以不需要在另外加放大三极管了。蓝色有螺丝的是输出端,中间位公共端,左右分别是长开和长闭两个接线端。

-------------------------------------------------------------------------------------------------------------------


程序:

//亲试成功

//两路继电器控制
#include<reg52.h>
#define  uint  unsigned int 
sbit  ji1=P1^4;  //这个端口要自己更改成连接继电器的IO口
sbit  ji2=P1^5;
sbit kai1=P1^0;   //开关
sbit guan1=P1^1; //开关
sbit kai2=P1^2;   //开关
sbit guan2=P1^3; //开关
uint  a;  //用于延时函数
void main ()
{
      while(1)
     {
          if(kai1==0)   //判断开关是否按下,打开继电器的程序
         {
             while(a--);  //简单延时消抖
        		if(kai1==0)
              {
                   ji1=0;   //打开继电器
              }
        }

             if(guan1==0)   //判断开关是否按下,关闭继电器的程序
        {
             while(a--);  //简单延时消抖
        if(guan1==0)
              {
                   ji1=1;   //关闭继电器
        }
            }

				          if(kai2==0)   //判断开关是否按下,打开继电器的程序
         {
             while(a--);  //简单延时消抖
        		if(kai2==0)
              {
                   ji2=0;   //打开继电器
              }
        }

             if(guan2==0)   //判断开关是否按下,关闭继电器的程序
        {
             while(a--);  //简单延时消抖
        if(guan2==0)
              {
                   ji2=1;   //关闭继电器
        }
            }

    }
}


2019-02-21 22:12:28 LuDanTongXue 阅读数 2417
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3993 人正在学习 去看看 朱有鹏

单片机控制步进电机-线路连接

说明:如何利用单片机去控制步进电机?本案例讲解的内容是硬件连接部分,采用常用的电子器件去实现单片机控制步进电机的功能。后续会分别讲解单片机程序,S曲线生成方法,上位机等相关内容。

硬件清单:
1、单片机最小系统(本案例使用Atmega16芯片)
2、步进电机(二相四线)
3、稳压电源(24V)
4、步进电机驱动器(TB6600)
步进电机单片机最小系统
稳压电源驱动器
整体连接图:
整体图
原理图:
原理图

控制原理:
1、单片机最小系统作用:
①输出脉冲到步进电机驱动器,从而控制步进电机的速度大小
②控制步进电机的使能
③控制步进电机的转动方向
2、步进电机作用:
①提供机械动力
3、稳压电源作用:
①为步进电机提供电源
4、步进电机驱动器作用:
①将单片机脉冲信号转化为步进电机的驱动信号,简化控制过程

硬件连接图:
实物连接图与原理图如上图所示。Atmega16单片机最小系统(其他单片系统接线原理类同)与步进电机驱动器(TB6600)采用共阴极接法(驱动器的ENA-、DIR-、PUL-与单片机的GND连接)。
单片机PA0口控制ENA+,PA0高电位的时,步进电机掉电,步进电机自由状态,用手可以转动;PA0低电位的时,步进电机上电,根据输入的脉冲信号进行转动,无脉冲信号时处于自锁状态;
单片机PA1口控制DIR+,PA1高电位与低点位分别对应步进电机的正转与反转;
单片机PA2口控制PUL+,通过PA2口高低电位的切换形成脉冲,单片机输出一个脉冲(一个高电位加一个低电位即为一个脉冲),步进电机就会走一步。对于二相四线步进电机而言,在驱动器无细分的情况下,单片机一个脉冲对应步进电机一个步距角1.8°;驱动器如果是2细分状态,单片机一个脉冲对应步进电机转动角度为1.8°/2=0.9°;驱动器如果是4细分状态,单片机一个脉冲对应步进电机转动角度为1.8°/4=0.45°;其他细分依次类推。TB6600驱动器上的SW1、SW2、SW3三个拨码开关控制细分数(1细分、2细分、4细分、8细分、16细分、32细分),细分数越大,步进电机转动过程中越平稳。通过脉冲的快慢可以控制步进电机的速度,一般分为三个过程:开始加速、然后匀速、最后减速,后续会单独讲解控制程序部分。
步进电机的A、B相分别接在驱动器A、B相。在不知道步进电机那两根线是一相的时候,有个简单的判断方法:将步进电机的任意两更线接在一起,用手转动步进电机,如果有较大的阻力说明这两根线对应的是一相。
稳压电源输入端接交流220V,输出端正负极(本案例采用的是24V步进电机)分别接在驱动器VCC、GND即可。
至此硬件电路连接完成,下篇将讲解单片机程序。https://blog.csdn.net/LuDanTongXue/article/details/87869806
(微信ID:saskingku)

2015-11-30 14:40:25 snyanglq 阅读数 1453
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3993 人正在学习 去看看 朱有鹏
一、什么是数码管
led数码管
(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示,目前led数码管广泛用于仪表,时钟,车站,家电等场合。

二、数码管的结构原理

led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位"+1"型。位数有半位,1,2,3,4,5,6,8,10位等等....

led数码管根据LED的接法不同分为共阴共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是有些微的不同。下图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种选择。




三、数码管驱动原理
数码管的驱动说到底就是二极管的点亮过程,上面已经说过了数码管的结构原理,大家应该有所了解
在单片机的驱动中把数码管的驱动切割为段码和位码两种,段码就是数码管要显示数字要点亮的段条

位码就是要选择点亮的数码管是第几个数码管。以4位一体数码管点亮左边第一个数码管并显示字符"1"

         为例 如下图:


显示"1"需要b,c两个段亮,要左边第一位亮则要选择"1"脚,所以单片机驱动段码时应如下
共阳:
段码:b和c脚给0电平,其他a,d,e,f,g,dp给1电平
位码:1脚给1电平,2,3,4脚给0电平
共阴:
段码:b和c脚给1电平,其他a,d,e,f,g,dp给0电平

位码:1脚给0电平,2,3,4脚给1电平

        注意在驱动段码时只要算出一种的段码即可,如算出共阳段码,则共阴段码为共阳的~


四、数码管驱动电路

数码管的驱动电路有很多种,共阴和共阳的数码管又有些微的区别,驱动芯片也很多像74LS47,CD4511等
在不考虑成本、功耗、位置等其他因素的情况下,我觉得下面的这个数码管驱动电路是比较经典的,
不需要初学者检测什么电平才是点亮又或者是三极管选型,驱动电流大小等因素而且是直接输出控制,
且共阴和共阳都能使用,单片机输出0输出就是0,单片机输出1就是1。驱动电路如下:

五、数码管静态驱动程序

#include <reg52.h>

sbit smgEA=P2^3;
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void main()
{
 smgEA = 1;	//没有也可以,因为AT89S52单片机的管脚不进行输出输入处理时默认为高电平
 P1=table[1];   //显示数字0
 while(1); 
}


六、数码管动态扫描驱动程序

#include <reg52.h>
sbit smgEA=P2^3;
//段码
unsigned char table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//位码
unsigned char table2[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};

 

void delay(unsigned int n)
{
 while(n--)
 {
	;
 }
}

void main()
{
 unsigned char i;
 while(1)
 {
  for(i=0;i<8;i++)   <span style="white-space:pre">		</span> //由于只有8个数码管因此循环8次
  { 				 //显示数字01234567
	P2=table2[i];
	smgEA=1;
	P1=table1[i];
	delay(200);
  }
 }  
}


单片机12V数控电源

阅读数 1431

单片机控制舵机

阅读数 56

没有更多推荐了,返回首页