多功能电机控制器使用说明书

2026/1/27 18:20:46

使用引出排针的3.3V进行供电。

所有的电源供电以及排针的引出在电路板上已经清晰的表明四个定位孔同GND相连,当使用铜柱同底层扩展板连接时,可扩大地线的范围;当需要连接柱带电时,可以用塑料柱连接。推荐铜柱和塑料柱的高度位10mm.

系统可由USB接口供电,无论USB口的控制信号PC9为何种状态时,系统都可以通过USB为系统供电。但是当PC9为高电平或者高阻状态时电流只可以由外部USB口向系统,而当PC9为低电平时,电流既可以从外部流入,也可从板子流出。所以,在系统使用其他供电形式并与计算机USB口相连接的情况下,要将PC9置为高阻态。当系统只使用USB口供电时PC9为何种状态都可以。

如果系统需要使用外部时钟,比如在断电的时候也保留部分寄存期的内容,就需要将外部扩展口EX2的8脚BAT引出同一块电池相连。

CAN总线部分

CAN总线使用TI的CAN总线驱动芯片SN65HVD230。这种芯片可以工作于三总模式:高速模式用于大多数工业场合;低功耗模式可以省电;斜率模式可以降低EMI。本系统只采用高速模式。高速模式的选择需要将RS(pin 8)拉低。在某些多机通信的场合,可能不需要120?的负载电阻,这时,需要将位于电路板左上角标记有120字样旁边的电阻焊下来。

信号通过stm32f107的CAN1与这个驱动芯片相连,对于本电路板无需REMAP。连接引脚如表6.1所示。

表6.1 CAN总线连接表

引脚 81 82 管脚名 PD0 PD1 功能名 CAN1_RX CAN1_TX 驱动芯片连接管脚 驱动芯片管脚功能 Receiver output 4 1 Driver input 串口通信部分

串口通信部分使用max3232作为电平转换芯片其连接如图7.1所示。

表7.1 RS232部分连接表

引脚 84 85 86 87 管脚名 PD3 PD4 PD5 PD6 功能名(remap) USART2_CTS USART2_RTS USART2_TX USART2_RX 驱动芯片连接管脚 9 10 11 12 驱动芯片管脚功能 ROUT2 DIN2 DIN1 ROUT1 5

伺服软件系统结构

应用层编码器电流传限位开反馈相应计算结果数据采感器数关状态指令解码PID算法的工作状PWM输出集据采集采集态任务μC/OS-Ⅲ系统内核任务管理相关软件μC/OS-ⅢCortex M3内核相关程序BSP硬件抽象层以太网USB-OTGCAN总线驱动驱动驱动USART驱动PWM驱动硬件Cortex-M3内核 STM32互联型MCU Micrium 发布的嵌入式实时操作系统uC/OS-III,它的特性如下:抢先式多任务处理,无数目限制的任务及优先级,时间片轮番调度法允许多任务具有相同的优先级。

抢先式多任务处理内核

uC/OS-III总是先运行已就绪的最重要的任务。uC/OS-III可以支持不限数目的任务,并允许被监视的任务在运行时增加其栈的大小。uC/OS-III同时支持不限数目的任务优先级。

时间片论调度

uC/OS-III允许多个任务运行在同一个优先级上,每个任务都拥有一个用户指定的运行时间周期。每个任务都可以被指定其自己的时间量,并且当不需要其全部的时间量的时候,任务可以放弃其拥有的时间片。uC/OS-III同时支持不限数目的内核事件,如任务、信号量、互斥体、事件标志、消息队列、计时器和内存分配等。uC/OS-III通常在运行时是可配置的。

几乎为零的中断禁止时间

uC/OS-III拥有大量的内部数据结构体和变量需要被访问。对这些关键区域的保护是通过锁定调度程序而不是关中断来实现的。中断几乎只被禁止了零时钟周期,这保证了实时操作系统可以对那些最快的中断做出响应。

综上所述,相对于uC/OS-II,uC/OS-III对提高伺服系统的相应速度与可扩展性有重大的意义。

PID算法设计思路

6

PID滤波器

Clamping circuit

PID滤波器C语言代码

double rtwdemo_rtwecintro_step(real_T rtb_IntegralGain) {

/* local block i/o variables */ real_T rtb_PulseGeneratorB; double PWM_Set;

{

real_T rtb_Sum;

real_T rtb_Saturation;

real_T rtb_FilterCoefficient;

/* DiscreteIntegrator: '/Integrator' */ if ((rtb_PulseGeneratorB > 0.0) &&

(rtwdemo_rtwecintro_DWork.Integrator_PrevResetState <= 0)) {

7

rtwdemo_rtwecintro_DWork.Integrator_DSTATE = 127.0; }

/* DiscreteIntegrator: '/Filter' */ if ((rtb_PulseGeneratorB > 0.0) &&

(rtwdemo_rtwecintro_DWork.Filter_PrevResetState <= 0)) { rtwdemo_rtwecintro_DWork.Filter_DSTATE = 0.0; }

/* Gain: '/Filter Coefficient' incorporates: * Gain: '/Derivative Gain' * Sum: '/SumD' */

rtb_FilterCoefficient = (0.0005 * rtb_IntegralGain - rtwdemo_rtwecintro_DWork.Filter_DSTATE) * 100.0; /* Sum: '/Sum' incorporates: * Gain: '/Proportional Gain' */

rtb_Sum = (0.15 * rtb_IntegralGain +rtwdemo_rtwecintro_DWork.Integrator_DSTATE) +rtb_FilterCoefficient;

/* Saturate: '/Saturation' */

rtb_Saturation = rt_SATURATE(rtb_Sum, 6.0, 250.0); /* Outport: '/Output' */

rtwdemo_rtwecintro_Y.Output = rtb_Saturation; /* Gain: '/Integral Gain' */ rtb_IntegralGain *= 0.2;

if ((rtb_Sum != rtb_Saturation) && (rt_SIGNd(rtb_Sum) == rt_SIGNd (rtb_IntegralGain))) { rtb_IntegralGain = 0.0;

}

/* Update for DiscreteIntegrator: '/Integrator' */

rtwdemo_rtwecintro_DWork.Integrator_DSTATE = 0.005 * rtb_IntegralGain + rtwdemo_rtwecintro_DWork.Integrator_DSTATE; if (rtb_PulseGeneratorB > 0.0) {

rtwdemo_rtwecintro_DWork.Integrator_PrevResetState = 1; } else if (rtb_PulseGeneratorB < 0.0) {

rtwdemo_rtwecintro_DWork.Integrator_PrevResetState = -1; } else {

rtwdemo_rtwecintro_DWork.Integrator_PrevResetState = 0; }

/* Update for DiscreteIntegrator: '/Filter' */

rtwdemo_rtwecintro_DWork.Filter_DSTATE = 0.005 * rtb_FilterCoefficient + rtwdemo_rtwecintro_DWork.Filter_DSTATE;

if (rtb_PulseGeneratorB > 0.0) {

rtwdemo_rtwecintro_DWork.Filter_PrevResetState = 1; } else if (rtb_PulseGeneratorB < 0.0) {

8


多功能电机控制器使用说明书.doc 将本文的Word文档下载到电脑
搜索更多关于: 多功能电机控制器使用说明书 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219