Browse Source

增加限位开关判断到达位置

master
Lizongdi 2 months ago
parent
commit
877e1baa0d
  1. 4
      diaoerqiege/BHBF_Robot_Lifting_Lug/.settings/language.settings.xml
  2. 6
      diaoerqiege/BHBF_Robot_Lifting_Lug/BHBF_Robot_Lifting_Lug Debug.launch
  3. 21
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c
  4. 33
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/robot_state.c

4
diaoerqiege/BHBF_Robot_Lifting_Lug/.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1256539702914033922" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-63235014752314356" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1256539702914033922" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-63235014752314356" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

6
diaoerqiege/BHBF_Robot_Lifting_Lug/BHBF_Robot_Lifting_Lug Debug.launch

@ -7,7 +7,7 @@
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.enabled" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.value" value=""/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{&quot;fItems&quot;:[{&quot;fIsFromMainTab&quot;:true,&quot;fPath&quot;:&quot;C:\\Users\\13752\\STM32CubeIDE\\git\\diaoerqiege\\BHBF_Robot_Lifting_Lug\\Debug\\BHBF_Robot_Lifting_Lug.elf&quot;,&quot;fProjectName&quot;:&quot;BHBF_Robot_Lifting_Lug&quot;,&quot;fPerformBuild&quot;:true,&quot;fDownload&quot;:true,&quot;fLoadSymbols&quot;:true}]}"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{&quot;fItems&quot;:[{&quot;fIsFromMainTab&quot;:true,&quot;fPath&quot;:&quot;D:\\music\\huangjiabao_backup\\diaoerqiege\\BHBF_Robot_Lifting_Lug\\Debug\\BHBF_Robot_Lifting_Lug.elf&quot;,&quot;fProjectName&quot;:&quot;BHBF_Robot_Lifting_Lug&quot;,&quot;fPerformBuild&quot;:true,&quot;fDownload&quot;:true,&quot;fLoadSymbols&quot;:true}]}"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.override_start_address_mode" value="default"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target remote"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
@ -60,12 +60,12 @@
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="C:\Users\13752\STM32CubeIDE\git\diaoerqiege\BHBF_Robot_Lifting_Lug\Debug\BHBF_Robot_Lifting_Lug.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="D:\music\huangjiabao_backup\diaoerqiege\BHBF_Robot_Lifting_Lug\Debug\BHBF_Robot_Lifting_Lug.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="BHBF_Robot_Lifting_Lug"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1900810912"/>

21
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c

@ -139,6 +139,10 @@ void Mode_Control()
}
extern uint8_t Pin2;
extern uint8_t Pin3;
void IO_Control()
{
GF_BSP_GPIO_SetIO(4, 1);
@ -155,14 +159,15 @@ void IO_Control()
}
Pin2 = GF_BSP_GPIO_ReadIO(2);
Pin3 = GF_BSP_GPIO_ReadIO(3);
}
uint8_t IsAllowRotation_AutoMode = 0;
int32_t knife_descent_height = 0;
// 自动作业停止后默认上升高度为5mm
int32_t knife_rising_height = 500;
int32_t knife_current_altitude = 0;
uint16_t delay_counts = 0;
uint8_t IsAllowRotation_AutoMode = 0; // 是否允许转刀
int32_t knife_descent_height = 0; // 屏幕配置值转换后
int32_t knife_rising_height = 500; // 自动作业停止后默认上升高度为5mm
int32_t knife_current_altitude = 0; // 激光1读数
uint8_t auto_work_mode_states = 5;
uint8_t auto_work_halt_states = 10;
@ -174,12 +179,12 @@ void Automatic_Operation()
{
switch(auto_work_mode_states)
{
case 5:
case 5: // 读一下激光高度
knife_current_altitude = GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance;
auto_work_mode_states = 10;
auto_work_halt_states = 10;
break;
case 10:
case 10: // 下刀
IsAllowRotation_AutoMode = Knife_Detection();
if(IsAllowRotation_AutoMode == 1)
{

33
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/robot_state.c

@ -228,15 +228,23 @@ static const int32_t SliderSpeed = 50;
const uint32_t up_limit = 6200;
const uint8_t down_limit = 0;
uint8_t Pin2 = -1; //上限位,为0表示限位触发
uint8_t Pin3 = -1; //下限位,为0表示限位触发
void Manual_Up_State_Do(void)
{
int32_t SliderSpeed_PPS = SliderSpeed_mmps_2_pps(SliderSpeed);
GV.LS_FrontEnd_Motor.Target_Position = -10000000;
GV.LS_FrontEnd_Motor.Target_Velcity = SliderSpeed_PPS;
if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance >= up_limit)
/*if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance >= up_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_2_measure_distance >= up_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_3_measure_distance >= up_limit))
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}*/
if (!Pin2)
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
@ -248,13 +256,17 @@ void Manual_Down_State_Do(void)
GV.LS_FrontEnd_Motor.Target_Position = 10000000;
GV.LS_FrontEnd_Motor.Target_Velcity = SliderSpeed_PPS;
if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance <= down_limit)
/*if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance <= down_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_2_measure_distance <= down_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_3_measure_distance <= down_limit))
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
}*/
if (!Pin3)
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
}
// 定义前端升降电机速度,单位0.1mm/s
@ -266,9 +278,14 @@ void Manual_Low_Speed_Up_State_Do(void)
GV.LS_FrontEnd_Motor.Target_Position = -10000000;
GV.LS_FrontEnd_Motor.Target_Velcity = SliderSpeed_PPS;
if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance >= up_limit)
/*if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance >= up_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_2_measure_distance >= up_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_3_measure_distance >= up_limit))
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}*/
if (!Pin2)
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
@ -280,13 +297,17 @@ void Manual_low_speed_Down_State_Do(void)
GV.LS_FrontEnd_Motor.Target_Position = 10000000;
GV.LS_FrontEnd_Motor.Target_Velcity = SliderSpeed_PPS;
if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance <= down_limit)
/*if((GV.ZHR29_200_measure_results.laser_sensor_1_measure_distance <= down_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_2_measure_distance <= down_limit)
|| (GV.ZHR29_200_measure_results.laser_sensor_3_measure_distance <= down_limit))
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
}*/
if (!Pin3)
{
GV.LS_FrontEnd_Motor.Target_Velcity = 0;
}
}

Loading…
Cancel
Save