本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

【连载】基于AVR XMEGA-A3BU Xplained控制器的Wifi小车制作(9)
发布时间:2014-08-22
分享到:
【连载】基于AVR XMEGA-A3BU Xplained控制器的Wifi小车制作(9)
发布时间:2014-08-22
分享到:

导读:本文将介绍如何利用wifi控制舵机。

首先是研究舵机,还记得我曾在帖子中说到过 我的舵机模块  从小侄子的遥控飞机上拆下来的   网上查了下舵机的工作原理 它有3根引出线,电源、地,信号线信号为PWM信号,大致意思是 给不同的PWM占空比,舵机会调整到一个固定的角度,然后保持不变,如果外部有扰动,舵机(伺服电机)就会立刻反应消除扰动造成的角度偏 移,恢复之前的角度状态。

我现在变得很好奇,为啥会这样子神奇呢?! 怀着一颗强烈的好奇心,就动手拆开了舵机
舵机1.jpg 舵机2.jpg

发现,原来舵机(伺服电机)内部用的还是直流电机 ,但是它里面额外用了一些电路,一通电时,直流电机就会不停的转,当输入的脉冲信号(PWM)变化时,它的齿轮组就会转到了当外部力促使主轴转动时,(主轴上大致连了一个可调电容),相当于改变了可调电容的容值,然后电路就会检测到,立刻就会做出控制动作,使容值恢复原来的 值,也就相当于控制主轴恢复到之前的角度位置。

当然,最重要的实验就是wifi控制舵机的程序啦,哈哈  这个我也实验成功了,可惜一时欣喜,忘记录制视频了,以后再补上,现在贴出代码先

#include <asf.h>
#define USART_SERIAL_BAUDRATE               115200
#define USART_SERIAL_CHAR_LENGTH         USART_CHSIZE_8BIT_gc
#define USART_SERIAL_PARITY                     USART_PMODE_DISABLED_gc
#define USART_SERIAL_STOP_BIT            true
int main (void)
{
board_init();
sysclk_init();//调用ASF框架函数初始化时钟
delay_init(sysclk_get_cpu_hz());//调用ASF框架函数初始化delay服务

struct pwm_config pwm_cfg;
pwm_init(&pwm_cfg,PWM_TCE0, PWM_CH_A, 500);    //配置的PWM输出口为PE0

static usart_rs232_options_t USART_SERIAL_OPTIONS = {
.baudrate = USART_SERIAL_BAUDRATE,
.charlength = USART_SERIAL_CHAR_LENGTH,
.paritytype = USART_SERIAL_PARITY,
.stopbits = USART_SERIAL_STOP_BIT  };

sysclk_enable_module(SYSCLK_PORT_E, PR_USART0_bm);//Enable the clock for the USART module
usart_init_rs232(&USARTE0, &USART_SERIAL_OPTIONS);//Initialize in RS232 mode:
uint8_t received_byte;//A variable for the received byte must be added:

while(1)
{
received_byte = usart_getchar(&USARTE0);//Wait for reception of a character:
// usart_putchar(&USARTE0, received_byte);//Echo the character back:
switch( received_byte )
{
case a: pwm_start(& pwm_cfg,20);  break;   //20%占空比

case b: pwm_start(& pwm_cfg,50); break;   //50%占空比

case c: pwm_start(& pwm_cfg,80); break;   //80%占空比
}
}

总结:   舵机的具体参数还没测试完好,即调整百分之多少的占空比对应的输出角度是多少  这个还有待进一步的验证。

ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
作者  张艺

加入微信技术交流群

技术交流,职业进阶

关注电路设计技能公众号

了解最新技术方案

加入电路城 QQ 交流群

与技术大牛交朋友

讨论