修改vesc底层控制混乱问题,3508角度环待增加
This commit is contained in:
parent
ea949443ad
commit
06273f875a
@ -80,8 +80,7 @@ int main(void)
|
||||
|
||||
/* MCU Configuration--------------------------------------------------------*/
|
||||
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||
HAL_Init();
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. * HAL_Init();
|
||||
|
||||
/* USER CODE BEGIN Init */
|
||||
|
||||
@ -96,6 +95,7 @@ int main(void)
|
||||
|
||||
/* Initialize all configured peripherals */
|
||||
MX_GPIO_Init();
|
||||
|
||||
MX_DMA_Init();
|
||||
MX_SPI1_Init();
|
||||
MX_TIM4_Init();
|
||||
|
@ -103,7 +103,7 @@
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>3</nTsel>
|
||||
<nTsel>6</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@ -114,7 +114,7 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>BIN\CMSIS_AGDI.dll</pMon>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
@ -158,17 +158,42 @@
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>afsa,0x10</ItemText>
|
||||
<ItemText>raw,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>motor,0x0A</ItemText>
|
||||
<ItemText>UP,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>CAN_RawTx_t</ItemText>
|
||||
<ItemText>can,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>can_out,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>bbb,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>aaa,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>6</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>CCC</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>7</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>GO_motor_info</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<WatchWindow2>
|
||||
@ -835,18 +860,6 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Module\Chassis.c</PathWithFileName>
|
||||
<FilenameWithoutPath>Chassis.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>48</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\Module\config.c</PathWithFileName>
|
||||
<FilenameWithoutPath>config.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
@ -854,7 +867,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileNumber>48</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -866,7 +879,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -886,7 +899,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -898,7 +911,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -910,7 +923,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -922,7 +935,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -934,7 +947,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -946,7 +959,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -958,7 +971,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -970,7 +983,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -982,7 +995,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -994,7 +1007,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1006,7 +1019,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1018,7 +1031,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1030,7 +1043,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1050,7 +1063,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1062,7 +1075,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1074,7 +1087,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1086,7 +1099,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1098,7 +1111,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1110,7 +1123,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>69</FileNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1122,7 +1135,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>70</FileNumber>
|
||||
<FileNumber>69</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1134,7 +1147,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>71</FileNumber>
|
||||
<FileNumber>70</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1154,7 +1167,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>72</FileNumber>
|
||||
<FileNumber>71</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1166,7 +1179,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>73</FileNumber>
|
||||
<FileNumber>72</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1178,7 +1191,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileNumber>73</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1190,7 +1203,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1202,7 +1215,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1214,7 +1227,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1226,7 +1239,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1238,7 +1251,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1258,7 +1271,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1270,7 +1283,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1282,7 +1295,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1294,7 +1307,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1306,7 +1319,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1318,7 +1331,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1330,7 +1343,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1350,7 +1363,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1362,7 +1375,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1374,7 +1387,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1394,7 +1407,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1414,7 +1427,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1426,7 +1439,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1438,7 +1451,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -1450,7 +1463,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -1098,11 +1098,6 @@
|
||||
<Group>
|
||||
<GroupName>User/Module</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>Chassis.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\Module\Chassis.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>config.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
|
Binary file not shown.
@ -28,36 +28,21 @@ ConfigParam_t param_chassis ={
|
||||
|
||||
static const ConfigParam_t param_chassis ={
|
||||
|
||||
//
|
||||
//typedef struct
|
||||
//{
|
||||
// /*该部分决定PID的参数整定在config中修改*/
|
||||
// pid_param_t VESC_5065_M1_param;
|
||||
// pid_param_t VESC_5065_M2_param;
|
||||
//
|
||||
// pid_param_t UP_GM6020_speed_param;
|
||||
// pid_param_t UP_GM6020_angle_param;
|
||||
//
|
||||
// pid_param_t M2006_speed_param;
|
||||
// pid_param_t M2006_angle_param;
|
||||
//
|
||||
//}UP_Param_t;
|
||||
|
||||
|
||||
#endif
|
||||
.up={
|
||||
|
||||
.M2006_angle_param = { // 外环(角度环)
|
||||
.p = 25.0f, // 原13.0 → 提升P加速响应
|
||||
.i = 0.0f, // 保持
|
||||
.d = 1.5f, // 原1.8 → 增强D抑制振荡
|
||||
.i_limit = 1000.0f,// 原2000 → 限制积分累积
|
||||
.M2006_angle_param = {
|
||||
.p = 25.0f,
|
||||
.i = 0.0f,
|
||||
.d = 1.5f,
|
||||
.i_limit = 1000.0f,
|
||||
.out_limit = 3000.0f,
|
||||
},
|
||||
.M2006_speed_param = { // 内环(速度环)
|
||||
.p = 5.0f, // 原5.5 → 提升P加快跟踪
|
||||
.i = 0.3f, // 保持
|
||||
.d = 0.0f, // 原0.4 → 抑制新增高频噪声
|
||||
.M2006_speed_param = {
|
||||
.p = 5.0f,
|
||||
.i = 0.3f,
|
||||
.d = 0.0f,
|
||||
.i_limit = 2000.0f,
|
||||
.out_limit = 3000.0f,
|
||||
},
|
||||
@ -81,99 +66,107 @@ static const ConfigParam_t param_chassis ={
|
||||
.d = 3.2f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit =6000.0f,
|
||||
},
|
||||
.go_param={
|
||||
.rev = 0,
|
||||
.T=0.1,
|
||||
.W=0.1,
|
||||
.K_P=0.1,
|
||||
.K_W=0.1,
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
.chassis = {/**/
|
||||
.C6020pitAngle_param = {
|
||||
.p = 15.0f,
|
||||
.i = 0.3f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f,
|
||||
},
|
||||
.C6020pitOmega_param = {
|
||||
.p =30.0f,
|
||||
.i =0.3f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f
|
||||
},
|
||||
|
||||
.Gimbal_yawAngle_param = {
|
||||
.p =8.0f,
|
||||
.i =0.0f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f
|
||||
},
|
||||
|
||||
.Gimbal_yawOmega_param = {
|
||||
.p =18.0f,
|
||||
.i =0.0f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f
|
||||
},
|
||||
|
||||
.Gimbal_pitchAngle_param = {
|
||||
.p =8.0f,
|
||||
.i =0.0f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f
|
||||
},
|
||||
|
||||
.Gimbal_pitchOmega_param = {
|
||||
.p =18.0f,
|
||||
.i =0.0f,
|
||||
.d =0.0f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit = 3000.0f
|
||||
},
|
||||
.AngleCor_param = {
|
||||
.p =0.8f,
|
||||
.i =0.0f,
|
||||
.d =1.0f,
|
||||
.i_limit = 0.0f,
|
||||
.out_limit =5000.0f,
|
||||
},
|
||||
|
||||
.OmegaCor_param = {
|
||||
.p =23.5f,
|
||||
.i =0.0f,
|
||||
.d =0.05f,
|
||||
.i_limit = 0.0f,
|
||||
.out_limit =5000.0f,
|
||||
},
|
||||
|
||||
.ImuCor_param = {
|
||||
.p =95.0f,
|
||||
.i =0.0f,
|
||||
.d =0.0f,
|
||||
.i_limit = 0.0f,
|
||||
.out_limit =200.0f,
|
||||
},
|
||||
// .chassis = {/**/
|
||||
// .C6020pitAngle_param = {
|
||||
// .p = 15.0f,
|
||||
// .i = 0.3f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f,
|
||||
// },
|
||||
// .C6020pitOmega_param = {
|
||||
// .p =30.0f,
|
||||
// .i =0.3f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f
|
||||
// },
|
||||
//
|
||||
// .Gimbal_yawAngle_param = {
|
||||
// .p =8.0f,
|
||||
// .i =0.0f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f
|
||||
// },
|
||||
//
|
||||
// .Gimbal_yawOmega_param = {
|
||||
// .p =18.0f,
|
||||
// .i =0.0f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f
|
||||
// },
|
||||
//
|
||||
// .Gimbal_pitchAngle_param = {
|
||||
// .p =8.0f,
|
||||
// .i =0.0f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f
|
||||
// },
|
||||
//
|
||||
// .Gimbal_pitchOmega_param = {
|
||||
// .p =18.0f,
|
||||
// .i =0.0f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit = 3000.0f
|
||||
// },
|
||||
// .AngleCor_param = {
|
||||
// .p =0.8f,
|
||||
// .i =0.0f,
|
||||
// .d =1.0f,
|
||||
// .i_limit = 0.0f,
|
||||
// .out_limit =5000.0f,
|
||||
// },
|
||||
//
|
||||
// .OmegaCor_param = {
|
||||
// .p =23.5f,
|
||||
// .i =0.0f,
|
||||
// .d =0.05f,
|
||||
// .i_limit = 0.0f,
|
||||
// .out_limit =5000.0f,
|
||||
// },
|
||||
//
|
||||
// .ImuCor_param = {
|
||||
// .p =95.0f,
|
||||
// .i =0.0f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 0.0f,
|
||||
// .out_limit =200.0f,
|
||||
// },
|
||||
//
|
||||
// .DisCamera_param = {
|
||||
// .p =80.0f,
|
||||
// .i =0.1f,
|
||||
// .d =0.0f,
|
||||
// .i_limit = 0.0f,
|
||||
// .out_limit =5000.0f,
|
||||
// },
|
||||
|
||||
.DisCamera_param = {
|
||||
.p =80.0f,
|
||||
.i =0.1f,
|
||||
.d =0.0f,
|
||||
.i_limit = 0.0f,
|
||||
.out_limit =5000.0f,
|
||||
},
|
||||
|
||||
.M3508_param = {
|
||||
.p = 15.1f,
|
||||
.i = 0.02f,
|
||||
.d = 3.2f,
|
||||
.i_limit = 200.0f,
|
||||
.out_limit =6000.0f,
|
||||
}
|
||||
|
||||
// .M3508_param = {
|
||||
// .p = 15.1f,
|
||||
// .i = 0.02f,
|
||||
// .d = 3.2f,
|
||||
// .i_limit = 200.0f,
|
||||
// .out_limit =6000.0f,
|
||||
// }
|
||||
//
|
||||
|
||||
},
|
||||
// },
|
||||
|
||||
|
||||
.can = {
|
||||
|
@ -23,11 +23,17 @@ int8_t up_init(UP_t *u,const UP_Param_t *param,float target_freq)
|
||||
PID_init (&u->pid .GM6020_speed,PID_POSITION ,&(u->param ->UP_GM6020_speed_param ));
|
||||
PID_init (&u->pid .GM6020_angle,PID_POSITION ,&(u->param ->UP_GM6020_angle_param ));
|
||||
|
||||
u->M2006 .motor =M2006 ;
|
||||
u->M3508 .motor =M3508 ;
|
||||
|
||||
for(int i=0;i<3;i++){
|
||||
PID_init (&u->pid .M3508_speed[i] ,PID_POSITION ,&(u->param ->M3508_speed_param ));
|
||||
}
|
||||
|
||||
|
||||
for(int i=0;i<2;i++){ //go初始位置设置为0
|
||||
u->GO_motor_info[i] = getGoPoint(i);
|
||||
GO_M8010_send_data(BSP_UART_GetHandle(BSP_UART_RS485), i,u->param->go_param .rev ,u->param->go_param .T ,u->param->go_param .W ,0,u->param->go_param .K_P ,u->param->go_param .K_W );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -49,19 +55,21 @@ int8_t UP_UpdateFeedback(UP_t *u, const CAN_t *can) {
|
||||
int8_t cnt=0;
|
||||
|
||||
/*上层电机控制*/
|
||||
int8_t UP_M2006_angle(UP_t *u, fp32 target_angle) {
|
||||
int8_t UP_angle(UP_t *u, fp32 target_angle) {
|
||||
// 获取当前编码器角度
|
||||
|
||||
// switch (u->)
|
||||
float angle = u->motorfeedback.M2006_angle;
|
||||
|
||||
// 初始化阶段:前50次循环记录初始值
|
||||
if (u->M2006.init_cnt < 50) {
|
||||
u->M2006.orig_angle = angle; // 记录初始编码器值
|
||||
u->M2006.last_angle = angle; // 初始化上一次角度
|
||||
u->M2006.last_angle = angle;
|
||||
|
||||
u->M2006.init_cnt++; // 初始化计数器递增
|
||||
return 0; // 初始化阶段不执行控制
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 计算角度差值(处理编码器溢出)
|
||||
|
||||
float delta = angle - u->M2006.last_angle;
|
||||
if (delta > 4096) {
|
||||
u->M2006.round_cnt--; // 逆时针跨圈
|
||||
@ -71,10 +79,10 @@ int8_t UP_M2006_angle(UP_t *u, fp32 target_angle) {
|
||||
|
||||
u->M2006.last_angle = angle;
|
||||
|
||||
// 计算总角度(基于初始偏移和圈数)
|
||||
// 计算总角度
|
||||
float total_angle = (u->M2006.round_cnt * 8191 + (angle - u->M2006.orig_angle)) * MOTOR2006_ECD_TO_ANGLE;
|
||||
u->M2006 .total_angle =total_angle;
|
||||
// PID控制计算
|
||||
|
||||
float delta_angle = PID_calc(&u->pid.M2006_angle, total_angle, target_angle);
|
||||
float delta_speed = PID_calc(&u->pid.M2006_speed, u->motorfeedback.M2006_rpm, delta_angle);
|
||||
u->motor_target.M2006_angle = target_angle;
|
||||
@ -100,7 +108,7 @@ int8_t VESC_M5065_Control(UP_t *u,fp32 speed)
|
||||
u->motor_target .VESC_5065_M2_rpm =speed;
|
||||
|
||||
u->final_out .final_VESC_5065_M1out =u->motor_target .VESC_5065_M1_rpm;
|
||||
u->final_out .final_VESC_5065_M2out =u->motor_target .VESC_5065_M2_rpm;
|
||||
u->final_out .final_VESC_5065_M2out =-u->motor_target .VESC_5065_M2_rpm;
|
||||
|
||||
|
||||
}
|
||||
@ -116,7 +124,13 @@ int8_t GM6020_control(UP_t *u,fp32 angle)
|
||||
PID_calc (&(u->pid .GM6020_speed ),u->motorfeedback.rotor_pit6020rpm ,delat_speed);
|
||||
u->motor_target .rotor_pit6020angle =angle ;
|
||||
}
|
||||
/*go电机控制*/
|
||||
int8_t GO_SendData(UP_t *u,int id,float pos)
|
||||
{
|
||||
|
||||
GO_M8010_send_data(BSP_UART_GetHandle(BSP_UART_RS485), id,u->param->go_param .rev ,u->param->go_param .T ,u->param->go_param .W ,AngleChange(RADIAN,pos),u->param->go_param .K_P ,u->param->go_param .K_W );
|
||||
|
||||
}
|
||||
|
||||
|
||||
int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out)
|
||||
@ -149,3 +163,5 @@ int8_t UP_control(UP_t *u,CAN_Output_t *out)
|
||||
case STATE_POST_LAUNCH : break ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,7 +34,32 @@ typedef struct {
|
||||
|
||||
}UP_Imu_t;
|
||||
|
||||
/**
|
||||
*@input[in] rev 暂时不知道干啥用的,github为回答issue
|
||||
*@input[in] T 力矩,单位N·m
|
||||
*@input[in] Pos 目标位置,单位rad
|
||||
*@input[in] W 目标速度,单位rad/s
|
||||
*@input[in] K_P 位置环环kp
|
||||
*@input[in] K_W 速度环kp
|
||||
*@note 控制公式 : t = T + (设定位置 - 实际位置)*K_P + (设定速度 - 实际速度)*K_W
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
int rev; //暂时不知何用
|
||||
float T;
|
||||
float W;
|
||||
float K_P;
|
||||
float K_W;
|
||||
|
||||
}GO_param_t;
|
||||
|
||||
typedef enum {
|
||||
M2006 = 1,
|
||||
M3508
|
||||
} MotorType_t;
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/*该部分决定PID的参数整定在config中修改*/
|
||||
@ -47,18 +72,21 @@ typedef struct
|
||||
pid_param_t M2006_speed_param;
|
||||
pid_param_t M2006_angle_param;
|
||||
|
||||
pid_param_t M3508_speed_param;
|
||||
pid_param_t M3508_speed_param;
|
||||
GO_param_t go_param;
|
||||
|
||||
}UP_Param_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float orig_angle;
|
||||
int8_t offset_flag;
|
||||
float angle;
|
||||
float last_angle;
|
||||
float total_angle;
|
||||
MotorType_t motor;
|
||||
float orig_angle;
|
||||
float last_angle;
|
||||
int32_t round_cnt;
|
||||
uint16_t init_cnt;
|
||||
float total_angle;
|
||||
|
||||
}M2006_data;
|
||||
}motor_angle_data;
|
||||
|
||||
|
||||
typedef struct{
|
||||
@ -68,13 +96,10 @@ typedef struct{
|
||||
UP_Imu_t pos088;
|
||||
|
||||
OperationState ctrl;
|
||||
struct {
|
||||
float orig_angle; // 初始偏移量
|
||||
float last_angle; // 上一次编码器值
|
||||
int32_t round_cnt; // 圈数计数器
|
||||
uint16_t init_cnt; // 初始化计数器(前50次记录初始值)
|
||||
float total_angle;
|
||||
} M2006;
|
||||
motor_angle_data M2006;
|
||||
motor_angle_data M3508;
|
||||
GO_Motorfield *GO_motor_info[GO_NUM];//存放go电机数据
|
||||
|
||||
struct{
|
||||
|
||||
fp32 rotor_pit6020ecd;
|
||||
@ -145,8 +170,8 @@ int8_t up_init(UP_t *u,const UP_Param_t *param,float target_freq);
|
||||
int8_t UP_UpdateFeedback(UP_t *u, const CAN_t *can) ;
|
||||
int8_t GM6020_control(UP_t *u,fp32 angle);
|
||||
int8_t VESC_M5065_Control(UP_t *u,fp32 speed);
|
||||
|
||||
int8_t UP_M2006_angle(UP_t *u,fp32 target_angle);
|
||||
int8_t GO_SendData(UP_t *u,int id,float pos);
|
||||
int8_t UP_angle(UP_t *u, fp32 target_angle) ;
|
||||
int8_t UP_control(UP_t *u,CAN_Output_t *out);
|
||||
int8_t ALL_Motor_Control(UP_t *u,CAN_Output_t *out);
|
||||
int8_t UP_M2006_angle(UP_t *u,fp32 target_angle);
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include "bsp_usart.h"
|
||||
#include <cmsis_os2.h>
|
||||
|
||||
GO_Motorfield GO_motor_info[GO_NUM];//存放电机数据
|
||||
GO_Motorfield GO_motor_info[GO_NUM];//存放电机数据
|
||||
static const float gravit_const =9.81;//计算前馈力矩有关
|
||||
|
||||
//数据处理函数
|
||||
@ -14,11 +14,11 @@ static void GO_M8010_recv_data(uint8_t* Temp_buffer);
|
||||
/**
|
||||
*@brief 电机初始化
|
||||
*/
|
||||
void GO_M8010_init (){
|
||||
void GO_M8010_init (void){
|
||||
for (uint8_t id= 0; id <GO_NUM ;id++)
|
||||
{
|
||||
GO_motor_info[id].id = id;
|
||||
GO_motor_info[id].mode = 1;
|
||||
GO_motor_info[id].mode = 1; //位置模式
|
||||
GO_motor_info[id].correct = 1;
|
||||
GO_motor_info[id].MError = 0;
|
||||
GO_motor_info[id].Temp = 0;
|
||||
@ -47,12 +47,12 @@ void USART6_RxCompleteCallback(void )
|
||||
uint16_t crc = CRC16_Calc(Temp_buffer,sizeof(Temp_buffer)-2,0x0000);
|
||||
if ((Temp_buffer[14] != (crc&0xFF)) || (Temp_buffer[15] != ((crc>>8) & 0xFF)))
|
||||
{
|
||||
HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_SET); //蓝色灯亮
|
||||
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET); //红色灯灭
|
||||
// HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_SET); //蓝色灯亮
|
||||
// HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET); //红色灯灭
|
||||
return;
|
||||
}
|
||||
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_11, GPIO_PIN_SET); // indicate CRC correct
|
||||
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET); //红色灯灭
|
||||
// HAL_GPIO_WritePin(GPIOH, GPIO_PIN_11, GPIO_PIN_SET); // indicate CRC correct
|
||||
// HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET); //红色灯灭
|
||||
GO_M8010_recv_data(Temp_buffer);
|
||||
|
||||
}
|
||||
@ -79,11 +79,11 @@ void uartTxCB(UART_HandleTypeDef *huart)
|
||||
*@input[in] K_W 速度环kp
|
||||
*@note 控制公式 : t = T + (设定位置 - 实际位置)*K_P + (设定速度 - 实际速度)*K_W
|
||||
*/
|
||||
GO_Motorfield* motor;
|
||||
|
||||
void GO_M8010_send_data(UART_HandleTypeDef *huart, int id,int rev,float T,float Pos,
|
||||
float W,float K_P,float K_W)
|
||||
{
|
||||
GO_Motorfield* motor;
|
||||
// a pointer to target motor
|
||||
motor = GO_motor_info+id;
|
||||
|
||||
@ -130,7 +130,7 @@ void GO_M8010_send_data(UART_HandleTypeDef *huart, int id,int rev,float T,float
|
||||
|
||||
// interrupt buffer sending
|
||||
HAL_UART_Transmit_IT(huart,motor->buffer,sizeof(motor->buffer));
|
||||
osDelay(1000);
|
||||
osDelay(1);
|
||||
HAL_UART_Receive_DMA(huart, Temp_buffer, 16);//有无都可以
|
||||
|
||||
|
||||
|
@ -19,21 +19,18 @@ typedef struct
|
||||
uint8_t id :4;
|
||||
uint8_t status :3;
|
||||
uint8_t none :1;
|
||||
} RIS_Mode_t /*__attribute__((packed))*/;
|
||||
} RIS_Mode_t ;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief <EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
*
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int16_t tor_des; // <20><><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4> unit: N.m (q8)
|
||||
int16_t spd_des; // <20><><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD> unit: rad/s (q7)
|
||||
int32_t pos_des; // <20><><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> unit: rad (q15)
|
||||
uint16_t k_pos; // <20><><EFBFBD><EFBFBD><EFBFBD>ؽڸն<DAB8>ϵ<EFBFBD><CFB5> unit: 0.0-1.0 (q15)
|
||||
uint16_t k_spd; // <20><><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5> unit: 0.0-1.0 (q15)
|
||||
int16_t tor_des;
|
||||
int16_t spd_des;
|
||||
int32_t pos_des;
|
||||
uint16_t k_pos;
|
||||
uint16_t k_spd;
|
||||
|
||||
} RIS_Comd_t;
|
||||
|
||||
@ -61,12 +58,12 @@ typedef struct {
|
||||
uint16_t correct;
|
||||
int MError;
|
||||
int Temp;
|
||||
float tar_pos; // target position
|
||||
float tar_w; // target speed
|
||||
float T; // <20><>ǰʵ<C7B0>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
float W; // <20><>ǰʵ<C7B0>ʵ<EFBFBD><CAB5><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD><EFBFBD>٣<EFBFBD>
|
||||
float Pos; // <20><>ǰ<EFBFBD><C7B0><EFBFBD>λ<EFBFBD><CEBB>
|
||||
int footForce; // They dont even know what 7 is this so we dont update this
|
||||
float tar_pos;
|
||||
float tar_w;
|
||||
float T;
|
||||
float W;
|
||||
float Pos;
|
||||
int footForce;
|
||||
uint8_t buffer[17];
|
||||
uint8_t Rec_buffer[16];
|
||||
ControlData_t motor_send_data;
|
||||
|
@ -266,10 +266,10 @@ int8_t CAN_VESC_Control(int id,CAN_MotorGroup_e group, CAN_Output_t *output,CAN_
|
||||
|
||||
for(int i=0 ; i < 4 ; i ++)
|
||||
{
|
||||
if(i==2) //此处可能同时发送四个vesc导致只有三个轮子接收到数据 故加上delay
|
||||
{
|
||||
// if(i==2) //此处可能同时发送四个vesc导致只有三个轮子接收到数据 故加上delay
|
||||
// {
|
||||
osDelay(1);
|
||||
}
|
||||
// }
|
||||
//将单个电机的期望输出值通过联合体拆分
|
||||
Byte[0] = raw[i].byte.byte1;
|
||||
Byte[1] = raw[i].byte.byte2;
|
||||
|
@ -73,10 +73,7 @@ const uint32_t delay_tick = osKernelGetTickFreq() / TASK_FREQ_CAN;
|
||||
&(can_out.chassis5065), 0, 0) == osOK) {
|
||||
CAN_VESC_Control(1,CAN_MOTOR_CHASSIS5065, &can_out ,&can);
|
||||
}
|
||||
if (osMessageQueueGet(task_runtime.msgq.can.output.shoot5065,
|
||||
&(can_out.chassis5065), 0, 0) == osOK) {
|
||||
CAN_VESC_Control(2,CAN_MOTOR_CHASSIS5065, &can_out ,&can);
|
||||
}
|
||||
|
||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||
osDelayUntil(tick); /* 运行结束,等待下一个周期唤醒 */
|
||||
}
|
||||
|
@ -29,7 +29,9 @@ static UP_t UP;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
float aaa=0;
|
||||
float bbb=0;
|
||||
float CCC=0;
|
||||
|
||||
|
||||
/**
|
||||
@ -53,11 +55,20 @@ void Task_up(void *argument)
|
||||
#endif
|
||||
UP_UpdateFeedback(&UP, &can) ;
|
||||
// GM6020_control(&UP, 100) ;
|
||||
// UP_M2006_angle(&UP, 180);
|
||||
// UP_M3508_speed(&UP, 500);
|
||||
VESC_M5065_Control(&UP, 00);
|
||||
UP_angle(&UP, bbb);
|
||||
// UP_M3508_speed(&UP, 500);
|
||||
|
||||
|
||||
|
||||
// VESC_M5065_Control(&UP, 20000);
|
||||
|
||||
|
||||
|
||||
GO_SendData(&UP, 1,CCC);
|
||||
GO_SendData(&UP, 0,aaa);
|
||||
|
||||
ALL_Motor_Control(&UP,&UP_CAN_out);
|
||||
// GO_M8010_send_data(&huart6, 0,0,0,5,10,0.12,0.08);
|
||||
|
||||
osDelay(1);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user