当前位置:文档之家› STM32电机控制【重量级库函数】解析

STM32电机控制【重量级库函数】解析

STM32电机控制【重量级库函数】解析
STM32电机控制【重量级库函数】解析

STM32电机控制重量级库函数解析

Foc_svpwm.c

归属组:arithmetic

描述:PWM配置和SVPWM计算

函数:

函数功能描述输入参数输出

参数

调用函数在何处被调用

SvpwmLMotorConfig(void) 对左电机用到外设进行配置无无无foc_port.c/

FOCPortPeripheralConfig() SvpwmRMotorConfig(void) 对右电机用到外设进行配置无无无foc_port.c/

FOCPortPeripheralConfig()

SvpwmTimerSynchConfig(void) 双电机pwm控制时钟源

Timer1、8同步,配置TIM1、

TIM8、TIM5进行时钟同步无无无foc_port.c/

FOCPortInit()

SvpwmCalcDutyCycles(STATOR_VOLTAGE,u8) 又Valpha、Vbeta输入生成

SVPWM波形typedef struct //Valpha Vbeta

{

s16 V alfa;

s16 Vbeta;

}STATOR_VOLTAGE;

U8 mc_ch //电机通道,左电机or

右电机

无无foc_encoder.c/

FOCEncoderStartUp(u8 mc_ch)

foc_port.c/

FOCPortArithmeticModel(u8 mc_ch)

Foc_port.c

归属组:arithmetic

描述:FOC配置和算法接口模块

函数:

函数功能描述输入参数输出参数调用函数在何处被调用

FOCPortPeripheralConfig(void) 对电机用到外设进行配置(定

时器、ADC) 无无SvpwmLMotorConfig()

SvpwmRMotorConfig()

InjectADCConfig()

InjectADCRegularDMAConfig()

Foc_port.c/

FOCPortInit()

FOCPortInit(void) 电机控制配置,外设和变量的

初始化无无FOCCurrentPIDInit()

FOCPortPeripheralConfig()

InjectADCReadEn()

SvpwmTimerSynchConfig()

InjectADCPhaseCaliPend()

App_main.c/

App_TaskStart()

SysDetectErrLED()

FOCPortSwitchMotorCtrlChannel(void) 切换电机控制通道,在T1溢出

中断中被调用,切换FOC电

机控制通道无无InjectADCSwitchADCTriSource()

InjectADCSwitchADCSampleCH()

Stm32f10x_it.c/

TIM1_UP_IRQHandler

FOCPort_CalcCurrentDerr(u8 mc_ch) 计算电流矢量Iq的加速度,

其实就是计算在一定间隔时

间内的差值U8 mc_ch //电机通道,左

电机or 右电机

无无Foc_port.c/

FOCPortArithmeticModel(u8

mc_ch)

FOCPortArithmeticModel(u8 mc_ch) FOC模型函数的调用,

clark--park--Id/Iq控制--逆

park--svpwm U8 mc_ch //电机通道,左

电机or 右电机

无InjectADCGetPhaseCurrValues()

FOCCoordTransClark()

FOCCoordTransPark()

FOCCurrentPIDArithmetic()

FOCCoordTransRevParkCircleLimitation()

FOCCoordTransRevPark()

CALC_SVPWM()

FOCPort_CalcCurrentDerr()

Stm32f10x_it.c/

ADC1_2_IRQHandler()

在ADC转换结束中被调用

Foc_inject_adc.c

归属组:arithmetic

描述:三相电流采样ADC配置和注入式触发采样等的处理函数

函数:

函数功能描述输入参数输出参数调用函数在何处被调用

InjectADC_PhaseCurrentCaliEn(void) 关闭pwm输出,使能相电流校

准开关无无无Foc_inject_adc.c/

InjectADCPhaseCaliPend()

InjectADCReadEn(FunctionalState cmd) 使能三相注入式采样电流读取Cmd (ENABLE or

DISALBE)无无Foc_port.c/

FOCPortInit()

Bool InjectADCPhaseCaliPend(u8 sw) 相电流ADC初始值校准U8 sw bool InjectADC_PhaseCurrentCaliEn

()

Foc_port.c/ FOCPortInit()

InjectADC_ConvConfig(void) 三相注入式ADC配置,配置

注入式ADC的寄存器无无无Foc_inject_adc.c/

InjectADC_PhaseCurrReadCali()

InjectADC_PhaseCurrReadCali() 三相ADC读取值校准无无InjectADC_ConvConfig(void) Foc_inject_adc.c/

InjectADCConfig()

InjectADCRegularDMAConfig() 常规ADC通道DMA配置,

DMA寄存器的配置无无无Foc_port.c/

FOCPortPeripheralConfig()

InjectADCConfig() 注入式ADc的配置无无InjectADC_PhaseCurrReadCali(

)

Foc_port.c/ FOCPortPeripheralConfig()

InjectADCSwitchADCTriSource(u8 mc_ch) 切换左右电机ADC注入式采

样的时钟源u8 mc_ch //电机通道,左电

机or 右电机

无无foc_port.c/

FOCPortSwitchMotorCtrlChannel()

InjectADCSwitchADCSampleCH(u8 mc_ch) 切换左右电机ADC注入式采

用通道u8 mc_ch //电机通道,左电

机or 右电机

无无foc_port.c/

FOCPortSwitchMotorCtrlChannel()

InjectADCGetPhaseZeroOffset

(u8 mc_ch , PHASE_OFFSET *phase_zero)

获取相电流初始值u8 mc_ch //电机通道

typedef struct //相电流

{

s32 a;

s32 b;

s32 c;

}PHASE_OFFSET; 无无stm32f10x_it.c/

ADC1_2_IRQHandler()

在ADC转换结束中断中被调用,并且是电机状

态:MotorCtrlState = CALICURR时

PHASE_CURRENT InjectADCGetPhaseCurrValues(u8 mc_ch) 三相电流值计算出矢量电流

Ia、Ib

u8 mc_ch //电机通道,左电

机or 右电机

typedef struct //

相电流

{

s32 a;

s32 b;

s32 c;

}PHASE_OFFSET;

无foc_port.c/

FOCPortArithmeticModel(u8 mc_ch)

foc_encoder.c/

FOCEncoderStartUp (u8 mc_ch)

stm32f10x_it.c/

ADC1_2_IRQHandler (u8 mc_ch)

在ADC转换结束中断中被调用,而且是在电机

状态处于IDLE时被调用

InjectADCEnableADCTri(void) 注入式ADC采样使能无无无stm32f10x_it.c/

TIM1_UP_IRQHandler()

T1上溢中断InjectADCDisableADCTri(void) 关闭ADC触发源出发采样无无无stm32f10x_it.c/

ADC1_2_IRQHandler ()

ADC转换结束中断foc_coord_transform.c

归属组:arithmetic

描述:FOC坐标变换,该文件内包含正弦表、最大调制表

#define SIN_COS_TABLE {……}

static const s16 CoordSinCosTable[256] = SIN_COS_TABLE;

函数:

函数功能描述输入参数输出参数调用函数在何处被调用

STATOR_CURRENT FOCCoordTransClark(PHASE_CURRENT

Curr_Input) Clark变换,定子电流Ia、Ib

转换成Ialpha和Iβ

typedef struct//定子相电流

{

s16 Ia;

s16 Ib;

}PHASE_CURRENT;

typedef struct

//α、β电流

{

s16 Ialfa;

s16 Ibeta;

}STATOR_CURRENT;

Foc_port.c/

FOCPortArithmeticModel () (在ADC转换完成被调用)

Foc_encoder.c/

FOCEncoderStartUp () (在电机启动对准时被调用)

ROTOR_CURRENT FOCCoordTransPark(STA TOR_CURRENT Curr_Input, s16 Theta) Park变换,Iα和Iβ变换成Id

和Iq

s16 Theta //转子角度

typedef struct

{

typedef struct

{

s16 Iq;

s16 Ialfa;

s16 Ibeta;

}STATOR_CURRENT;

s16 Id;

}ROTOR_CURRENT;

FOCCoordTransRevParkCircleLimitation

(u8 mc_ch)

输出调制比限幅的函数u8 mc_ch //电机通道无无

STATOR_VOLTAGE FOCCoordTransRevPark (ROTOR_VOLTAGE V olt_Input) 逆park变换,该函数理应有电

机角度作为输入参数,但由于

该函数在调用时处在正park变

换之后,正park变换已经将转

子角度计算在结构体中,所以

在这个函数中就不用计算了。

typedef struct

{

s16 Vq;

s16 Vd;

}ROTOR_ VOLTAGE;

typedef struct

{

s16 V alfa;

s16 Vbeta;

}STATOR_ VOLTAGE;

TRIANGLE_COMPONENTS

CoordTransTrigFunctions(s16 hAngle)

角度Theta转换为正余弦函数s16 hAngle typedef struct

{

s16 tcos;

s16 tsin;

}TRIANGLE_COMPO

NENTS;

无foc_coord_transform.c/

FOCCoordTransPark()

在正park变换中计算sin(theta)和cos(theta)

foc_pid_regulators.c

归属组:arithmetic

描述:力矩和磁通的PID函数

函数:

函数功能描述输入参数输出参数调用函数在何处被调用

FOCCurrentPIDInit (PID_Struct_t *PID_Torque, PID_Struct_t *PID_Flux) 初始化矢量电流力矩和磁通

的PID初始值

PID_Struct_t *PID_Torque

PID_Struct_t *PID_Flux

PID力矩和励磁参数结构体

无无foc_port.c/

FOCPortInit ()

s16 FOCCurrentPIDArithmetic (s16 hReference,

s16 hPresentFeedback, PID_Struct_t *PID_Struct) 矢量电流力矩和磁通的PID

计算

s16 hReference //参考值

s16 hPresentFeedback //实际值

PID_Struct_t *PID_Struct//PID参

数结构体

PID输出值无Foc_port.c/

FOCPortArithmeticModel () (在ADC转换完成被调

用)

Foc_encoder.c/

FOCEncoderStartUp () (在电机启动对准时被调用)

foc_encoder.c

归属组:arithmetic

描述:正交编码器的配置

函数:

函数功能描述输入参数输出参数调用函数在何处被调用

FOCEncoderConfig (void) 编码器配置,涉及到的GPIO、

定时器等配置无无无app_main.c/

App_TaskStart(void *p_arg)

开始任务,环境初始化

s16 FOCEncoderGetElectricalAngle(u8 mc_ch) 返回电机电角度u8 mc_ch //电机通道电机电角度:

0 -> 0 degrees,

*S16_MAX-> 180 degrees,

*S16_MIN-> -180 degrees 无Foc_port.c/

FOCPortArithmeticModel ()

(在ADC转换完成被调用)

MotorGetInitABSPos(u8 mc_ch) 获取电机初始绝对值u8 mc_ch //电机通道无无无

FOCEncoderReset(u8 mc_ch) 在对准后写入对应的编码器

初始线数u8 mc_ch //电机通道无无foc_encoder.c/

FOCEncoderStartUp(u8 mc_ch)

电机启动时调用的

s32 FOCEncoder_CalcRotSpeed(u8 mc_ch) 速度检测函数u8 mc_ch //电机通道返回当前转子速度无foc_encoder.c/

FOCEncoderCalcAverSpeed(u8 mc_ch)

s32 FOCEncoderCalcAverSpeed(u8 mc_ch) 计算转子平均机械速度,其

实就是一个取平均的函数,

用上一个函数取和求平均u8 mc_ch //电机通道返回转子机械角速度FOCEncoder_CalcRotSpeed(mc_

ch)

该函数返回转子速度

motor_control.c/

MotorCtrl_ManageSpeedPID(u8 mc_ch)

在速度环中调用

FOCEncoderStartUp(u8 mc_ch) 电机初始对准,也就是在启

动时才会调用,还包含一个

FOC算法。u8 mc_ch //电机通道无无stm32f10x_it.c/

ADC1_2_IRQHandler()

ADC转换结束中断,当电机状态

MotorCtrlState=START时才会调用

FOCEncoderStartUp(u8 mc_ch)

void TIM2_IRQHandler(void) void TIM4_IRQHandler(void) 左右电机编码器转满一圈的溢出中断,编码器用到的定时器是TIMER2和TIMER4。

typedef struct

{

u8 ch; //電機通道

s8 dir; //電機轉向

MC_STYLE mode; //電機狀態typedef enum {CURRENT_STYLE=1,SPEED_STYLE , FREE_STYLE , BREAK_STYLE}MC_STYLE TIM_TypeDef *timer; //計時器定義

TIM_TypeDef *encoder_timer;

u16 pwmmode; //PWM模式

u16 cc4pwmmode;

}MC_INFO;

MC_INFO MotorCtrlInfo[2] = {{L_MOTOR , 1 , FREE_STYLE , TIM1 , TIM4 , TIM_OCMode_PWM1 , TIM_OCMode_PWM2},

{R_MOTOR , -1, FREE_STYLE , TIM8 , TIM2 , TIM_OCMode_PWM1 , TIM_OCMode_PWM2}};

电动机正反转实验报告

实验一三相异步电动机的正反转控制线路 一、实验目的 1、掌握三相异步电动机正反转的原理和方法。 2、掌握手动控制正反转控制、接触器联锁正反转、按钮联锁正反转控制线路的不同接法。 二、实验设备 三相鼠笼异步电动机、继电接触控制挂箱等 三、实验方法 1、接触器联锁正反转控制线路 (1) 按下“关”按钮切断交流电源,按下图接线。经指导老师检查无误后,按下“开”按钮通电操作。 (2) 合上电源开关Q1,接通220V三相交流电源。 (3) 按下SB1,观察并记录电动机M的转向、接触器自锁和联锁触点的吸断情况。 (4) 按下SB3,观察并记录M运转状态、接触器各触点的吸断情况。 (5) 再按下SB2,观察并记录M的转向、接触器自锁和联锁触点的吸断情况。 Q1 23 220V

图1 接触器联锁正反转控制线路 3、按钮联锁正反转控制线路 (1)按下“关”按钮切断交流电源。按图2接线。经检查无误后,按下“开”按钮通电操作。 (2) 合上电源开关Q 1,接通220V 三相交流电源。 (3) 按下SB 1,观察并记录电动机M 的转向、各触点的吸断情况。 (4) 按下SB 3,观察并记录电动机M 的转向、各触点的吸断情况。 (5) 按下SB 2,观察并记录电动机M 的转向、各触点的吸断情况。 Q 1 220V

图2 按钮联锁正反转控制线路 四、分析题 1、接触器和按钮的联锁触点在继电接触控制中起到什么作用? 实验二交流电机变频调速控制系统 一﹑实验目的 1.掌握交流变频调速系统的组成及基本原理; 2.掌握变频器常用控制参数的设定方法; 3. 掌握由变频器控制交流电机多段速度及正反向运转的方法。 二﹑实验设备 1.变频器;2. 交流电机。 三、实验方法 (一)注意事项 参考变频器的端子接线图,完成变频器和交流电机的接线。主要使用端子为R﹑S ﹑T;U﹑V﹑W;PLC﹑FWD﹑REV﹑BX﹑RST﹑X1﹑X2﹑X3﹑X4﹑CM。 变频器电源输入端R﹑S﹑T和电源输出端U﹑V﹑W均AC380V高电压﹑大电流信号,任何操作都必须在关掉总电源以后才能进行。

STM32固件库的学习(重要,要常看)

1. stm32的编程中,在stdperiph_drive中添加的misc.c文件是干什么用的啊? 因为STM32 V3.5版本的库函数中没有原来版本中单独对于NVIC(中断向量嵌套)的外设驱动,把NVIC的外设驱动放在了misc.c中,实际上是代替原来的stm32f10x_nvic.c。 2. STM32F10XXX V 3.5标准外设库文件夹描述 标准外设库的第一部分是CMSIS 和STM32F10x_StdPeriph_Driver,CMSIS 是独立于供应商的Cortex-M处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了简单的处理器软件接口,简化了软件复用工作,降低了Cortex-M上操作系统的移植难度,并减少了新入门的微控制器开发者的学习曲线和新产品的上市时间。 STM32F10x_StdPeriph_Driver则包括了分别对应包括了所有外设对应驱动函数,这些驱动函数均使用C语言编写,并提供了统一的易于调用的函数接口,供开发者使用。Project 文件夹中则包括了ST官方的所有例程和基于不同编译器的项目模板,这些例程是学习和使用STM32的重要参考。Utilities包含了相关评估板的示例程序和驱动函数,供使用官方评估板的开发者使用,很多驱动函数同样可以作为学习的重要参考。 3.文件功能说明

4.CMSIS文件夹结构

在实际开发过程中,根据应用程序的需要,可以采取2种方法使用标准外设库

(StdPeriph_Lib): (1)使用外设驱动:这时应用程序开发基于外设驱动的API(应用编程接口)。用户只需要配置文件”stm32f10x_conf.h”,并使用相应的文件”stm32f10x_ppp.h/.c”即可。 (2) 不使用外设驱动:这时应用程序开发基于外设的寄存器结构和位定义文件。 5. STM32F10XXX标准外设库的使用 标准外设库中包含了众多的变量定义和功能函数,如果不能了解他们的命名规范和使用规律将会给编程带来很大的麻烦,本节将主要叙述标准外设库中的相关规范,通过这些规范的学习可以更加灵活的使用固件库,同时也将极大增强程序的规范性和易读性,同时标准外设库中的这种规范也值得我们在进行其他相关的开发时使用和借鉴。 a.缩写定义 标准外设库中的主要外设均采用了缩写的形式,通过这些缩写可以很容易的辨认对应的外设。

实验一 电动机正反转实验

实验一电动机正反转实验 一、实验目的 1、通过练习实现与、或、非逻辑功能,熟悉PLC编程方法。 2、熟悉ZY17PLC12BC实验箱的使用方法。 二、实验器材 1、ZY17PLC12BC型可编程控制器实验箱 1台 2、PC机或FX-20P-E编程器 1台 3、编程电缆 1根 4、连接导线若干 三、实验原理 (1)LD、LDI指令用于将触点接到母线上。另外,与后述的ANB指令组合,在分支起点处也可使用。 (2)OUT指令是对输出继电器、辅助继电器、状态继电器、定时器,计数器的线圈的驱动指令、对于输入继电器不能使用。 (3)并行输出指令可多次使用。 2、触点串联(AND/ANI) 说明: (1)用AND、ANI、指令,可进行触点的串联连接。串联触点的个数没有限制,该指令可以多次重复使用。 (2)OUT指令后,通过触点对其他线圈使用OUT指令称之为纵接输出。这种纵接输出,如果顺序不错,可以多次重复,

3、触点并联(OR/ORI) (1)OR、ORI用作为1个触点的并联连接指令。如果连接2个以上的触点串联连接的电路块的并联连接时,要用后述的ORB指令。 (2)OR、ORI指令是从该指令的当前步开始对前面的LD、LDI指令并联连接。并联连接的次数无限制,但由于编程器和打印机的功能对此有限制,所以并联连接的次数实际上是有限制的。 (1)两个以上的触点串联连接的电路称之为串联电路块。串联电路块并联连接时,分支的开始用LD、LDI指令,分支的结束用ORB指令。 (2)ORB指令与后述的ANB等均为无操作元件号的指令。 (1)分支电路并联电路块与前面电路串联连接时,使用ANB指令。分支的起点用LD、LDI指令。并联电路块结束后,使用ANB指令与前面电路串联。 (2)若多个并联电路块顺次用ANB指令与前面电路串联连接,则ANB的使用次数没有限制, (3)虽然可以连续使用ANB指令,但这时与ORB指令同样要注意LD、LDI指令的使用次数限制(8次以下)。 6、程序结束(END) 7、控制要求 本实验利用PLC控制电机正反转。发光二极管KM1亮模拟电机正转,发光二极管KM2

stm32入门C语言详解

阅读flash:芯片内部存储器flash操作函数我的理解——对芯片内部flash进行操作的函数,包括读取,状态,擦除,写入等等,可以允许程序去操作flash上的数据。 基础应用1,FLASH时序延迟几个周期,等待总线同步操作。推荐按照单片机系统运行频率,0—24MHz时,取Latency=0;24—48MHz时,取Latency=1;48~72MHz时,取Latency=2。所有程序中必须的 用法:FLASH_SetLatency(FLASH_Latency_2); 位置:RCC初始化子函数里面,时钟起振之后。 基础应用2,开启FLASH预读缓冲功能,加速FLASH的读取。所有程序中必须的 用法:FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); 位置:RCC初始化子函数里面,时钟起振之后。 3、阅读lib:调试所有外设初始化的函数。 我的理解——不理解,也不需要理解。只要知道所有外设在调试的时候,EWRAM需要从这个函数里面获得调试所需信息的地址或者指针之类的信息。 基础应用1,只有一个函数debug。所有程序中必须的。 用法:#ifdef DEBUG debug(); #endif 位置:main函数开头,声明变量之后。 4、阅读nvic:系统中断管理。 我的理解——管理系统内部的中断,负责打开和关闭中断。 基础应用1,中断的初始化函数,包括设置中断向量表位置,和开启所需的中断两部分。所有程序中必须的。 用法:void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; //中断管理恢复默认参数 #ifdef VECT_TAB_RAM //如果C/C++ Compiler\Preprocessor\Defined symbols中的定义了 VECT_TAB_RAM(见程序库更改内容的表格) NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //则在RAM调试 #else //如果没有定义VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);//则在Flash里调试 #endif //结束判断语句 //以下为中断的开启过程,不是所有程序必须的。 //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC优先级分组,方式。 //注:一共16个优先级,分为抢占式和响应式。两种优先级所占的数量由此代码确定, NVIC_PriorityGroup_x可以是0、1、2、3、4,分别代表抢占优先级有1、2、4、8、16个和响应优先级有16、8、4、2、1个。规定两种优先级的数量后,所有的中断级别必须在其中选择,抢占级别高的会打断其他中断优先执行,而响应级别高的会在其他中断执行完优先执行。 //NVIC_InitStructure.NVIC_IRQChannel = 中断通道名; //开中断,中断名称见函数库 //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优先级 //NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应优先级 //NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //启动此通道的中断 //NVIC_Init(&NVIC_InitStructure); 中断初始化

PLC控制实验--变频器控制电机正反转

实验二十八变频器控制电机正反转 一、实验目的 了解变频器外部控制端子的功能,掌握外部运行模式下变频器的操作方法。二、实验设备 序号名称型号与规格数量备注 1 网络型可编程控制器高级实验装置THORM-D 1 2 实验挂箱CM51 1 3 电机WDJ26 1 4 实验导线3号/4号若干 5 通讯电缆USB 1 6 计算机 1 自备 三、控制要求 1.正确设置变频器输出的额定频率、额定电压、额定电流。 2.通过外部端子控制电机启动/停止、正转/反转。 3.运用操作面板改变电机启动的点动运行频率和加减速时间。 四、参数功能表及接线图 1.参数功能表 序号变频器参数出厂值设定值功能说明 1 n1.00 50.00 50.00 最高频率 2 n1.05 1.5 0.01 最低输出频率 3 n1.09 10.0 10.0 加速时间 4 n1.10 10.0 10.0 减速时间 5 n2.00 1 1 操作器频率指令旋钮有效 6 n2.01 0 1 控制回路端子(2线式或3线式) 7 n4.04 0 1 2线式(运转/停止(S1)、正转/反转(S2)) 注:(1)设置参数前先将变频器参数复位为工厂的缺省设定值(2)设定n0.02=0可设定及参照全部参数 2.变频器外部接线图 五、操作步骤

1.检查实验设备中器材是否齐全。 2.按照变频器外部接线图完成变频器的接线,认真检查,确保正确无误。 3.打开电源开关,按照参数功能表正确设置变频器参数。 4.打开开关“K1”,观察并记录电机的运转情况。 5.旋转操作面板频率设定旋钮,增加变频器输出频率。 6.关闭开关“K1”,变频器停止运行。 7.打开开关“K1”、“K2”,观察并记录电机的运转情况。 六、实验总结 1.总结使用变频器外部端子控制电机正反转的操作方法。 2.总结变频器外部端子的不同功能及使用方法。

stm32库函数解释

部分库函数简介 一、通用输入/输出(GPIO)--------------------------------------------------------------------------------------------3 二、外部中断/事件控制器(EXTI)-----------------------------------------------------------------------------------7 三、通用定时器(TIM)-------------------------------------------------------------------------------------------------9四:ADC寄存器------------------------------------------------------------------------25 五:备份寄存器(BKP)-------------------------------------------------------------------------------------------------33 六、DMA控制器(DMA)---------------------------------------------------------------37 七、复位和时钟设置(RCC)------------------------------------------------------------------------------------------41 八、嵌套向量中断控制器(NVIC)-----------------------------------------------------------------------------------49

STM32固件库详解42324

STM32固件库详解 最近考试较多,教材编写暂停了一下,之前写了很多,只是每一章都感觉不是特别完整,最近把其中的部分内容贴出来一下,欢迎指正。本文内容基于我对固件库的理解,按照便于理解的顺序进行整理介绍,部分参考了固件库的说明,但是也基本上重新表述并按照我理解的顺序进行重新编写。我的目的很简单,很多人写教程只是告诉你怎么做,不会告诉你为什么这么做,我就尽量吧前因后果都说清楚,这是我的出发点,水平所限,难免有很大的局限性,具体不足欢迎指正。基于标准外设库的软件开发 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。

ST公司2007年10月发布了版本的固件库,MDK 之前的版本均支持该库。2008年6月发布了版的固件库,从2008年9月推出的MDK 版本至今均使用版本的固件库。以后的版本相对之前的版本改动较大,本书使用目前较新的版本。 使用标准外设库开发的优势 简单的说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。标准外设库覆盖了从GPIO到定时器,再到CAN、I2C、SPI、UART和ADC 等等的所有标准外设。对应的C源代码只是用了最基本的C编程的知识,所有代码经过严格测试,易于理解和使用,并且配有完整的文档,非常方便进行二次开发和应用。 STM32F10XXX标准外设库结构与文件描述 1. 标准外设库的文件结构 在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。STM32F10XXX的标准外设库经历众多的更新目前已经更新到最新的版本,开发环境中自带的标准外设库为版本,本书中以比较稳定而且较新的版本为基础介绍标准外设库的结构。

电机正反转实验

电机正反转实验 一.实验目的 1.了解机床电气中三相电机的正反转控制和星三角启动控制。 2.掌握电动机的常规控制电路设计。 3.了解电动机电路的实际接线。 4.掌握GE FANUC 3I系统的电动机启动程序编写。 二.实验原理和电路 交流电动机有正转启动和反转启动,而且正反转可以切换,启动时,要求电动机先接成星型连接,过几秒钟再变成三角形连接运行。PLC控制电动机的I/O 地址如下表所示: PLC模拟控制电动机I/O地址表 输入输出 器件(触摸屏M)说明器件说明I1(M21)正转Q2 正转 I2(M22)反转Q3 星形 I3(M23)停止Q4 三角形 Q5 反转 电动机星三角启动电气接口图:

模块的现场接线 接线前请熟悉接线图,我们在这里简单介绍下输入输出模块的接线方法,在接下来的实验中不再赘述。详细请见第一章的模块介绍。 ●输入模块现场接线 IC694MDL645,数字量输入模块,提供一组共用一个公共端的16个输入点,如图所示。该模块即可以接成共阴回路又可以接成共阳回路,这样在硬件接线时就非常灵巧方便。但在本系统中,我们统一规定本模块接成共阳回路,即1号端子由系统提供负电源,外部输入共阳。 IC694MDL645数字量输入模块现场接线 ●输出模块现场接线 IC694MDL754,数字输出模块,提供两组(每组16个)共32个输出点。每组

有一个共用的电源输出端。这种输出模块具有正逻辑特性;它向负载提供的源电流来自用户共用端或者到正电源总线。输出装置连接在负电源总线和输出点之间。这种模块的输出特性兼容很广的负载,例如:电动机、接触器、继电器,BCD 显示和指示灯。用户必须提供现场操作装置的电源。每个输出端用标有序号的发光二极管显示其工作状态(ON/OFF)。这个模块上没有熔断器。接线必须注意。 即:17端接正电源,18端接负电源及外部负载的共阴端。 IC694MDL754数字量输出模块现场接线 三:实验步骤: 1.编写PLC程序,可参照参考程序,并检查,保证其正确。 2.按照电器接口图接线。 3.下载程序。 4.置PLC于运行状态,按下启动键,观察电机运行。 5.实验结束后,关电源,整理实验器材。 四:实验器材 1.GE FANUC 3I系统一套 2.PYS3电机正反转模块一块 3.网线一根 4.KNT连接导线若干

献给新手:解析STM32的库函数

意法半导体在推出STM32微控制器之初,也同时提供了一套完整细致的固件开发包,里面包含了在STM32开发过程中所涉及到的所有底层操作。通过在程序开发中引入这样的固件开发包,可以使开发人员从复杂冗余的底层寄存器操作中解放出来,将精力专注应用程序的开发上,这便是ST推出这样一个开发包的初衷。 但这对于许多从51/AVR这类单片机的开发转到STM32平台的开发人员来说,势必有一个不适应的过程。因为程序开发不再是从寄存器层次起始,而要首先去熟悉STM32所提供的固件库。那是否一定要使用固件库呢?当然不是。但STM32微控制器的寄存器规模可不是常见的8位单片机可以比拟,若自己细细琢磨各个寄存器的意义,必然会消耗相当的时间,并且对于程序后续的维护,升级来说也会增加资源的消耗。对于当前“时间就是金钱”的行业竞争环境,无疑使用库函数进行STM32的产品开发是更好的选择。本文将通过一个简单的例子对STM32的库函数做一个简单的剖析。 以最常用的GPIO设备的初始化函数为例,如下程序段一: GPIO_InitTypeDef GPIO_InitStructure; 1 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; 2 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 4 GPIO_Init(GPIOA , &GPIO_InitStructure 5 这是一个在STM32的程序开发中经常使用到的GPIO初始化程序段,其功能是将GPIOA.4口初始化为推挽输出状态,并最大翻转速率为50MHz。下面逐一分解: 首先是1,该语句显然定义了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure,则找出GPIO_InitTypeDef的原型位于“stm32f10x_gpio.h” 文件,原型如下: typedef struct { u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }GPIO_InitTypeDef; 由此可知GPIO_InitTypeDef是一个结构体类型同义字,其功能是定义一个结构体,该结构体有三个成员分别是u16类型的GPIO_Pin、 GPIOSpeed_TypeDef 类型的GPIO_Speed和GPIOMode_TypeDef 类型的 GPIO_Mode。继续探查GPIOSpeed_TypeDef和GPIOMode_TypeDef类型,在“stm32f10x_gpio.h”文件中找到对GPIOSpeed_TypeDef的定义: typedef enum { GPIO_Speed_10MHz = 1,

stm32启动文件详解

STM32启动文件详解 一、启动文件的作用 1.初始化堆栈指针SP; 2.初始化程序计数器指针PC; 3.设置堆、栈的大小; 4.设置异常向量表的入口地址; 5.配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM); 6.设置C库的分支入口__main(最终用来调用main函数); 7.在版的启动文件还调用了在文件中的SystemIni()函数配置系统时钟。

二、汇编指令

三、启动代码 ----- 栈 Stack_Size EQU 0x00000400 ; 栈的大小 AREA STACK, NOINIT, READWRITE,ALIGN=3 Stack_Mem SPACE Stack_Size ; 分配栈空间 __initial_sp ; 栈的结束地址(栈顶地址) 分配名为STACK,不初始化,可读可写,8(2^3)字节对齐的1KB空间。 栈:局部变量,函数形参等。栈的大小不能超过内部SRAM大小。 AREA:汇编一个新的代码段或者数据段。STACK段名,任意命名;NOINIT表示不初始化;READWRITE可读可写;ALIGN=3(2^3= 8字节对齐)。 __initial_sp紧挨了SPACE放置,表示栈的结束地址,栈是从高往低生长,结束地址就是栈顶地址。

----- 堆 Heap_Size EQU 0x00000200 ; 堆的大小(512Bytes) AREA HEAP, NOINIT, READWRITE,ALIGN=3 __heap_base ; 堆的起始地址 Heap_Mem SPACE Heap_Size ; 分配堆空间 __heap_limit ; 堆的结束地址 分配名为HEAP,不初始化,可读可写,8(2^3)字节对齐的512字节空间。__heap_base堆的起始地址,__heap_limit堆的结束地址。堆由低向高生长。动态分配内存用到堆。 PRESERVE8 -- 指定当前文件的堆/栈按照8 字节对齐。 THUMB-- 表示后面指令兼容THUMB 指令。THUBM 是ARM 以前的指令集,16bit;现在Cortex-M 系列的都使用THUMB-2 指令集,THUMB-2 是32 位的,兼容16 位和32 位的指令,是THUMB 的超级。 3.向量表 AREA RESET, DATA, READONLY EXPORT __Vectors E XPORT __Vectors_End E XPORT __Vectors_Size 定义一个名为RESET,可读的数据段。并声明__Vectors、__Vectors_End 和__Vectors_Size 这三个标号可被外部的文件使用。 __Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler

STM32库函数功能详解

STM32库函数简介 一、通用输入/输出(GPIO)--------------------------------------------------------------------------------------------3 二、外部中断/事件控制器(EXTI)-----------------------------------------------------------------------------------7 三、通用定时器(TIM)-------------------------------------------------------------------------------------------------9 四:ADC寄存器------------------------------------------------------------------------25 五:备份寄存器(BKP)-------------------------------------------------------------------------------------------------33 六、DMA控制器(DMA)---------------------------------------------------------------37 七、复位和时钟设置(RCC)------------------------------------------------------------------------------------------41 八、嵌套向量中断控制器(NVIC)-----------------------------------------------------------------------------------49

STM32固件库详解

STM32固件库详解基于标准外设库的软件开发 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。 ST公司2007年10月发布了版本的固件库,MDK 之前的版本均支持该库。2008年6月发布了版的固件库,从2008年9月推出的MDK 版本至今均使用版本的固件库。以后的版本相对之前的版本改动较大,本书使用目前较新的版本。 使用标准外设库开发的优势 简单的说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。标准外设库覆盖了从GPIO到定时器,再到CAN、I2C、SPI、UART和ADC等等的所有标准外设。对应的C源代码只是用了最基本的C编程的知识,所有代码经过严格测试,易于理解和使用,并且配有完整的文档,非常方便进行二次开发和应用。 STM32F10XXX标准外设库结构与文件描述 1. 标准外设库的文件结构 在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。STM32F10XXX的标准外设库经历众多的更新目前已经更新到最新的版本,开发环境中自带的标准外设库为版本,本书中以比较稳定而且较新的版本为基础介绍标准外设库的结构。

实验一 三相异步电动机的正反转控制实验报告

实验一三相异步电动机的正反转控制实验报告 实验目的 ⑴了解三相异步电动机接触器联锁正反转控制的接线和操作方法。 ⑵理解联锁和自锁的概念。 ⑶掌握三相异步电动机接触器的正反转控制的基本原理与实物连接的要求。 实验器材 三相异步电动机(M 3~)、万能表、联动空气开关(QS1)、单向空气开关(QS2)、交流接触器(KM1,KM2)、组合按钮(SB1,SB2,SB3)、端子排7副、导线若干、螺丝刀等。实验原理 三相异步电动机的旋转方向是取决于磁场的旋转方向,而磁场的旋转方向又取决于电源的相序,所以电源的相序决定了电动机的旋转方向。任意改变电源的相序时,电动机的旋转方向也会随之改变。 实验操作步骤 连接三相异步电动机原理图如图所示,其中线路中的正转用接触器KM1和反转用的接触器KM2,分别由按钮SB2和反转按钮SB2控制。控制电路有两条,一条由按钮SB1和KM1线圈等组成的正转控制电路;另一条由按钮SB2和KM2线圈等组成的反转控制电路。 当按下正转启动按钮SB1后,电源相通过空气开关QS1,QS2和停止按钮SB3的动断接点、正转启动按钮SB1的动合接点、接触器KM和其他的器件形成自锁,使得电动机开始正转,当按下SB3时,电动机停止转动,在按下SB2时,接触器KM和其他的器件形成自锁反转。安装接线 1在连接控制实验线路前,应先熟悉各按钮开关、交流接触器、空气开关的结构形式、动作原理及接线方式和方法。 2 在不通电的情况下,用万用表检查各触点的分、合情况是否良好。检查接触器时,特别需要检查接触器线圈电压与电源电压是否相符。 3将电器元件摆放均匀、整齐、紧凑、合理,并用螺丝进行安装,紧固各元件时应用力均匀,紧固程度适当。

stm32DAC函数库详解

DAC固件库函数 DAC固件库函数 函数名描述 void DAC_DeInit(void) DAC外围寄存器默认复位值。VoidDAC_Init(uint32_tDAC_Channel,DAC_InitTypeDef* DAC_InitStruct) 根据外围初始化指定的DAC void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct) 把DAC_StructInit 中的每一个参 数按缺省值填入 voidDAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState) 使能或使能指定的DAC通道。 void DAC_ITConfig(uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState) 使能或者失能指定的DAC 的中断 voidDAC_DMACmd(uint32_tDAC_Channel,FunctionalState NewState) 使能或者失能指定的DAC通道DMA请求。 void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState) 使能或者失能用选定的DAC通道软件触发 voidDAC_DualSoftwareTriggerCmd(FunctionalState NewState) 使能或者使能双软件触发命令 void DAC_WaveGenerationCmd(uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState) 使能或者使能选定的DAC通道波的产生。 void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data) 设置通道1 的数据 void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data) 设置通道2 的数据 void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1) 设置双通道的数据 uint16_tDAC_GetDataOutputValue(uint32_t DAC_Channel) 返回选定DAC通道最后的数据输出值。 FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG) 检查指定的DAC标志位设置与否。 void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG) 清除指定的DAC标志位。 ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT) 检查指定的DAC 中断是否发生 void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT) 清除DACx 的中断待处理位

电机正反转控制实验报告

电机正反转控制实验报告 电机正反转控制实验报告 电机正反转控制实验报告 实验目的 1、掌握可此人基层工作程控制器的工作原理。 2、通过动手接线,提高学生的实际动手能力以及加强对PLC基本 结构的了解。3、通过实验,加强学生对PLC逻本人顺序本人程的理解,使学生能够帮助熟练应用三 菱PLC的开发工具软件和软元件。 二、实验内容 三.硬件电路图将PLC与实验装置上面适配器的接线端子连接线,通过PLC来对上面的电机或进行控制。 四、PLC梯形图 PLC梯形图如下: I/O分配如下: 五、工作原理 当启动按钮SB1按下时,X0接通,系统进入工作状态,当停止按 钮SB2接 通时,X1接通,系统停止工作。 当SB1按下而SB2断开时,且电机触底反弹没有进行正转或反转,此时若按下SB3,即正转按钮,,则X3接通,此时Y0输出为1,正转 接触器KM1吸合,电机正转。同理按下SB4,则X3为1,Y1为1,KM2 吸合,点击反转。

若电机在正转过程中按下SB3,则电机停止正转,寄存器M1接通,而后计时器T0进行2秒计时,计时完成后T0为1,X1,X2,Y0均为0 且M1为1,则Y1接通,进入反转。同理课设计电机反转过程中按下正转按钮后延时2s进入正转。 六、使用说明书按下启动按钮SB1,再按下正转按钮SB3.,正传 接触器KM1吸合,电机正转。再按下反转按钮SB4,经过短暂延时(2s)后(可以避免机械接触器反应迟钝所造成的事故),反转接触器KM2 吸合,电机反转。 扩展阅读:电动机正反转实验报告 实验三相异步电动机的正反转控制线路 实验目的 1、掌握三相异步电动机正反转的原理和方法。 2、掌握手动控制正反转控制、接触器联锁正反转、按钮联锁正反 转控制线路的不同接法。 二、实验设备 三相鼠笼异步电动机、继电接触控制挂箱等三、实验方法 1、接触器联锁正反转控制线路 (1)按下“关”按钮切断液力,按下图接线。经指导老师检查无误后,按下“开”按钮通电操作。 (2)合上电源开关Q1,接通220V三相交流电源。 (3)按下SB1,观察并终其一生录电动机M的转向、接触器自锁和 联锁触点的吸断情况。(4)按下SB3,观察并本人录M运转状态、控制 器各触点的吸断情况。

三相异步电动机的正反转控制实验报告

实验目的 ⑴了解三相异步电动机接触器联锁正反转控制的接线和操作方法。 ⑵理解联锁和自锁的概念。 ⑶掌握三相异步电动机接触器的正反转控制的基本原理与实物连接的要求。 实验器材 三相异步电动机(M 3~)、万能表、联动空气开关(QS1)、单向空气开关(QS2)、交流接触器(KM1,KM2)、组合按钮(SB1,SB2,SB3)、端子排7副、导线若干、螺丝刀等。实验原理 三相异步电动机的旋转方向是取决于磁场的旋转方向,而磁场的旋转方向又取决于电源的相序,所以电源的相序决定了电动机的旋转方向。任意改变电源的相序时,电动机的旋转方向也会随之改变。 实验操作步骤 连接三相异步电动机原理图如图所示,其中线路中的正转用接触器KM1和反转用的接触器KM2,分别由按钮SB2和反转按钮SB2控制。控制电路有两条,一条由按钮SB1和KM1线圈等组成的正转控制电路;另一条由按钮SB2和KM2线圈等组成的反转控制电路。 当按下正转启动按钮SB1后,电源相通过空气开关QS1,QS2和停止按钮SB3的动断接点、正转启动按钮SB1的动合接点、接触器KM和其他的器件形成自锁,使得电动机开始正转,当按下SB3时,电动机停止转动,在按下SB2时,接触器KM和其他的器件形成自锁反转。安装接线 1在连接控制实验线路前,应先熟悉各按钮开关、交流接触器、空气开关的结构形式、动作原理及接线方式和方法。 2 在不通电的情况下,用万用表检查各触点的分、合情况是否良好。检查接触器时,特别需要检查接触器线圈电压与电源电压是否相符。 3将电器元件摆放均匀、整齐、紧凑、合理,并用螺丝进行安装,紧固各元件时应用力均匀,紧固程度适当。

STM32库函数说明及示例

STM32库函数说明及示例(版本V1.4.0) ----第一篇:GPIO库 相关术语说明: gpio:通用输入输出接口 gpio管脚:一个io管脚,这个管脚可以有多个配置。在库函数中用GPIO_Pin_1这样的宏定义表示 gpio端口(gpio分组):一组gpio管脚的信息。在库函数中用宏定义GPIOA GPIOB等表示 1 gpio库说明 库文件名:stm32f4xx_gpio.c 文档提示翻译: 如何使用这个驱动 (1)使用RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE)函数使能GPIO的AHB总线时钟。 (2)使用GPIO_Init()函数对每个引脚进行四种可能的配置 《1》输入状态:Floating(浮空), Pull-up(上拉), Pull-down(下拉) 《2》输出状态:Push-Pull (上拉下拉)(Pull-up(上拉), Pull-down(下拉)or no Pull(不上拉也不下拉)),Open Drain(开漏)(Pull-up(上拉), Pull-down(下拉)or no Pull(不上拉也不下拉)),在输出模式,速度配置成2MHZ,25MHZ,50MHZ和100MHZ. 《3》第二功能:上拉下拉和开漏 《4》模拟:当一个管脚被用作ADC通道或者DAC输出的时候,需要配置成此模式(3)外设的第二功能: 《1》在ADC和DAC模式,使用GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AN 把需要的管脚配置成模拟模式 《2》对于其它的管脚(定时器,串口等): l 使用GPIO_PinAFConfig()函数把管脚和需要的第二功能进行连接 l 使用GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AF把需要的管脚配置成第二功能模式l 通过成员变量GPIO_PuPd, GPIO_OType and GPIO_Speed选择类型,上拉下拉和输出速度 l 调用函数GPIO_Init() (4)在输入模式,使用函数GPIO_ReadInputDataBit()得到配置好管脚的电平 (5)在输出模式,使用函数GPIO_SetBits()/GPIO_ResetBits()设置配置好IO的高低电平 (6)在复位过程和刚刚复位后,第二功能是无效的,GPIO被配置成了输入浮空模式(JTAG管脚除外) (7)当LSE振荡器关闭的时候,LSE振荡器管脚OSC32_IN和OSC32_OUT可以作为通过IO来使用(分别用PC14和PC15表示)。LSE的优先级高于GPIO函数 (8)当HSE振荡器关闭的时候,HSE振荡器管脚OSC_IN和OSC_OUT可以作为通用IO(PH0,PH1)来使用。HSE的优先级高于GPIO函数。 2 具体函数说明

相异步电动机点动控制和自锁控制及联锁正反转控制实验报告

实 验报告 课程名称: 电气原理与应用 指导老师: 成绩: __________________ 实验名称:三相异步电动机点动控制和自锁及正反转互锁控制 实验类型: ____同组学生姓名:______ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1.通过对三相异步电动机点动控制和自锁控制线路的实际安装接线,掌握 由电气原理图变换成安装接线图的知识; 2.通过实验进一步加深理解点动控制和自锁控制的特点以及在机床控制中 的应用。 3.掌握三相异步电动机正反转的原理和方法,加深对电气控制系统各种保 护、自锁、互锁等环节的理解; 4.掌握接触器联锁正反转、按钮联锁正反转控制线路的不同接法,并熟悉 在操作过程中有哪些不同之处; 5.通过对三相鼠笼式异步电动机延时正反转控制线路的安装接线,掌握由 电气原理图接成实际操作电路的方法。 6. 学会分析、排除继电--接触控制线路故障的方法。 二、实验原理 专业: 姓名: 学号: 日期:

1.继电接触控制在各类生产机械中获得广泛的应用,交流电动机继电接触控制电路的主要设备是交流接触器,其主要构造为: (1) 电磁系统─铁心、吸引线圈和短路环; (2) 触头系统─主触头和辅助触头,还可按吸引线圈得电前后触头的动作状态,分动合(常开)、动断(常闭)两类; (3) 消弧系统─在切断大电流的触头上装有灭弧罩以迅速切断电弧; (4) 接线端子,反作用弹簧等。 2.在控制回路中常采用接触器的辅助触头来实现自锁和互锁控制。要求接触器线圈得电后能自动保持动作后的状态,这就是自锁,通常用接触器自身的动合触头与起动按钮相并联来实现,以达到电动机的长期运行,这一动合触头称为“自锁触头”。使两个电器不能同时得电动作的控制,称为互锁控制,如为了避免正、反转两个接触器同时得电而造成三相电源短路事故,必须增设互锁控制环节。为操作的方便,也为防止因接触器主触头长期大电流的烧蚀而偶发触头粘连后造成的三相电源短路事故,通常在具有正、反转控制的线路中采用既有接触器的动断辅助触头的电气互锁,又有复合按钮机械互锁的双重互锁的控制环节。 3. 控制按钮通常用以短时通、断小电流的控制回路,以实现近、远距离控制电动机等执行部件的起、停或正、反转控制。按钮是专供人工操作使用。对于复合按钮,其触点的动作规律是:当按下时,其动断触头先断,动合触头后合;当松手时,则动合触头先断,动断触头后合。 4. 在电动机运行过程中,应对可能出现的故障进行保护。采用熔断器作短路保护,当电动机或电器发生短路时,及时熔断熔体,达到保护线路、保护

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