当前位置:文档之家› 基于STM32F103的触摸屏驱动模块设计

基于STM32F103的触摸屏驱动模块设计

基于STM32F103的触摸屏驱动模块设计
基于STM32F103的触摸屏驱动模块设计

基于STM32F103x的LCD触摸屏驱动的设计

姓名:______徐进东_______

学号:______10030227_____

班级:______10 计卓______

目录

1 概述 (3)

2 LCD液晶显示屏 (3)

2.1 LCD液晶显示屏原理 (3)

2.2 LCD液晶显示屏分类 (3)

3 触摸屏驱动原理概述 (4)

3.1 电阻触摸屏工作原理 (4)

3.2 触摸屏控制实现 (4)

4 设计目标 (4)

5 系统硬件设计 (5)

5.1 STM32微处理器FSMC接口 (5)

5.2 LCD液晶显示屏介绍 (7)

5.3 触摸屏控制板 (8)

6 系统软件设计 (10)

6.1 系统软件结构 (10)

6.2 头文件设计 (11)

6.2 硬件初始化程序 (11)

6.3 3寸LCD模块驱动程序 (14)

6.4 触摸坐标获取程序 (19)

6.5 LCD控制器控制程序 (22)

7 总结 (24)

1 概述

LCD液晶显示屏与触摸屏在嵌入式系统中的应用越来越普及。他们是非常简单、方便、自然的人机交互方式,目前广泛应用于便携式仪器、智能家电、掌上设备等领域。触摸屏与LCD液晶显示技术的紧密结合,成了主流配置。

LCD液晶显示屏(LCD Module , LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源以及结构件装配在仪器的组件。

触摸屏技术在我国的应用时间不是太长,但它已经成长为人们最为接受的输入方式。利用这种技术人们只需触碰屏幕就可以对主机进行操作,是人机交互更为方便,直截了当。

本文档是对LCD液晶显示屏和触摸屏驱动的设计做深入介绍。

2 LCD液晶显示屏

2.1 LCD液晶显示屏原理

液晶(Liquid Crystal):是一种介于固态和液态之间的具有规则性分子排列,及晶体的光学各向异性的有机化合物,液晶在受热到一定温度的时候会呈现透明状的液体状态,而冷却则会出现结晶颗粒的混浊固体状态,因为物理上具有液体与晶体的特性,故称之为“液晶”。

液晶显示器LCD(Liquid Crystal Display):是新型平板显示器件。显示器中的液晶体并不发光,而是控制外部光的通过量。当外部光线通过液晶分子时,液晶分子的排列扭曲状态不同,使光线通过的多少就不同,实现了亮暗变化,可重现图像。液晶分子扭曲的大小由加在液晶分子两边的电压差的大小决定。因而可以实现电到光的转换。即用电压的高低控制光的通过量,从而把电信号转换成光像。

2.2 LCD液晶显示屏分类

1.位段型液晶显示模块

位段型液晶显示模块是一种由位段型液晶显示器件与专用的集成电路组装成一体的功能部件。

2.字符型液晶显示模块

字符型液晶显示模块是由字符液晶显示器件与专用的行、列驱动器、控制器、必要的连接件以及结构件装配而成,可以显示数字和西文字符。

3.图形点阵型液晶显示模块

图形点阵型显示模块就是可以动态地显示字符和图片的LCD。图形点阵液晶模块的点阵像素连续排列,行和列在拍布中均没有空隔,不仅可以显示字符,还可以显示连续完整的图像。图形点阵型液晶显示模块有三种类型可供选择:行列驱动型,行列驱动控制型及行列控制型。

3触摸屏驱动原理概述

3.1 电阻触摸屏工作原理

电阻触摸屏是采用电阻模拟量技术。它是一层玻璃作为基层,上面涂有一层透明氧化金属(ITO氧化铟)导电层,再盖有一层玻璃或是外表面硬化处理的光滑的塑料层;内表面也涂有一层ITO导电层。它们之间有许多细小的透明隔离点把两导电层隔开绝缘,每当有笔或是手指按下时,两导电层就相互接触。而形成电路。导电层的两端都涂有一条银胶,称为该工作面的一对电极。上下两个导电层一个是水平方向,一个是竖直方向,分别用来测量X 和Y的坐标位置。在水平面上的电极称为X+电极和X-电极,在竖直平面的电极称为Y+电极和Y-电极。工作时,两个电极根据测量需要提供参考电压或是作为测量端对接触点的位置进行测量。当测量接触点X坐标的时候,导电层上的X+电极和X-电极分别上参考电压和地;Y 电极不加电压,那么X电极间会形成均匀的电压分布,用Y+电极作为测量点,得到的电压值通过A/D转换,就可对应地判断出接触点的X坐标。Y坐标亦是类似,只需改成对Y电极加电压而X电极不加电压即可。

图4-1 电阻屏原理图

3.2 触摸屏控制实现

对触摸屏的控制有专用的控制芯片。触摸屏的控制芯片主要完成两个任务:一是完成电极电压的切换,二是采集接触点处的电压值并实现A/D转换。

触摸屏控制芯片主要由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受位置信号后送至触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给MPU,同时它能接收MPU发来的命令并加以执行。

4 设计目标

基于STM32硬件开发平台与3寸液晶屏组成液晶显示与触摸屏人机交互系统。

5 系统硬件设计

本实验的主要硬件由STM32微处理器的FSMC 接口,3寸屏时序转换板以及触摸屏控制板组成。

图5-1 硬件系统结构图

5.1 STM32微处理器FSMC 接口

FSMC 模块能够与同步或异步的存储器和16位的PC 存储器卡接口,它的主要作用是: ● 将AHB 传输信号转换到适当的外部设备协议 ● 满足访问外部设备的时序要求,所有的外部存储器共享控制器输出的地址、数据和

控制信号,每个外部设备可以通过一个唯一的片选信号加以区分。FSMC 在任一时刻只访问一个外部设备。 FSMC 具有下列主要功能:

● 具有静态存储器接口的器件包括:

——静态随机存储器(SRAM) ——只读存储器(ROM) ——NOR 闪存

——PSRAM(4个存储器块)

● 两个NAND 闪存块,支持硬件ECC 并可检测多达8K 字节数据 ● 16位的PC 卡

● 支持对同步器件的成组(Burst)访问模式,如NOR 闪存和PSRAM ● 8或16位数据总线

● 每一个存储器块都有独立的片选控制 ● 每一个存储器块都可以独立配置 ● 时序可编程以支持各种不同的器件:

——等待周期可编程(多达15个周期) ——总线恢复周期可编程(多达15个周期)

——输出使能和写使能延迟可编程(多达15周期)

——独立的读写时序和协议,可支持宽范围的存储器和时序

●PSRAM和SRAM器件使用的写使能和字节选择输出

●将32位的AHB访问请求,转换到连续的16位或8位的,对外部16位或8位器件

的访问

●具有16个字,每个字32位宽的写入FIFO,允许在写入较慢存储器时释放AHB进

行其它操作。在开始一次新的FSMC操作前,FIFO要先被清空。通常在系统复位或

上电时,应该设置好所有定义外部存储器类型和特性的FSMC寄存器,并保持它们

的内容不变;当然,也可以在任何时候改变这些设置。

FSMC包含四个主要模块:

●AHB接口(包含FSMC配置寄存器)

●NOR闪存和PSRAM控制器

●NAND闪存和PC卡控制器

●外部设备接口

FSMC框图如下:

图5-2 FSMC接口结构框图

当STM32微处理器使用FSMC接口模块来控制LCD液晶显示模块时,其接口信号用于驱动LCD的对应关系:

STM32微处理器使用FSMC接口模块与LCD英特尔8080(类似)接口示意图:

图5-3 FSMC接口模块与LCD英特尔8080接口示意图

5.2 LCD液晶显示屏介绍

本实验的LCD液晶显示器采用宇顺公司的3寸彩色液晶屏S95361,分辨率为240*400。

3TFT显示屏焊接在奋斗显示转接板上,在屏上贴有触摸屏,通过40芯的接口与V5连接。40芯接口定义如下:

图5-4 40芯接口

40芯里包含了16位数据线,读写线,命令/数据控制线,片选线,LCD硬件复位线,背光控制线以及触摸控制线。奋斗板V3和MINI就是通过这个接口来控制显示。奋斗板MINI 和V3都是选用了具有16位FSMC接口STM32F103VET6作为MCU,FSMC接口也可以称为16位并行接口,时序同I8080接口。按照显示屏驱动电路LGDP5420的手册,为了达到色彩与显示效率的平衡,奋斗板采用了16位64K色接口模式。

图5-5 16位RGB真彩图

在这个模式每个像素用5位红色6位绿色5位蓝色总共16位来表示,根据分辨率,一帧图像占用400*240*2=192000字节。

16位8080总线接口时序如下:

图5-6 总线读写时序图

5.3 触摸屏控制板

TSC2046是一款四线制触摸屏控制器,内涵12位分辨率125kHz转换速率逐步逼近型A/D转换器,它支持1.5V~5.25V范围的低电压I/O口。TSC2046还具有一个片上2.5V的参考电压,可以用于辅助输入,电池监测,和温度测量模式。

TSC2046芯片主要功能如下:

●具有四线制触摸屏接口;

●可单电源工作,工作电压范围2.2V至5.25V;

●支持1.5V至5.25V的数字I / O口;

●内部自带2.5V参考电压源;

●能直接测量电源电压(0V至6V);

●片上温度测量;

●触摸压力测量;

●具有3线制SPI通信接口;

●自动省电;

●封装小,TSSOP-16,QFN-16封装,可在VFBGA-48封装;

其功能框图如下:

图5-7 TSC2046功能框图

TSC2046最常用封装TSSOP-16引脚排列如图9所示,对应的引脚功能定义如下表所示:

图5-8 TSC2046引脚排列图

6 系统软件设计

6.1 系统软件结构

图6-1 系统软件结构

本实验的触摸模块主要的软件设计任务按功能和层次可分为如下几个部分:

1、ucos系统建立任务,包括主任务,用户界面任务,CAN报文接收任务等。

2、ucGUI图形用户界面程序,设计相关操作界面。

3、中断服务程序,主要使用的中断处理函数为USB_HP_CAN_TX_IRQHandler(),执行

CAN总线接收的中断处理。

4、硬件平台初始化程序,包括时钟,CAN模块,触摸屏等等的初始化。

5、LCD的底层驱动函数。

6.2 头文件设计

本实验由于使用函数以及宏定义较多,自定义了头文件demo.hh。demo.h内容如下:#ifdef GLOBALS

#define EXT

#else

#define EXT extern

#endif

#define Led_ON() GPIO_SetBits(GPIOB, GPIO_Pin_5); //LED1亮

#define Led_OFF() GPIO_ResetBits(GPIOB, GPIO_Pin_5); //LED1灭

#define TP_CS() GPIO_ResetBits(GPIOB,GPIO_Pin_7) //触摸SPI片选允许

#define TP_DCS() GPIO_SetBits(GPIOB,GPIO_Pin_7) //触摸SPI片选允许

#define PEN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) //触摸检测

#define RED 0XF800

#define GREEN 0X07E0

#define BLUE 0X001F

#define BRED 0XF81F

#define GRED 0XFFE0

#define GBLUE 0X07FF;

#define BLACK 0;

6.2 硬件初始化程序

硬件平台初始化主要包括系统时钟配置,FSMC接口的LCD初始化,SPI接口级触摸屏芯片初始化,GPIO初始化等系统常用配置。

触摸屏初始化配置通过调用tp_Config()函数实现,代码如下:

void tp_Config(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

SPI_InitTypeDef SPI_InitStructure;

/* SPI1 时钟使能*/

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);

/* SPI1 SCK(PA5)、MISO(PA6)、MOSI(PA7) 设置*/

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口线速度50MHZ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用模式

GPIO_Init(GPIOA, &GPIO_InitStructure);

/* SPI1 触摸芯片的片选控制设置PB7 */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口线速度50MHZ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出模式

GPIO_Init(GPIOB, &GPIO_InitStructure);

/* 由于SPI1总线上挂接了4个外设,所以在使用触摸屏时,需要禁止其余3个SPI1 外设,才能正常工作*/

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //SPI1 SST25VF016B片选

GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; //SPI1 VS1003片选

GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //SPI1 网络模块片选

GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_SetBits(GPIOC, GPIO_Pin_4); //SPI CS1

GPIO_SetBits(GPIOB, GPIO_Pin_12); //SPI CS4

GPIO_SetBits(GPIOA, GPIO_Pin_4); //SPI NSS

/* SPI1总线配置*/

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //全双工

SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //主模式

SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8位

SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //时钟极性空闲状态时,SCK保持低电平SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //时钟相位数据采样从第一个时钟边沿开始

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //软件产生NSS

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64; //波特率控制SYSCLK/64

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //数据高位在前

SPI_InitStructure.SPI_CRCPolynomial = 7; //CRC多项式寄存器初始值为7

SPI_Init(SPI1, &SPI_InitStructure);

/* SPI1 使能*/

SPI_Cmd(SPI1,ENABLE);

}

FSMC接口的LCD初始化通过调用FSMC_LCD_Init()函数实现信号引脚配置等功能。函数代码如下:

/************************************************************************* * 名称:void FSMC_LCD_Init(void)

* 功能:基于FSMC接口的16位TFT接口初始化

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

**************************************************************************/ void FSMC_LCD_Init(void)

{

FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;

FSMC_NORSRAMTimingInitTypeDef p;

GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); //使能FSMC接口时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //背光控制

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽输出模式

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式最大速度50MHz

GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_SetBits(GPIOD, GPIO_Pin_13); //打开背光

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TFT 复位脚

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //通用推挽输出模式

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式最大速度50MHz

GPIO_Init(GPIOE, &GPIO_InitStructure);

/* 启用FSMC复用功能,定义FSMC D0---D15及nWE, nOE对应的引脚*/

/* 设置PD.00(D2), PD.01(D3), PD.04(nOE), PD.05(nWE), PD.08(D13), PD.09(D14), PD.10(D15),

PD.14(D0), PD.15(D1) 为复用上拉*/

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 |

GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |

GPIO_Pin_14 | GPIO_Pin_15;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大速度50MHz

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用模式

GPIO_Init(GPIOD, &GPIO_InitStructure);

/* 设置PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), PE.14(D11), PE.15(D12) 为复用上拉*/

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |

GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 |

GPIO_Pin_14 | GPIO_Pin_15;

GPIO_Init(GPIOE, &GPIO_InitStructure);

/* FSMC NE1 配置PD7 */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

GPIO_Init(GPIOD, &GPIO_InitStructure);

/* FSMC RS配置PD11-A16 */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ;

GPIO_Init(GPIOD, &GPIO_InitStructure);

p.FSMC_AddressSetupTime = 0x02;

p.FSMC_AddressHoldTime = 0x00;

p.FSMC_DataSetupTime = 0x05;

p.FSMC_BusTurnAroundDuration = 0x00;

p.FSMC_CLKDivision = 0x00;

p.FSMC_DataLatency = 0x00;

p.FSMC_AccessMode = FSMC_AccessMode_B;

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;

FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;

FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;

FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth =

FSMC_MemoryDataWidth_16b;

FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =

FSMC_BurstAccessMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;

FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive =

FSMC_WaitSignalActive_BeforeWaitState;

FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;

FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;

FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;

FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;

FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

/* 使能FSMC BANK1_SRAM 模式*/

FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);

}

6.3 3寸LCD模块驱动程序

/****************************************************************************

* 本例程在奋斗版STM32开发板V5上调试通过

* 文件名: Fun.c

* 内容简述:

* 文件历史:

* 版本号日期作者说明

* v1.0 2013-10 xjd

*****************************************************************************/ #include "fsmc_sram.h"

#include "font.h"

#include "demo.h"

#define Bank1_LCD_D ((uint32_t)0x60020000) //disp Data ADDR

#define Bank1_LCD_C ((uint32_t)0x60000000) //disp Reg ADDR

void LCD_Init(void);

void LCD_WR_REG(unsigned int index);

void LCD_WR_CMD(unsigned int index,unsigned int val);

void LCD_WR_Data(unsigned int val);

void LCD_test(void);

void LCD_clear(unsigned int p);

void Delay(__IO uint32_t nCount);

unsigned short LCD_RD_data(void);

extern void lcd_rst(void);

extern void Delay(__IO uint32_t nCount);

void TFT_CLEAR(u8 x,u16 y,u8 len,u16 wid);

void TFT_DrawPoint(u8 x,u16 y);

void TFT_ShowChar(u8 x,u16 y,u8 num);

void TFT_ShowNum(u8 x,u16 y,u32 num);

void TFT_ShowString(u8 x,u16 y,const u8 *p);

void TFT_ShowBmp(u8 x,u16 y,u8 lenth,u16 wide,const u8 *p);

u16 POINT_COLOR=RED; //默认红色

/**************************************************************************** * 名称:LCD_WR_REG(unsigned int index)

* 功能:FSMC写显示器寄存器地址函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ void LCD_WR_REG(unsigned int index)

{

*(__IO uint16_t *) (Bank1_LCD_C)= index;

}

/**************************************************************************** * 名称:void LCD_WR_CMD(unsigned int index,unsigned int val)

* 功能:FSMC写显示器寄存器数据函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/

void LCD_WR_CMD(unsigned int index,unsigned int val)

{

*(__IO uint16_t *) (Bank1_LCD_C)= index;

*(__IO uint16_t *) (Bank1_LCD_D)= val;

}

/**************************************************************************** * 名称:unsigned short LCD_RD_data(void)

* 功能:FSMC读显示区16位数据函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ unsigned short LCD_RD_data(void){

unsigned int a=0;

a=*(__IO uint16_t *) (Bank1_LCD_D); //空操作

a=*(__IO uint16_t *) (Bank1_LCD_D); //读出的实际16位像素数据

return(a);

}

/**************************************************************************** * 名称:LCD_WR_Data(unsigned int val)

* 功能:FSMC写16位数据函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ void LCD_WR_Data(unsigned int val)

{

*(__IO uint16_t *) (Bank1_LCD_D)= val;

}

void LCD_WR_Data_8(unsigned int val)

{

*(__IO uint16_t *) (Bank1_LCD_D)= val;

}

/**************************************************************************** * 名称:void Delay(__IO uint32_t nCount)

* 功能:延时函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ void Delay(__IO uint32_t nCount)

{

for(; nCount != 0; nCount--);

}

//

/**************************************************************************** * 名称:void LCD_Init(void)

* 功能:2.4 寸TFT 初始化函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ void LCD_Init(void)

{ unsigned int i;

//lcd_rst();

GPIO_ResetBits(GPIOE, GPIO_Pin_1); //硬件复位

Delay(0x1AFFf);

GPIO_SetBits(GPIOE, GPIO_Pin_1 );

Delay(0x1AFFf);

LCD_WR_CMD(0x0000, 0x00000);

LCD_WR_CMD(0x0000, 0x00000);

LCD_WR_CMD(0x0000, 0x00000);

LCD_WR_CMD(0x0000, 0x00000);

//{time, 0010 ,ms}

LCD_WR_CMD(0x0400, 0x06200);

LCD_WR_CMD(0x0008, 0x00808);

LCD_WR_CMD(0x0300, 0x00C00);//gamma

LCD_WR_CMD(0x0301, 0x05A0B);

LCD_WR_CMD(0x0302, 0x00906);

LCD_WR_CMD(0x0303, 0x01017);

LCD_WR_CMD(0x0304, 0x02300);

LCD_WR_CMD(0x0305, 0x01700);

LCD_WR_CMD(0x0306, 0x06309);

LCD_WR_CMD(0x0307, 0x00C09);

LCD_WR_CMD(0x0308, 0x0100C);

LCD_WR_CMD(0x0309, 0x02232);

LCD_WR_CMD(0x0010, 0x00016);//69.5Hz

LCD_WR_CMD(0x0011, 0x00101);//

LCD_WR_CMD(0x0012, 0x00000);//

LCD_WR_CMD(0x0013, 0x00001);//

LCD_WR_CMD(0x0100, 0x00330);//BT,AP

LCD_WR_CMD(0x0101, 0x00237);//DC0,DC1,VC

LCD_WR_CMD(0x0103, 0x00F00);//VDV

LCD_WR_CMD(0x0280, 0x06100);//VCM

LCD_WR_CMD(0x0102, 0x0C1B0);//VRH,VCMR,PSON,PON

//{time, 0100 ,ms}

LCD_WR_CMD(0x0001, 0x00100);

LCD_WR_CMD(0x0002, 0x00100);

LCD_WR_CMD(0x0003, 0x01030);

LCD_WR_CMD(0x0009, 0x00001);

LCD_WR_CMD(0x000C, 0x00000);

LCD_WR_CMD(0x0090, 0x08000);

LCD_WR_CMD(0x000F, 0x00000);

LCD_WR_CMD(0x0210, 0x00000);

LCD_WR_CMD(0x0211, 0x000EF);

LCD_WR_CMD(0x0212, 0x00000);

LCD_WR_CMD(0x0213, 0x0018F);//432=1AF, 400=18F

LCD_WR_CMD(0x0500, 0x00000);

LCD_WR_CMD(0x0501, 0x00000);

LCD_WR_CMD(0x0502, 0x0005F);

LCD_WR_CMD(0x0401, 0x00001);

LCD_WR_CMD(0x0404, 0x00000);

//{time, 0100 ,ms}

LCD_WR_CMD(0x0007, 0x00100);//BASEE

//{time, 0100 ,ms}

LCD_WR_CMD(0x0200, 0x00000);

LCD_WR_CMD(0x0201, 0x00000);

LCD_WR_CMD(0x200, 0);

LCD_WR_CMD(0x201, 0);

*(__IO uint16_t *) (Bank1_LCD_C)= 0x202; //准备写数据显示区

for(i=0;i<96000;i++)

{

LCD_WR_Data(0xffff); //用黑色清屏

}

}

/**************************************************************************** * 名称:u32 abs(s32 res)

* 功能:取绝对值函数

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ u32 abs(s32 res)

{

if(res<0)return -res;

else return res;

}

/**************************************************************************** * 名称:u32 mn(u8 m,u8 n)

* 功能:

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:无

****************************************************************************/ u32 mn(u8 m,u8 n)

{

u32 result=1;

while(n--)result*=m;

return result;

}

6.4 触摸坐标获取程序

TPReadX()和TPReadY()函数用于读取触摸屏X轴数据和触摸屏Y轴数据。

/**************************************************************************** * 名称:u16 TPReadX(void)

* 功能:触摸屏X轴数据读出

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:

****************************************************************************/ u16 TPReadX(void)

{

u16 x=0;

TP_CS(); //选择XPT2046

Delay(20); //延时

SPI_WriteByte(0x90); //设置X轴读取标志

Delay(20); //延时

x=SPI_WriteByte(0x00); //连续读取16位的数据

x<<=8;

x+=SPI_WriteByte(0x00);

Delay(20); //禁止XPT2046

TP_DCS();

x = x>>3; //移位换算成12位的有效数据0-4095

return (x);

}

/**************************************************************************** * 名称:u16 TPReadY(void)

* 功能:触摸屏Y轴数据读出

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:

****************************************************************************/ u16 TPReadY(void)

{

u16 y=0;

TP_CS(); //选择XPT2046

Delay(20); //延时

SPI_WriteByte(0xd0); //设置Y轴读取标志

Delay(20); //延时

y=SPI_WriteByte(0x00); //连续读取16位的数据

y<<=8;

y+=SPI_WriteByte(0x00);

Delay(20); //禁止XPT2046

TP_DCS();

y = y>>3; //移位换算成12位的有效数据0-4095

return (y);

}

/**************************************************************************** * 名称:void Read_XPT2046(void)

* 功能:读取触摸坐标,进行采样计算

* 入口参数:无

* 出口参数:无

* 说明:

* 调用方法:

****************************************************************************/ void Read_XPT2046(void)

{

float X1,Y1;

u8 t,t1,count=0;

u16 databuffer[2][30]; //触摸坐标过采样缓冲区

u16 temp=0;

do{ //循环读数30次X=TPReadX();

驱动电路设计

驱动电路设计 在单片机采集完工件的温度信号后,通过算法计算出下一个工件的节拍,确定下一个工件的推出时间后,就要发出驱动信号,通过驱动电路驱动气缸。 本部分的设计思路是:单片机发出控制信号后,通过三极管驱动继电器,通过继电器的二次触点与气缸相连,驱动气缸。 3.3.1继电器的选择 气缸的额定电压220V,额定电流3A,根据气缸的电气参数,我们继电器选择汇科公司的HK4100F-DC5V-SH型号的继电器。 HK4100F-DC5V-SH的主要技术参数: 1.触点参数 触点形式:1C(SPDT)一组转换触点; 触点负载:3A 220V AC/30V DC; 阻抗:≤100mΩ; 额定电流:3A; 电气寿命:≥10万次; 机械寿命:≥1000万次; 2.线圈参数 阻值(±10%):120Ω; 线圈功耗:0.2W; 额定电压:DC 5V; 吸合电压:DC 3.75V; 释放电压:DC 0.5V; 工作温度:-25℃~+75℃; 绝缘电阻:≥100MΩ; 线圈与触点间耐压:4000V AC/1分钟; 触点与触点间耐压:750 V AC/1分钟; 转换型(Z型)这是触点组型。这种触点组共有三个触点,即中间是动触点,上下各一个静触点。线圈不通电时,动触点和其中一个静触点断开和另一个闭合,线圈通电后,动触点就移动,使原来断开的成闭合,原来闭合的成断开状态,达到转换的目的。这样的触点组称为转换触点。用“转”字的拼音字头“z”表示。 3.3.2 三极管的选择 因为AT89C52单片机的I/O口输出电流很小,极限值为15mA。所以要用三极管放大来驱动继电器。 1.功率PCM:大于5V×继电器电流(5×40mA=0.2W)的两倍;

dcdc驱动线路设计模块

DCDC驱动电路设计规范 2002年05月30日发布2002年05月30日实施艾默生网络能源有限公司

前言 本规范于2002.05.30首次发布。 本规范起草单位:研发业务管理部、一次电源开发部 本规范执笔人:茹永刚 本规范主要起草人:茹永刚、方旺林、吴建华、周代文、张华健、张强本规范标准化审查人:林攀 本规范批准人:方强 本规范修改记录:

更改信息登记表

目录 摘要 (5) 缩写词/关键词/解释 (5) 1.来源 (5) 2.适用范围 (5) 3.规范满足的技术指标(特征指标) (5) 4.详细电路图................... (5) 5.工作原理简介 (6) 6.设计、调试要点 (6) 7.局部PCB版图(可选项)................. .. (7) 8.元器件明细表(详见附录)................................. . (7) 9.设计实例 (7) 10.附录 (9) 附录1.元器件明细表 (9) 附录2.应用反例(可选项) (9)

摘要 本规范介绍了一种常用的MOSFET驱动线路,该电路适用于全桥、半桥等互补对称驱动电路(双正激线路同名端需更改),可以有效的消除由于MOSFET米勒效应引起的误导通。线路简单成本较低。 关键词 米勒效应、导通时间、关断时间 缩略词解释 一来源 本规范中的电路来源于H5415Z模块的实际应用,已经通过大批量运行得到验证, 二适用范围 该单元电路可用于一般的有双管驱动需求的整流模块中,如一次电源新50A整流模块、新25A整流模块、100A整流模块等等。 三规范满足的技术指标(特征指标) 驱动在新50A中的使用指标为: ——工作频率:80K ——驱动电压:12.5V ——驱动功率:1.23W(DC/DC管子采用IRFP460A) 四详细的电路图

直流电机驱动电路设计

直流电机驱动电路设计 一、直流电机驱动电路的设计目标 在直流电机驱动电路的设计中,主要考虑一下几点: 1. 功能:电机是单向还是双向转动?需不需要调速?对于单向的电机驱动,只要用一个大功率三极管或场效应管或继电 器直接带动电机即可,当电机需要双向转动时,可以使用由4个功率元件组成的H桥电路或者使用一个双刀双掷的继电器。 如果不需要调速,只要使用继电器即可;但如果需要调速,可以使用三极管,场效应管等开关元件实现PWM(脉冲宽度调制)调速。 2. 性能:对于PWM调速的电机驱动电路,主要有以下性能指标。 1)输出电流和电压范围,它决定着电路能驱动多大功率的电机。 2)效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防止共态导通(H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。 3)对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。 4)对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。 5)可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,电路都是安全的。 二、三极管-电阻作栅极驱动

1.输入与电平转换部分: 输入信号线由DATA引入,1脚是地线,其余是信号线。注意1脚对地连接了一个2K欧的电阻。当驱动板与单片机分别供电时,这个电阻可以提供信号电流回流的通路。当驱动板与单片机共用一组电源时,这个电阻可以防止大电流沿着连线流入单片机主板的地线造成干扰。或者说,相当于把驱动板的地线与单片机的地线隔开,实现“一点接地”。 高速运放KF347(也可以用TL084)的作用是比较器,把输入逻辑信号同来自指示灯和一个二极管的2.7V基准电压比较,转换成接近功率电源电压幅度的方波信号。KF347的输入电压范围不能接近负电源电压,否则会出错。因此在运放输入端增加了防止电压范围溢出的二极管。输入端的两个电阻一个用来限流,一个用来在输入悬空时把输入端拉到低电平。 不能用LM339或其他任何开路输出的比较器代替运放,因为开路输出的高电平状态输出阻抗在1千欧以上,压降较大,后面一级的三极管将无法截止。 2.栅极驱动部分: 后面三极管和电阻,稳压管组成的电路进一步放大信号,驱动场效应管的栅极并利用场效应管本身的栅极电容(大约 1000pF)进行延时,防止H桥上下两臂的场效应管同时导通(“共态导通”)造成电源短路。 当运放输出端为低电平(约为1V至2V,不能完全达到零)时,下面的三极管截止,场效应管导通。上面的三极管导通,场效应管截止,输出为高电平。当运放输出端为高电平(约为VCC-(1V至2V),不能完全达到VCC)时,下面的三极管导通,场效

驱动模块、桩模块、单元测试

驱动模块: 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。传统的单元测试包括了驱动模块(driver)和桩模块(stub)。驱动模块的目的很单纯,就是为了访问类库的属性和方法,来检测类库的功能是否正确; Normal002falsefalse false EN-US KO X-NONE MicrosoftInternetExplorer4 如果被测试模块中的函数是提供给其他函数调用的,在设计测试用例时就应该设计驱动模块(Driver)。 举例来说:驱动模块(Driver)可以通过模拟一系列用户操作行为,比如选择用户界面上的某一个选项或者按下某个按钮等,自动调用被测试模块中的函数。驱动模块(Driver)设置,使对模块的测试不必与用户界面真正交互。 桩模块: 桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。主模块作为驱动模块,与之直接相连的模块用桩模块代替。在集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。 如果被测试的单元模块需要调用其他模块中的功能或者函数(method),我们就应该设计一个和被调用模块名称相同的桩模块(Stub)来模拟被调用模块。这个桩模块本身不执行任何功能仅在被调用时返回静态值来模拟被调用模块的行为。 举例说明:如果被测试单元中需要调用另一个模块customer的函数getCustomerAddress(customerID: Integer),这个函数应该查询数据库后返回某一个客户的地址。我们设计的同名桩模块(Stub)中的同名函数并没有真正对数据库进行查询而仅模拟了这个行为,直接返回了一个静态的地址例如"123 Newton Street"。桩模块(Stub)的设置使得单元测试的进行成为一个相对独立且简单的过程。 单元测试: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在像C++这样的面向对象的语言中,要进行测试[1]的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada

MOS管及MOS管的驱动电路设计

MOS管及MOS管的驱动电路设计 MOS管及MOS管的驱动电路设计 摘要:本文将对MOSFET的种类,结构,特性及应用电路作一简单介绍,并控讨了一下MOSFET驱动电路设计问题在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些因素。这样的电路也许是可以工作的,但并不是优秀的,作为正式的产品设计也是不允许的。 1、MOS管种类和结构 MOSFET管是FET的一种(另一种是JFET),可以被制造成增强型或耗尽型,P沟道或N沟道共4种类型,但实际应用的只有增强型的N沟道MOS管和增强型的P沟道MOS管,所以通常提到NMOS,或者PMOS指的就是这两种。右图是这两种MOS管的符号。 至于为什么不使用耗尽型的MOS管,不建议刨根问底。 对于这两种增强型MOS管,比较常用的是NMOS。原因是导通电阻小且容易制造。所以开关电源和马达驱动的应用中,一般都用NMOS。下面的介绍中,也多以NMOS为主。 在MOS管原理图上可以看到,漏极和源极之间有一个寄生二极管。这个叫体二极管,在驱动感性负载(如马达),这个二极管很重要。顺便说一句,体二极管只在单个的MOS管中存在,在集成电路芯片内部通常是没有的。下图是MOS管的构造图,通常的原理图中都画成右图所示的样子。(栅极保护用二极管有时不画) MOS管的三个管脚之间有寄生电容存在,如右图所示。这不是我们需要的,而是由于制造工艺限制产生的。寄生电容的存在使得在设计或选择驱动电路的时候要麻烦一些,但没有办法避免,在MOS管的驱动电路设计时再详细介绍。

2、MOS管导通特性 导通的意思是作为开关,相当于开关闭合。 NMOS的特性,Vgs大于一定的值就会导通,适合用于源极接地时的情况(低端驱动),只要栅极电压达到4V 或10V就可以了。 PMOS的特性,Vgs小于一定的值就会导通,使用与源极接VCC时的情况(高端驱动)。但是,虽然PMOS可以很方便地用作高端驱动,但由于导通电阻大,价格贵,替换种类少等原因,在高端驱动中,通常还是使用NMOS。 右图是瑞萨2SK3418的Vgs电压和Vds电压的关系图。可以看出小电流时,Vgs达到4V,DS间压降已经很小,可以认为导通。 3、MOS开关管损失 不管是NMOS还是PMOS,导通后都有导通电阻存在,因而在DS间流过电流的同时,两端还会有电压(如 2SK3418特性图所示),这样电流就会在这个电阻上消耗能量,这部分消耗的能量叫做导通损耗。选择导通电阻小的MOS管会减小导通损耗。现在的小功率MOS管导通电阻一般在几十毫欧左右,几毫欧的也有。 MOS在导通和截止的时候,一定不是在瞬间完成的。MOS两端的电压有一个下降的过程,流过的电流有一个上升的过程,在这段时间内,MOS管的损失是电压和电流的乘积,叫做开关损失。通常开关损失比导通损失大得多,而且开关频率越快,损失也越大。

基于L298N电机驱动模块的设计与实现

万方科技学院 模拟电子技术课程设计——基于L298N电机驱动模块的设计与实现 系部电气工程与自动化工程 专业名称电气自动化 班级电气(9)班 姓名乔梁 学号 1116202064 指导教师王允建

基于L298N电机驱动模块设计与实现 目录 一、摘要 (2) 二、步进驱动模块方案 1、方案一 (2) 2、方案二 (2) 三、硬件电路设计 3.1 L298N驱动模块 (2) 3.2 电机控制过程 (4) 3.3 步进电机模块 (6) 3.4 PCB设计 (7) 3.5 转速控制设计 (7) 3.6 基于L298N电机驱动模块的设计实物 (8) 四、实验仿真及调试 4.1 实验仿真结果 (8) 4.2 系统联调 (9) 五、总结 (9) 六、仪器清单 (10) 七、参考文献 (11)

基于L298N电机驱动模块的设计与实现 一、摘要 该设计实现了步进电机正传、反转、加速快转、减速慢转的功能,启动系统后,通过控制脉冲来控制系统,经过L298N驱动电路对脉冲进行处理,输出能直接控制步进电机的脉冲信号,在此基础上,重新分配I/O资源,同时可增加驱动芯片L298N的个数,在负载能力范围允许内,还能实现多台步进电机独立正传、反转、加速快转、减速慢转的控制。 二、步进驱动模块方案 1、方案一: A3972驱动模块是自动收发卡机的设计,是基于双工位(工作通道)的,所 以本驱动模块内部自带电机切换电路,可以驱动分时工作的两路电机,价格昂贵。 2、方案二: L298N是ST公司生产的芯片。主要特点是:工作电压高,最高工作电压可达46V,并且可以驱动两个二相电机,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号,而且电路简单,使用比较方便。 经实验比较,L298N驱动模块运行可靠,取得效果较好,而且电路的电气性能和散热性能较好,此设计选用L298N驱动模块。 三、硬件电路设计 3.1 L298N驱动模块 L298N(实物图如图一)是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈

步进电机驱动模块设计

步进电机驱动模块设计 内容: 1步进电机及其控制原理 2步进电机驱动电路设计(经Proteus测试) 3 步进电机驱动程序设计 附录步进电机驱动程序 1 步进电机及其控制原理 步进电机是一种将电脉冲转化为角位移的数字控制执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度逐步运行的【19】。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动速度和加速度,从而达到调速的目的。步进电机由于没有误差累积的特点而广泛应用于各种开环控制。 目前比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)等【20】。反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5°,但噪声和振动都很大。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5°或15°。混合式步进电机是混合了永磁式和反应式的优点。它又分为两相和五相,两相步进角一般为1.8°而五相步进角一般为0.72°。这种步进电机的应用最为广泛。 步进电机必须使用步进电机驱动器才能工作。驱动器针对每一个步进脉冲,按一定的规律向电机各相绕组通电(励磁),以产生必要的转矩,驱动转子运动。步进电机系统的性能除与电机自身的性能有关外,还与驱动器的性能有很大关系【21】。步进电机、驱动器和控制器构成了步进电机控制系统不可分割的三大部分,典型的步进电机控制系统如图4-1所示。

图4-1 步进电机控制系统 微控制器产生控制信号和脉冲信号,脉冲分配器将微控制器产生的信号脉冲转换成有一定逻辑关系的环形脉冲,功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的转动。 步进电机的控制方案常用的有以下三种【22】: (1)分立控制方案 所谓分立控制就是用电阻、电容、电感等一些元件的组合实现一定的控制功能。传统的控制方法采用电阻、电容等这些分立元件与单片机的直接相连接,而这样就有如下弊端: a.整个开关系统的可靠性得不到保证,不利于长期反复使用。 b.由分立元件设计的开关触点容易发生氧化,缩短了开关的使用寿命。 c.过多使用分立元件,浪费大量的单片机I/O资源,降低了CPU的利用率。 d.大量的使用分立元件,将影响整个系统的读取速度,不利于实时控制。 (2)单个集成芯片控制方案 随着制作工艺的发展,驱动电路部分已经做了很大的改进,开始由集成芯片代替分立元件的控制方案,较分立元件控制方案而言单个集成芯片的可靠性、读取速度、CPU的利用率都有了很大的提高,但是对于程序编写并没有太大方便性可言。 (3)联合集成芯片控制方案 使用联合集成电路芯片不仅可以避免分立元件控制方案的弊端,又可以大大减化程序。 经过以上的比较,本轮椅床的步进电机控制方案选择联合集成芯片控制。2步进电机驱动电路设计 由1节步进电机驱动选择联合集成芯片控制方案,其抗干扰性强,非常适合作为小功率步进电机的专用驱动芯片。在本设计中,选用了L297和L298集成电路作为步进电机的驱动芯片。 L297和L298可以方便的组成步进电机驱动控制器,其中L297是步进电机控制

各种单元模块电路

相位超前的RC移相式振荡电路图 简单实用的开关电源电路 12v开关电源电路图 12v开关电源电路图 +12V、0.5A单片开关稳压电源的电路如图所示。其输出功率为6W。当输入交流电压在110~260V 范围内变化时,电压调整率Sv≤1%。当负载电流大幅度变化时,负载调整率SI=5%~7%。为简化电路,这里采用了基本反馈方式。

接通电源后,220V交流电首先经过桥式整流和C1滤波,得到约+300V的直流高压,再通过高频变压器的初级线圈N1,给WSl57提供所需的工作电压。从次级线圈N2上输出的脉宽调制功率信号,经VD7、C4、L和C5进行高频整流滤波,获得+12V、0.5A的稳压输出。反馈线圈N3上的电压则通过VD6、R2、C3整流滤波后,将控制电流加至控制端C上。由VD5、R1,和C2构成的吸收回路,能有效抑制漏极上的反向峰值电压。该电路的稳压原理分析如下:当由于某种原因致使Uo↓时,反馈线圈电压及控制端电流也随之降低,而芯片内部产生的误差电压Ur↑时,PWM比较器输出的脉冲占空比D ↑,经过MOSFET和降压式输出电路使得Uo↑,最终能维持输出电压不变。反之亦然。 单端反激开关电源变压器设计总结 单端反激开关电源的变压器实质上是一个耦合电感,它要承担着储能、变压、传递能量等工作。下面对工作于连续模式和断续模式的单端反激变换器的变压器设计进行了总结。 1、已知的参数 这些参数由设计人员根据用户的需求和电路的特点确定,包括:输入电压Vin、输出电压Vout、每路输出的功率Pout、效率η、开关频率fs(或周期T)、线路主开关管的耐压Vmos。 2、计算 在反激变换器中,副边反射电压即反激电压Vf与输入电压之和不能高过主开关管的耐压,同时还要留有一定的裕量(此处假设为150V)。反激电压由下式确定:Vf=VMos-VinDCMax-150V 反激电压和输出电压的关系由原、副边的匝比确定。所以确定了反激电压之后,就可以确定原、副边的匝比了。 Np/Ns=Vf/Vout

无人车驱动模块设计报告

无人车电机驱动设计报告 学院:仪器与电子学院 专业:测控技术与仪器 学号姓名:1306014208王浩宇 学号姓名:1306014211崔恒瑞 学号姓名:1306014235高晟淇 学号姓名:1306014244张可迪 起迄日期: 2016年4月5日~4月15日设计地点: 主楼12层1217# 指导教师: 唐军、申冲、段俊萍 2016年4 月17 日

无人车电机驱动设计报告 一.问题综述 现代工业中,自动化发展占据了行业发展的重要地位,自动化是当今工业中的重中之重[1],为了与时代的发轨迹接轨,从细微处培养学生,现我们需要对一飞思卡尔C型车模设计电机驱动电路[2],要求可正常启动电机、按控制信号进行速度控制并可以进行正反转切换, 二.设计思路 驱动电机需要较大电流,在使用专用电池作为电源来满足电源需求可以提供足够电流的同时,还需要保证传输线路也可承受足够大的电流,因并且为了延长电池使用时间,提高电路效率,需要减小在传输线路上的功耗,还可减小电路体积。[4] 三.方案比较与论证 3.1 电路拓扑选择 可选拓扑结构有四分之一桥,半桥,以及全桥电路,四分之一桥电路简单,但对开关管压力较大;半桥电路驱动能力强,对开关管压力较小,但不能正反转;全桥驱动结构相较而言稍复杂[3],如图1,但其驱动方向灵活,负载能力极强,因此选用全桥电路作为基本驱动拓扑。驱动原理如图2。 图1 全桥

图2 全桥驱动示意图 3.2 开关器件选择 可选用的开关器件有继电器,mos管,三极管,晶闸管,igbt等,其中,继电器导通电阻极低,可通过电流较大,但由于对控制信号的频响性能较差,无法适应上千赫兹的控制信号,因此不予考虑; 三极管对控制信号敏感,控制信号的幅值可任意选择,但导通电阻过大,在驱动电机时的大电流情况下功耗较大,同时还会有较大压降,不予考虑。 晶闸管本身在作为驱动开关管时具有物理缺陷,在此不予讨论。 场管对控制信号要求较高,有导通下限电压,但导通后导通电阻可以只有几毫欧,可承受较大电流,同时对高频信号的频响性能很好,因此选择大功率场管作为驱动电路的开关器件。 在此我们选择IRF3710作为开关管,其具有100V漏源耐压,最大57A长时间漏级电流,以及导通电阻最大仅23mΩ的优秀特性。在本次设计中其漏源电压不大于30V,导通时间不大于0.1ms,如图3,在安全使用区域内。

电机及电机驱动模块设计

电机及电机驱动模块设计 1.电机选择 通过对各种电机性能的初步查询和在单片机开发板上对于步进马达和PWM直流电机的实验,我们了解到:步进电机的优点是可以精确定位,但缺点是耗电量大,若采用电池供电,可能不能长时间工作,此外,采用步进电机需要两块驱动板,控制复杂。而直流电机的缺点是不能实现精确定位,但是可以通过调节PWM波实现调速,但在电源相同的条件下,速度较慢;优点是耗电小。由于设备有限,我们无法精确测量两种电机工作时的实际工作电流,上述比较出自文献[1]与产品参数的分析。结合我们的需求,最终决定选择普通直流电机。2.增加驱动、实现换向、实现调速 由于电机属于大功率的器件,而单片机的I/O口所提供的电流往往十分有限,所以必须外加驱动电路来增大驱动;由于我们小车中即将使用的直流电机没有电刷,且供电电源为单电源,所以需要设计一个电子开关以实现换向功能。通过对电机驱动原理的研究得知使用H 桥电路可以实现这两个功能。 从图中可以看出,在上面电路由于内部采用了三极管,三极管本身起到放大的作用,即增大了驱动电流;假设开关A、D接通,电机正向转动,而开关B、C接通时,直流电机将反向转动,从而实现了电机的正反控制。 依据这个原理,我们决定直接使用结构较为简单、价格便宜且可靠性高的电机驱动芯片来连接单片机与电机以减少电路搭建的麻烦和硬件设计的复杂性。电机驱动芯片L298N内部的组成其就是H桥驱动电路,其内部电路图如下:

各引脚功能以及性能参数再次不做赘述。因为小车中打算采用两个直流电机,而选择的L298的特点是工作电压高,输出电流大。因此决定设计单片机和电机独立供电,即控制电路和驱动电路双电源供电。优点是可以保证电源功率和电压大小满足需要,可提高系统的稳定性。缺点是电机驱动模块中独立电影的增加会使车体变重,可能影响小车的运行效果。 最后将L298的引脚正确连接到单片机PO口并拉上电阻,通过Keil对单片机编写程序让小车上的两个电机正反转即可实现小车前进。目前已经写出使两个电机正转的程序,等待测试。小车左右转向的程序设计还未完成。 结构框图

电机驱动器模组方案

电机驱动器模组方案 电机是许多电器的主要组成部分之一,而控制电机运转的电机驱动器则是电机的灵魂所在。本文将为您介绍由安森美半导体新推出电机驱动器模组方案,并了解其如何搭配Arduino MICRO一起运作,来简化电机驱动设计方案。 安森美半导体电机驱动模组解决方案套件搭配Arduino MICRO*1来简化电机驱动设计 电机驱动器的种类相当多,以配合驱动不同的电机种类(步进、直流有刷、直流无刷),这使得在设计电机驱动方案时变得比较复杂,对于需要使用电机来开发应用的设计工程师而言,得花费大量时间来选择器件。该过程通常需要深入了解器件的详情,包括规格、功能和外部电路设计配置。工程师们也需要在原型设计上投入大量资源和精力,它需要调整外部组件或者所使用电机的行为模式,甚至得找到一个案例来研究样本,通常在完成最终设计之前需要进行多次迭代。如今,已经有更方便的做法,可以大幅简化电机驱动设计。以下将先介绍一款安森美半导体的电机驱动器,以及其电机驱动模组解决方案。 首先,我们想要先介绍安森美半导体的电机驱动器LV8548MC,它可以作为双通道H桥直流电机驱动器或单通道步进驱动器,占用空间小,外部组件数量最少。它支持4V至16V 的单电源供电,并兼容3.3V和5V控制输入。LV8548MC采用高达1A直流驱动电流,支持正向/反向、制动、续流,并且具有RDSON 《1(典型值),低待机电流(《1uA)和在150C(最小值)时热关断功能。目标应用包括冰箱,热水器,POS打印机和舞台灯等。LV8548MC专注于需要简单驱动单一电源的电机,且无需进行外部调整的应用,以及需要更小的电路板空间来实现小型化的应用,除了紧凑型10引脚封装的旁路电容外,不需要其他外部组件。LV8548MC具备低功耗、低待机电流1uA(最大值)和低工作电流,支持高工作电压和最大额定值为4.0V至16V,电源最大额定值为20V。LV8548MC是12V步进电机和有刷直流电机控制应用的最佳解决方案。 电机驱动器模组解决方案套件可缩短开发流程,使工程师能够轻松快速地驱动不同类型电机的设计和原型设计解决方案。安森美半导体的电机驱动器模组解决方案套件提供了一个

逆变电源系统的隔离及驱动模块和控制电路及控制芯片

逆变电源系统的隔离及驱动模块和控制电路及控制芯片 文章转载自https://www.doczj.com/doc/6713911721.html,广州市科瑞爱特科技公司 功率MOSFET是一种多子导电的单极性电压控制型器件,具有开关动作快、输入阻抗大、驱动功率小、无二次击穿、驱动电路简单、安全工作区大等优点,特别是由于具有正温度系数,可以自动均衡电流,所以在输入电压低、工作电流大的逆变电源系统中可以将几只功率MOSFET并联以提高电流容量。在本系统中,将三只功率MOSFET并联,使电流容量增大到三倍。逆变器将整流后的直流电压转换成特定频率的SPWM波,再经过电感和电容滤波将其转换为220V的标准正弦波电压,其中电感用变压器次级的漏感代替,采用这种方式使系统结构简单,噪音低,并且能有效地抑制波形中的高次谐波成分。 SPWM控制方式预先将0~360°的正弦值制成表格存于EPROM中。由于开关驱动信号是利用正弦波参考信号与一个三角载波信号互相比较而生成的,常分为单极性和双极性两种情况。在开关频率相同的情况下,由于双极性SPWM控制产生的正弦波,其谐波含量和开关损耗均大于单极性,系统采用的是单极性SPWM控制。以下是逆变电源系统的隔离及驱动模块和控制电路及控制芯片: 隔离和驱动电路是将Intel80C196MC芯片输出的SPWM信号加以隔离、放大,形成驱动各功率器件开关动作信号的电路。它是一光电耦合器件,但又不同于普通的光耦,由于其输出级是经推挽电路放大输出的,所以它不但能使原副边隔离,而且具有驱动能力,特别适合于驱动中等功率的MOSFET和IGBT。同时,在工程应用中为了从硬件上可靠防止同一桥臂上的两个功率器件上下直通,故将驱动同一桥臂功率器件的两个TLP250的脚2和脚3互相对接,形成互锁电路,从而有效地防止了桥臂功率器件的直通故障。 控制电路主要通过对直流电流、直流电压、交流电流、交流电压等信号的检测,实现系统的过压、欠压、过流、过放电、过热和反时限等保护功能。控制芯片采用Intel80C196MC微处理器。 Intel80C196MC是真正的16位单片机,由于此片内集成了一个颇具特色的波形发生器(WG)单元,从而大大简化了用于产生SPWM波形的软件和外部硬件电路。波形发生器有3个独立的模块,每个模块均包含一个数值比较器、比较寄存器、比较缓冲器、无信号时间发生器和一对可编程输出驱动通道。三相波形有共同的载波频率和共同的死区时间,可编程为三角波调制方式或锯齿波调制方式,一旦启动后只要求在改变PWM占空比时加以干预,其余时间均不占用CPU。 波形发生器由时基发生器、相驱动通道和控制保护电路组成。 时基发生器为PWM波形建立载波周期。80C196MC通过从重装载寄存器(WG-RELOAD)中读入数据来确定载波周期的长短,因此用户可以通过在程序中改变重装载寄存器的值来改变载波周期值。 相驱动通道确定PWM波形的占空比。每相驱动通道都有各自的相比较缓冲寄存器(WG-COMPX),一般情况下,PWM波形的占空比由工作方式、重装载寄存器和相比较缓冲寄存器这三个方面来决定。 控制电路包括控制寄存器(WG-CONTROL)和输出寄存器(WG-OUT)。同时,CPU内部还有一个保护电路用于监测EXTINT输入端,以便对异常情况进行处理。

基于STM32F103的触摸屏驱动模块设计

基于STM32F103x的LCD触摸屏驱动的设计 姓名:______徐进东_______ 学号:______10030227_____ 班级:______10 计卓______

目录 1 概述 (3) 2 LCD液晶显示屏 (3) 2.1 LCD液晶显示屏原理 (3) 2.2 LCD液晶显示屏分类 (3) 3 触摸屏驱动原理概述 (4) 3.1 电阻触摸屏工作原理 (4) 3.2 触摸屏控制实现 (4) 4 设计目标 (4) 5 系统硬件设计 (5) 5.1 STM32微处理器FSMC接口 (5) 5.2 LCD液晶显示屏介绍 (7) 5.3 触摸屏控制板 (8) 6 系统软件设计 (10) 6.1 系统软件结构 (10) 6.2 头文件设计 (11) 6.2 硬件初始化程序 (11) 6.3 3寸LCD模块驱动程序 (14) 6.4 触摸坐标获取程序 (19) 6.5 LCD控制器控制程序 (22) 7 总结 (24)

1 概述 LCD液晶显示屏与触摸屏在嵌入式系统中的应用越来越普及。他们是非常简单、方便、自然的人机交互方式,目前广泛应用于便携式仪器、智能家电、掌上设备等领域。触摸屏与LCD液晶显示技术的紧密结合,成了主流配置。 LCD液晶显示屏(LCD Module , LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源以及结构件装配在仪器的组件。 触摸屏技术在我国的应用时间不是太长,但它已经成长为人们最为接受的输入方式。利用这种技术人们只需触碰屏幕就可以对主机进行操作,是人机交互更为方便,直截了当。 本文档是对LCD液晶显示屏和触摸屏驱动的设计做深入介绍。 2 LCD液晶显示屏 2.1 LCD液晶显示屏原理 液晶(Liquid Crystal):是一种介于固态和液态之间的具有规则性分子排列,及晶体的光学各向异性的有机化合物,液晶在受热到一定温度的时候会呈现透明状的液体状态,而冷却则会出现结晶颗粒的混浊固体状态,因为物理上具有液体与晶体的特性,故称之为“液晶”。 液晶显示器LCD(Liquid Crystal Display):是新型平板显示器件。显示器中的液晶体并不发光,而是控制外部光的通过量。当外部光线通过液晶分子时,液晶分子的排列扭曲状态不同,使光线通过的多少就不同,实现了亮暗变化,可重现图像。液晶分子扭曲的大小由加在液晶分子两边的电压差的大小决定。因而可以实现电到光的转换。即用电压的高低控制光的通过量,从而把电信号转换成光像。 2.2 LCD液晶显示屏分类 1.位段型液晶显示模块 位段型液晶显示模块是一种由位段型液晶显示器件与专用的集成电路组装成一体的功能部件。 2.字符型液晶显示模块 字符型液晶显示模块是由字符液晶显示器件与专用的行、列驱动器、控制器、必要的连接件以及结构件装配而成,可以显示数字和西文字符。 3.图形点阵型液晶显示模块 图形点阵型显示模块就是可以动态地显示字符和图片的LCD。图形点阵液晶模块的点阵像素连续排列,行和列在拍布中均没有空隔,不仅可以显示字符,还可以显示连续完整的图像。图形点阵型液晶显示模块有三种类型可供选择:行列驱动型,行列驱动控制型及行列控制型。

教你做2SD315AI的驱动电路设计

教你做2SD315AI的驱动电路设计 有 52 人阅读 (关于:脉冲变压器,逆变器,三极管,电源,电阻,开关,IGBT模块,驱动电路,驱动器,IC,光纤) 在实际应用中,驱动电路一般都要求尽量靠近IGBT模块,同时尽可能地缩短驱动器输出PWM脉冲信号到栅极之间的引线长度,以增强驱动回路的抗干扰性能,对于中大功率变流装置更是如此。因此,在100kVA电力机车辅助变流器的设计中,以SCALE驱动器 2SD315AI为核心的IGBT驱动板就近放置于四象限变流器和逆变器的IGBT模块上方,驱动器输出PWM脉冲信号到栅极之间的引线距离不足10cm。 驱动器工作模式选择 2SD315AI主要由LDI(LogIC to Driver Interface)、脉冲变压器、IGD(Intelligent Gate Driver)和DC/DC变换器构成,有两种工作模式可供选择:半桥模式和直接模式。驱动器的MOD管脚接地则工作在半桥模式,接电源则工作在直接模式。 在半桥工作模式中,驱动器的InA管脚作为PWM脉冲输入信号,InB管脚作为脉冲允许信号。只需在驱动器的RC1、RC2管脚外部加入简单的RC电路,便可以产生长度从100ns 到几ms的死区时间。在直接工作模式中,管脚InA和InB分别是两个通道的输入PWM 脉冲信号,两个通道之间没有进行互锁处理,也不能进行死区时间设置。 在辅助变流器的设计中,四象限变流器和逆变器的PWM脉冲信号都是由专用DSP控制器TMS320F240直接发生,通过软件可以很方便地设置死区时间,因此驱动器选取了直接工作模式。 脉冲信号传输 控制器发出的PWM脉冲信号经过一定距离的传输才能到达驱动板,这就要求解决好脉冲信号的传输问题。较长距离数字信号传输的常用方法有:光纤传输、电流环方式传输、绝缘隔离方式传输、差动方式传输以及强信号传输等。考虑到实际传输距离为两米左右,又兼顾到成本等因素,在驱动电路设计中采取了强信号传输方式。驱动器的PWM脉冲输入信号采用+15V电平,为提高信噪比,传输电流为15mA。同时,信号传输采用双绞屏蔽线,单端接地,大幅降低了噪声的影响。 脉冲信号输入处理电路 为PWM脉冲信号输入处理电路。Input A和Input B是从驱动板外部输入的PWM脉冲信号。D1、D2和D3、D4分别为A、B两个通道的脉冲钳位电路。N沟道绝缘栅场效应晶体管Q1和Q2构成互锁电路,用于防止两个PWM脉冲信号同为高电平,以避免导致IGBT击穿短路。R5、C1和R6、C2分别为A、B两通道的PWM脉冲信号的低通滤波环节,用以防止由于尖峰脉冲干扰信号而造成的IGBT误导通,可根据IGBT开关频率等因素来确定滤波时间常数。InA和InB分别接至驱动器的两个PWM脉冲输入引脚。

新型IGBT MOS驱动模块SKHI2122

-2-《国外电子元器件》1997年第8期1997年8月 图1S KH I21/22电路框图S KHI21/22混合双路I G B T 、MOSF E T 驱动器是德国西门康(SEM I KRON )公司生产的专用新型I G B T 和MOSF E T 混合驱动器。它有两路驱动器,可以直接驱动I G B T 半桥模块,典型工作频率为17k Hz 。输入为CMOS 兼容型,内部有V CE 监控和自动关断电路,可提供有效的短路保护,具体见电路框图1。在驱动半桥模块时,驱动器自动双路互锁,防止发生直通,并向用户提供“错误 (Error )”锁存信号。并且由于其采用变压器 隔离技术,驱动多路信号均只需要一路电源, 是U PS 、电焊机和逆变器应用中理想的I G 2 B T 或MOSF E T 驱动模块。S KHI21和S KHI22的内部电路结构基本相同,二者的区 别也在于电流应用对象不同,S KHI21用于驱动SEM I KRON 公司自己生产的I G B T ,而 S KHI22可用于驱动各种I G B T 模块,不过这二者都只能驱动200A 以下的I G B T 模块。 1、驱动器的内部结构和引脚功能 S KHI 21/22的引脚及尺寸图如图2所 示。各引脚功能如下: V S :电源输入端;GND :电源地端;V IN 1、V IN 2:两路信号输入端; 图2S KH21/22引脚及尺寸图 ●新特器件应用 性能优良的混合双I G B T 、MOSF E T 驱动器S KH I21/22 重庆通信学院电源技术系 张海呈 朱桂斌 卜凤生 景春光 摘要:德国西门康(SEM I KRON )公司生产的S KHI21/22混合双路I G B T MOSF E T 驱动器具有先进的监控电路,可有效防止I G B T 损坏。本文着重介绍了其内部结构功能和部分典型参数。 关键词:混合双路驱动器I G B T 互锁电路

大幅提高电路可靠性-mos的驱动保护设计

大幅提高电路可靠性:MOSFET的驱动保护电路的设计 2012-06-01 中心议题: ?功率MOSFET保护电路设计 ?功率MOSFET驱动电路的设计 ?MOSFET的驱动保护电路应用实例 解决方案: ?基于IR2130驱动模块的MOSFET驱动保护电路 功率场效应晶体管由于具有诸多优点而得到广泛的应用;但它承受短时过载的能力较弱,使其应用受到一定的限制。分析了MOSFET器件驱动与保护电路的设计要求;计算了MOSFET驱动器的功耗及MOSFET 驱动器与MOSFET的匹配;设计了基于IR2130驱动模块的MOSFET驱动保护电路。该电路具有结构简单,实用性强,响应速度快等特点。在驱动无刷直流电机的应用中证明,该电路驱动能力及保护功能效果良好。 功率场效应晶体管(Power MOSFET)是一种多数载流子导电的单极型电压控制器件,具有开关速度快、高频性能好、输入阻抗高、噪声小、驱动功率小、动态范围大、无二次击穿现象和安全工作区域(SOA)宽等优点,因此,在高性能的开关电源、斩波电源及电机控制的各种交流变频电源中获得越来越多的应用。但相比于绝缘栅双极型晶体管IGBT或大功率双极型晶体管GTR等,MOSFET管具有较弱的承受短时过载能力,因而其实际使用受到一定的限制。如何设计出可靠和合理的驱动与保护电路,对于充分发挥MOSFET功率管的优点,起着至关重要的作用,也是有效利用MOSFET管的前提和关键。文中用IR2130驱动模块为核心,设计了功率MOSFET驱动保护电路应用与无刷直流电机控制系统中,同时也阐述了本电路各个部分的设计要求。该设计使系统功率驱动部分的可靠性大大的提高。 1 功率MOSFET保护电路设计 功率场效应管自身拥有众多优点,但是MOSFET管具有较脆弱的承受短时过载能力,特别是在高频的应用场合,所以在应用功率MOSFET对必须为其设计合理的保护电路来提高器件的可靠性。功率MOSFET 保护电路主要有以下几个方面: 1)防止栅极di/dt过高:由于采用驱动芯片,其输出阻抗较低,直接驱动功率管会引起驱动的功率管快速的开通和关断,有可能造成功率管漏源极间的电压震荡,或者有可能造成功率管遭受过高的di/dt而引起误导通。为避免上述现象的发生,通常在MOS驱动器的输出与MOS管的栅极之间串联一个电阻,电阻的大小一般选取几十欧姆。 2)防止栅源极间过电压由于栅极与源极的阻抗很高,漏极与源极间的电压突变会通过极间电容耦合到栅极而产生相当高的栅源尖峰电压,此电压会使很薄的栅源氧化层击穿,同时栅极很容易积累电荷也会使栅源氧化层击穿,所以要在MOS管栅极并联稳压管以限制栅极电压在稳压管稳压值以下,保护MOS管不被击穿,MOS管栅极并联电阻是为了释放栅极电荷,不让电荷积累。

直流电机驱动电路设计

应用越来越广泛的直流电机,驱动电路设计 Source:电子元件技术| Publishing Date:2009-03-20 中心论题: ?在直流电机驱动电路的设计中,主要考虑功能和性能等方面的因素 ?分别介绍几种不同的栅极驱动电路并比较其性能优缺点 ?介绍PWM调速的实现算法及硬件电路 ?介绍步进电机的驱动方案 解决方案: ?根据实际电路情况以及要求仔细选择驱动电路 ?使用循环位移算法及模拟电路实现PWM调速 ?对每个电机的相应时刻设定相应的分频比值,同时用一个变量进行计数可实现步进电机的分频调速 直流电机驱动电路的设计目标 在直流电机驱动电路的设计中,主要考虑一下几点: 功能:电机是单向还是双向转动?需不需要调速?对于单向的电机驱动,只要用一个大功率三极管或场效应管或继电器直接带动电机即可,当电机需要双向转动时,可以使用由4个功率元件组成的H桥电路或者使用一个双刀双掷的继电器。如果不需要调速,只要使用继电器即可;但如果需要调速,可以使用三极管,场效应管等开关元件实现PWM(脉冲宽度调制)调速。 性能:对于PWM调速的电机驱动电路,主要有以下性能指标。 1。输出电流和电压范围,它决定着电路能驱动多大功率的电机。 2。效率,高的效率不仅意味着节省电源,也会减少驱动电路的发热。要提高电路的效率,可以从保证功率器件的开关工作状态和防止共态导通(H桥或推挽电路可能出现的一个问题,即两个功率器件同时导通使电源短路)入手。 3。对控制输入端的影响。功率电路对其输入端应有良好的信号隔离,防止有高电压大电流进入主控电路,这可以用高的输入阻抗或者光电耦合器实现隔离。

4。对电源的影响。共态导通可以引起电源电压的瞬间下降造成高频电源污染;大的电流可能导致地线电位浮动。 5。可靠性。电机驱动电路应该尽可能做到,无论加上何种控制信号,何种无源负载,电路都是安全的。 三极管-电阻作栅极驱动 1.输入与电平转换部分: 输入信号线由DATA引入,1脚是地线,其余是信号线。注意1脚对地连接了一个2K欧的电阻。当驱动板与单片机分别供电时,这个电阻可以提供信号电流回流的通路。当驱动板与单片机共用一组电源时,这个电阻可以防止大电流沿着连线流入单片机主板的地线造成干扰。或者说,相当于把驱动板的地线与单片机的地线隔开,实现“一点接地”。 高速运放KF347(也可以用TL084)的作用是比较器,把输入逻辑信号同来自指示灯和一个二极管的2。7V基准电压比较,转换成接近功率电源电压幅度的方波信号。KF347的输入电压范围不能接近负电源电压,否则会出错。因此在运放输入端增加了防止电压范围溢出的二极管。输入端的两个电阻一个用来限流,一个用来在输入悬空时把输入端拉到低电平。

相关主题
文本预览
相关文档 最新文档