IRAM136驱动电机需要哪些引脚

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IRAM136驱动电机需要哪些引脚相关的知识,希望对你有一定的参考价值。

参考技术A

鱼机的逆变驱动IC主要有两种:一种是TL494,另一种是SG3525。这两种IC在逆变类设备中得到了广泛的应用,下面我们就对SG3525的详细功能进行说明。

SG3525脚位图

SG3525 是一种性能优良、功能齐全和通用性强的单片集成控制芯片,它简单可靠及使用方便灵活,输出驱动为推拉输出形式,增加了驱动能力;内部含有欠压锁定电路、软启动控制电路、PWM锁存器,有过流保护功能,频率可调,同时能限制最大占空比。
SG3525内部图:

SG3525内部原理图

电鱼机驱动SG3525各脚的详细功能:
引脚1:误差放大器反向输入端。在闭环系统中,该引脚接反馈信号。在开环系统中,该端与补偿信号输入端(引脚9)相连,可构成跟随器。
引脚3:振荡器外接同步信号输入端。该端接外部同步脉冲信号可实现与外电路同步。
引脚4:振荡器输出端。
引脚5:振荡2S定时电容接入端。通过调节外接电容调节频率
引脚6:振荡器定时电阻接入端。通过调节外接与地之间的电阻来调节二个输出波形的脉宽使其相等
引脚?:振荡2S放电端。该端与引脚S之间外接一只放电电阻,构成放电回路。
引脚8:软启动电容接入端。该端通常接一只5的软启动电容。
引脚9:Pwm比较器补偿信号输入端。在该端与引脚2之间接入不同类型的反馈网络,可以构成比例、比例积分和积分等类型调节器
引脚10:外部关断信号输入端。该端接高电平时控制器输出被禁止,该端可与保护电路相连,以实现故障保护,及保护作用。
引脚11:输出端Ao引脚11和引脚14是两路互补输出端。 电压为5.1v,电流超过200mA,和14脚组成频率范围100Hz--400KHz。
引脚12:信号地。
引脚13:输出级偏置电压接入端。
引脚14:输出端B。引脚14和引脚11是两路互补输出端。电压为日
引脚15:偏置电源接入端。
引脚16:基准电源输出端。该端可输出一温度稳定性极好的基准电压。

参考技术B 楼上的解答非常不错哦

实例3,stc8a利用内置的PWM模块,控制小车直流电机运动

1、控制原理
2、硬件接线
3、实例程序

1、控制原理,

利用TB6612模块控制直流电机,TB6612模块的基本使用,在我的博客上面写有。先看看里面的控制。再次简单说一下。

(1)一个TB6612模块,可以驱动两个直流电机。
(2)TB6612驱动其中一个电机,需要三个引脚一般。
第一个引脚:PWM,作用,控制电机速度,单片机产生(定时器、硬件PWM,PCA产生PWM等);
第二个引脚和第三个引脚分别接AIN2和AIN1,如果是0,0那么停止,10正转,01反转,11也是停止。单片机的普通IO引脚就可以。

同理,另外一个电机也一样。
看我之前的博客。循迹小车讲解一:原理分析_lmf666的博客-CSDN博客_循迹小车原理
https://blog.csdn.net/lmf666/article/details/109208816

(二)stc8a8k内置PWM模块的使用。
我已经写好代码,封装起来了,大家包好头文件,之后就能直接用了,只需要知道括号内部三个参数的意思。
//请认真阅读,理解
(注意)不过,建议有心学习单片机,想成为大神的,用到这款单片机的,一定要认真了解这个原理。对寄存器的访问和设置会有很大的收获。懂得这个,基本就知道怎么访问寄存器了。(见文末介绍)
//
************
对于新手,直接先使用着,后面再理解。
使用流程必须要按照这个步骤:
1、把HPWM这个文件夹,复制到工程目录里面,和工程文件放在一起。

1,包含头文件

在主程序中,必须写#include<hpwm.h>,这个文件我已经写好了,但是必须要包含进去。另外下载的时候,记得选择晶振是11.0592Mhz,不然要重新修改里面的代码。
![!](https://img-blog.csdnimg.cn/20201120101958853.png#pic_center)
这个文件夹有.c和.h文件。

2、将头文件的路径包含进去



新建一个路径,然后添加这个文件的路径进去。

3、在工程目录里面,添加hpwm.c文件。

4、配置好上面三个步骤之后,就能使用这个PWM了。

注意特别提醒,
我这个PWM是配套本训练板子的,是利用P20,P21,P22和P23产生PWM,如果要到其他场合,那么需要自己修改里面的hpwm.c的函数内容,比如端口切换,pwm的脉冲来源修改,等等。
5、简单介绍我这个模块的两个函数。

#ifndef __HPWM_H
#define __HPWM_H		

#include "STC8a8k.h"

void HPWM_Init();
/
//第一个参数,是PWM的通道,0----P20产生PWM,1--P21,        ,2--P22,     3---P23
//第二个参数,是PWM的频率,电机一般是7000-10000的频率就行了,这里我选择的是8000,如果是舵机控制,这里可以是50hz
//第三个参数,是占空比,这里是高电平的占空比,范围是0--1,占空比比例越大,电机速度越快。
void HPWM_Set(int PWMchannel, unsigned int f,float zkb);
#endif  

第一个是初始化,需要在main函数里面使用配置。
第二个是产生一定占空比的PWM的函数,这里,四个通道的频率必须一样,必须设置PWM的频率一样。如果用到多路的话,必须一样,切记,切记。

5、使用

在main函数里面,加初始化函数,进行初始化,当然必须要包含头文件,

经过前面3个步骤


在需要产生PWM的地方,调用函数

**

硬件接线。

**
看原理图,
//**************假设这三个控制的是左轮的电机
P20----PWMA
P04----AIN2
P05—AIN1
左轮电机线(可以对换,电机转动方向会变化,根据实际的进行修改接线)
AO2-----电机线2
AO1------电机线1
//**************假设这三个控制的是右轮的电机
P21----PWMB
P06—BIN2
P07—BIN1
右轮电机线(可以对换,电机转动方向会变化,根据实际的进行修改接线)
BO2-----电机线2
BO1------电机线1

**

控制程序

**

这个,这个delay.h和delay.c也和前面的三个步骤一样,添加,添加路径,添加c文件。不然不能直接用的哦。

实现功能:

正转2秒—停止2秒—反方向2秒。

如果发现一开始的正转和你的想法不一样,对换一下AO2和AO1电机线顺序;
同理,也可以对换BO1和BO2电机线的顺序。

#include<stc8a8k.h>
#include<delay.h>
#include "hpwm.h"

//***************************************************************************下面是接线定义
//左电机
sbit LPWM=P2^0;//电机调节速度的信号
sbit LA2=P0^4;
sbit LA1=P0^5;
//右电机
sbit RPWM=P2^1;
sbit RA2=P0^6;
sbit RA1=P0^7;
void main()
{
	//每个外设,比如按键,屏幕,PWM等内部资源的初始化,配置一下环境
	//设置准双向口,和普通的51单片机一样
	P0M1=0x00;P0M0=0x00;
	P1M1=0x00;P1M0=0x00;
	P2M1=0x00;P2M0=0x00;
	P3M1=0x00;P3M0=0x00;
	P4M1=0x00;P4M0=0x00;
	P5M1=0x00;P5M0=0x00;
	P6M1=0x00;P6M0=0x00;
    HPWM_Init();
	delay_tms(200);
	
	while(1)
	{
			HPWM_Set(0,8000,0.25);
		  LA2=1;LA1=0;
		
			HPWM_Set(1,8000,0.8);
		  RA2=1;RA1=0;
		
		delay_tms(2000); //两个轮子,一个慢,一个快,跑两秒
		 
		 LA2=0;LA1=0;
		 RA2=0;RA1=0;
		 delay_tms(2000);//两个轮子都停止2s;
		
		 HPWM_Set(0,8000,0.8);
		  LA2=0;LA1=1;
		
			HPWM_Set(1,8000,0.25);
		  RA2=0;RA1=1;
		
	  	delay_tms(2000); //两个轮子,一个慢,一个快,跑两秒,反方向
		

	}
}

可以看我的b站视频,有一个视频讲这个PWM的原理。后期大家学习一下。可以参看学。

以上是关于IRAM136驱动电机需要哪些引脚的主要内容,如果未能解决你的问题,请参考以下文章

驱动芯片是干啥的,需要完成啥功能呢

嵌入式&单片机一文带你搞懂电机驱动模块

树莓派 3 + L298N模块 驱动直流电机

树莓派——步进电机+驱动器 篇

Proteus仿真Arduino UNO+uln2003驱动步进电机+按键启保停正反转控制

实例3,stc8a利用内置的PWM模块,控制小车直流电机运动