找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
31#
 楼主| 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。
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

33#
 楼主| Angus 发表于 2016-10-26 16:14:32 | 显示全部楼层
本帖最后由 Angus 于 2016-10-26 22:44 编辑
冰破 发表于 2016-10-26 14:21
PWM->PHCHGMASK =  PHCHG_CTL_CMP1 | P01_OUT_D6 | P00_OUT_D7 ;        

P01和P00用PWM输出模块输出值 ...

P00,P01用做串口,只要把这两个引脚配置成串口功能即可,其它不用改。
回复 支持 反对

使用道具 举报

34#
 楼主| Angus 发表于 2016-10-26 16:16:40 | 显示全部楼层
冰破 发表于 2016-10-26 15:03
PWM024_0_MOS_On() ;                 // PWM024 输出低时 MOS 导通,调用此函数让输出反相     
  PWM135_ ...

若不调用这两个函数,数组数据对应:PWM024输出高,上 MOS 导通。PWM135输出低,下 MOS 导通。
回复 支持 反对

使用道具 举报

35#
 楼主| Angus 发表于 2016-10-27 09:34:16 | 显示全部楼层
冰破 发表于 2016-10-27 09:21
计算周期的时候,定时器计到了最大值,然后从0再开始,这时读出来的TIMER1->DR会比上一次的值小,这时候计 ...

正确的,你可以测试一下。
回复 支持 反对

使用道具 举报

36#
 楼主| Angus 发表于 2016-10-27 14:25:57 | 显示全部楼层
冰破 发表于 2016-10-27 10:52
关于TIMER0的配置和使用,我有点疑问

code中这么初始化的:

善于思考是个好习惯
你手头有板子,也有代码,你可以验证一下你的思路是否正确,看看电机能否正常转动。
回复 支持 反对

使用道具 举报

37#
 楼主| Angus 发表于 2016-10-27 17:46:39 | 显示全部楼层
本帖最后由 Angus 于 2016-10-27 20:44 编辑

你说的方法应该也是可以的。
配置"写 TIMER0->CMPR 不从 0 开始计数",但写 TIMER0->CMPR 时加上了定时器的当前值。
你配置"写 TIMER0->CMPR 从 0 开始计数",但写 TIMER0->CMPR 时没加定时器的当前值。
二者延时长度是一样的,
回复 支持 反对

使用道具 举报

38#
 楼主| Angus 发表于 2017-1-4 12:45:44 | 显示全部楼层
wangjiahao88 发表于 2016-12-26 17:13
有没有开发板?

在哪里采购?

电机开发板,已赠送完了,没再做。
Mini52/NM1200 的最小系统板子,仍有,可通过代理商申请。
回复 支持 反对

使用道具 举报

39#
 楼主| Angus 发表于 2017-3-18 15:16:48 | 显示全部楼层
rete0786 发表于 2017-3-14 13:42
代码看不懂啊  有没有什么详细的说明文档哈,有就非常的好了,

不是貌似,是真的非常强大!
回复 支持 反对

使用道具 举报

40#
 楼主| Angus 发表于 2017-3-25 16:28:30 | 显示全部楼层
本帖最后由 Angus 于 2017-3-25 19:08 编辑
rete0786 发表于 2017-3-25 15:13
if(((TIMER1->CSR & T_IE) == 0 ) && ( flag_Start == 0))
    {   
        if(Duty >= DUTY_START)

你这是哪里下载的代码? 貌似不是这个帖子里的。
从这段代码内容看,是测电源,按电压大小调整起转占空比。
回复 支持 反对

使用道具 举报

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

本版积分规则

新唐MCU