51单片机控制直流无刷有霍尔电机的问题

下面是我的设计思路: 用51单片机实现电机主要功能:1,通过按钮控制电机的起停 2,通过加减速按钮实现电机的调速 3,通过正反转按钮控制电机的正传或反转。 实现思路: 单片机有3路输入口连接到霍尔传感器(位置传感器)来作为换相依据,7路输出,一路是产生PWM信号,剩下六路控制逆变器的上桥和下桥的6个MOSEF导通与截止,PWM产生的信号与控制下桥的3个MOSEFT相与,当PWM输出为高电平时,下桥的3个MOSEFT的导通与截止决定于单片机3路控制下桥的输出信号,当PWM输出为低电平时,下桥的3个MOSEFT截止。 PWM的产生: 通过定时器中断来实现,电机的速度控制则是通过改变占空比这个变量来实现。 换相的实现:通过读3路输入信号(霍尔传感信号)来改变六路控制逆变器MOSEFT的输出信号。请问:我这样的设计思路行吗?关键的两点:PWM的信号的产生和换相的实现。这两点能实现吗?各位高手多多指教!谢谢!
2026年09月24日 22:17
有4个网友回答
网友(1):

  1. pwm可以通过定时中断实现,如果用stc12c系列单片机,都带pwm输出,对寄存器操作就行;

  2. 霍尔传感信号可以,就是高低电平,只不过时间要控制好,不然会出错,特别是用定时中断要注意做判断时,要关了中断,处理完再开中断。

  3. 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

网友(2):

pwm可以通过定时中断实现,如果用stc12c系列单片机,都带pwm输出,对寄存器操作就行,非常简单.(载波,和占空比都可以容易操作)
霍尔传感信号(磁感应吧)应该可以的,无非就高低电平,只不过时间要控制好,不然会出错,特别是用定时中断要注意做判断时,要关了中断,处理完再开中断.

网友(3):

<换相的实现:通过读3路输入信号(霍尔传感信号)来改变六路控制逆变器MOSEFT的输出信号>用专业单片好点,就上上个问题提到的那单片。

网友(4):

你的意思是分别根据3路霍尔信号控制电机吗?如果是的话,是控制转速还是转向,你要说明白。
我的思路是:用3个io口测霍尔信号,根据io口的电平分别判断运行方式即可