Selaa lähdekoodia

```
feat(mcu): 添加转盘位置电机的初始位置校准逻辑

在转盘位置电机运动前添加了初始位置校准步骤,当检测到特定位置时,
会先进行微调运动以确保精确控制。具体实现:
- 当位置为0时,先移动到位置1
- 当位置为800时,先移动到位置799
- 其他情况先移动到当前位置减1的位置
然后执行正常的二次定位运动,提高了转盘位置控制的准确性。
```

rambo 15 tuntia sitten
vanhempi
commit
8764b5bc98
1 muutettua tiedostoa jossa 17 lisäystä ja 0 poistoa
  1. 17 0
      python/mcu/ProgramItem.py

+ 17 - 0
python/mcu/ProgramItem.py

@@ -322,10 +322,27 @@ class ProgramItem(BaseClass):
                 await asyncio.sleep(0.01)
 
             if self.turntable_position is not None:
+                if self.turntable_position == 0:
+                        self.mcu.to_device_move(
+                            device_name="turntable_position_motor", value=1
+                        )
+                        logger.info("转盘位置首次运动===>,%s",1)
+                elif self.turntable_position == 800:
+                    self.mcu.to_device_move(
+                        device_name="turntable_position_motor", value=799
+                    )
+                    logger.info("转盘位置首次运动===>,%s",799)
+                else:
+                    self.mcu.to_device_move(
+                        device_name="turntable_position_motor", value=self.turntable_position-1
+                    )
+                    logger.info("转盘位置首次运动===>,%s",self.turntable_position-1)
+                await asyncio.sleep(0.01)
                 self.mcu.to_device_move(
                     device_name="turntable_position_motor",
                     value=self.turntable_position,
                 )
+                logger.info("转盘位置2次运动===>,%s",self.turntable_position)
                 await asyncio.sleep(0.01)
 
             if self.turntable_angle is not None: