历史上的今天
返回首页

历史上的今天

今天是:2024年09月22日(星期日)

正在发生

2018年09月22日 | 【STM32电机方波】记录2——NVIC中断基本设置

2018-09-22 来源:eefocus

NVIC概念:提供中断控制器,用于总体管理异常,称之为“内嵌向量中断控制器”。简单来说,就是MCU提供、处理内部中断的模块。

NVIC库函数:

【STM32电机方波】记录2——NVIC中断基本设置

中断优先级:

在配置NVIC之前得弄懂一个概念:中断优先级,即中断的执行顺序。中断优先级中,分为抢占式优先级(先占优先级)和响应优先级(从优先级)。抢断优先级,顾名思义,能再别人中断是抢占别人中断,实现中断嵌套。响应优先级则只能排队,不能抢在前面插别人的对,即不能嵌被嵌套。

STM32中指定优先级的寄存器为4位,其定义如下:

第0组:所有4位用于指定响应优先级  NVIC_PriorityGroup_0 => 选择第0组

第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级  NVIC_PriorityGroup_1 => 选择第1组  

第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级  NVIC_PriorityGroup_2 => 选择第2组

第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级  NVIC_PriorityGroup_3 => 选择第3组

第4组:所有4位用于指定抢占式优先级  NVIC_PriorityGroup_4 => 选择第4组                                                                抢占式优先级(先占优先级)和响应优先级(从优先级)值:

【STM32电机方波】记录2——NVIC中断基本设置

注意:

1. 选中NVIC_PriorityGroup_0,则参数NVIC_IRQChannelPreemptionPriority对中断通道的设置不产生影响。

2. 选中NVIC_PriorityGroup_4,则参数NVIC_IRQChannelSubPriority对中断通道的设置不产生影响。

中断通道:

【STM32电机方波】记录2——NVIC中断基本设置
NVIC中断基本设置步骤:

第一步:使用void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)函数对优先级分组配置。

例如:NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0)配置为0组。

第二步:

中断初始化结构体配置,结构体类型定义如下:

typedef struct

{

 uint8_t NVIC_IRQChannel;               //中断通道

 uint8_t NVIC_IRQChannelPreemptionPriority;  //抢断优先级

 uint8_t NVIC_IRQChannelSubPriority;  //响应优先级    

 FunctionalState NVIC_IRQChannelCmd;     

} NVIC_InitTypeDef;

中断初始化结构体缺省值:

{

NVIC_IRQChannel = 0x0;

NVIC_IRQChannelPreemptionPriority = 0;

NVIC_IRQChannelSubPriority = 0;

NVIC_IRQChannelCmd = DISABLE;

}

第三步:中断初始化结构体初始化操作如下

NVIC_Init(&“NVIC_IRQChannel值”);

第四步:开关总中断操作。在STM32中是通过改变CPU优先级来允许和禁止中断的。

(1)   下面两个函数等效关闭总中断

void NVIC_SETPRIMASK(void);  

void NVIC_SETFAULTMASK(void); 

(2)   下面两个函数等效开放总中断

void NVIC_RESETPRIMASK(void); 

void NVIC_RESETFAULTMASK(void);

(3)   常用操作是先关后开中断

NVIC_SETPRIMASK();     // Disable Interrupts

NVIC_RESETPRIMASK(); // Enable Interrupts

两种类型函数要成对使用。



方波BLDC电机

主要完成任务:

由BLDC 的方波无霍尔程序起进行学习,对BLDC无霍尔元件的运行原理——六步转向法有了一定的理解。

六步转向法换相关键: 

控制BLDC转动的关键就是确定换相的时刻在每两个换相点的中间都对应着的反电动势的极性改变的点,即反电动势从正变化为负或者从负变化为正的点,称为过零点。利用反电动势的这个特性,只要我们能够准确检测出反电动势的过零点,将其延迟30°,即为需要换相的时刻。

BLDC的过零检测:

原理是:BLDC电机转动时,永磁体转子的旋转在电机内部产生变化的磁场,根据电磁感应定律,每相绕组都会感应出反电动势。BLDC电机的BEMF波形随转子的位置和速度变化,整体上呈现为梯形。

在PWM_OFF区间对反电动势采样,当驱动端的PWM由ON状态切换到OFF状态时,由于电机绕组的电感效应,绕组内的电流不会马上消失,于是经过下桥臂MOS管的体二极管续流形成回路,因此,在PWM OFF区间对断开相绕组的端电压进行采样,所得电压值与反电动势的大小成比例,其过零点也直接反映了反电动势的过零点。另外,在PWM刚进入OFF状态时,由于下桥臂MOS管的体二极管的续流,断开相的电压会被钳在-0.7V。将每一时刻所在位置检测的反电动势与上一时刻的反电动势进行对比。若满足过零条件,则返回过零信号,进行闭环调速。


推荐阅读

史海拾趣

Hpc Technology Inc公司的发展小趣事

HPC Technology Inc公司发展的五个故事

故事一:初创与技术创新

HPC Technology Inc公司成立于2003年,总部位于中国台湾台北县三重市。创立之初,公司便专注于连接器与电缆组件的研发与生产,致力于为客户提供全面解决方案和优质服务。在电子行业快速发展的背景下,HPC Technology Inc公司敏锐捕捉到高性能计算(HPC)市场的潜力,开始逐步涉足该领域。通过不断的技术创新,公司推出了一系列高性能、高可靠性的连接器产品,逐渐在HPC市场中崭露头角。

故事二:市场拓展与品牌建设

随着技术的不断成熟和市场的认可,HPC Technology Inc公司开始积极拓展海外市场。公司参加了多个国际性的电子展会,与全球客户建立了广泛的联系。同时,公司注重品牌建设,通过优质的产品和服务赢得了客户的信赖和好评。在国际市场上,HPC Technology Inc公司的品牌知名度逐渐提升,产品销量也稳步增长。

故事三:技术合作与产业升级

为了进一步提升技术实力和市场竞争力,HPC Technology Inc公司积极寻求与国内外知名企业的技术合作。公司与多家国际知名的电子企业建立了长期合作关系,共同开展技术研发和产品创新。通过技术合作,公司不仅获得了先进的技术支持,还实现了产业升级和产品结构优化。这些合作成果为公司在HPC领域的持续发展奠定了坚实基础。

故事四:绿色环保与可持续发展

随着全球对环保问题的日益关注,HPC Technology Inc公司积极响应号召,致力于绿色环保和可持续发展。公司投入大量资金研发环保型连接器产品,采用环保材料和绿色生产工艺,减少对环境的影响。同时,公司还建立了完善的废弃物回收和处理机制,确保生产过程中的废弃物得到妥善处理。这些举措不仅提升了公司的社会责任感,也为公司的可持续发展注入了新的动力。

故事五:智能制造与数字化转型

面对制造业的数字化转型浪潮,HPC Technology Inc公司紧跟时代步伐,积极推进智能制造和数字化转型。公司引入了先进的智能制造设备和系统,实现了生产过程的自动化、智能化和数字化。通过数字化转型,公司不仅提高了生产效率和质量稳定性,还降低了生产成本和能耗。同时,公司还利用大数据和人工智能技术优化供应链管理、客户服务和产品研发等环节,进一步提升了企业的竞争力和市场响应速度。

ZTE高新兴(Gosuncn)公司的发展小趣事

对于J-107B型高频双头式热合机电路,网友可能提出的问题及回答如下:

问题一:J-107B型高频双头式热合机的主要工作原理是什么?

回答:J-107B型高频双头式热合机的主要工作原理是利用高频电场作用于塑料材料,使其内部分子发生极化现象,并在高频电场的快速变化下,这些被极化的分子以同样极快的速度跟随变化,从而因介电损耗产生大量的热量。这些热量聚集并达到高温,使塑料材料熔化。在熔化状态下,通过施加一定的压力,可以使两块或多块塑料熔合粘结在一起,实现高频热合的目的。

问题二:J-107B型高频双头式热合机的电路结构有哪些主要部分?

回答:J-107B型高频双头式热合机的电路结构主要包括以下几个主要部分:

  1. 高频振荡电路:这是热合机的核心部分,通常由电子管(如Fu-33中功率发射电子管)组成,用于产生高频电场。电子管通过自激振荡方式工作,利用电子管的授间电容作振荡回路的主电窖,组成考毕兹振荡器。

  2. 时间控制电路:用于控制热合的时间,通常由电子管(如6P6P电子管)和时间控制元件(如RP1和RP2调节器)组成。通过调整这些元件,可以精确地控制热合过程中的各个阶段时间,如预热时间、熔合时间和冷却时间。

  3. 电源电路:为整个热合机提供稳定的电源供应,确保高频振荡电路和时间控制电路的正常工作。电源电路需要满足一定的电压和电流要求,通常要求电源电压在190~230V范围内。

  4. 保护电路:为了防止电路过载、短路等异常情况的发生,热合机还配备了保护电路。这些电路能够在检测到异常情况时迅速切断电源,保护设备和操作人员的安全。

问题三:如何维护和保养J-107B型高频双头式热合机?

回答:为了保持J-107B型高频双头式热合机的良好性能和延长使用寿命,需要进行定期的维护和保养。以下是一些建议:

  1. 定期检查电源线和插头:确保它们没有损坏或松动,避免电源问题导致的故障。

  2. 清洁机器内部:定期清理机器内部的灰尘和杂物,保持机器内部的清洁和干燥。这有助于防止电子元件因灰尘积累而损坏。

  3. 检查电子元件:定期检查高频振荡电路和时间控制电路中的电子元件是否损坏或老化。如有需要,应及时更换以确保电路的正常工作。

  4. 调整和维护模具:模具是热合机的关键部件之一,需要定期进行调整和维护。确保模具的接合位置准确、平整,避免模具损坏导致的热合质量下降。

  5. 注意安全操作:在操作过程中,应注意安全用电和防火措施。避免在潮湿或腐蚀性气体环境下使用热合机,以防止触电或设备损坏。

  6. 定期校准:对于需要精确控制时间或温度的热合机,应定期进行校准以确保其准确性。这有助于提高热合质量和生产效率。

BLACK&DECKER公司的发展小趣事

BLACK&DECKER公司的历史可以追溯到1910年,由Alonzo G. Decker和Duncan S. Black在美国马里兰州巴尔的摩共同创立。两位创始人的初始投资来自于Black先生卖掉他的二手车所得的600美元,再加上1200美元的贷款。公司起初主要生产牛奶瓶装盖机、棉花采集机、糖果浸包机等工业用设备。然而,真正让BLACK&DECKER崭露头角的,是1916年他们发明的现代手枪钻原型。这一创新产品解决了当时德国电动工具笨重、难以操控的问题,为电动工具行业带来了革命性的变革。

Abbatron公司的发展小趣事

随着技术的不断成熟和市场的不断扩大,Abbatron公司开始将目光投向国际市场。公司积极参与国际电子展会,与海外企业建立联系,逐渐打开了国际市场的大门。通过不断的市场拓展和国际化战略,Abbatron公司的品牌影响力逐渐提升,成为了国际电子市场上的一股重要力量。

Box Enclosures公司的发展小趣事

Box Enclosures公司自创立之初,就明确了自己的定位——专注于为电子行业提供高品质的机箱和外壳产品。公司始终坚持严格的质量控制标准,从原材料采购到生产工艺,每一个环节都力求精益求精。这种对品质的执着追求,使得Box Enclosures的产品在市场上赢得了良好的口碑,逐渐在电子行业中占据了一席之地。

敦泰(FOCALTECH)公司的发展小趣事
压缩机启动电路故障通常涉及启动器和压缩机线圈。如果启动器损坏,可以购买同型号的新启动器进行更换。如果压缩机线圈断路,则可能需要更换整个压缩机。这些维修工作较为复杂,建议由专业维修人员进行操作。

问答坊 | AI 解惑

多路报警设计

与大家分享!!!…

查看全部问答>

运放资料

很不错的资料啦   大家下吧   一起分享一下啦…

查看全部问答>

汽车电子硬件工程师的成长

了解美国的硬件工程师的成长是一件有趣的事情,不过残酷的是,在中国是不可复制的。 一般美国的工程师的技术上分级一般,有5级 Entry Level 1 Hardware Engineer 最初级硬件工程师 一般是刚进公司的毕业生,主要的工作是打杂和学习公司开发流程 ...…

查看全部问答>

哪位高手先帮我仿真一下这个程序啊!作业要交,来不及啦!

我还没学会仿真啊。就是一个序列检测器!谢谢大家啦!要WORD版的,截图放在WORD里! library ieee; use ieee.std_logic_1164.all; entity  test_code is port ( clk,reset :  in  std_logic;    & ...…

查看全部问答>

嵌入式 进入linux 键盘不能用.

我把串口线接好,建立一个超级终端,进入linux 就不能用键盘了,在windows下还可以用,什么问题了?谢谢各位了。…

查看全部问答>

FPGA培训--FPGA高级逻辑设计研修班

一、 主管单位:中国高科技产业化研究会 主办单位:中国高科技产业化研究会信号处理专家委员会 二、 研修时间:2009年9月17-19日(16日报到) 三、 研修地点:北  京(具体地点及路线图详见报到通知) 四、 课程简介 本课程为期三天, ...…

查看全部问答>

STM32TIM1_BDTR_的位11,位10两位OSSR.OSS有点不理解请高手指点下I

STM32TIM1_BDTR_的位11,位10两位OSSR.OSS有点不理解请高手指点下. 首先OSSR位:数据手册解释如下:  OSSR: 运行模式关闭状态选择位.TIM1_BDTR_MOD=1  0:当定时器不工作时,禁止OC/OCN输出(OC/OCN使能输出信号=0); 1:当定时器不工作 ...…

查看全部问答>

xilinx spartan-3e prom 配置问题

配置RAM成功,程序能运行(LCD显示程序),但是在配置 xcf04s serial platform flash prom时,也提示programe succeed,但lcd上却没有显示,这个是哪里出现了问题呢?求解啊!…

查看全部问答>

STM32F407 网络通信例程问题

各位大虾,在使用官方例程的时候发现很麻烦,只是想实现开发板的数据发送功能,修改例程,发现例程使用的是回调函数,改起来很麻烦,哪位能指点一下啊,帮着修改一下程序或者能达到测试网络通信速度的目的的程序也行~~~~谢谢了…

查看全部问答>

带编码器的步进电机控制器

步进电机是常用的电机之一,由于它是开环控制单元,因此有时候会因为控制器发出的控制脉冲和电机执行的脉冲数目不相等而导致电机行程误差;加入编码器可以有效减少步进电机的误差。…

查看全部问答>