找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

26万转:用最短代码,转最快电机

  [复制链接]
71#
 楼主| Angus 发表于 2016-7-19 11:10:50 | 只看该作者
本帖最后由 Angus 于 2016-7-19 21:41 编辑
lizhegao 发表于 2016-7-18 18:44
hi @Angus
请教下 根据变量Periodow 可以算出电机速度1,我使用uart将该速度传到电脑上显示,
我根据示波 ...

    看一下 Timer1 的中断代码,每次检测到过0后,先用 Timer1 的值减上次过零时刻值 ZeroTick 得当前周期值,后面再更新当前过零时刻 ZeroTick,这样中间就有一段时间没记入,所以 PeriodNow 的值会比实际周期小一点点,用倒数算出来的转速就会高一点点。我做过测试,电转速在10万转以下时,这个误差很小。
     后来的代码已修正了这个问题,用前后两次过零时刻 ZeroTick 计算 PeriodNow 。重新下载代码测测,与你用示波器测前后两次换相时刻算出来转速,误差应很小了。
回复 支持 反对

使用道具 举报

72#
lizhegao 发表于 2016-7-20 13:45:14 | 只看该作者
明白了,非常感谢
回复 支持 反对

使用道具 举报

73#
冰破 发表于 2016-10-25 10:21:04 | 只看该作者
这套代码对应的demo板子有出售的吗? 板子烧进demo代码后能直接把电机运转起来的那种
回复 支持 反对

使用道具 举报

74#
 楼主| Angus 发表于 2016-10-25 14:24:04 | 只看该作者
冰破 发表于 2016-10-25 10:21
这套代码对应的demo板子有出售的吗? 板子烧进demo代码后能直接把电机运转起来的那种 ...

做过两批板子,全送光了,今年没再做。
回复 支持 反对

使用道具 举报

75#
冰破 发表于 2016-10-26 08:25:29 | 只看该作者
Angus 发表于 2016-10-25 14:24
做过两批板子,全送光了,今年没再做。

反电势比较器的输入端,电路图上是P3.1  P3.4 P3.5,但是代码里边是
#define   ACMP_PH_A                CMP1_PIN_P32               
#define   ACMP_PH_B                CMP1_PIN_P34               
#define   ACMP_PH_C                CMP1_PIN_P35   

两者不对应,何解?
回复 支持 反对

使用道具 举报

76#
 楼主| Angus 发表于 2016-10-26 09:23:21 | 只看该作者
冰破 发表于 2016-10-26 08:25
反电势比较器的输入端,电路图上是P3.1  P3.4 P3.5,但是代码里边是
#define   ACMP_PH_A                ...

P3.1,P3.2,P3.4,P3.5 这四个引脚都是比较器1的输入,任选三就可以,代码上改一下定义即可。
P3.1 即可以做比较器输入,同时又可以做 ADC 测反电势大小。
我测试的板子是 P3.2,P3.4,P3.5。
回复 支持 反对

使用道具 举报

77#
冰破 发表于 2016-10-26 10:16:04 | 只看该作者
Angus 发表于 2016-10-26 09:23
P3.1,P3.2,P3.4,P3.5 这四个引脚都是比较器1的输入,任选三就可以,代码上改一下定义即可。
P3.1 即可 ...

了解,那10月份更新的这份代码,这份代码对应的电路图能给我一份参考吗?   图不对码看的很辛苦。
304080523@qq.com

10-28 的苏州研讨会我会去参加,你会过去吗?
回复 支持 反对

使用道具 举报

78#
 楼主| Angus 发表于 2016-10-26 14:11:46 | 只看该作者
冰破 发表于 2016-10-26 10:16
了解,那10月份更新的这份代码,这份代码对应的电路图能给我一份参考吗?   图不对码看的很辛苦。

苏州研讨会我会去的。
我是连线测试的,没有用绘图软件做成一个文件。
我上传的这些个原理图更合理,软件上只要调用一个函数,再修改一个宏定义就可以了。
回复 支持 反对

使用道具 举报

79#
冰破 发表于 2016-10-26 14:21:20 | 只看该作者
Angus 发表于 2016-10-26 14:11
苏州研讨会我会去的。
我是连线测试的,没有用绘图软件做成一个文件。
我上传的这些个原理图更合理,软件 ...

PWM->PHCHGMASK =  PHCHG_CTL_CMP1 | P01_OUT_D6 | P00_OUT_D7 ;        

P01和P00用PWM输出模块输出值,用意是什么?  
我手上的硬件,p00和P01用作了串口,那这两个我可以直接关掉了是吗?
回复 支持 反对

使用道具 举报

80#
冰破 发表于 2016-10-26 15:03:28 | 只看该作者
PWM024_0_MOS_On() ;                 // PWM024 输出低时 MOS 导通,调用此函数让输出反相     
  PWM135_1_MOS_On() ;                 // PWM135 输出高时 MOS 导通,调用此函数让输出反相

如果代码中把这两行MARK掉,TabPhase对应的电路是上桥臂PWM024高电平导通,下桥臂PWM135低电平导通吗?
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU