JGA25-371电机测试

感觉正点原子在STM32开发板这一方面还是比较领先的,主要是教学视频系统,几份pdf都非常良心,程序代码完全是开放的。
因此用这套系统来学习STM32的人应该很多,在学习过程中看别人的程序,多多少少都有点正点原子里面的程序模板的味道。
这次我主要是调试一个电机JGA25-371,看看其参数和性能如何,选择的减速比是34。
电机参数:
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53f712ENL&id=533801305485&_u=d1kvlkda9e09

电机一共有6条接线。有4条线是用于操作编码器,另外2条用于电机的正负极。这次程序只用到编码器的4条线,电机的转动用手动模拟。首先要确定电机编码器的精度。

编码器

接线情况

程序参考:
http://www.yfrobot.com/forum.php?mod=viewthread&tid=2411&highlight=%B1%E0%C2%EB%C6%F7

//检测编码器读数函数

#include "sys.h"
#include "speed_cap.h"
#include "delay.h"
/***********************************************************
371电机速度检测( 编码器)
蓝绿线为编码器的正负极,不可接反,蓝线接3.3V,绿线接地。
编码器接口模式 , 速度检测与方向检测
PA0(TIM2_CH1),接黄线;PA1(TIM2_CH2),接白线。
***********************************************************/
//TIM2_Encoder_Init,Tim2_CH1(PA0);Tim2_CH2(PA1)
//arr:自动重装值 0XFFFF
//psc:时钟预分频数    ,不分频


void TIM2_Encoder_Init(u16 arr,u16 psc)
{
    RCC->APB1ENR|=1<<0;       //TIM2时钟使能
    RCC->APB2ENR|=1<<2;       //使能PORTA时钟
    
    GPIOA->CRL&=0XFFFFFF00;   //PA0、PA1 清除之前设置
    GPIOA->CRL|=0X00000044;   //PA0、PA1 浮空输入
        
    TIM2->ARR=arr;            //设定计数器自动重装值 
    TIM2->PSC=psc;            //预分频器

    TIM2->CCMR1 |= 1<<0;      //输入模式,IC1FP1映射到TI1上
    TIM2->CCMR1 |= 1<<8;      //输入模式,IC2FP2映射到TI2上
    TIM2->CCER |= 0<<1;       //IC1不反向
    TIM2->CCER |= 0<<5;       //IC2不反向
    TIM2->SMCR |= 3<<0;       //所用输入均在上升沿或下降沿有效
    TIM2->CR1 |= 1<<0;        //使能计数器
}
//计数寄存器赋值
void TIM2_Encoder_Write(int data)
{
    TIM2->CNT = data;
}
//读计数个数
int TIM2_Encoder_Read(void)
{
    return (int)((s16)(TIM2->CNT));    //数据类型转换
                         //记录边沿变化次数(几个栅格被记录4次)
}
//主函数

#include "sys.h"
#include "usart.h"      
#include "delay.h"
#include "speed_cap.h"
#include "step4988.h"
#include "led.h"

int main(void)
{

    Stm32_Clock_Init(9); //系统时钟设置
    delay_init(72);      //延时初始化
    uart_init(72,9600);  //串口1初始化
    LED_Init();          //初始化与LED连接的硬件接口
    STEP_Init();         //初始化A4988
    TIM2_Encoder_Init(0xffff, 0); //计数器自动重装值为最大
    TIM2_Encoder_Write(0);
    while(1)
    {
        LED0 = !LED0;
        printf("编码器数值:%d\n ",TIM2_Encoder_Read());//测得转一周,read/34/4,为编码器线数
        delay_ms(100);
        
    }       
}
串口读数情况

经过多次测试,电机减速器轴转动一周,串口收到编码器的数据在1850左右,因为电机选择的减速比是34,每一线传感器返回4个脉冲,所以编码器线数大概是1850/34/4=13.6。也就是说每次收到1850的数据时,电机转动360°,因此角度的最小精度为360/1850=0.2°,程序可以控制电机的最小角度为0.2°。

后来采用驱动板L289N驱动电机,测量每10ms转动的数值,给定电机电压为12V,PWM波恒为1时,读数在370左右,说明电机的转速为120r/min,与产品说明的空载转速126r/min差不多。

另外发现电机性能不太稳定,在相同PWM波的输出下,读数波动有点大。我们知道,数值每差5就会偏差1°,我们这个项目主要是控制电机转动一定的角度,电机甚至都不用转到1周。
因此,在减速比的选择上应该选择更大的,毕竟转速不是最重要的,甚至转得慢点反而有好处,这里我的选型出现了失误。

后话:

对这个项目来说,我们需要知道电机的绝对位置,而JGA25-371是增量型编码器,通过两个相位相差90°的编码器来读数,获取的数据是相对的。当电源发生断电时,没法用程序矫正回到初始位置,除非再加上传感器来感应原点,但精度和安装都是问题。
因此,要用绝对式编码器的伺服电机,每个位置都有对应的二进制码,价格就比较贵了。看了松下MINAS A6系列的电机,高达23位的绝对式编码器,还好STM32是32位的,不然编程还要麻烦些,不得不感慨日本的科技水平非常高。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容