宜昌城老张的博客

我工作在湖北宜昌市三峡大学,热衷基于桌面环境的机电模型制作。本博客探讨的内容已涉及到Processing互动艺术、Arduino单片微控制器、开源软件、机器人,欢迎回帖!

博客列表

Arduino编码器小车左右转速同步的PID调节实验
发表于:2013-06-06 17:32:50 | 分类:Arduino和Labview
浏览( ) | 评论( )

      制作模型车的DIY爱好者会有这样的经验,你给小车左右两侧轮子的驱动电机同样的功率值,但两个轮子的转速可能是不一样,而且不同功率值下,两个轮子的转速差也不一样。当然如果两个轮子在行进过程中,分别遇到的阻力不一样时,两个轮子的转速也会发生偏差。这样的左右两轮转速不一致,就会反映在小车不能走直线上,这是让DIY爱好者头痛的事!    如果驱动轮子的电机安装了编码器,情况会如何?编码器这样的传感器是可以测量转速和转角的。如果把左右电机中编码器反馈的转速送入Arduino单片控制器中,计算机就会知道小车不能走直线的真正原因,并实时计算出两轮的转速差,然后可以设立一个PID算法,让转速慢轮子的电机功率值加大,从而消除车轮的转速差。这就是最简单的PID控制理论应用到实践中的一次尝试吧。    我们在大学学到了很多、甚至更高深的理论,但有机会实践这些理论的机会少之又少,其实制作DIY模型,就可以方便地去实践这些理论的。为这次的理论实践,我采用的模型是DFRobot公司出品的mini编码器小车,如下图。图1 DFRobot编码

基于LabVIEW和Arduino上下位机通信的编码器转速表的设计
发表于:2013-05-27 10:49:23 | 分类:Arduino和Labview
浏览( ) | 评论( )

  一、前言    标准的直流伺服电机系统包括了一个直流电动机,一组变速齿轮组(齿轮箱),一个编码器(信号反馈发生源)和电子驱动器。    直流伺服电机中的增量式编码器是将角度位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示角位移的大小。编码器有通常为A相、B相、Z相输出,编码器轴每旋转一圈,A相和B相都发出相同的脉冲个数,但是A相和B相之间存在一个90°(电气角的一个周期为360°)的电气角相位差。可以根据这个相位差来判断编码器旋转的方向是正转还是反转。编码器轴每旋转一圈,Z相在一个固定的位置发出一个脉冲,所以可以把它作为复位相或零位相来使用。    本次项目通过电机驱动板控制一个直流伺服电机模块的运行,并针对增量式编码器设计一个基于LabVIEW与Arduino联机通信的转速虚拟仪表。该仪表能显示出电机输出轴的实时转速和转向。 二、转速表的硬件组成    转速虚拟仪表除了上位PC计算机和LabVIEW虚拟仪器面板,还有下位机的电控系统,它是由Arduino控

LabVIEW蓝牙控制乐高六足机器人
发表于:2013-03-18 11:43:09 | 分类:Arduino和Labview
浏览( ) | 评论( )

  图1 LabVIEW蓝牙控制乐高六足机器人 一、前言    上篇文章《Arduino与LEGO结合的六足机器人》中,讲解了使用32路舵机控制板的方法,该板自带了一款舵机控制软件,我用该软件控制着六足机器人的12个mini舵机做动作,通过“示教”法一步步地确定了前、后、左、右4个动作组,然后把动作序列文件下载到机器人身上舵机控制板的存储卡中,并在线运行,测试机器人的运行是否符合预期。    《Arduino与LEGO结合的六足机器人》文章的网址:http://www.eefocus.com/zhang700309/blog/13-03/291894_b2e9f.html。    在这篇文章中,我用LabVIEW软件设计了一个六足机器人的人机控制界面,设置5个互动按钮。界面设计目的是,当按钮按下时,会把一行字符串命令通过蓝牙串口,无线发送到舵机控制板,执行事先下载到其存储卡中的前后左右及停止动作序列文件,让机器人“活”起来。视频网址:http://www.tudou.com

PS2电玩手柄,LabVIEW,32路舵机控制板和多自由度机械臂
发表于:2012-12-23 20:01:22 | 分类:Arduino和Labview
浏览( ) | 评论( )

  图1 PS2手柄遥控多自由度机械臂实验全景图     这篇文章在上一篇文章的基础上,加装了PS2电玩手柄。上篇文章的题目是《LabVIEW,32路舵机控制板和多自由度机械臂》,网址:http://www.eefocus.com/zhang700309/blog/12-12/289716_4f26b.html 。它的内容是用LabVIEW编写一个控制六自由度机械臂的程序,在LabVIEW前面板里设置六个滑动杆控件,这六个滑动杆当前值就对应着机械臂上六个180度舵机的实时转角,用鼠标移动滑动杆上的游标,就可以通过串口,把命令下达给32路舵机控制板,进而驱动舵机,让机械臂完成各种动作。再次看看上篇文章中,所设计的LabVIEW前面板吧。图2 LabVIEW控制多自由度机械臂的人机面板      目前这篇文章已加装了SONY PS2手柄,它的作用就是用来代替鼠标,来使LabVIEW前面板滑动杆控件上的游标移动。因此首先要了解如何才能把PS2手柄上的摇杆和按钮信息采集到PC电脑中。      PS

LabVIEW,32路舵机控制板和多自由度机械臂
发表于:2012-12-14 09:07:19 | 分类:Arduino和Labview
浏览( ) | 评论( )

   从题目上看,这篇文章涉及了LabVIEW的编程、32路舵机控制板的使用和多自由度机械臂的动作演示,应该还有蓝牙通讯,后面三部分内容,在前面的文章中讲述过,文章题目《32路舵机控制板与多自由度机械臂》,网址:http://www.eefocus.com/zhang700309/blog/12-09/286479_a1c80.html 。这篇文章主要讲LabVIEW如何编程来与舵机控制板串口通信,并进而控制机械臂上的各个舵机。    32路舵机控制板由国内公司DFRobot出品,上一篇文章讲述了如何用控制板自带的舵机控制软件,来设置舵机动作的方法,这篇文章希望用LabVIEW程序来代替厂家的舵机控制软件一部分功能,来做一个为这个实验项目量身定做的人机界面。实验视频:  点击网址,全屏看视频,http://www.tudou.com/v/anpCVbq0ZDI/&rpid=96368873&resourceId=96368873_04_05_99/v.swf。     多自由度机械臂的

DFRobot语音识别模块与Labview虚拟灯的对话
发表于:2012-09-03 09:28:16 | 分类:Arduino和Labview
浏览( ) | 评论( )

     晚上,在书房微弱的光影照耀下,DFRobot语音模块电路板上LED指示灯静静地发出绿油油的光芒,看着刚做出的Labview前面板上的虚拟灯,思想却飘向了远方,我在什么样的空间,做着什么样的事,这事有什么现实意义,是否自己感觉有意思。仿佛在雾气里探寻什么,用头脑和手去抓住什么,但什么也暂时抓不住,所以一直羡慕国外的创客们,单纯的追求和单纯的幸福,或许正是因为他们天真地在世外桃源里的实践,新的产品和新的行业也由此诞生。   收回思想,回到书桌前,朝向语音模块上的麦克风,用标准男中音,发出亮灯“liang deng”,关灯"guan deng"的声音,PC机屏幕的Labview前面板上的虚拟灯居然蛮听话的,让它亮灯,它就亮,让它熄灯,它就暗下来,由此通过语音识别模块实现了我与“虚拟灯”的对话。        说说这篇文章介绍的主角吧,DFRobot公司研发的中文语音识别模块Voice Recognition,我就是利用它

蓝牙技术架起LabVIEW和Arduino之间无线沟通的桥梁
发表于:2012-06-30 21:14:50 | 分类:Arduino和Labview
浏览( ) | 评论( )

       在电脑上,我用Labview制作了一个酷界面,显示着宜昌城区的室内气候,显然温度和湿度都比较宜人,原因是几天的大雨。电脑屏幕前是Arduino温湿度采样器,采样器左侧部分是Arduino控制器,上面层叠着蓝牙模块,右侧部分是DHT11温湿度传感器,传感器把温度和湿度通过蓝牙上传到了上位机Labview仪表盘中显示出来。有了无线蓝牙通信,PC机仪表面板与采样器之间可以脱离开有线的束缚。现在把采样器拿到了5米以外的空间,对着DHT11传感器,哈气,一股潮湿的暖流向它袭来,再看电脑屏幕上的仪表盘指针行动起来了,温湿度值同时开始上升。好玩!又一次亲身体验到了科技的乐趣。DF-Bluetooth V3模块与PC机的蓝牙连接       这篇文章着重介绍DFRobot公司出品的Bluetooth模块应用。DF-BluetoothV3蓝牙模块采用独特双层板设计,即美观又防止静电损坏模块,设计两个电源输入口,宽电压供电(3.5V~8V)和3.3V供电,可适用于各种场合。STATE和LINK指示灯清晰明亮

Arduino和Labview互动之摇摇铃(视频)
发表于:2011-11-04 13:30:15 | 分类:Arduino和Labview
浏览( ) | 评论( )

      这篇文章的主角是一款基于弹簧摆动原理设计的震动传感器,震动势能传到弹簧末端引起共振,左右摆动碰触到金属外壁形成通路。由于导通时间和弹簧的刚性有关,所以该震动传感器的输出带宽很窄,在使用Arduino读取时,建议使用外部中断功能。   震动传感器如上图所示:   这个实验的目的是:摇一下与Arduino控制器数字接口2相连的震动传感器,会使PC机的Labview前面板的带声音,带动画的摇摇铃工作起来,再摇一下,摇摇铃停止,再摇一下,又开始工作,蛮好玩!下面视频右图是Labview前面板的摇摇铃,左图是用摄像头录制的震动传感器摇动实况,这两个画面是同步的。    youKu视频转码时,把上面视频的图像质量和色彩改变了,我摇摇铃明明是红色,却变为了蓝色。看看下面的Labview前面板吧,不过这样是视频,也可以理解,实验任务完成的很好!Labview前面板:  Labview框图程序:(双击图片,放大看)  Arduino控制器的程序: 

用Labview开启Arduino密码锁
发表于:2011-11-03 17:30:41 | 分类:Arduino和Labview
浏览( ) | 评论( )

这个实验用到了5个模块,1、Arduino控制器 2、传感器扩展板 3、无线数传 4、蜂鸣器 5、指示灯 实验任务是:Labview发送4位数的密码给Arduino控制器,如果这个密码与Arduino控制器设定的密码一致,则指示灯常亮。密码不对,则蜂鸣器发出刺耳的报警声,同时指示灯闪烁。 本实验的Arduino设备源于DFrobot官方旗舰店: http://dfrobot.taobao.com/labview前面板如图:  看到上图,正确的密码是多少?Labview框图程序如图:   Arduino程序: //变量声明byte thousand;byte hundred;byte ten;byte one;int speak =  3;    //蜂鸣器模块接于数字口3int led = 9; //指示灯模块接于数字口9boolean speak_state = false;boolean flag = false;//初始化void setup()   { 

超声波传感器与舵机结合实现扇面测距
发表于:2011-11-03 17:14:12 | 分类:Arduino和Labview
浏览( ) | 评论( )

 上图是labview前面板,显示出舵机带动超声波传感器在5个角度上,测量的距离。即30度、60度、90度、120度和150度。 先谈谈传感器和舵机如何安装,请看图和注释: 1、超声波智能传感器  2、传感器支架 3、传感器与支架的装配(超感器与支架挑个方向安装才是正确方法) 本实验的Arduino设备源于DFrobot官方旗舰店: http://dfrobot.taobao.com/ 传声波传感器两个探头要使劲顶到支架的两个孔里,并且探头一定要部分伸出支架的两个橡皮孔以外,如果不这样做,超声波的声波路径就会被支架橡皮孔挡住。 我后来又做了个实验,结果证明传感器的两个探头还是从相反的方向压入支架,才是正确的安装方法,否则超声波的声波路径还是会被支架跟前的平面挡住,看来超声波传感器的声波路径并不是在一个平面上,而是有一定夹角扫描范围,是60度夹角。我这个实验,没出问题,是由于传感器被舵机架高了,支架跟前没有障碍。而且传声波传感器两个探头使劲顶到支架的两个孔里后,就拔不出来了!晕! 4、舵机 上图舵机旁边