不过这个我还是建议你用单片机。真的,我就是做电机控制软硬件的。FPGA做流程控制不太方便。当然,FPGA里面也有processer,或称软核。quartus自带一款叫 NIOS 的软核,可以C语言编程。如果你控制大电机的话我们再单说,如果是小电机不在乎动态过程,只要稳态速度的话,还是比较简单的。编程思路就是 电机电压= k*电机转速。这个K系数跟你的电机有关系,不过是一个常数。也就是说, 当你要正转速的时候,给正电压即可。要负转速的话,给负电压。电压得到之后,其实就是占空比,然后你用FPGA生成PWM信号输到驱动器里面即可。
不知道你说的电机换相是不是指的顺时针和逆时针之间的变换转动?如果是的话,其实很简单,两个IO,上个时刻假设是[10],那么下个时刻让它变为[01]即可。当然,FPGA能否直接驱动电机,得你自己验证去。不能直接驱动,就要加驱动电路了、
我现在用最简单的理解告诉你:开关量就是一个单独的通断信号,你比如你动手开开关,表示就是从0到1的变化,关它,就是从1到0的变化,也就是接通或断开。而脉冲信号,则是连续的上升沿和下降沿的组合,也就是0101010101010101010101010101等等之类。就好比你不停地开关开关。当然,我这是最直白的说法。只是便于你理解。要是想从理论上搞的清楚,你必须看看相关资料。相信我这些会让你有个较直观的认识。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)