电动车控制器软件设计_电动车控制器调试软件 - CSDN
  • 无刷电机要对转子永磁体位置进行精确检测,并用电子开关切换不同绕组通电以获得持续向前的动力,在目前的绝大多数电动车三相无刷电机中均使用三个开关式的霍尔传感器检测永磁体相对于定子线圈的位置,控制器跟据三个...

    转自

    http://blog.csdn.net/nike27/article/details/4092958

    1、电子换相

    无刷电机要对转子永磁体位置进行精确检测,并用电子开关切换不同绕组通电以获得持续向前的动力,在目前的绝大多数电动车三相无刷电机中均使用三个开关式的霍尔传感器检测永磁体相对于定子线圈的位置,控制器跟据三个霍尔传感器输出的六种不同信号输出相应的控制信号驱动电子开关向马达供电。这就是所谓六步换相法。从电机原理可以看出,换相必须及时,否则会导致电机失步,从而使电机噪音增大,效率降低,严重的还会导致控制器,电机烧毁。

    鉴于以上要求,我们测得市面上普通的无刷马达在最高转速时大约每1.2ms左右换相一次。考虑到输入到单片机的换相信号容易受干扰,加上线路上滤波电容的影响,单片机程序在读取霍尔换相信号时应至少连续读取6次,以6次霍尔信号完全一致时才采用该值作为换相信号的真值,这就是鉴相。取得换相信号后,我们将其与上次读到的值做对比,如果相同,则表示没有换相,如果不同,则要跟据这个值去取得一个相对应的驱动信号,从而驱动电子开关动作。这个过程可以使用逐项比较法,查表法等来实现。鉴于查表法比较快捷,一般使用查表法。其中需要考虑的是,一旦获得的信号与所有的六个信号都不相同,可能表示电机中霍尔元件或者其连接线路出现故障,此时我们应该让电机断电以避免误操作。

    市面上有两种电机,即所谓的120°和60°霍尔信号,这个角度代表三个霍尔器件输出的三相电信号其相位角相差的角度,其实这里面的区别仅仅是电平的不一样,在马达内部的安装上,位置没什么不同,只是中间一相的相位相反,所以仍然是六种信号对应六种驱动,软件上将表稍作调整即可。需要提一下的是,在120°的霍尔信号中,不可能出现二进制0B000和0B111的编码,所以在一定程度上避免了因霍尔零件故障而导致的误操作。因为霍尔元件是开路输出,高电平依靠电路上的上拉电阻提供,一旦霍尔零件断电,霍尔信号输出就是0B111。一旦霍尔零件短路,霍尔信号输出就是0B000,而60°的霍尔信号在正常工作时这两种信号均会出现,所以一定程度上影响了软件判断故障的准确率。目前市面马达已经逐渐舍弃60°相位的霍尔排列。

    编程提示:

    在程序上,我们综合考虑单片机的处理速度,采用定时中断去检测相位变化,中断周期采用64μS,中断源使用PWM本身中断。在同一个中断中,我们还将安排其它更重要的工作,这个在后面的电流控制中再说明。

    2、无级调速

    由于使用直流电源,电机的速度得依靠调节加在电机两端的电压来调整,较简单的办法是使用PWM脉宽调制来调节加到电机两端的电压。PWM的工作周期根据电机的使用环境,采用64μS,折算成频率大约15.625KHz,频率太低了会产生人耳能明显感觉到的高频噪声,电流也不容易控制;太高了又增加电子开关的开关损耗。PWM脉冲的最大宽度,这个直接影响到电机的最高速度,则由手柄输出的电压决定。

    手柄电压检测简单,人对速度的感觉很迟钝,所以手柄的检测不需要很频繁,这个AD检测与电源电压,刹车等检测均不需要很快的速度,所以每隔10mS-50mS轮番检测一次便足够。

    编程提示:

    由于现在大多采用线性霍尔作为手柄调节速度方案,优点是无触电,故障率极低。缺点是在5V供电的情况下,电压只能在1.1V-4.3V的范围内变化,这只需要我们做一点简单的运算,或者采用查表的方法,将这期间的AD数值转换成PWM占空比的值即可。虽然讲是无级调速,实际上分32级时人已经感觉不出来了。但是有一点,根据手柄得出的PWM脉冲宽度不能直接用来控制PWM占空比,需要在电流允许的情况下才能让占空比达到设定值。

    3、刹车断电

    电动车在刹车手柄附近装了一个微动开关,一方面在刹车时点亮刹车灯,一方面给控制器提供一个刹车高或低电平信号,各厂家不一定,在电路上作一些电平转换很容易就可以提供给单片机一个准确的信号,我们可以采用数字测量的方法测量这个电平是高还是低,也可以使用AD去测量有几伏,总之监测到这个信号后必须关闭所有的驱动输出和PWM输出,这就可以实现刹车断电。编程方面我就不多说了。至于如何实现EBS电子刹车,以后再叙。

    4、限流驱动

    这是整个控制器的灵魂,如果限流驱动没做好,其他功能再好还是一个字:烧!。

    电动车控制器的电子开关均使用功率MOSFET控制,MOSFET的最大允许电流,最大允许功耗都有其限制,如果没有电流控制,或者电流控制不好,均会导致功率MOSFET的烧毁,从而导致整个控制器报废,因此电流控制是本程序的重中之重,这个做不好,其它功能一概免谈。

    电流信号经康铜丝采样之后分两路,一路送至放大器,一路送至比较器。放大器用来实时放大电流信号,放大倍数大约11倍,放大后的信号提供给单片机进行AD采样转换,转换所得AD值用来控制电流不超过我们所允许的值。另一路信号送至比较器,当电流突然由于某种原因大大超过允许值,比如一只MOSFET击穿或误导通时,比较器翻转送出低电平,触发单片机的大电流中断,使单片机能够快速关断驱动,从而保护MOSFET避免更大伤害。我们这里所要讲述的准确,及时两个要素,主要是针对放大器放大之后的信号处理过程来表述的。

    准确

    首先一个条件是准确,这里所指的是电流的AD采样和转换的时机。我们现在使用的是PWM脉冲驱动,这种脉冲驱动导致的直接结果是放大后的电流信号与PWM脉冲频率相同,相位上滞后一定时间的脉动电流波形,这种波形如果没有经过滤波处理,将会类似于一个梯形,如果我们要获得准确的电流AD转换值,最好的办法就是在梯形波的上边中间采样电流信号,这样所获得的电流AD值才能较为准确地反应电流的实际大小。

    那么怎样保证采样的准确性呢?这里有一个办法,就是使用定时中断,我们可以设定好使定时中断和PWM周期同步,预先设定好AD的通道,将AD转换器切换到检测电流的那个通道,当进入定时中断处理完现场保护,中断源判断等一系列动作之后,开启AD时刻刚好落在电流梯形波的中央,采样完毕之后马上进行转换。

    及时

    其次是要及时。如果我们想及时准确地控制电流,采样次数也是要求越多越好,因为电流的变化相当快,在一个PWM周期中变化量可能会很大,所以我们最好是在一个PWM周期里采样数次,但是我们的单片机没有这么快的速度,再说PWM的占空比在一个周期中只接受最后的改变,而且要到下个周期才能发挥作用,所以一个PWM周期采样一次就够了,而且为了更好地处理其它事情,我们两个周期才对电流采样一次。

    采样转换之后的工作,就是处理了。怎样根据AD结果去调节电流?我们不需要想到PID控制那么复杂的概念,只需要在电流没达到限制值时逐渐增加PWM,直到等于手柄设定值为止,如果在此过程中电流接近限制值,那么应该不再增加PWM,直到电流减小。如果电流超过了限制值,则根据超过的量,找一个比较合适的减小量,比如PWM减1或减3,一切以电流比较稳定为准,不要有太大的波动,但波动越小,我们要求PWM占空比调整精度越高。实践证明,8Bit的精度对调整电流来说足够。

    恒流算法--电流即时值和有效值的矛盾:也许我们注意到大多数控制器的最大电流并没有出现在堵转的时候,这是因为上面我们所检测到的是电流的即时值,我们在电流表上看到的是电源电流的有效值,当PWM占空比不是100%的情况下,电流有效值≈电流即时值*PWM占空比,也就是说,占空比越小,要保证电流有效值达到我们的期望值,电流的即时值要提高。

    电流的测量和控制还涉及到其他两个附加功能:换相消噪和降低温升,降低温升这个要结合硬件讲。

    怎样减小换相噪声?

    在电动车刚刚起步的时候我们会发现换相时电机会发出很大的突突声,这是由于电机起步时电流比较大,而电机是个感性负载,换相后由于电机线圈电流不会一下增大到换相前的水平,这样就造成换相前后电流反差非常大,从而导致牵引力的急剧变化,这种变化便会引起电机强烈振动,这种振动噪声我们不能完全消除,但有简单的方法减小,就是在换相后的一段时间使PWM脉冲占空比达到100%来使电流增长快一点,从而减轻振动噪声。需要提醒的是在这个过程中我们需要随时监测电流变化,电流一达到换相前的水平就可以恢复换相前的PWM占空比。如果电流始终达不到以前的水平,那么最多延时5多个PWM周期即可,时间长了也没用,以不影响到鉴相等其它重要工作为度。

     

    5、堵转保护

    为了防止电机发生堵转时电流始终通过同一组MOSFET而造成永久损害,因此有必要在堵转发生之后数秒钟之内切断电机的供电。一般时间是2秒。要注意的是有时电机虽然发生堵转,但刚好在换相的临界点,此时会产生频繁的换相动作,这对MOSFET也是有害的,所以也应当作堵转来对待。

    6、欠压保护

    这是针对电池的保护动作,如果电池过放电,将导致电池的永久损坏。注意欠压保护和电池电压上升后恢复供电这两个电压应有一定回差,比如48V电池欠压点在42V,而恢复供电点在45V,当电池电压回到45V时还应延时数秒,避免控制器频繁进入保护状态使骑行者感到不适。另一点要注意的是,电池是具有内阻的电源,因此在大电流放电的情况下因适当调低欠压值。

    电压值的检测也是不需要非常频繁的,每隔10-50ms轮流检测一次AD值即可。

    7、故障的检测,保护及显示

    使用了单片机这样的可以智能化的零件,我们就可以做一些工作来帮助生产和维修:

    由于生产过程中不可避免会造成一些诸如虚焊,连锡之类的缺陷,所以在产品组装成半成品测试时就会出现一些故障,轻则某些功能失效,重的会导致元器件烧毁,这是老板绝对不愿意看到的,所以我们可以多做一些工作最大限度上避免此类问题的发生:

    我们最担心的是生产过程中由于连锡或虚焊导致MOSFET烧毁,一个MOSFET好几块RMB,谁见了都心疼。幸好现在有单片机,在开机时可以用极短的时间(大概10-20μS)的时间全部开启一下上桥,关闭,然后再开启一下下桥,如果其中有MOSFET短路就会产生比较大的电流,这个电流我们可以用单片机在开启MOSFET的同时检测到,而在这么短的时间内即使某个MOSFET短路,也不至于把另外一个烧掉,所以可以利用这个检验方法来初步检查产品的好坏,也便于修理工修理。其他的故障比较好检测,这里就不一一赘述。

    故障检测出来了,需要显示出来以告知人们出了什么故障,目前一般采用LED闪烁次数来表示,次数可以自己定,也可以采用比较流行的办法:

    慢闪:

    1秒钟闪一次,表示没有检测出故障。

    快闪:

    连续闪两次,停一下,表示刹车,或者刹车部分有故障。

    连续闪三次,停一下,表示INT0口始终为低电平,很有可能是比较器部分有问题。

    连续闪四次,停一下,表示上桥有短路现象

    连续闪五次,停一下,表示下桥有短路现象

    连续闪六次,停一下,表示电机霍尔信号有故障,或者相位选择有误。

    连续闪七次,停一下,表示刚刚发生了过流保护,INT0口有低电平脉冲出现

    连续闪八次,停一下,表示电源电压过低或给单片机供电的5V电源电压过高。

    8、同步整流
        这里的“同步整流”实际上应该称为“同步续流”,假设此时A相和C相通电,当A相上桥(我们把连接电源正的MOSFET称为上桥,与电源地连接的成为下桥,下同)PWM占空比没有达到100%时,通过电机线圈的电流是断续的,但上桥关闭的时候,由于电机线圈是一个电感,线圈上必定会出现一个自感反电动势,这个反电动势必须维持线圈电流的方向不变,由于A相上桥已经关闭,这个电流就会通过原来已经开通的C相下桥,地,A相下桥的续流二极管继续流动。

    当总电流小时这个自感电流并不大,但总电流大时,线圈中储存的能量多起来,这个自感电流也会相当大,我们知道MOSFET的续流二极管本身的压降大约在0.7-1V,在通过的自感电流大时,功耗便会相当大,假设自感电流为10A,二极管压降为0.7V时,功耗为7W,显然这个发热量是相当大的,这时下桥便会变得很烫,假如我们此时把下桥打开,让自感电流直接从MOSFET的沟道里走掉(MOSFET导通时电流可以双向流通),再假设MOSFET导通电阻RDSON=10mΩ,10A的时候功耗就变为1W,理论上就可以大大降低下桥的功耗,从而降低温升。但在实际上,由于上下桥在交叉导通时需要一个死区以避免双管直通造成电源短路,这个作用会打一些折扣,不过效果还是很明显。这也是为什么很多产品的下桥会用好一点的管子的原因。

    展开全文
  • 电动车控制器的程序设计,包含了所有功能的设计
  • 主要讲了基于STM32的电动车控制器,主要讲了软件和硬件。
  • 无刷电机要对转子永磁体位置进行精确检测,并用电子开关切换不同绕组通电以获得持续向前的动力,在目前的绝大多数电动车三相无刷电机中均使用三个开关式的霍尔传感器检测永磁体相对于定子线圈的位置,控制器跟据三个...

    1、电子换相

    无刷电机要对转子永磁体位置进行精确检测,并用电子开关切换不同绕组通电以获得持续向前的动力,在目前的绝大多数电动车三相无刷电机中均使用三个开关式的霍尔传感器检测永磁体相对于定子线圈的位置,控制器跟据三个霍尔传感器输出的六种不同信号输出相应的控制信号驱动电子开关向马达供电。这就是所谓六步换相法。从电机原理可以看出,换相必须及时,否则会导致电机失步,从而使电机噪音增大,效率降低,严重的还会导致控制器,电机烧毁。

    鉴于以上要求,我们测得市面上普通的无刷马达在最高转速时大约每1.2ms左右换相一次。考虑到输入到单片机的换相信号容易受干扰,加上线路上滤波电容的影响,单片机程序在读取霍尔换相信号时应至少连续读取6次,以6次霍尔信号完全一致时才采用该值作为换相信号的真值,这就是鉴相。取得换相信号后,我们将其与上次读到的值做对比,如果相同,则表示没有换相,如果不同,则要跟据这个值去取得一个相对应的驱动信号,从而驱动电子开关动作。这个过程可以使用逐项比较法,查表法等来实现。鉴于查表法比较快捷,一般使用查表法。其中需要考虑的是,一旦获得的信号与所有的六个信号都不相同,可能表示电机中霍尔元件或者其连接线路出现故障,此时我们应该让电机断电以避免误操作。

    市面上有两种电机,即所谓的120°和60°霍尔信号,这个角度代表三个霍尔器件输出的三相电信号其相位角相差的角度,其实这里面的区别仅仅是电平的不一样,在马达内部的安装上,位置没什么不同,只是中间一相的相位相反,所以仍然是六种信号对应六种驱动,软件上将表稍作调整即可。需要提一下的是,在120°的霍尔信号中,不可能出现二进制0B000和0B111的编码,所以在一定程度上避免了因霍尔零件故障而导致的误操作。因为霍尔元件是开路输出,高电平依靠电路上的上拉电阻提供,一旦霍尔零件断电,霍尔信号输出就是0B111。一旦霍尔零件短路,霍尔信号输出就是0B000,而60°的霍尔信号在正常工作时这两种信号均会出现,所以一定程度上影响了软件判断故障的准确率。目前市面马达已经逐渐舍弃60°相位的霍尔排列。

    编程提示:

    在程序上,我们综合考虑单片机的处理速度,采用定时中断去检测相位变化,中断周期采用64μS,中断源使用PWM本身中断。在同一个中断中,我们还将安排其它更重要的工作,这个在后面的电流控制中再说明。

    2、无级调速

    由于使用直流电源,电机的速度得依靠调节加在电机两端的电压来调整,较简单的办法是使用PWM脉宽调制来调节加到电机两端的电压。PWM的工作周期根据电机的使用环境,采用64μS,折算成频率大约15.625KHz,频率太低了会产生人耳能明显感觉到的高频噪声,电流也不容易控制;太高了又增加电子开关的开关损耗。PWM脉冲的最大宽度,这个直接影响到电机的最高速度,则由手柄输出的电压决定。

    手柄电压检测简单,人对速度的感觉很迟钝,所以手柄的检测不需要很频繁,这个AD检测与电源电压,刹车等检测均不需要很快的速度,所以每隔10mS-50mS轮番检测一次便足够。

    编程提示:

    由于现在大多采用线性霍尔作为手柄调节速度方案,优点是无触电,故障率极低。缺点是在5V供电的情况下,电压只能在1.1V-4.3V的范围内变化,这只需要我们做一点简单的运算,或者采用查表的方法,将这期间的AD数值转换成PWM占空比的值即可。虽然讲是无级调速,实际上分32级时人已经感觉不出来了。但是有一点,根据手柄得出的PWM脉冲宽度不能直接用来控制PWM占空比,需要在电流允许的情况下才能让占空比达到设定值。

    3、刹车断电

    电动车在刹车手柄附近装了一个微动开关,一方面在刹车时点亮刹车灯,一方面给控制器提供一个刹车高或低电平信号,各厂家不一定,在电路上作一些电平转换很容易就可以提供给单片机一个准确的信号,我们可以采用数字测量的方法测量这个电平是高还是低,也可以使用AD去测量有几伏,总之监测到这个信号后必须关闭所有的驱动输出和PWM输出,这就可以实现刹车断电。编程方面我就不多说了。至于如何实现EBS电子刹车,以后再叙。

    4、限流驱动

    这是整个控制器的灵魂,如果限流驱动没做好,其他功能再好还是一个字:烧!。

    电动车控制器的电子开关均使用功率MOSFET控制,MOSFET的最大允许电流,最大允许功耗都有其限制,如果没有电流控制,或者电流控制不好,均会导致功率MOSFET的烧毁,从而导致整个控制器报废,因此电流控制是本程序的重中之重,这个做不好,其它功能一概免谈。

    电流信号经康铜丝采样之后分两路,一路送至放大器,一路送至比较器。放大器用来实时放大电流信号,放大倍数大约11倍,放大后的信号提供给单片机进行AD采样转换,转换所得AD值用来控制电流不超过我们所允许的值。另一路信号送至比较器,当电流突然由于某种原因大大超过允许值,比如一只MOSFET击穿或误导通时,比较器翻转送出低电平,触发单片机的大电流中断,使单片机能够快速关断驱动,从而保护MOSFET避免更大伤害。我们这里所要讲述的准确,及时两个要素,主要是针对放大器放大之后的信号处理过程来表述的。

    准确

    首先一个条件是准确,这里所指的是电流的AD采样和转换的时机。我们现在使用的是PWM脉冲驱动,这种脉冲驱动导致的直接结果是放大后的电流信号与PWM脉冲频率相同,相位上滞后一定时间的脉动电流波形,这种波形如果没有经过滤波处理,将会类似于一个梯形,如果我们要获得准确的电流AD转换值,最好的办法就是在梯形波的上边中间采样电流信号,这样所获得的电流AD值才能较为准确地反应电流的实际大小。

    那么怎样保证采样的准确性呢?这里有一个办法,就是使用定时中断,我们可以设定好使定时中断和PWM周期同步,预先设定好AD的通道,将AD转换器切换到检测电流的那个通道,当进入定时中断处理完现场保护,中断源判断等一系列动作之后,开启AD时刻刚好落在电流梯形波的中央,采样完毕之后马上进行转换。

    及时

    其次是要及时。如果我们想及时准确地控制电流,采样次数也是要求越多越好,因为电流的变化相当快,在一个PWM周期中变化量可能会很大,所以我们最好是在一个PWM周期里采样数次,但是我们的单片机没有这么快的速度,再说PWM的占空比在一个周期中只接受最后的改变,而且要到下个周期才能发挥作用,所以一个PWM周期采样一次就够了,而且为了更好地处理其它事情,我们两个周期才对电流采样一次。

    采样转换之后的工作,就是处理了。怎样根据AD结果去调节电流?我们不需要想到PID控制那么复杂的概念,只需要在电流没达到限制值时逐渐增加PWM,直到等于手柄设定值为止,如果在此过程中电流接近限制值,那么应该不再增加PWM,直到电流减小。如果电流超过了限制值,则根据超过的量,找一个比较合适的减小量,比如PWM减1或减3,一切以电流比较稳定为准,不要有太大的波动,但波动越小,我们要求PWM占空比调整精度越高。实践证明,8Bit的精度对调整电流来说足够。

    恒流算法--电流即时值和有效值的矛盾:也许我们注意到大多数控制器的最大电流并没有出现在堵转的时候,这是因为上面我们所检测到的是电流的即时值,我们在电流表上看到的是电源电流的有效值,当PWM占空比不是100%的情况下,电流有效值≈电流即时值*PWM占空比,也就是说,占空比越小,要保证电流有效值达到我们的期望值,电流的即时值要提高。

    电流的测量和控制还涉及到其他两个附加功能:换相消噪和降低温升,降低温升这个要结合硬件讲。

    怎样减小换相噪声?

    在电动车刚刚起步的时候我们会发现换相时电机会发出很大的突突声,这是由于电机起步时电流比较大,而电机是个感性负载,换相后由于电机线圈电流不会一下增大到换相前的水平,这样就造成换相前后电流反差非常大,从而导致牵引力的急剧变化,这种变化便会引起电机强烈振动,这种振动噪声我们不能完全消除,但有简单的方法减小,就是在换相后的一段时间使PWM脉冲占空比达到100%来使电流增长快一点,从而减轻振动噪声。需要提醒的是在这个过程中我们需要随时监测电流变化,电流一达到换相前的水平就可以恢复换相前的PWM占空比。如果电流始终达不到以前的水平,那么最多延时5多个PWM周期即可,时间长了也没用,以不影响到鉴相等其它重要工作为度。

     

    5、堵转保护

    为了防止电机发生堵转时电流始终通过同一组MOSFET而造成永久损害,因此有必要在堵转发生之后数秒钟之内切断电机的供电。一般时间是2秒。要注意的是有时电机虽然发生堵转,但刚好在换相的临界点,此时会产生频繁的换相动作,这对MOSFET也是有害的,所以也应当作堵转来对待。

    6、欠压保护

    这是针对电池的保护动作,如果电池过放电,将导致电池的永久损坏。注意欠压保护和电池电压上升后恢复供电这两个电压应有一定回差,比如48V电池欠压点在42V,而恢复供电点在45V,当电池电压回到45V时还应延时数秒,避免控制器频繁进入保护状态使骑行者感到不适。另一点要注意的是,电池是具有内阻的电源,因此在大电流放电的情况下因适当调低欠压值。

    电压值的检测也是不需要非常频繁的,每隔10-50ms轮流检测一次AD值即可。

    7、故障的检测,保护及显示

    使用了单片机这样的可以智能化的零件,我们就可以做一些工作来帮助生产和维修:

    由于生产过程中不可避免会造成一些诸如虚焊,连锡之类的缺陷,所以在产品组装成半成品测试时就会出现一些故障,轻则某些功能失效,重的会导致元器件烧毁,这是老板绝对不愿意看到的,所以我们可以多做一些工作最大限度上避免此类问题的发生:

    我们最担心的是生产过程中由于连锡或虚焊导致MOSFET烧毁,一个MOSFET好几块RMB,谁见了都心疼。幸好现在有单片机,在开机时可以用极短的时间(大概10-20μS)的时间全部开启一下上桥,关闭,然后再开启一下下桥,如果其中有MOSFET短路就会产生比较大的电流,这个电流我们可以用单片机在开启MOSFET的同时检测到,而在这么短的时间内即使某个MOSFET短路,也不至于把另外一个烧掉,所以可以利用这个检验方法来初步检查产品的好坏,也便于修理工修理。其他的故障比较好检测,这里就不一一赘述。

    故障检测出来了,需要显示出来以告知人们出了什么故障,目前一般采用LED闪烁次数来表示,次数可以自己定,也可以采用比较流行的办法:

    慢闪:

    1秒钟闪一次,表示没有检测出故障。

    快闪:

    连续闪两次,停一下,表示刹车,或者刹车部分有故障。

    连续闪三次,停一下,表示INT0口始终为低电平,很有可能是比较器部分有问题。

    连续闪四次,停一下,表示上桥有短路现象

    连续闪五次,停一下,表示下桥有短路现象

    连续闪六次,停一下,表示电机霍尔信号有故障,或者相位选择有误。

    连续闪七次,停一下,表示刚刚发生了过流保护,INT0口有低电平脉冲出现

    连续闪八次,停一下,表示电源电压过低或给单片机供电的5V电源电压过高。

    8、同步整流
        这里的“同步整流”实际上应该称为“同步续流”,假设此时A相和C相通电,当A相上桥(我们把连接电源正的MOSFET称为上桥,与电源地连接的成为下桥,下同)PWM占空比没有达到100%时,通过电机线圈的电流是断续的,但上桥关闭的时候,由于电机线圈是一个电感,线圈上必定会出现一个自感反电动势,这个反电动势必须维持线圈电流的方向不变,由于A相上桥已经关闭,这个电流就会通过原来已经开通的C相下桥,地,A相下桥的续流二极管继续流动。

    当总电流小时这个自感电流并不大,但总电流大时,线圈中储存的能量多起来,这个自感电流也会相当大,我们知道MOSFET的续流二极管本身的压降大约在0.7-1V,在通过的自感电流大时,功耗便会相当大,假设自感电流为10A,二极管压降为0.7V时,功耗为7W,显然这个发热量是相当大的,这时下桥便会变得很烫,假如我们此时把下桥打开,让自感电流直接从MOSFET的沟道里走掉(MOSFET导通时电流可以双向流通),再假设MOSFET导通电阻RDSON=10mΩ,10A的时候功耗就变为1W,理论上就可以大大降低下桥的功耗,从而降低温升。但在实际上,由于上下桥在交叉导通时需要一个死区以避免双管直通造成电源短路,这个作用会打一些折扣,不过效果还是很明显。这也是为什么很多产品的下桥会用好一点的管子的原因。

    展开全文
  • 但是质量低劣的电动车控制器,就好比是给电动车埋下一颗定时炸弹,对驾驶者的安全也存在较大的威胁。那么,我们如何去判断电动车的控制器的优劣呢? 虽然控制器不是那么直观的显现在购买者的视线内,但是我们仍可以...
    控制器对电动车的重要性不言而喻。它就像是电动车的心脏和大脑,维持电动车的基本运作。质量优良的控制器能保障电动车的正常运作,也可以最大限度的保障使用者的安全。 但是质量低劣的电动车控制器,就好比是给电动车埋下一颗定时炸弹,对驾驶者的安全也存在较大的威胁。那么,我们如何去判断电动车的控制器的优劣呢? 虽然控制器不是那么直观的显现在购买者的视线内,但是我们仍可以从不同角度去观察电动车控制器的状况。以下就有几张不需要很多设备,很容易操纵的方法。
     1、仔细观察做工 一个控制器的做工体现一个公司实力,同等条件下,作坊控制器肯定不如大公司的产品;手工焊接的产品肯定不如波峰焊下来的产品;外观精致的控制器好过不注重外观的产品;导线用得粗的控制器好过导线偷工减料的控制器;散热器重的控制器好过散热器轻的控制器等等,在用料和工艺上有所追求的公司相对可信度高,对比就能看得出来。 2、对比温升 用新送来的控制器和原来使用的控制器进行同等条件下堵转发热试验,两个控制器都拆掉散热器,用一辆车,撑起脚,先转动转把达到最高速,立即刹车,不要刹死,免得控制器进入堵转保护,在极低速度下维持5秒钟,松开刹车,迅速达到最高速,再刹车,反复同样的操作,比如30次,检测散热器最高温度点。
     拿两个控制器的数据对比,温度越低越好。试验条件应该保证相同的限流,相同的电池容量,同一辆车,同样从冷车开始测试,保持相同的刹车力度和时间。试验结束时应检查固定MOS的螺丝松紧程度,松得越多标明使用的绝缘塑料粒子耐温性越差,在长期使用中,这将导致MOS提前因发热而损坏。再装上散热器,重复上述试验,对比散热器温度,这可以考察控制器的散热设计。 3、观察反压控制能力 选取一辆车,功率可以大一点,拔掉电池,选用充电器为电动车供电,接上E-ABS使能端子,确保刹把开关接触良好。慢慢转动转把,太快了充电器无法输出很大的电流,会引起欠压,让电机达到最高速,快速刹车,反复多次,不应出现MOS损坏现象。
     在刹车时,充电器输出端的电压会快速上升,考验控制器的瞬间限压能力,此试验如果用电池测试基本没有效果。此试验也可以在快速下坡时进行,当车子达到最高速后进行刹车。 4、电流控制能力 接充满的电池,容量越大越好,先让电机达到最高速,任选两根电机输出线短路,反复进行,30次以上,不应出现MOS损坏;再让电机达到最高速,用电池正极和任选的一根电机线短路,反复30次,这比上述试验更严酷,回路中少了一个MOS的内阻,瞬间短路电流更大,考验控制器的电流快速控制能力。 很多控制器会在这一环节出丑,如果出现损坏,可以比较两个控制器成功承受短路的次数,越少越差;拔掉一根电机线,转把拉到最大,此时电机不会运转,快速接通另一根电机线,电机应能立即转动,电机转动中反复插拔其中一根电机线,控制器应正常工作。这部分实验可以验证控制器软件、硬件的可靠性设计。
     5、检验控制器效率 关闭超速功能,如果有的话,在同一辆车子空载情况下测试不同控制器达到的最高速,速度越高,则效率越高,续航里程也相对高。以上试验都是在没有什么特别设备的情况下进行,可操作性强,广泛对比了控制器在做工、温升、电压电流控制和效率的差异,基本可以反映控制器的优劣。消费者在选购电动车的时候不妨根据情况选择上述实验方法,选购较为放心的电动车。
    
    展开全文
  • 本文适合在单片机编程方面有一定经验的读者,有些基础知识恕不一一介绍。
  • 摘要:传统的电动汽车整车控制器开发中,对程序的烧写是通过BDM调试接口实现的,该方 法不仅在控制器应用程序开发阶段会影响开发效率,而且会给后期整车控制器升级维护造成极 大的不便.通过嵌入式系统引导加载程序(即...
  • 针对某款纯电动客车,对其行驶策略、能量管理策略等整车控制策略进行研究。...通过 Simulink 中 Code generation 生成软件层的代码, 完成控制器软件层的设计。最后对整车控制器的行驶策略、能量管理策略进行测试。
  • 霍尔信号出错时自动切换到无霍尔工作状态,是当今电动车控制器领域的前沿技术。本文在分析无刷直流电机有霍尔状态和无霍尔状态下控制器的工作过程的基础上,重点研究反电动势法获取电机换相信号的原理及硬件实现,最后...
  • 软件设计采用“时间片”分时思想和模块化结构, 根据控制需求编写了各个模块程序,如驱动换相、柔性电子刹车(EABS)、欠 压保护;并实现“速度-电流”双闭环的控制功能;给出了各模块详细的程序流程 图。 实验结果...
  • 在了解纯电动车整车控制器前,先看一下纯电动汽车基本的组成部件,基本组成部件如下图所示: 整车控制器VCU,英文全称为:Vehicle Control Unit,主要用来负责传动系动力学控制应用及一般用途的控制。 目前,VCU的...

    纯电动汽车整车控制器VCU研发介绍

    在了解纯电动车整车控制器前,先看一下纯电动汽车基本的组成部件,基本组成部件如下图所示:

    纯电动汽车整车控制器VCU研发介绍-杨澜
          整车控制器VCU,英文全称为:Vehicle Control Unit,主要用来负责传动系动力学控制应用及一般用途的控制。

      目前,VCU的主控芯片有飞思卡尔、ST以及TI,由于飞思卡尔被NXP收购后,现在很多家都在用NXP的芯片。国内纯电动汽车整车控制器厂家比较少,但是ECOTRONS提供的整车控制器,有三种不同类型的,其中,基于NXP 56XX微处理器的标准低成本VCU,基于NXP 57 XX微系统的高性能VCU,甚至基于英飞凌TICROR TC27 X微控制器的强大VCU。

    目前对于VCU的开发,很多整车控制器厂家都是通过自己开发的开发系统(MDS)中使用Matlab/Simulink®来完成,因此,对于很多资金力量比较雄厚的企业,一般所谓的整车控制器开发,都是基于国外整车控制器的硬件以及相应的开发系统下完成的,严格上说,不算是自己真正的开发的产品。通过以往项目,发现国内整车控制器厂家科技力量上真的很薄弱,硬件设计上不够完善,上电烧控制器现象严重,软件设计也不够完善,CCP等标定功能缺失等,bootloader-can 用户自由设定IO接口功能缺失等问题。

     下面来看一下,硬件开发需要具备的接口:

     

    纯电动汽车整车控制器VCU研发介绍-杨澜

    vcu硬件接口示意图

     

           因此,电动汽车vcu开发的第一步就是要根据所选择的主控芯片,以及需要输入接口及输出接口,完成硬件的设计。这里需要注意的是,很多接口都有详细的性能参数要求的,如下图中,就把各个接口的详细性能参数基本给全了。

     

    纯电动汽车整车控制器VCU研发介绍-杨澜
     

     

    第二步是确定软硬件接口表、整车高低压电气原理图、信号线连接示意图、CAN通讯协议以及详细功能策略。

    纯电动汽车整车控制器VCU研发介绍-杨澜

    纯电动汽车的硬件接口

     

    纯电动汽车整车控制器VCU研发介绍-杨澜
    每个硬件接口的对于的软件设计功能表

     

    纯电动汽车整车控制器VCU研发介绍-杨澜

    整车高低压电气原理图

     

    纯电动汽车整车控制器VCU研发介绍-杨澜
     

    信号线连接示意图

     

    can通信协议,目前主要是依据的J1939.下面给一些相关协议表,让大家对这个通信协议有个基本的了解。

    纯电动汽车整车控制器VCU研发介绍-杨澜
    纯电动汽车整车控制器VCU研发介绍-杨澜
           第三步软件集成及测试。底层软件和应用层软件都做好之后,就需要对软件进行集成了,底层软件平台和应用层软件之间交互的接口主要是一些全局变量或者API。国内第三步做的都不是很好。

         ECOTRONS推出的整车控制用户自由定义IO接口以及直接调用Matlab/Simulink建模生成代码以及测试的软件工具感觉不错

    另外,目前整车控制器都是采用Bootloader升级和维护程序的,推荐github上网友的分享,链接为https://github.com/cvra/can-bootloader

    展开全文
  • 整车控制开发要求的功能越来越多,特别是乘用项目,蠕行功能、定速巡航功能等高端功能需要VCU实现控制。另外还有很多复杂的逻辑控制,使用状态机特别好处理。当然以前的C语言也可以做,但是确实没Matlab/Simulink...

    开发背景

    整车控制开发要求的功能越来越多,特别是乘用车项目,蠕行功能、定速巡航功能等高端功能需要VCU实现控制。另外还有很多复杂的逻辑控制,使用状态机特别好处理。当然以前的C语言也可以做,但是确实没Matlab/Simulink来的更一目了然。而且现在模型开发是大势所趋,使用模型开发的越来越多了。

     

    硬件平台

    硬件是一款飞思卡尔的MC9S12XEP100为主控的VCU平台,电源8-16V(典型12v乘用车电压平台),另外兼容支持8-32V(商用车24v电压平台);具备充足的开关量采集口、开关量输出口、模拟量采集口、5V电源口、CAN通讯口;

     

    底层驱动

    开发好的底层驱动,以模型库的形式添加到simulink中去,直接可以拖曳到工程中使用(类似直接使用simulink自带的模型库),无需对CPU底层了解就可以实现整车的控制,使用特别方便。底层驱动模块代码开源,开发使用C-MEX,使用S-FUN封装,并编写TLC为其提供代码生成。

     

    控制策略

    在底层模型库的支持下,编写应用控制策略变的如鱼得水。功能主要包括信号采集、信号处理、信号输出。

    其中信号采集包含IO、AD、CAN等信号的采集,包含空调、水泵、真空泵、风扇、高压配电、充电机、制动踏板、PEPS、加速踏板、制动踏板、档位开关、巡航开关、回馈开关、运动模式等信号的采集。在信号采集时,输入端进行算法滤波,保证信号的稳定性和处理的可靠性。

    信号处理包含开关量信号算法滤波模块、上下电功能模块、电机运行模式判读模块、整车故障分级处理模块、转矩限制模块、转矩油门模块、刹车制动模块、起步蠕行功能模块、定速巡航模块、转矩分配模块等的功能模块。

    信号输出包含CAN信息的输出、油门力矩、制动力矩等的信号处理转换还包括仪表显示模块、瞬时能耗计算、冷却管理模块、附件管理模块、VCU自管理。

     

    开发工具

    建模采用Matlab/Simulink;CAN通讯仿真及DBC文件使用CANOE;整车动力仿真模型采用PRESCAN;编译下载使用CODEWARRIOR;

     

    开发车型

    商用大巴车,续航300KM;整备质量7000KG;电机功率70/110kw;

    SUV纯电动,续航400-500KM;整备质量1800KG;电机功率50/120kw;

     

    通讯协议

    见附件。

    部分控制模型

    生成代码配置

    硬件实物

    是否可提供硬件软件

    展开全文
  • 新能源汽车控制器标定系统的设计与实现
  • 电动汽车仿真软件

    2017-07-06 21:49:14
     早在20世纪70年代,美国、日本、英国和法国等国都研制出多种电动汽车仿真软件,大多数软件由于功能单一、仿真效果差,已经被淘汰。cv表示传统内燃机汽车,EV表示纯电动汽车,HEV表示混合动力汽车,SHEV表示串联...
  • (1)丰田公司整车控制器 丰 田公司整车控制器的原理图如下图所示。该是后轮驱动,左后轮和右后轮分别由2个轮毂电机驱动。其整车控制器接收驾驶员的操作信号和汽车的运动传感器信 号,其中驾驶员的操作信号包括...
  • 一、一款合适的整车控制器需要正确的输入,一般车型不一样整车控制器的接口需求也不一样,因为整车控制器开发周期比较长,所以在整车控制器的研发起始阶段要考虑,所研发的整车控制器要有一定的兼容性,能适应较多...
  • 混合动力汽车整车控制器底层软件设计与实现,混合动力相关的硕士论文。
1 2 3 4 5 ... 20
收藏数 2,624
精华内容 1,049
关键字:

电动车控制器软件设计