起床前的准备——OCROBOT新款GAMA+L6205电机驱动测试
本帖最后由 wing 于 2017-2-21 21:51 编辑农历年前已经收到了OC的GAMA系列新品,之前只发了开箱帖。
那么现在来说说初次测试的体验吧:
首先,L6205电机驱动驱动板是为gama设计的,针脚位置和标准的UNO不太一样,不过配合GAMA主控还是很方便的
其次,这次测试会加入编码器中断计数,GAMA主控芯片是328配16M的晶振,用来测7K转左右的电机还是桌桌有娱的
还是用之前那种履带电机,20线的旋转光电码盘,LM393的判断器,还是那8颗杂牌AA电池 不过电压已经降到10v以下了
最后要补充的是,我是不会看那些无聊的娱乐八卦新闻节目的
针脚定义:
电机A 电机B
方向D12 D13
速度D3 D11
制动D9 D8
D2针脚接收中断信号,对应程序的0号中断,然后实物看上去有点乱乱的
下面是串口输出的结果
下面还有完整的代码和其他更精彩的内容,请继续看下去吧 本帖最后由 wing 于 2017-2-21 21:49 编辑
这次测试的代码,正向转两秒输出计数,然后再反向转两秒输出计数,其中反向的PWM占空比大一些,让两次计数看起来有些不一样
//gama 电机板实验 + 中断计数器
int p_led = 4; //接LED
int p_b_fx =13;//B机方向
int p_b_dl =11; //B机动力
int p_b_zd =8; //B机的制动
volatile unsigned int rotary_encoder_count;
void setup() {
Serial.begin(9600);
pinMode(p_led, OUTPUT);
//启用电机B的三个管脚,全部设置为输出状态
pinMode(p_b_fx,OUTPUT); //B机方向
pinMode(p_b_dl,OUTPUT); //B机动力
pinMode(p_b_zd,OUTPUT); //B机的制动
}
void rotary_encoder_int()
{
if (rotary_encoder_count<65535)
rotary_encoder_count=rotary_encoder_count+1;
else
rotary_encoder_count=0;
}
void loop() {
digitalWrite(p_led, HIGH);//指时灯亮
//初始化计数器
rotary_encoder_count=0;
attachInterrupt(0, rotary_encoder_int, CHANGE);//2号针脚接收中断信号
//B机状态 运行
digitalWrite(p_b_zd, LOW); //松开电机B的制动
digitalWrite(p_b_fx, HIGH); //设置方向为正向
//B机动力
analogWrite(p_b_dl,200);
delay(2000);
//持续2秒后输出 停电机 关中断输出计数
analogWrite(p_b_dl,0);
digitalWrite(p_b_zd, HIGH);
detachInterrupt(0);
Serial.println(rotary_encoder_count);
digitalWrite(p_led, LOW);//指时灯关
delay(5000);
digitalWrite(p_led, HIGH);//指时灯亮
rotary_encoder_count=0;//计数器清零
attachInterrupt(0, rotary_encoder_int, CHANGE);//2号针脚接收中断信号
digitalWrite(p_b_zd, LOW); //松开电机B的制动
digitalWrite(p_b_fx, LOW); //设置方向为反向
//B机动力
analogWrite(p_b_dl,75);
delay(2000);
//持续2秒后输出 停电机 关中断输出计数
analogWrite(p_b_dl,0);
digitalWrite(p_b_zd, HIGH);
detachInterrupt(0);
Serial.println(rotary_encoder_count);
digitalWrite(p_led, LOW);//指时灯关
delay(5000);
}
个人来说还是很喜欢OC的IDE默认的配色风格,看起来很高格B
本帖最后由 wing 于 2017-2-22 00:53 编辑
还有视频,当然审核时需要时间的...
http://player.youku.com/player.php/sid/XMjUyNDM3NDM2OA==/v.swf
转起来的样子还是非常可爱的,那么接下来要做点什么呢?
当然这些实验都是为了履带精灵2号机准备的,不过2号机的主控已经确定是wemos D1了,将会遇到的是电平转换的问题,
因为328是5V的,不过8266就是3.3V,那么我要先研究一下升压电路了 :lol:lol:lolOCROBOT GAMA 可以啊哈哈哈哈哈 用电击疗法起床? 履带闹钟,从脸上压过去
页:
[1]