995|2

1396

帖子

1

TA的资源

五彩晶圆(初级)

 

【CW32L052测评】+串口通迅功与云台调节控制 [复制链接]

 

云台是一种可以承载摄像头转动的调节装置,它有舵机来控制某一方面的转动,对于二维转动的云台,共需2个舵机来负责驱动的任务。

由于舵机是通过控制PWM的占空比来调节转动的角度,故为了简化PWM的处理,这里是采用一个双通道的可调节PWM功能模块来产生的输出信号。此外,该功能模块即可手动进行操控,也可通过串口来控制。为了便于以程序来控制云台,这里是以串口的方式来控制该功能模块。

image.png 图1 整体构成

 

image.png

图2 双通道PWM功能模块

 

PWM功能模块支持2种指令,一是频率设置指令,另一个是占空比设置指令。

以设置第一通道为50Hz频率为例,其指令为:S1F050T。其中,S1是选取第一通道进行设置,而F050则是设置频率为50Hz。

若将第二通道的占空比设置为3%,则指令为:S1D003T。其中,S2是选取第二通道进行设置,而D003则是设置占空比为3%。

为了进行测试,可通过串口助手类的工具来验证,其测试结果如图3至图5所示。

 

image.png 图3 方式指令

 

image.png 图4控制效果1

 

image.png 图5 控制效果2

 

 

image.png  图6 控制效果3

 

image.png

图7 控制效果4

 

由图可知,数值越小则越向右转;数值越大则越向左转。

由图可知,数值越小则越向右转;数值越大则越向左转。

那么该如何用开发板来控制PWM调节功能模块呢?

对于CW32L052开发板,它支持6个串口的通讯处理,即CW_UART1、CW_UART2、CW_UART3、CW_UART4、CW_UART5及CW_UART6。

为了便于调试,这里选取的是CW_UART2,其电路如图8所示。

 

image.png  

图8 串口电路

 

该串口通过 CH340N的转换处理,可将串口通信转为 USB通讯。在使用时,应按表1来连接。

 

表1  J3连接关系

image-20230721110123-1.png  

在直接进行PWM调节模块控制时,则可以直接将PC12接到调节模块的接收端,而将PD2接到调节模块的发送端。

控制指令是放在数组中,在发送时再实时地对指令参数进行调整。

uint8_t MF[7]={'S','1','F','0','5','0','T'};

uint8_t MLP[7]={'S','1','D','0','0','4','T'};

发送指令的程序代码为:

int j=0;
while(j<7)
{
	  UART_SendData_8bit(DEBUG_UARTx, MLP[j]);
	  j=j+1;
	  SysTickDelay(1);
}

 

为实现单维度云台控制,其主程序为:

int32_t main(void)
{
	uint8_t MLF[7]={'S','1','F','0','5','0','T'};
    uint8_t MLP[7]={'S','1','D','0','0','3','T'};
	uint8_t n=3;
     RCC_Configuration(); 
     RCC_SystemCoreClockUpdate(24000000);
     InitTick(24000000);
	 RCC_HSI_OUT();
     GPIO_Configuration();
     UART_Configuration();
     NVIC_Configuration();
     RCC_LSI_Enable();
	 int j=0;
	 while(j<7)
	 {
		    UART_SendData_8bit(DEBUG_UARTx, MLF[j]);
		    j=j+1;
	        SysTickDelay(1);
	 }
	 while(1)
	 {
		gKey2Status = 0;
		do
		{
			 LED1_TOG;
			 SysTickDelay(100);
		}while (gKey2Status == 0); 
		j=0;
		while(j<7)
		{
			  UART_SendData_8bit(DEBUG_UARTx, MLP[j]);
			  j=j+1;
	          SysTickDelay(1);
		}
		n=(n+1)%13;
		if(n==0) n=3;
		ML[4]= n/10+'0';
		ML[5]= n%10+'0';
    }
}

 

经程序的编译及下载,其测试结果如图9所示,即每按下一次KEY2键,则占空比的值增大一次,直到最大值时,再返回到最小值重新开始。

 

image.png

图9 测试发送指令

 

为了进行二维的云台控制,需将单键的中断式相应处理修改为双键的查询式处理,令每个按键各负责一个维度的调节控制。

 

  

 

 

最新回复

频率设置指令时,第一通道的频率是固定频率还是可以随意设置频率值呢?   详情 回复 发表于 2023-7-23 20:27
 
 
 

回复
举报

1524

帖子

0

TA的资源

五彩晶圆(初级)

 

频率设置指令时,第一通道的频率是固定频率还是可以随意设置频率值呢?

点评

必须设置为50hz  详情 回复 发表于 2023-7-24 00:37
 
 
 

回复

1396

帖子

1

TA的资源

五彩晶圆(初级)

 
火辣西米秀 发表于 2023-7-23 20:27 频率设置指令时,第一通道的频率是固定频率还是可以随意设置频率值呢?

必须设置为50hz

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表