1. 电机驱动电路设计

换相控制电路主要由6个功率场效应管和一些外围电路等构成。为实现磁场旋转,星形连接的线圈A、B、C的导通顺序依次为:AB、AC、BC、BA、CA、CB,对应的导通场效应管依次为Q1Q4、Q1Q2、Q3Q2、Q3Q6、Q5Q6、Q5Q4。例如,当Q1Q4管导通时,电流的流经途径为:正极→Q1管→线圈A→M点→绕组B→Q4管→负极。此时,单片机给Q1的栅极提供PWM信号,通过控制Q1管输入端的PWM占空比调节电机转速。

2.  电机启动及换相

当AB相导通时,三相绕组已经产生磁场,在磁场力的作用下,电机开始转动,如果不换相的话,转子转动一定角度后就会在磁场力的作用下停止不动,因此,当转子转动一定角度后必须进行换相。那么如何决定何时换相呢?下面以从AB导通换到AC导通换相过程为例说明。

换相过程是由比较器决定的。比较器有正极输入端与负极输入端两个输入端口,假设其中负极输入端的信号来自线圈星形连接的中点M的电压,正极输入端信号来自C相电压,由于定子绕组产生的磁场分布特点,线圈C在旋转360°的过程中切割磁场产生的感生电动势会出现:正--负--正--负--正--负 的周期变化,在比较器看来,就会出现:下降沿--上升沿--下降沿--上升沿--下降沿--上升沿的循环变化。只要比较器感知到下降沿信号,就意味着电机该换相进入AC导通了。

3. 电机转速控制与比较器控制

根据STC15W408AS系列芯片的操作手册,要实现芯片的PWM输出,需要完成对PWM有关寄存器的设置,一般在PWM的初始设置中,重载值 {EPCnH,CCAPnH[7:0]}={0,00}, 比较值为 {EPCnL, CCAPnL[7:0]}={0,00},计数值为{0, CL[7:0]}={0,00},所以从一开始计数开始,就满足{0, CL[7:0]} >= {EPCnL, CCAPnL[7:0]},从而PWM输出高电平,使上半支场效应管截止,电机线圈没有电流通过。因此,需要对重载值 {EPCnH,CCAPnH[7:0]}进行赋值。鉴于飞控过程中无刷无感电机的控制原理是通过PPM脉冲信号给出的,因此需要对PPM信号进行识别并通过读出脉冲宽度的方式得到PWM的占空比数值。

3.1 转速控制(PWM设置)

电机转速是由脉冲宽度调节(PWM)决定的

3.1.1设置PCA计数脉冲频率=24M/4=6M.

CMOD = 5 << 1;

3.2.2给PCA的16位计数器赋初值.

CH=0; CL=0;

3.2.3 CA模块使能及脉宽调制输出.

CCAPM0 = 0x42;

3.2.4设置PWM为8位,重载值首位EPCnH=0、比较值首位EPCnL=0.

PCA_PWM0 = 0X00;

3.2.5设置9位比较器的重载值和比较值.【当PCA 模块工作在8位PWM模式时,重载值 {EPCnH,CCAPnH[7:0]}={0,00},

比较值 {EPCnL,CCAPnL[7:0]}={0,00}设置】

CCAP0H = 0x00; CCAP0L = 0x00;

3.2.6输出口设置.  P11(CCP0) P10(CCP1) P37(CCP2)为PWM信号输出脚.

AUXR1 &= ~0x30.

3.2.7PWM0_L/PWM0输出高低电平设置.

PWM0_L=0;  PWM1_L = 1;  PWM2_L=0;

CCAP0H = PWM_Value; CCAP1H=0; CCAP2H=0;

如PWM_Value值较小,计数值很快从{0,00}达到{0,CCAP0H},比较器先输出低电平,再输出高电平,且低电平持续时间较短,结合实际电路,低电平时AB相导通。

3.2 比较器控制

3.2.1比较器下降沿触发的换相信号设置

CMPCR1 = 0x9C;  //(1001 1100).

比较器使能, 下降沿中断使能, 选择P1.5口作为比较器的正极输入端, 选择外部端口P5.4(中点电压)作为比较器负极输入端.

3.2.2比较器正/负极输入端设置

ADC_CONTR = 0XCD;  (1100 1101). ADC电源开,AD转换速度设置,ADC转换开启,并选择P1.5作为C相电压模拟输入通道. 该模拟输入电压经过ADC转换作为比较器的正极输入端.

随着转子继续旋转,线圈C 的感生电动势终将由正变负,从而在比较器输入端产生下降沿,进入比较器中断服务函数,step++,执行AC导通。

4 电调程序回顾

首先进入启动函数,然后执行换相函数,在换相函数中实现比较器中断,然后进入下一个换相序列:Start Motor()→StepXL():比较器使能→比较器中断→step++→StepXL().

【无标题】无感无刷直流电机电调程序系统解读相关推荐

  1. html代码测试1006无标题,无标题Html5页面测试点总结文章

    1.业务逻辑 除基本功能测试外,需要关注的一些测试点: a. 登录 a.1  H5页面嵌入到客户端内使用,若客户端已经登录,进入H5页面应是登录状态 a.2  H5页面嵌入到客户端内使用,若客户端无登 ...

  2. 从方波控制到无感FOC电调,什么促使电机系统发生巨变?

    从方波控制到无感FOC电调,什么促使电机系统发生巨变? 采用方波控制算法的电调,让无刷电机真正被引入航模及无人机领域.不过在使用过程中,这种控制算法的劣势也越来越明显.这也让一种早已有之的算法--FO ...

  3. STM32 电机教程 31 - 无刷无感控制原理

    前言 前面<STM32 电机教程 29 - 无刷无感入门1>和<STM32 电机教程 30 - 无刷无感入门2>我们通过两种方式有BLDC电机无HAL传感器的情况下成功地让电机 ...

  4. 学习无霍尔传感器的BLDC方波调速

    无霍尔传感器的BLDC方波调速 基本原理 反电动势法 无感BLDC的转子位置检测 无感BLDC换相 在功率开关管关断状态时采样 无感BLDC的"三段式"启动 程序应用 按键读取 六 ...

  5. [硬件基础] 有刷、有感和无刷无感电机对比

    原文地址: [转] 有刷.有感和无刷无感电机的使用心得  作者: -工控老鬼 一.有刷马达的原理 要讲清这一问题,那就应粗略地了解一下有刷马达的工作原理.接下来用一个三电极.二磁极内转子有刷马达作为演 ...

  6. Linux微信1001无标题,微信个性签名1001无标题

    摘要: 本篇微信个性签名1001无标题,是喜欢签名的网友提供的微信朋友圈签名中的微信个性签名1001无标题,可能下文中的微信个性签名1001无标题有你心爱的微信个性签名. 微信个性签名1001无标题, ...

  7. 关于WM_NCHITTEST消息(移动无标题对话框多个)

    我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下: 通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口. 一个容易想到的方案 ...

  8. mysql输入命令1002无标题_Linux下远程连接MySQL数据库的方法

    步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'p ...

  9. C# 系统应用之无标题窗体移动的两种方法

    在做项目界面设计中,常常为了美观需要设置窗体属性"FormBorderStyle"(窗体边框和标题栏外观)为None无标题窗口.此时隐藏标题的窗口怎样实现移动呢?我根据自己的项目从 ...

最新文章

  1. 计算机编程语言python-PYTHON之计算机语言基础知识 —— 编程语言的分类
  2. 二 DeepinV20版本安装
  3. 详细讲解Hyper-V虚拟机的网络配置
  4. asp.net 设置 excel alignment_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...
  5. 路由器 刷 linux系统版本,在Linux下用tftp刷写路由器固件
  6. 关于PyTorch中的register_forward_hook()函数未能执行其中hook函数的问题
  7. 用记事本开始写自己的第一个WebService
  8. __init和__initdata
  9. mysql xtrabackup-v2_MySQL物理备份基础知识(基于xtrabackup2.4版本)
  10. 【百度云提取】:JDK1.8API、Jdk1.8安装包、jQueryAPI文档、JavaScriptAPI文档、W3School相关API文档
  11. 李明洋十讲学会ADS教学课程笔记
  12. js模板引擎—art-template的使用
  13. 谷歌邮箱lmap服务器填什么_google邮箱设置方法是什么?
  14. matlab连接mysql有什么用_MATLAB连接SQLServer和MySql数据库
  15. Ubuntu启用IPv6上google的方法
  16. 弘辽科技:拼多多补访客资源是什么意思?提升多少个访客合适?
  17. 自己的网页嵌入外部邮箱登陆
  18. 微信支付-浅谈普通商户和子商户的开发区别
  19. 【uni-app】uni-app实现聊天页面功能——功能篇(上)
  20. 【汇正财经】股票成交原则有哪些?竞价交易呢?

热门文章

  1. 【ArcGIS微课1000例】0022:ArcGIS点(点坐标)自动连成线操作案例教程
  2. 验房有质量问题可以退房吗
  3. 二维数组(java)
  4. 20 Newsgroups数据集
  5. Vue中父子组件如何传值
  6. python绘图点样式
  7. c语言贪吃蛇实践总结与体会,贪吃蛇心得体会
  8. 微信小程序页面跳转问题解决
  9. 诚之和:JavaScript setTimeout() – 延迟 N 秒的 JS 计时器
  10. Oracle删除profil,紧急求助:误删除一个重要的profile