资深版主
 
- 积分
- 1702
- 金钱
- 1702
- 注册时间
- 2012-5-10
- 在线时间
- 439 小时
|
发表于 2020-7-31 16:38:47
|
显示全部楼层
看看我的,希望给你思路,一个定时器控制十几个电机
- static Motor GB_Motors[Motor_Total_Num] =
- {
- //Motor_1
- {
- .name = Motor_1,
-
- .step_gpio_group = Motor1_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor1_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor1_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor1_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor1_Origin_Group, BloodHolder_On_Start_Group}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor1_Origin_Pin, BloodHolder_On_Start_Pin}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 50}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //测量最大行程为18000,设置超限位置为20000
- //.max_location = 20000,
- //精确测量 全程运行4.5秒
- //.out_time = 6000,
- .minPwmCnt = 20,
- .maxPwmCnt = 4,
- .seriesParm = 4,
- .changeParm = 100,
- },
- //Motor_2
- {
- .name = Motor_2,
-
- .step_gpio_group = Motor2_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor2_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor2_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor2_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Blood_Check_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Blood_Check_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_SET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {250, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 3,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = true,
- //.max_location = 5000,
- //.out_time = 50000,
- .minPwmCnt = 40,
- .maxPwmCnt = 5,
- .seriesParm = 4,
- .changeParm = 35
- },
- //Motor_3
- {
- .name = Motor_3,
-
- .step_gpio_group = Motor3_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor3_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor3_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor3_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_SET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_3_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_3_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- .minPwmCnt = 20,
- .maxPwmCnt = 4,
- .seriesParm = 4,
- .changeParm = 500
- },
- //Motor_4
- {
- .name = Motor_4,
-
- .step_gpio_group = Motor4_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor4_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor4_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor4_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_SET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_4_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_4_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_SET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {250, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = true,
- //.max_location = 27000,
- //.out_time = 10000,
- .minPwmCnt = 15,
- .maxPwmCnt = 4,
- .seriesParm = 6,
- .changeParm = 1500
- },
- //Motor_5
- {
- .name = Motor_5,
-
- .step_gpio_group = Motor5_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor5_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor5_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor5_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_5_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_5_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 28000,
- //.out_time = 7500,
- .minPwmCnt = 20,
- .maxPwmCnt = 3,
- .seriesParm = 6,
- .changeParm = 500
- },
- //Motor_6
- {
- .name = Motor_6,
-
- .step_gpio_group = Motor6_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor6_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor6_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor6_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_6_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_6_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 15,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 5500,
- //.out_time = 2300,
- .minPwmCnt = 20,
- .maxPwmCnt = 3,
- .seriesParm = 6,
- .changeParm = 500
- },
- //Motor_7
- {
- .name = Motor_7,
-
- .step_gpio_group = Motor7_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor7_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor7_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor7_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_7_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_7_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {250, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = true,
- //.max_location = 20000,
- //.out_time = 8000,
- .minPwmCnt = 15,
- .maxPwmCnt = 4,
- .seriesParm = 6,
- .changeParm = 1000
- },
- //Motor_8 排液针电机,即三轴平台Z2
- {
- .name = Motor_8,
-
- .step_gpio_group = Motor8_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor8_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor8_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor8_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_SET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_8_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_8_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 8,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 2000,
- //.out_time = 2000,
- .minPwmCnt = 20,
- .maxPwmCnt = 4,
- .seriesParm = 4,
- .changeParm = 100
- },
- //Motor_10
- {
- .name = Motor_10,
-
- .step_gpio_group = Motor10_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor10_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor10_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor10_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_10_Origin_Group, Water_Deep_Check_Group}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_10_Origin_Pin, Water_Deep_Check_Pin}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_SET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 50}, //传感器确认触发次数
- .normalTotalPwmCnt = 3,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 13500,
- //.out_time = 3000,
- .minPwmCnt = 20,
- .maxPwmCnt = 4,
- .seriesParm = 4,
- .changeParm = 100
- },
- //Motor_12
- {
- .name = Motor_12,
-
- .step_gpio_group = Motor12_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor12_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor12_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor12_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_12_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_12_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 3,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- .minPwmCnt = 20,
- .maxPwmCnt = 4,
- .seriesParm = 4,
- .changeParm = 100
- },
- //Motor_14
- {
- .name = Motor_14,
-
- .step_gpio_group = Motor14_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor14_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor14_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor14_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_14_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_14_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 4,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 28000,
- //.out_time = 7500,
- .minPwmCnt = 20,
- .maxPwmCnt = 3,
- .seriesParm = 6,
- .changeParm = 500
- },
- //Motor_15
- {
- .name = Motor_15,
-
- .step_gpio_group = Motor15_CLK_Group, //电机clk gpio group
- .step_gpio_pin = Motor15_CLK_Pin, //电机clk gpio pin
- .dir_gpio_group = Motor15_DIR_Group, //电机方向 gpio group
- .dir_gpio_pin = Motor15_DIR_Pin, //电机方向 gpio pin
- .forward_value = GPIO_PIN_RESET, //电机正向运动电平
- .en_gpio_group = NULL, //电机使能 gpio group
- .sensor_gpio_group = {Motor_15_Origin_Group, NULL}, //电机 传感器 gpio group
- .sensor_gpio_pin = {Motor_15_Origin_Pin, NULL}, //电机 传感器 gpio pin
- .sensor_triggered_value = {GPIO_PIN_RESET, GPIO_PIN_RESET}, //电机 传感器 触发电平
- .sensor_enable = {true, true}, //电机传感器 使能,默认打开,可动态调整
- .sensor_triggered_cnt = {0, 0}, //传感器连续触发次数
- .sensor_triggered_pass_cnt = {50, 1}, //传感器确认触发次数
- .normalTotalPwmCnt = 15,
- .motorLocation = 0,
- .targetLocation = 0,
- .isSLine = false,
- //.max_location = 5500,
- //.out_time = 2300,
- .minPwmCnt = 20,
- .maxPwmCnt = 3,
- .seriesParm = 6,
- .changeParm = 500
- },
- };
复制代码 |
|