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