学习stm32控制PMSM电机成果

看了这么些天程序
1.为啥用STM32F446RE呢。因为有一个nucleo stm32f446re
这是F4内核的,频率180 mhz
支持浮点运算
关键是有个nucleo板子选用的这个处理器
而这款板子又支持mbed
为了能使用mbed框架写程序
又满足性能要求
因此选用这个板子

2.确定了使用mbed框架写程序
那CAN SPI UART ADC 这几个功能就极其简单了
其中CAN是和主机通信的
两个芯片,AS5047 DRV8323 就是通过SPI接口和处理器相连
两个串口,一个是UART2…调试接口
另一个是uart4 和霍尔板相连
驱动芯片drv8323的作用
当然就是驱动H桥上得6个nmos管的
它的输入为高级定时器timer1产生的三路互补pwm
因此驱动芯片,只有驱动功能,并没有什么逻辑计算 你输入1他就输出1 它只是把低压pwm信号变为高压的pwm信号而已
另外相电流的采集也通过drv8323
一般采集三相 我们这个只采集了两相
另外他还提供了一个3.3的电源
因此446就是用它供电的
整个程序架构很简单
重要的是两个中断
一个是串口中断
一个是can. 接收到数据中断
都是用的attach函数关联上
这些都是在初始化中实现的
循环体中只有一个打印功能
重要的是can接收中断
因为平时电机就是通过can接收上位机发来的指令,它进行响应的。并且还可能有反馈。
除了位置,磁场传感器5047
还一个我现在还没搞清楚的就是校准
calibration了
据黄工说
这个霍尔只在电机校准时候用到
其他时候不用的 这个待查!
为啥要校准?
uvw三根线没定义 任意的
为了后面的foc可能要校准吧
另外程序用的mbed。这个比arduino更强大 更简洁
用的c++面向对象思想
看着爽,解决复杂问题就得用c++
另外外接电源那有个防止接反的二极管
我觉得不会接反的 因为有缺口啊
二极管可以省掉了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值