OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2675|回复: 1

信号都对,舵机为什么动不了

[复制链接]

13

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-7-16
在线时间
17 小时
发表于 2019-12-28 21:54:40 | 显示全部楼层 |阅读模式
15金钱
最近用STM32驱动一个舵机,今天把舵机安装好后发现舵机不动,测量了下,信号先的PWM波是正常的,可以跟随摇杆改变占空比
测量了下电压是7.7v(舵机要求7.4v),但是都连上后发现动不了
在测量电压的时候我发现了一个比较奇怪的事,用万用表测量红色部分可以测得电压,测量蓝色部分则电压为0,图可能有点小,不知道能不能放大看下
500393c171f576cf468d073176037de.jpg 下图是测得的PWM波
QQ截图20191228215056.png

另外再付一段代码,其中TIM3_CH4和TIM3_CH3是舵机

u8 sw=0;       
u8 re=0;  
u8 su=0;       
u8 sd=0;
u8 su_p=0;  
u8 sd_p=0;       
uint16_t res_u16;

int main(void)
{       
        u16 adc_wx; //ò¡¸ËW£¨XÏò£©
        u16 adc_wy; //ò¡¸ËW£¨YÏò£©
        u16 adc_e;  //μçλ¼ÆE
        u16 motor_a;        //μç»úaÕ¼¿Õ±è
        u16 motor_b;        //μç»úbÕ¼¿Õ±è
        u16 motor_c1temp=108;
        u16 motor_c2temp=108;
        u16 motor_c1=108;        //¶æ»úc1Õ¼¿Õ±è   72-108-144
        u16 motor_c2=108;        //¶æ»úc1Õ¼¿Õ±è
         
        delay_init();       
        Adc_Init();
        uart_init(115200);
//        Usart_Init();
        GPIOB_67_Init();       
        SetLORA_Prepare();
        Lora_Init();
         delay_ms(100);
        StartCommunication();

        KEY_Init();
        TIM2_PWM_Init(1439,999);         //PWMÆμÂê=72000000/((1439+1)*(999+1))=5-0Hz
        TIM3_PWM_Init(1439,999);         //PWMÆμÂê=72000000/((1439+1)*(999+1))=50Hz
        TIM_SetCompare3(TIM3,108);  //¿ØÖƶæ»ú1  ¸ßμçÆ½Õ¼1440μÄ100  
        TIM_SetCompare4(TIM3,108);  //¿ØÖƶæ»ú2
/*
72--1ms  108--1.5ms  144--2ms
*/
  while(1)
        {
                adc_e=Get_Adc_Average(ADC_Channel_5,10);        //è¡μÃDyÅ¥êyÖμ
                adc_wx=Get_Adc_Average(ADC_Channel_3,10);
                adc_wy=Get_Adc_Average(ADC_Channel_4,10);
                KEY_Scan_RE();

                if(re==0)
                {
                        motor_a=108-adc_e*(4100-adc_wx)/466261;                                        //ËãμöÔó|μç»úμ&#196WM
                        motor_b=108-adc_e*adc_wx/466261;
                        TIM_SetCompare2(TIM2,motor_a);                                                //¸Ä±äABμç»úμ&#196WMêä3ö
                        TIM_SetCompare3(TIM2,motor_b);
                }
                if(re==1)
                {
                        motor_a=108+adc_e*(4100-adc_wx)/466261;                                        //ËãμöÔó|μç»úμ&#196WM
                        motor_b=108+adc_e*adc_wx/466261;
                        TIM_SetCompare2(TIM2,motor_a);                                                //¸Ä±äABμç»úμ&#196WMêä3ö
                        TIM_SetCompare3(TIM2,motor_b);
                }
                motor_c1=72+adc_wy/57;
                motor_c2=144-adc_wy/57;
                TIM_SetCompare3(TIM3,motor_c1);
                TIM_SetCompare4(TIM3,motor_c2);
                delay_ms(300);
//                Usart_SendByte(USART2,res_u16);
                KEY_Scan_SU();
                if(su==1)
                {
                        if(su_p==0)
                        {
                                Usart_SendString(USART1,"u");
                                su_p=1;
                        }
                }
                KEY_Scan_SD();
                if(sd==1)
                {
                        if(sd_p==0)
                        {
                                Usart_SendString(USART1,"d");
                                sd_p=1;
                        }
                }                       
        }
}


最佳答案

查看完整内容[请看2#楼]

已经解决了,是电池和板子没有共地导致的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-7-16
在线时间
17 小时
 楼主| 发表于 2019-12-28 21:54:41 | 显示全部楼层
已经解决了,是电池和板子没有共地导致的
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-19 22:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表