瑞萨单片机(R5F100LE)使用新西达无刷电调 四通道PWM

    先说一下新西达无刷电机的 的说初始化电源线接电源,3个插孔接入三相电机的线,油门信号线共3条,黑色的是信号的GND,白色的就是信号线,红色是VCC。油门信号线,是采用PWM的的驱动方式,也就是说,我们用单片机就可以给电调信号从而控制无刷电机运转了,我们用的500Hz的信号。速度是由PWM中高电平的时间决定的,PWM的周期我们使用2ms。我们用0.5ms作为最低速,1.9ms作为最高速,用arduino产生0.5ms到1.9ms之间的PWM信号,就可以把电机从0调到最大转速地方。

    电调使用之前要初始化,如何初始化呢?

    给arduino写程序:使得某引脚输出500Hz的PWM信号,周期为2ms了。

    1、设置PWM高电平时间设置为1.9ms,接好线打开电源和电调,上电音乐过后听到“滴-滴”两声这时把,PWM高电平时间设置为0.5ms,听到“滴-滴-滴滴”的声音就初始化好了。这样就初始化完成了。这时你给它一个高电平时间为0.6ms的PWM波他就转起来了。

    下面使用arduino初始化电调的例子,是使用串口改变PWM的占空比,既高电平时间。代码如下:

unsigned int  us=1000;

void setup()
{
	Serial.begin(115200);
	//pinMode(22, OUTPUT);
	//digitalWrite(22, LOW);
	pinMode(13, OUTPUT);
}
void loop()
{	
	digitalWrite(13, HIGH);
	delayMicroseconds(us);
	digitalWrite(13, LOW);
	delayMicroseconds(2000-us);

	if(Serial.available())
	{
		char buf[20];
		int i=0;
		while(Serial.available()){
			buf[i] = Serial.read();
		    i++;
		}
		buf[i]='\0';
		us=atoi(buf);
		Serial.print(us);
	}
}

    PWM输出引脚为13脚,接油门线的白线。红线接3.3V,黑线接GND。

    先从串口给arduino发1900,把PWM波设为1.9ms/2.0ms。接线,打开电调电源,上电声音过后听到“滴--滴”两声之后,从串口发500,改变PWM的占空比。听到“滴-滴-滴滴”声之后,初始化完成。0.5ms/2ms的PWM波电机速度为最慢,1.9ms/2msPWM波电机速度为最快。

    接下来介绍一下,瑞萨单片机如何使用PWM波,四通道PWM的配置和使用。大家一定都看过什么一个叫《快速入门教材》链接的PDF上面讲的有瑞萨单片机如何使用PWM波和如何配置的。

    我只在这里说一下教材上没有提到的关键问题。就是配置好周期之后你如何找到TDR00的值呢。有其实很简单你可以通过,在线调试看看这个寄存器的值,或者直接看r_cg_timer.c中TDR00的配置它有一个前缀, 如

 TDR00 = _F423_TAU_TDR00_VALUE;

这个前缀就TDR00的值,也就是0xF423。这样只要改变TDR0X就能很好的使用,改变PWM的占空比了。

瑞萨单片机(R5F100LE)使用新西达无刷电调 四通道PWM_第1张图片


瑞萨单片机(R5F100LE)多通道 PWM CubeSuite工程链接

你可能感兴趣的:(瑞萨单片机(R5F100LE)使用新西达无刷电调 四通道PWM)