项目分享:基于Microchip PIC32MM开发板的电机控制

分享到:

一.硬件构成:
 
   1.PIC32MM 开发板
 
   PIC32MM系列是Microchip功耗最低且最具成本效益的32位PIC32微控制器系列,在其内部集成的外设有 12位ADC、5位DAC、比较器、RTCC、WDT和CLC 及灵活的PWM/IC/OC/定时器(MCCP和SCCP)。
 
1
图1 PIC32MM 开发板
 
   2. OLED屏
   该款OLED显示屏是一个基于SPI接口的0.96寸单色屏,其显示分辨率为128*64,工作电压为2.8~5.5V。
 
2
图2  OLED屏
 
3.电机驱动模块
 
    主芯片为MX1508,模块的供电电压为2~10V,可驱动两路直流电机,IN1、IN2为一路,IN3、IN4为另一路;信号范围是1.8~7V,其驱动控制方式如表1所示。
 
表1 驱动方式控制表
3
 
4
图3  电机驱动模块
 
   4.小电机
   电动为直流电机,其工作电压为1~6V,电流为0.35~0.4A。
 
5
 
图4  直流电机
 
二.软件及环境
 
   1.MPLAB X IDE
    对于PIC单片机来说MPLAB X IDE是其标准的开发工具,它可以支持PIC16F1619、PIC232MM等多种PIC芯片的程序开发。当然对于不同的芯片,在使用时还需添加对应的插件,否则就其实对应的芯片支持。
 
6
 
图5  MPLAB X IDE
 
7
 
图6 添加插件
 
   2.字模提取软件
   由于在使用OLED的过程中往外要涉及中文的显示,因此需要相应的字模提取软件来帮忙,PCtoLCD2002就是这样一种有效的辅助工具。
 
8
图7  字模提取软件
 
9
 
图8  提取字模格式
 
   3. 图像提取软件
   在OLED屏上也能显示小幅图案,为了提取图像数据可使用Image2Led软件来实现,例如它可以将社区的图标显示到OLED屏上。
 
10
 
图9 图像提取
 
三.程序设计
 
   1.新建Maplab X IDE应用工程
   首先以Maplab X IDE新建工程一个工程,并设置好相应的环境参数。
 
11
 
图10 环境配置
 
12
 
13
 
14
 
3.生成工程框架及代码
   按各模块的引脚规划,进行引脚配置并生成工程框架及代码。
 
15
 
图11 引脚分配
 
   然后添加相应的功能实现代码,并下载加以验证。
 
16
 
图12 添加功能代码
 
    4.工作原理及处理流程   
    整个制作共分为5部分:初始化部分、OLED显示、LED指示、按键处理及电机控制部分, 涉及以GPIO模拟SPI接口实现OLED屏显示、GPIO的输入输出来控制LED与按键、使用PWM进行调节控制等。
 
17
 
图13 主程序流程
 
18
 
图14 OLED显示流程
 
19
图15 电机调节与控制流程
 
5.OLED显示功能的实现
    按任务要求,要利用OLED屏实现“Microchip”、“Microchip与非社区网址”、“社区ID”的显示;电机调节控制参数、状态的显示,共制作了3个界面,并提供S1键来控制
显示的节奏。
    在制作过程中,主要涉及到OLED屏显示的移植,相关英文、符号显示字库的构建、使用字模提取软件构建中文字库、使用图片提取软件获取社区图标数据等
 
6.PWM调节功能的实现
     为了使用PWM调节功能,可借助配置工具生成相应的功能函数,然后通过添加代码来实现设计要求。
 
20
 
图16 PWM配置
 
   7.电机的调节控制
 
所有代码请移步:基于PIC32MM开发板的电机控制
继续阅读
Microchip新型汽车级 MEMS 振荡器问世 —— 有效改善恶劣环境下的可靠性及性能

随着技术不断进步以及现代汽车中复杂电子系统应用的日益增加,市场对相关器件定时性能和可靠性的卓越性要求越来越高。在当今高度先进的汽车系统中,时序的精确度、准确性以及对恶劣环境的耐受能力对于能否确保精确操作至关重要。为此,全球领先的整合单片机、混合信号、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)发布了全新的DSA系列汽车级MEMS(微机电系统)振荡器产品

Microchip首席运营官专访:展望2018!半导体行业的机遇与挑战

随着全球电子产品市场的蓬勃发展,在过去的一年里,Microchip与各位一起经历了半导体领域大幅、持续的增长。与此同时,半导体行业的格局也已发生了显著转变。那么,2018年行业内有哪些机遇和挑战呢?

51单片机、AVR单片机和PIC单片机IO口的操作

51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的目的是让单片机的管脚输出逻辑电平和读取单片机管脚的逻辑电平。下面我们来看看51单片机、AVR单片机和PIC单片机IO口的操作的方法。

Microchip Curiosity PIC32MX470+简单测试 +点亮LED灯

我这次拿到的板子是PIC32MX470 Curiosity开发板,第一次使用,就先来点个LED灯吧。使用定时器中断来实现,亮灭时间各一秒。

用Microchip Curiosity PIC32MX470驱动OLED12864显示屏

这次要测试的是驱动OLED12864显示屏。OLED12864模块使用的是IIC接口,SDA接RF4引脚,SCL接RF5引脚,电源为3.3V。IIC时序使用软件模拟,采用强制读写模式。

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