标题:
HT-Hawk四轴飞行器地面站与stm32下位机测试程序下载 恒拓飞控资料
[打印本页]
作者:
不多不少
时间:
2018-7-31 14:02
标题:
HT-Hawk四轴飞行器地面站与stm32下位机测试程序下载 恒拓飞控资料
恒拓飞控地面控制系统
0.png
(8.18 KB, 下载次数: 73)
下载附件
2018-7-31 16:21 上传
【 请允许软件访问、操作注册表 】
1、15个独立通道的启用和关闭可通过单击通道对应的数码管来调整
2、双击通道对应的数码管来调整通道颜色
3、各通道颜色及开关状态均会在软件关闭时保存在电脑内
4、各项PID参数在重启软件后不会清空,保持关闭前的数据
5、RC通道最大最小值可设定
6、根据串口通讯状况及下位机字节发送速度来调整帧时间间隔,以确保上位机解析正确
7、可根据电脑配置情况来调整UI刷新率(fps),以防止软件占用过多系统资源及卡顿
单片机源程序如下:
/*
上位机测试程序,
下位机循环发送各功能模块数据帧至上位机。
Hto_ES.C 为协议帧生成库函数
*/
#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); //系统时钟设置
delay_init(72); //延时初始化
uart_init(72,115200); //串口1初始化
LCD_Init(); //初始化液晶
LED_Init(); //LED初始化
POINT_COLOR=RED; //设置字体为红色
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通道独立数据
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; //经度
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颗可用卫星
Location_Sta = 1; //假定定位ok
Longitude_WE = 'W';
Latitude_NS = 'N';
//-------------------------------------------------------------------------------
Pitch_Val = test_1;
Roll_Val = test_2; //测试姿态数据
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; //传感器校准
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 通道数据
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;
//////////////////////////////////////////////////////////////////////////////////
//协议帧生成
switch(sw) //循环发送各模块数据
{
case 1: F = HtoEs_Chart_Data_Generate(); break; //测试独立通道,返回需发送字节数
case 2: F = HtoEs_GPS_Data_Generate(); break; //测试GPS,返回需发送字节数
case 3: F = HtoEs_Attitude_Data_Generate(); break; //测试姿态,返回需发送字节数
case 4: F = HtoEs_RC_Data_Generate(); break; //测试RC通道,返回需发送字节数
case 5: F = HtoEs_PID_Data_Generate(); break; //测试PID参数,返回需发送字节数
case 6: F = HtoEs_Senosrs_Data_Generate(); break; //测试传感器标定,返回需发送字节数
case 7: sw = 0; break;
}
sw++;
//////////////////////////////////////////////////////////////////////////////////
// 发送部分
for( i = 0 ; i < F; i++) //循环发送,直到发送完毕
{
while((USART1->SR&0X40)==0);
USART1->DR = HtoEs_OutPut_Buffer[i];
}
delay_ms(3); //帧空闲时间
LED1=!LED1;
}
}
复制代码
所有资料51hei提供下载:
HT-Hawk四轴飞行器地面站.rar
(2.32 MB, 下载次数: 52)
2018-7-31 14:02 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
春阴酿寒
时间:
2019-7-6 02:40
谢谢啦
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1