站内搜索
发作品签到
专业版

基于CW32单片机的旋转变压器软件解码

工程标签

1.8k
0
0
22

简介

简易旋转变压器软件解码板

简介:简易旋转变压器软件解码板
星火计划2024

开源协议

Public Domain

创建时间:2024-07-25 18:37:39更新时间:2024-07-26 18:04:47

描述

 

 

 

 

 

 

最近学习电机控制,买了一个轿车助力转向电机,位置反馈是用的旋转变压器,这种传感器也经常用于新能源电动汽车电机上,专用芯片听说比较贵,于是自己用单片机自己做了个解码板。

供电电压+3.3V适合电池供电,数据更新速度每秒1万次,数据分辨率(0-36000 最后一位跳就算12位),带宽1591赫兹(我不懂带宽什么意思),理论跟踪速度最大95500转每分钟(未测试)

spi主机单发模式,格式16位,MSB在前,串行时钟相位配置前边沿采样 / 后边沿移位,串行时钟极性配置待机时低电平,接收的从机器需要先上电。
我以前没搞过单片机互相通讯,所以搞成了单发模式,发完1一个数据CS拉高。

旋变任意角度自动校零方法:
CW32 43脚拉低后再拉高进入角度自动调零程序,新烧写的单片机必须执行本操作,自动调整零后偏差较大应重复调零

匹配不同旋变需要更改激磁线圈并连的电容,就是那4个103电容,需要用LCR表测出旋变励磁线圈电抗,比如我这个是+200欧左右,我就并连了4个103电容。


硬件部分:
采用单片机输出1路20KHZ PWM,经过LMV放大驱动旋变励磁线圈,另一个运放反相,接另一个激磁线, COS和SIN进入差分放大后进入单片机两个ADC口。

 

 

 

单片机输出一路20KHZPWM,经过RC滤成正弦波,再进入运放放大,另外一个运放反相,这两个运放一块驱动旋转变压器。

 

 

用LCR表测出旋转变压器电感,再并联电容使谐振频率和驱动频率一样,C1增加稳定度。

 

 

旋转变压器COS和SIN分别进入两个差分放大器,然后进入单片机两个ADC口

 

 

 

 

CW32单片机电路

 



软件部分:
单片机每个口对应采样率是1MHZ,采集100点后中断,用DFT算出采集的COS和SIN序列的实部和虚部,旋转相位到0度,用实部进ATAN2算出角度,当前角度保存到寄存器,等测出下次角度后相减算出角度差,再算出角度差的COS和SIN,反馈回ATAN2前,旋转进ATAN2的角度实现锁相,这样得到的角度就和转速没关系了,抵消了系统延迟。

相移计算

zhuansu = 95500
shijian = 100
xiangyi =90-atan2(159155 / (zhuansu / 60), shijian)*180/3.1415927

 

1.s是源代码,1.bin是固件,分别有两个程序,一个是直接用COS12864显示出角度,两外一个通过SPI口输出,得到数据后要马上处理,不然电机转速高的时候会出现很大相移。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
SPI输出版程序.zip
75
2
COG12864显示版程序.zip
65
3
实物演示.mp4
38
4
功能演示.mp4
33
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航