基于STC8H单片机的双通道直流有刷电机驱动控制器
简介:本设计以STC8H1K08单片机为控制核心,使用PWMA模块生成2路同频PWM波, 内置AD转换电位器的实时电压,计算生成PWM波占空比值。单片机同时进行限位开关检测、H桥直流电机驱动逻辑控制,控制两路直流电机的启停与速度调节。控制器具有手动与自动两种模式,一键切换,方便实用。
机械结构简化装配图:
- 功能要求:1、工作电压:DC 6-24V;2、单路最大电流10A;3、手动(点动)模式/自动运行模式;4、PWM波形占空比可调;5、电源与运行状态指示灯。
- 主要原件选型:单片机STC8H1K08-TSSOP20、LDO稳压器:78M05、电机驱动:双通道10A场效应管H桥有刷直流电机驱动、限位开关:V-151-1C25微动开关。
STC8H1K08管脚图:
功能框图:
- 电路设计:按照功能要求绘制电路原理图。共7个模块,分别为单片机及其外围电路、工作状态指示LED、电源系统、交互操作按钮、速度调节电位器模块、限位开关接口电路、电机驱动PWM与逻辑控制接口电路。
原理图检查无误后导入到PCB进行电路板布线。
- PCB设计:由于此板属于低速控制板,PCB布局布线以美观实用为原则。为了降低功率部分与信号部分的串扰,这两部分需要尽可能独立布线,功率电源部分需要降低电源阻抗,条件允许时应采用大面积实心铺铜。控制信号电源从功率电源单独引出,地线分割后使用磁珠连接,同时使用二极管、电感、电容组成防倒灌π型滤波电路,然后接入78M05稳压,确保单片机工作电压稳定。
- 嵌入式控制程序编写:
- 需求 I/O引脚17个;PWMA模块生成两路可调PWM波;5个交互轻触按钮;4个指示灯;2个限位传感器接口(外接开关或者5V高低电平输入控制);ADC交替采样2个通道。
- 确定所有需要用到的资源后对应单片机型号进行程序编写。先构思总体框架,再逐步填充细节。程序采用模块化方式编写,方便读取、修改、移植等等操作,可读性与可维护性也比较好。
- 写好程序后优化交互按钮的操作方式和其它需要优化改进的地方。在程序中加入适当的定时器延时,保证实时性的同时使按钮不会错误识别,误触发造成功能故障。
- 控制程序调试
- 程序调试注意以下几点:PWM波形的频率,ADC读取电位器电压,并转换成PWM占空比,交互按钮与限位开关的端口实时检测。程序测试修改后控制板工作状态良好,达到了设计目标,完全实现所需要的功能,在足够大的电源支持下,可长时间驱动10A电流负载。
结语:本小项目结合功能需求整理,电路原理图设计,PCB设计,单片机程序编写,电路与程序分析调试等。综合运用以上技能设计一款双路电机驱动器,满足逻辑控制、速度调节、手动自动功能切换等等功能需求。
学习不断,进步不止!
@远空 2023.1.13 cqyc
标签:双通道,电源,有刷,单片机,电路,驱动,PWM,限位 From: https://www.cnblogs.com/ksly-2210197/p/17061960.html