直流有刷空心杯驱动

移液枪直流有刷空心杯电机位置控制。
摘要由CSDN通过智能技术生成


空心杯电机

心杯电动机属于直流永磁的伺服、控制电动机,也可以将其归类为微特电机。空心杯电动机具有突出的节能特性、灵敏方便的控制特性和稳定的运行特性,技术先进性十分明显。作为高效率的能量转换装置,在很多领域代表了电动机的发展方向。空心杯电动机在结构上突破了传统电机的转子结构形式,采用的是无铁芯转子,也叫空心杯型转子。这种新颖的转子结构彻底消除了由于铁芯形成涡流而造成的电能损耗。同时其重量和转动惯量大幅降低,从而减少了转子自身的机械能损耗。由于转子的结构变化而使电动机的运转特性得到了极大改善,不但具有突出的节能特点,更为重要的是具备了铁芯电动机所无法达到的控制和拖动特性。空心杯电机分为有刷和无刷两种,有刷空心杯电机转子无铁芯,无刷空心杯电机定子无铁芯。绕组采用三角形接法。空心杯电动机主要有以下特性:
1、节能特性:能量转换效率很高,其最大效率一般在70%以上,部分产品可达到90%以上(铁芯电动机一般在70%)。
2、控制特性:起动、制动迅速,响应极快,机械时间常数小于28毫秒,部分产品可以达到10毫秒以内(铁芯电动机一般在100毫秒以上);在推荐运行区域内的高速运转状态下,可以方便地对转速进行灵敏的调节。
3、拖动特性:运行稳定性十分可靠,转速的波动很小,作为微型电动机其转速波动能够容易的控制在2%以内。
另外,空心杯电动机的能量密度大幅度提高,与同等功率的铁芯电动机相比,其重量、体积减轻1/3-1/2
由于空心杯电动机克服了有铁芯电动机不可逾越的技术障碍,而且其突出的特点集中在电动机的主要性能方面,使其具备了广阔的应用领域。尤其是随着工业技术的飞速发展,对电动机的伺服特性不断提出更高的期望和要求,使空心杯电动机在很多应用场合拥有不可替代的地位。
空心杯电动机的应用,从军事、高科技领域进入大工业和民用领域后,十多年来得到迅速的发展,尤其是在工业发达国家,已经涉及到大部分行业和许多产品。
1、需要快速响应的随动系统。如导弹的飞行方向快速调节,高倍率光驱的随动控制,快速自动调焦,高灵敏的记录和检测设备,工业机器人,仿生义肢等,空心杯电动机能很好地满足其技术要求。
2、对驱动元件要求平稳持久拖动的产品。如各类便携式的仪器仪表,个人随身装备,野外作业的仪器设备,电动车等,同样一组电源,供电时间可以延长一倍以上。
3、各种飞行器,包括航空、航天、航模等。利用空心杯电动机重量轻,体积小,能耗低的优点,可以最大限度地减轻飞行器的重量。
4、各种各样的民用电器、工业产品。采用空心杯电动机作为执行元件,可以使产品档次提高,性能优越。
5、利用其能量转换效率高的优势,也作为发电机使用;利用其线性运行特性,也作为测速发电机使用;配上减速器,也可以作为力矩电动机使用。
随着工业技术进步,各种机电设备严格的技术条件对伺服电动机提出越来越高的技术要求,同时,空心杯电动机的应用范围已经完全脱离了高端产品的局限性,正在迅速地扩大在一般民用等低端产品上的应用范围,以广泛提升产品品质。据有关资料统计,在工业发达国家已经有100多种民用产品上成熟应用了空心杯电动机 [2] 。
空心杯电机应用于移液枪中,原因在于直径小可以做到16mm,转速高,带减速箱后扭矩加大可以带动丝杆做移液操作,电机屁股后端加编码器可以实现位置,速度,电流三环控制。国外高端移液枪使用步进电机,空心杯有刷电机及直线电机的都有产品。其中基于直线电机的8.5mm方案最具科技感,目前在国内没有销售。
国内做空心杯电机的商家有鸣志,万至达,鑫宝达,鼎智,五颗星等。空心杯电机包括有刷和无刷两种类型。国外的品牌如Maxon,其配套驱动器价格贵。
本文基于TI DRV8876有刷伺服芯片,开发有刷驱动器,实现对空心杯有刷电机的闭环位置控制。


一、原理图

DRV8876适用于24V,2A以内直流有刷伺服电机驱动,应用于移液枪项目中非常合适。单片机中编写有刷电机控制环路实现位置环,速度环,电流环。
DRV8876
STM32

二、有刷电机代码

代码如下(示例):

volatile int g_timx_encode_count = 0;                                   /* 溢出次数 */
uint8_t  g_run_flag = 0;     
/**
 * @brief       电机停止
 * @param       无
 * @retval      无
 */
void dcmotor_stop(void)
{
   
	TIM4->CCR1 = 0;
	TIM4->CCR2 = 0;
	HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_1);
	HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_2);
}

void dcmotor_dir(uint8_t para)
{
   
	HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_1);
	HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_2);

	if (para == 0)                /* 正转 */
	{
   
		HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1);
	} 
	else if (para == 1)           /* 反转 */
	{
   
		HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);
	}
}

/**
 * @brief       电机速度设置
 * @param       para:比较寄存器值
 * @retval      无
 */
void dcmotor_speed(ui
  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值