0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

空心杯电机控制解决方案

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2022-05-28 18:49 次阅读

1.双轴摇杆传感器

PS2双轴按键游戏摇杆模块采用PS2游戏手柄上金属按键摇杆电位器、模块特设二路模拟输出和一路数字输出接口、输出值分别对应(×、Y双轴偏移量、其类型为模拟量、按键表示用户是否在z轴上按下、其类型为数字开关量、模块集成电源指示灯、可显示工作状态、坐标标识符清晰简明、准确定位、用其可以轻松控制物体(如二自由度舵机云台)在二维空间运动、因此可以通控制器编程、传感器扩展板插接、完成具有创意性遥控互动作品。
硬件接口:
GND – GND
+5V – +5v
VRX – x方向模拟量
VRY – y方向模拟量
SW --按键状态

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

2.720空心杯电机

空心杯电机转速快,体积小,搭配螺旋桨适合用于遥控器飞机模型制作DIY电子科技制作,接线简单,是做微型四轴飞行器的配件。使用简单:空心杯电机,钦铁硼强磁性能更稳定。

pYYBAGKQxeuAcgcoAAYtM_KFSZE412.pngpYYBAGKQxiWALG2wAAKNkd_7vQk226.png

3.电机驱动模块

(1) MOS场效应管驱动模块采用原装进口双MOS并联有源输出,内阻更低,电流大,功率强,常温下15A,400W,满足了大多数设备的使用;
(2) 宽电压,支持PWM;1:工作电压:DC 5V–36V;
(3) 触发信号源:数字量高低电平(DC3.3v–20V),可以接单片机IO口,PLC接口,直流电源等,可以接PWM信号,信号频率0–20KHZ支持。
(4) 输出能力:直流DC 5V–36V,常温下持续电流15A,功率400W!辅助散热条件下,最大电流可达30A。
(5) 应用:输出端可以控制大功率的设备,电机,灯泡,LED灯带、直流马达、微型水泵、电磁阀等,可以输入PWM,控制电机转速,灯自亮度等。

pYYBAGKQxoqAPleeAAP8DAdCvT8921.png

4.软设计

定时器3通道1(PA6)输出PWM波,完成电机控制

4.1 PWM模式

脉冲宽度调制(PWM):冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器数字信号模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。

脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波占空比调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

STM32芯片本身自带PWM模式,该模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1 寄存器的ARPE位, (在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位来初始化所有的寄存器。OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。 TIMx_CCER寄存器中的CCxE位控制OCx输出使能。

4.2 PWM模式配置步骤

1.配置定时器基本功能(定时器基本功能,设置预分频系统,设置周期时间)---》2.设置定时器PWM模式(PWM1模式1和PWM1模式2) ---》3.设置占空比---》4.设置占空比---》5.开启定时器;

/*****************PWM波输出*****************
**形参:u16 psc -- 预分频系数
**			u16 arr -- PWM一个周期时间
**			u16 ccr -- 占空比
**例:Tim3_CH1_PWM(72,1000,200)
**PWM的周期时间:1000us
**占空比:200/1000*100%=20%
**高电平时间:200US,低电平时间为800us
*********************************************/
void Tim3_CH1_PWM(u16 psc,u16 arr,u16 ccr)
{
	//1.开时钟
	RCC->APB1ENR|=1<<1;//TIM3
	RCC->APB1RSTR|=1<<1;//开复位时钟
	RCC->APB1RSTR&=~(1<<1);//关复位
	RCC->APB2ENR|=1<<2;//PA
	/*2.配置GPIO口*/
	GPIOA->CRL&=0xf0ffffff;
	GPIOA->CRL|=0x0B000000;//复用推挽输出
	/*3.配置核心寄存器*/
	TIM3->CNT=0;//清空计数器中的值
	TIM3->PSC=psc-1;//预分频系数
	TIM3->ARR=arr;//重装载值
	TIM3->CR1|=0x1<<7;//自动重装载预装载允许位
	TIM3->CCMR1&=~(0x3<<0);//OC1配置为输出
	TIM3->CCMR1|=0x1<<3;//输出比较1预装载使能
	TIM3->CCMR1|=0x6<<4;//PWM模式1,CNTCCER&=~(1<<1);//有效电平为高电平
	TIM3->CCR1=ccr;
	TIM3->CCER|=1<<0;//输出使能
	TIM3->CR1|=1<<0;//使能TIM3
}
为有效电平>

4.2 ADC1规则通道采集遥控值

STM32本身自带ADC功能,有两个12位的ADC。一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。

● 12位分辨率
● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断
● 单次和连续转换模式
● 从通道0到通道n的自动扫描模式
● 自校准
● 带内嵌数据一致性的数据对齐
● 采样间隔可以按通道分别编程
● 规则转换和注入转换均有外部触发选项
● 间断模式
● 双重模式(带2个或以上ADC的器件)

/****************ADC规则通道配置*******************
**
**硬件接口:PB0 --ADC1_CH8
**
*****************************************************/
void ADC_Regular_Channel(void)
{
    /*1.开时钟*/
    RCC->APB2ENR|=1<<3;//PB时钟
    RCC->APB2ENR|=1<<9;//ADC1时钟
    RCC->APB2RSTR|=1<<9;//ADC1复位
    RCC->APB2RSTR&=~(1<<9);//取消复位
    /*2.配置GPIO口*/
    GPIOB->CRL&=0xFFFFFFF0;//配置为模拟输入
    /*配置ADC工作频率*/
    RCC->CFGR&=~(0x3<<14);//清除原来寄存器中的值
    RCC->CFGR|=0x2<<14;//ADC工作频率:72MHZ/6=12MHZ
    /*3.ADC核心寄存器配置*/
//    ADC1->CR1&=~(0xF<<16);//独立模式
//    ADC1->CR1&=~(1<<8);//关闭扫描模式
    ADC1->CR2|=1<<23;//采集内部温度数据
    ADC1->CR2|=1<<20;//使用外部事件启动转换
    ADC1->CR2|=0x7<<17;//选择SWSTART事件转换通道
//    ADC1->CR2&=~(1<<11);//右对齐
//    ADC1->CR2|=1<<1;//连续转换模式
    ADC1->SMPR1|=0x7<<18;//设置内部温度采样时间,通道16
    ADC1->SMPR2|=0X7<<24;//通道8采样时间
    ADC1->SQR1&=~(0xF<<20);//设置单次转换的通数量为1个
    ADC1->CR2|=1<<0;//开启ADC
    ADC1->CR2|=1<<3;//初始化校准寄存器
    while(ADC1->CR2&1<<3);//等待初始化完成
    ADC1->CR2|=1<<2;//开始校准
    while(ADC1->CR2&1<<2);//等待校准完成   

}
/*******************获取规则通道转换*****************
**
**形参:u8 chx ---需要转换的通道号(0~17)
**返回值:转换成功的数据(12位)
**
******************************************************/
u16 ADC1_GetRegular_Channel_Data(u8 chx)
{
    u16 dat;
    ADC1->SQR3&=~(0x1F<<0*5);//清除第一转换序列中的值
    ADC1->SQR3|=chx<<0*5;//设置需要转换的通道号
    ADC1->CR2|=1<<22;//开启转换规则通道
    while(!(ADC1->SR&1<<1)){}//等待规则通道转换完成
    dat=ADC1->DR;
    return dat;
}

主函数

int main()
{
	int data=0;
	float data2=0;
	Usartx_Init(USART1,115200,72);
	TIMx_Init(TIM2,72,20*1000);
	TIM3_CHx_PWM(1,3600,data);//1屏,周期50ms(20khz)
	ADC_Regular_Channel();//规则通道初始化
	while(1)
	{
    data=ADC1_GetRegular_Channel_Data(8);//完成规则通道转换
    data-=2054;    
    data2=data*1.0/4095*3600;
    TIM3->CCR1=data2;
	}
}
pYYBAGKQzIWAEx01AAaYnLwOnHk768.png





审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2522

    文章

    47975

    浏览量

    739659
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4885

    浏览量

    209811
  • 电机
    +关注

    关注

    139

    文章

    8296

    浏览量

    141995
收藏 人收藏

    评论

    相关推荐

    关于空心电机

    空心电机同型号能保证转速都一样吗,有没有用过的,告诉一下,谢谢
    发表于 10-21 16:21

    基于ARM的空心电机控制设计

    嵌入了μC/OS—III实时操作系统,采取多任务的方式高效地完成了转速前馈PI控制。实验表明:系统具备很好的动、静态性能,为空心转速闭环控制提供了一种行之有效的
    发表于 01-06 17:33

    来几张空心电机

    `空心电机......木有心的电机.......`
    发表于 01-18 17:18

    智能电子锁驱动空心电机,请问各路大神有没电机遇阻即停方案

    本帖最后由 一只耳朵怪 于 2018-6-19 09:42 编辑 智能电子锁驱动空心电机,请问各路大神有没电机遇阻即停方案
    发表于 06-14 15:59

    请问图中电路能驱动空心电机吗?

    这个电路可以驱动空心电机
    发表于 04-17 06:36

    空心怎么控速?

    `推荐课程:张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器(视频+硬件)http://url.elecfans.com/u/73ad899cfd想用空心做东西,但是不知道怎么用,只知道
    发表于 05-12 17:12

    空心电机有什么特点?

    空心电动机在结构上突破了传统电机的转子结构形式,采用的是无铁芯转子,也叫空心型转子。
    发表于 03-23 09:01

    空心电机学习笔记资料分享

    1.空心电机(直流电机)的硬核拆解:添加链接描述添加链接描述2.空心
    发表于 06-29 08:26

    驱动无刷电机与驱动空心电机有何不同

    有什么方法可以驱动无刷电机?有什么方法可以驱动空心电机?驱动无刷电机与驱动空心
    发表于 08-27 06:09

    空心电机的特点及分类

    空心电机(coreless motor)属于直流、永磁、伺服微特电机空心
    发表于 09-13 06:53

    电机空心电机)介绍

    电机空心电机)是中国制冷行业的一个缩影,中低端产能过剩、产品竞争力不强,而高端产品缺乏,如何启动国内高效电机用户市场、拉动国内需求,是
    发表于 09-13 09:17

    使用空心电机制作无人机

    (未完成)一、使用空心电机,型号8520,1S版本,约5G每只。二、空心机架,型号QX90,约8.5g。三、使用55MM桨四、1S 60
    发表于 09-13 08:23

    空心直流电机控制

    统的控制对象是4个空心直流电机电机带光电编码器,可以反馈转速大小的波形。电机驱动模块是普通的
    发表于 09-13 08:47

    直流无刷电机空心电机的区别在哪

    直流无刷电机空心电机的定义有何不同?直流无刷电机空心
    发表于 09-18 07:16

    为什么伺服电机的转子要做成空心型呢?

    为什么伺服电机的转子要做成空心型呢?
    发表于 03-30 11:40