|
恒拓飛控地面控制系統(tǒng)
0.png (8.18 KB, 下載次數(shù): 73)
下載附件
2018-7-31 16:21 上傳
【 請(qǐng)?jiān)试S軟件訪問(wèn)、操作注冊(cè)表 】
1、15個(gè)獨(dú)立通道的啟用和關(guān)閉可通過(guò)單擊通道對(duì)應(yīng)的數(shù)碼管來(lái)調(diào)整
2、雙擊通道對(duì)應(yīng)的數(shù)碼管來(lái)調(diào)整通道顏色
3、各通道顏色及開(kāi)關(guān)狀態(tài)均會(huì)在軟件關(guān)閉時(shí)保存在電腦內(nèi)
4、各項(xiàng)PID參數(shù)在重啟軟件后不會(huì)清空,保持關(guān)閉前的數(shù)據(jù)
5、RC通道最大最小值可設(shè)定
6、根據(jù)串口通訊狀況及下位機(jī)字節(jié)發(fā)送速度來(lái)調(diào)整幀時(shí)間間隔,以確保上位機(jī)解析正確
7、可根據(jù)電腦配置情況來(lái)調(diào)整UI刷新率(fps),以防止軟件占用過(guò)多系統(tǒng)資源及卡頓
單片機(jī)源程序如下:
- /*
- 上位機(jī)測(cè)試程序,
-
- 下位機(jī)循環(huán)發(fā)送各功能模塊數(shù)據(jù)幀至上位機(jī)。
-
- Hto_ES.C 為協(xié)議幀生成庫(kù)函數(shù)
-
- */
- #include <stm32f10x.h>
- #include <stdlib.h>
- #include "sys.h"
- #include "usart.h"
- #include "delay.h"
- #include "led.h"
- #include "lcd.h"
- #include "adc.h"
- #include "dma.h"
- #include "Hto_ES.h"
-
- float Tmp,test_1,test_2,test_3;
-
- int i,F,sw;
- int main(void)
- {
- Stm32_Clock_Init(9); //系統(tǒng)時(shí)鐘設(shè)置
- delay_init(72); //延時(shí)初始化
-
- uart_init(72,115200); //串口1初始化
-
- LCD_Init(); //初始化液晶
- LED_Init(); //LED初始化
- POINT_COLOR=RED; //設(shè)置字體為紅色
-
- BACK_COLOR = BLACK;
-
- LCD_Clear(BLACK);
-
- LCD_ShowString(80,0,200,16,16,"ACE-Tech");
-
- POINT_COLOR = WHITE;
-
- sw = 0;
-
- test_1 = test_2 = test_3 = 0;
-
-
- //////////////////////////////////////////////////////////////////////
-
-
- while(1)
- {
- Tmp = 1.0;
-
- Tmp += 0.184;
-
- CH1_data = rand()%200;
- CH2_data = rand()%200; //15通道獨(dú)立數(shù)據(jù)
- CH3_data = rand()%200;
- CH4_data = rand()%200;
- CH5_data = rand()%200;
- CH6_data = rand()%200;
- CH7_data = rand()%200;
- CH8_data = rand()%200;
- CH9_data = rand()%200;
- CH10_data = rand()%200;
- CH11_data = rand()%200;
- CH12_data = rand()%200;
- CH13_data = rand()%200;
- CH14_data = rand()%200;
- CH15_data = rand()%200;
-
- //-------------------------------------------------------------------------------
-
- Longitude_val = 11.234; //經(jīng)度
- Latitude_Val = 15.634; //緯度
- Altitude_Val = 56.687; //高度
- Dir_Val = 98.685; //方位角
- SPD_Val = 12.568; //速度
-
- Voltage_Val = 11.25*100; //假定電池電壓11.25v,放大100倍
- Temperture_Val = 25.67*100; //假定溫度為25.67℃,放大100倍
- Satellite_Val = 7; //假定7顆可用衛(wèi)星
-
- Location_Sta = 1; //假定定位ok
-
- Longitude_WE = 'W';
- Latitude_NS = 'N';
- //-------------------------------------------------------------------------------
- Pitch_Val = test_1;
- Roll_Val = test_2; //測(cè)試姿態(tài)數(shù)據(jù)
- Yaw_Val = test_3;
- test_1 += 0.078;
- test_2 += 0.088;
- test_3 += 0.098;
-
- if ( test_1 >= 180 ) test_1 = -test_1;
- if ( test_2 >= 180 ) test_2 = -test_2;
- if ( test_3 >= 360 ) test_3 = 0;
-
- //-------------------------------------------------------------------------------
- Gyro_X = 0.065;
- Gyro_Y = -5.896;
- Gyro_Z = 0.102;
-
- Accel_X = 0.008;
- Accel_Y = -0.003; //傳感器校準(zhǔn)
- Accel_Z = 1.021;
-
- Mag_X = 85.659;
- Mag_Y = 268.475;
- Mag_Z = 5.784;
- //-------------------------------------------------------------------------------
-
- PoressBar_1 = 700;
- PoressBar_2 = 800;
- PoressBar_3 = 900;
- PoressBar_4 = 1000;
- PoressBar_5 = 1200;
- PoressBar_6 = 1400; //RC 通道數(shù)據(jù)
- PoressBar_7 = 1600;
- PoressBar_8 = 1800;
- PoressBar_9 = 2000;
-
- //-------------------------------------------------------------------------------
-
- Pitch_PID_P = -569;
- Pitch_PID_I = 48;
- Pitch_PID_D = 79;
-
- Roll_PID_P = 89;
- Roll_PID_I = 21;
- Roll_PID_D = 34;
-
- Yaw_PID_P = 14;
- Yaw_PID_I = 10589;
- Yaw_PID_D = 30549;
-
- Alt_PID_P = -30468;
- Alt_PID_I = -26;
- Alt_PID_P = -1;
-
- Pos_PID_P = 5684;
- Pos_PID_I = -2;
- Pos_PID_D = 568;
-
- //////////////////////////////////////////////////////////////////////////////////
- //協(xié)議幀生成
-
- switch(sw) //循環(huán)發(fā)送各模塊數(shù)據(jù)
- {
- case 1: F = HtoEs_Chart_Data_Generate(); break; //測(cè)試獨(dú)立通道,返回需發(fā)送字節(jié)數(shù)
- case 2: F = HtoEs_GPS_Data_Generate(); break; //測(cè)試GPS,返回需發(fā)送字節(jié)數(shù)
- case 3: F = HtoEs_Attitude_Data_Generate(); break; //測(cè)試姿態(tài),返回需發(fā)送字節(jié)數(shù)
- case 4: F = HtoEs_RC_Data_Generate(); break; //測(cè)試RC通道,返回需發(fā)送字節(jié)數(shù)
- case 5: F = HtoEs_PID_Data_Generate(); break; //測(cè)試PID參數(shù),返回需發(fā)送字節(jié)數(shù)
- case 6: F = HtoEs_Senosrs_Data_Generate(); break; //測(cè)試傳感器標(biāo)定,返回需發(fā)送字節(jié)數(shù)
- case 7: sw = 0; break;
- }
-
- sw++;
-
- //////////////////////////////////////////////////////////////////////////////////
- // 發(fā)送部分
-
- for( i = 0 ; i < F; i++) //循環(huán)發(fā)送,直到發(fā)送完畢
- {
- while((USART1->SR&0X40)==0);
- USART1->DR = HtoEs_OutPut_Buffer[i];
- }
-
- delay_ms(3); //幀空閑時(shí)間
-
- LED1=!LED1;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
HT-Hawk四軸飛行器地面站.rar
(2.32 MB, 下載次數(shù): 52)
2018-7-31 14:02 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|