请选择 进入手机版 | 继续访问电脑版
搜索
查看: 603|回复: 0

[原创] 【玩创意,爱动手】PIC32MM+项目提交

[复制链接]
发表于 2017-12-25 23:14:59 | 显示全部楼层 |阅读模式
感谢论坛给予我板子,休了半个月的假期,回家又没有电脑,所以进度有点慢。但还是要完成,根据之前的基础,继续完成项目,有始有终。
帖子二:【玩创意,爱动手】PIC32MM+MCC固件库建工程+LED点灯【玩创意,爱动手】PIC32MM+MCC固件库建工程+LED点灯
帖子三:【玩创意,爱动手】PIC32MM+MCC固件库建工程+OLED显示【玩创意,爱动手】PIC32MM+MCC固件库建工程+OLED显示
这帖子是如何玩转电机。此贴是根据PIC32MM的DEMO修改的。
论坛买的模块:

电机1

电机1

电机2

电机2

只要通过控制IO的引脚来控制电机B,一键启停,调速,反转等功能。
根据PIC32MM板子,并不是所有的IO都可以做PWM的输出,我们要根据芯片datasheet来决定哪个引脚

引脚说明

引脚说明

上图,红色画上的引脚都可映射PWM模式,那我选择RB8,RB9作为PWM引脚
电机B:IN3->RB8->OCM1A
            IN4->RB9->OCM1B

引脚映射

引脚映射

  1. RPOR1bits.RP7R = 6;//引脚映射
  2.             RPOR1bits.RP8R = 7;
  3.             
  4.                        
  5.             /* Configure red */
  6.             CCP1CON1 = 0;
  7.             CCP1CON2 = 0;
  8.             CCP1CON3 = 0;
  9.             CCP1CON1bits.MOD = 0b0100;      //dual edge compare mode
  10.             CCP1CON2bits.OCBEN = 1;         //enable OCM1D (red)
  11.             CCP1TMR = 0;
  12.             CCP1RA = 0;
  13.             CCP1RB = 0;
  14.             CCP1PR = 0x3FF;
  15.             CCP1CON1bits.ON = 1;//开始计数
  16.             
  17.             /* Configure green */
  18.             CCP2CON1 = 0;
  19.             CCP2CON2 = 0;
  20.             CCP2CON3 = 0;
  21.             CCP2CON1bits.MOD = 0b0100;      //dual edge compare mode
  22.             CCP2CON2bits.OCAEN = 1;
  23.             CCP2TMR = 0;
  24.             CCP2RA = 0;
  25.             CCP2RB = 0;
  26.             CCP2PR = 0x3FF;
  27.             CCP2CON1bits.ON = 1;
  28.             
  29.             /* Configure blue */
  30.             CCP3CON1 = 0;
  31.             CCP3CON2 = 0;
  32.             CCP3CON3 = 0;
  33.             CCP3CON1bits.MOD = 0b0100;      //dual edge compare mode
  34.             CCP3CON2bits.OCAEN = 1;
  35.             CCP3TMR = 0;
  36.             CCP3RA = 0;
  37.             CCP3RB = 0;
  38.             CCP3PR = 0x3FF;
  39.             CCP3CON1bits.ON = 1;
复制代码
PWM更新,根据板子的滑动电阻器,进行ADC采样,ADC_INT()
  1. AD1CON2bits.VCFG = 0x0 ;
  2.         AD1CON3bits.ADCS = 0xFF ;
  3.         AD1CON1bits.SSRC = 0x0;
  4.         AD1CON3bits.SAMC = 0b10000;
  5.         AD1CON1bits.FORM = 0b00;
  6.         AD1CON2bits.SMPI = 0x0;
  7.         AD1CON1bits.ON = 1 ;
复制代码
OLED显示部分请参考之前的帖子。
那么,整个流程图可以看下图:

流程图

流程图

程序测试演示视频:
明天上传,还在审核。
整个程序代码:
pic32mm_Moter.X.rar (201 KB, 下载次数: 10)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

facebook google plus twitter linkedin youku weibo rss
©2019 Microchip Corporation

小黑屋|手机版|Archiver|Microchip技术社区

GMT+8, 2019-7-18 03:05 , Processed in 0.110928 second(s), 7 queries , MemCache On.

快速回复 返回顶部 返回列表