先说一下新西达无刷电机的 的说初始化,电源线接电源,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的占空比了。