资源简介

我自己DIY雕刻机用的控制板是正点原子mini开发板,代码step dir对应的引脚需要替换成你自己硬件引脚。上位机通过串口控制电机运动,不同的电机性能差距很大你需要将一些默认参数设置为适合你的电机的如:默认启动频率,最大速度等等。

资源截图

代码片段和文件信息

 /***********************************************************************************************
 目标板:ControlBoard V1.0开发板
 程序功能:MODUBUS 上位处理模块 错误重发机制
 协议: Modbus通信协议  19200 n.8.1
 工程建立日期:2013.12.9
 编写人:董斌
 修改1:
 修改2:
*************************************************************************************************/

#include “AbnormalHandle.h“

unsigned int Error_Code;

unsigned char ServoBusyBit[MAX_ADRESS]; //????
unsigned char ServoPauseBit[MAX_ADRESS]; //????
unsigned char ServoOriginBit[MAX_ADRESS]; //????
unsigned char ServoErrorBit[MAX_ADRESS]; //????
unsigned char ServoPwrOnBit[MAX_ADRESS]; //??ON
int ServoCurrentPoint[MAX_ADRESS];            //?????? XYZ

/*******************************************************************************
* Function Name  :
* Description    : 空闲时 读取当前位置报警代码PCIO状态
********************************************************************************/
void Read_Status_Handle(unsigned char adress)
{
    unsigned int RET;
    unsigned char adresi;
    unsigned char max_adres;

    switch (adress)
    {
        case 0:
            adres=1;                        //XYZ轴
            max_adres=MAX_ADRESS;
            break;
        case 1:
            adres=1;                        //仅X轴
            max_adres=2;
            break;
        case 2:
            adres=2;                        //仅Y轴
            max_adres=3;
            break;
        case 3:
            adres=3;                        //仅Z轴
            max_adres=4;
            break;
        default:                            //地址超出
            adres=4;
            max_adres=4; 
            break;
    }
    for(i=adres;i    {
RET=Read_CurrentStatus(i);
if(RET != 0xffff)
{
if(RET & 0x0008)  ServoBusyBit[i]=1;                      //伺服忙碌  BIT(3)
else ServoBusyBit[i]=0;

if(RET & 0x0020)  ServoPauseBit[i]=1; //伺服暂停 BIT(5)
else ServoPauseBit[i]=0;

if(RET & 0x0010)  ServoOriginBit[i]=1;                    //伺服原点 BIT(4)
else ServoOriginBit[i]=0;

if(RET & 0x0400)  ServoErrorBit[i]=1; //伺服报警 BIT(10)
else ServoErrorBit[i]=0;

if(RET & 0x1000)  ServoPwrOnBit[i]=1; //伺服ON  BIT(12)
else ServoPwrOnBit[i]=0;
}

        Delay_MS(10);      
        RET=Read_ErrorCode(i);                                                   //报警代码
        if(RET != 0xffff)
        {
            switch (i)
            {
            case 1:
                Error_Code = RET|0x1000;                                         //各轴的报警代码
                break;
            case 2:
                Error_Code = RET|0x2000;
                break;
            case 3:
                Error_Code = RET|0x4000;
                break;
            default:break;
            }
        }

Delay_MS(10);
        RET=Read_CurrentPoint(i);                                               //读取伺服当前位置(绝对)
        i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-10-19 19:33  Driver\
     文件        6512  2018-10-18 12:53  Driver\AbnormalHandle.c
     文件        1390  2018-10-18 12:53  Driver\AbnormalHandle.h
     文件        7643  2018-10-18 12:53  Driver\ADC.c
     文件         412  2018-10-18 12:53  Driver\ADC.h
     文件         671  2018-10-18 12:53  Driver\BKP_Init.c
     文件         216  2018-10-18 12:53  Driver\BKP_Init.h
     文件        4741  2018-10-18 12:53  Driver\bsp.c
     文件         636  2018-10-18 12:53  Driver\bsp.h
     文件        9471  2018-10-18 12:53  Driver\Canbus.c
     文件         940  2018-10-18 12:53  Driver\Canbus.h
     文件        9025  2018-10-18 12:53  Driver\flash.c
     文件        1870  2018-10-18 12:53  Driver\flash.h
     文件       12326  2018-10-19 19:33  Driver\GPIO_Init.c
     文件        7072  2018-10-19 19:28  Driver\GPIO_Init.h
     文件        2486  2018-10-18 12:53  Driver\HMIGT02.c
     文件         747  2018-10-18 12:53  Driver\HMIGT02.h
     文件        4770  2018-10-18 12:53  Driver\httpd.c
     文件        4158  2018-10-18 12:53  Driver\httpd.h
     文件        3171  2018-10-18 12:53  Driver\httputil.c
     文件        1593  2018-10-18 12:53  Driver\httputil.h
     文件        5099  2018-10-18 12:52  Driver\HX711.c
     文件         920  2018-10-18 12:52  Driver\HX711.h
     文件        6018  2018-10-18 12:52  Driver\I2CEEPROM.c
     文件        1261  2018-10-18 12:52  Driver\I2CEEPROM.h
     文件       17685  2018-10-18 12:52  Driver\IAI_Motor.c
     文件        2151  2018-10-18 12:52  Driver\IAI_Motor.h
     文件       10568  2018-10-18 12:52  Driver\Modbus.c
     文件         642  2018-10-18 12:52  Driver\Modbus.h
     文件         930  2018-10-18 12:52  Driver\nvic_init.c
     文件         277  2018-10-18 12:52  Driver\nvic_init.h
............此处省略669个文件信息

评论

共有 条评论