论坛风格切换切换到宽版
  • 10157阅读
  • 59回复

玩机器人的进来见个面 [复制链接]

上一主题 下一主题
离线BA5RW
 
发帖
48263
只看楼主 倒序阅读 0楼 发表于: 2004-08-03
最近开始喜欢简单机器人的diy,这儿有多少人玩过或准备玩的朋友请留帖!
离线bg7idw
发帖
239
只看该作者 1楼 发表于: 2004-08-03
算我一个吧
呵呵!!!!!!!!
离线bg6qbv
发帖
5837
只看该作者 2楼 发表于: 2004-08-04
准备怎么玩,我也是一个!
离线bg7mt
发帖
148
只看该作者 3楼 发表于: 2004-08-04
so am i...
离线BD7RC
发帖
3283
只看该作者 4楼 发表于: 2004-08-04
算我一个。
微型变速小电机不好解决,头疼~~
离线berger
发帖
280
只看该作者 5楼 发表于: 2004-08-04
'
算我一个。
微型变速小电机不好解决,头疼~~
'

用大型的,小有小做,大有大做啊! :d
离线bg6qbv
发帖
5837
只看该作者 6楼 发表于: 2004-08-04
大家都用的什么电路做距离检测啊!有用2051做控制的吗?推荐一下。

我带学生搞活动,很想买一个双电机控制的玩具车来试试!可是就是没有哪种左右电机分别控制左右轮的!

我在小学工作,开学后很需要一个车体和成熟的检测传感电路!车体有没有卖的呢?

请资深高手提供一下帮助!
离线BA5RW
发帖
48263
只看该作者 7楼 发表于: 2004-08-04
'
大家都用的什么电路做距离检测啊!有用2051做控制的吗?推荐一下。
我带学生搞活动,很想买一个双电机控制的玩具车来试试!可是就是没有哪种左右电机分别控制左右轮的!
我在小学工作,开学后很需要一个车体和成熟的检测传感电路!车体有没有卖的呢?
请资深高手提供一下帮助!
'
我原先也是这样的想法。可以买个遥控车改装,不过我用微型减速电机,成本比遥控车还贵!
目前我搞到的减速电机很小,整个只有中指的前两节那么大,但价格昂贵,不知道哪儿能成批订购?希望有人提供线索。电机转速较慢,但足够做机器昆虫、关节活动、寻迹机器人等的演示实验。上周临时焊了一个机器人,可以按程序走路线画图,传感器还没装上,下周上课再和学生一起做。水笔粘在电池夹前的双面胶上。希望大家给点掌声鼓励,这可是我初涉机器人殿堂的哦!当然更希望得到象7rc等单片机高手(目前我只了解到7rc就是专门从事单片机教育的)的直接指点和教诲!
离线BG7JYX
发帖
1410
只看该作者 8楼 发表于: 2004-08-05
'
大家都用的什么电路做距离检测啊!有用2051做控制的吗?推荐一下。
我带学生搞活动,很想买一个双电机控制的玩具车来试试!可是就是没有哪种左右电机分别控制左右轮的!
我在小学工作,开学后很需要一个车体和成熟的检测传感电路!车体有没有卖的呢?
请资深高手提供一下帮助!
'

用at89c2051设计超声波测距仪
来源:《国外电子元器件》
作者: 天津理工学院光电信息与电子工程系
姜道连 宁延一 袁世良

摘要:本文介绍了at89c2051单片机的性能和特点,并在分析了超声波测距原理的基本上,指出了设计测距仪的思路和所需考虑的问题,给出了实现超声波测距方案的软、硬件设计系统框图。该设计系统经校正后,其测量精度可达0.1米。

关键词:超声波 换能器 测距 at89c2051

超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。本文介绍一种以at89c2051或gsm97c2051单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。实际使用证明该仪器工作稳定,性能良好。

1 超声波测距原理

超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离s=ct/2,式中的c为超声波波速。

由于超声波也是一种声波,其声速c与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。其系统框图如图1所示。

2 at89c2051的功能特点

at89c2051是一个2k字节可编程eprom的高性能微控制器。它与工业标准mcs-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。at89c2051有以下特点:2k字节eprom、128字节ram、15根i/o线、2
个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25v至5.5v的电压工作范围和12mhz/24mhz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,at89c2051还支持二种软件可选的电源节电方式。空闲时,cpu停止,而让ram、定时/计数器、串行口和中断系统继续工作。可掉电保存ram的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。

at89c2051有2个16位计时/计数器寄存器timer0t timer1。作为一个定时器,每个机器周期寄存器增加1,这样寄存器即可计数机器周期。因为一个机器周期有12个振荡器周期,所以计数率是振荡器频率的1/12。作为一个计数器,该寄存器在相应的外部输入脚p3.4/t0和p3.5/t1上出现从1至0的变化时增1。由于需要二个机器周期来辨认一次1到0的变化,所以最大的计数率是振荡器频率的1/24,可以对外部的输入端p3.2/int0和p3.3/int1编程,便于测量脉冲宽度的门。

表1 声速与温度关系表
温度(℃) 声速(米/称)
-30       313
-20       319
-10       325
0         323
10       338
20       344
30       349
100       386

充分利用at89c2051的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。

3 系统硬件电路设计

超声波测距仪的硬件电路如图2所示。

at89c2051通过外部引脚p1.6输出脉冲宽度为250μs,载波为40khz的10个脉冲的脉冲群,以推挽形式加到变压器的初级,经升压变换推动超声波换能器发射出去。在发射的同时,p1.7输出一个高电平启动,给电容c4充电。发射结束时高电平翻转为低电平,c4开始对r2、r3组成的分压器放电并输出到比较器的负端。超声波接收换能器将接收到的障碍物反射的超声波送到放大器进行放大,这是一个高增益、低噪声放大器,在对放大后的信号进行检波后将检测回波送到比较器的正输入端。发射时p1.7输出的电平可以抑制比较器的翻转,这样就可以抑制发射器发射的超声波直接辐射到接收器而导致错误检测。

图3是超声波测距原理的波形图,从图中可以看到,测出回波和发射脉冲之间的时间间隔,利用s=ct/2就可以算出距离,再在lcd上显示出来。当然还可以设置若干个键,以用来控制电路的工作状态。限制系统的最大可测距离存在四个因素:超声波的幅度,反射而的质地,反射而和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。

at89c2051单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。超声波测距仪就是用at89c51单片机开发设计的。它采用模块化设计,由主程序、发射子程序、查蟓接收子程序、定时子程序、显示子程序等模块组成。

图4和图5分别为主程序和测量子程序的框图。该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在液晶屏上显示出来。

必须指出的是,由于液晶要使用同一p3口,所以必须全部使用位操作,否则将导致lcd不能正常显示。另外,在系统还可以加入温度传感器来监测环境温度,把表1所列的数据做到程序中可进行温度被偿。为了增强系统的可靠性,应在软硬件上采用一些特殊措施。限于篇幅,下面仅给出部分程序,感兴趣者可与作者联系。
离线BG7JYX
发帖
1410
只看该作者 9楼 发表于: 2004-08-05
# pragma db oe cd ot(5,speed) rom(large)iv

/*连接所需要的库*/

#include

#include

#include

/*定义数据类型*/

typedef unsingned char byte;

typedef unsigned int word

#define uchar unsigned char

#define unint unsigned int

#define ulong unsigned long

/*定义系统常数*/

#define true 1

#define false 0

#define c=340 /*声速*/

/*定义功能位*/

sbit bflag=acc7;

sbit volck=p1^5;

sbit ming=p3^5;

sbit quiet=p1^3;

sbit back=p1^2;

/*定义显示缓冲区*/

uchar idata on[16]={’,’l’,’e’,’n’,’g’,’t’,’h’,’=’,’8’,’.’,’8’8’,’m’,’’,’’,’’};

/*主程序用延时子程序*/

woid main-delay(void)

{

register i;

tro=1;

for(i=0;i

{

th0=0;

tl0=0;

do{}while(!tf0);

tf0=0;

}

tr0=0;

}

*/通用延时子程序*/

void delay(void)

{

unint i;

for(i=0;i

}

/*键盘延时子程序*/

void key-delay(void)

{

unint i;

for(i=0;i

}

/*初始化程序*/

void start_main()

{

tegister i;

uchar a[16]={’’,’l’,’e’,’n’,’g’,’t’,’h’,’=,’8’,’.’,’8’,’8’,’m’,’’,’’,’’};

for(i=0;

{on=a;}

nitlcd();/*初始化液晶*/

display(on);/*更新显示*/

}

/*主程序*/

void main()

{

register s,keycode;

long idata t;

start-main();/*初始化*/

main-delay();/*延时*/;

if(keycoed= =true)

{

keycode=key-scan-wait();

/*判断是否有测量键按下*/

t=measure();*/测量*/

s=0.5*t*c;*/换算*/

decode-bcd(s.0x09);

/*把测量结果置换入显示缓冲区*/

init-lcd();/*初始化液晶*/

display(on);/*更新显示*/

}

}

5 结束语

虽然用一个单独计时器电路也可以测量超声波的传输时间,但利用at89c2051单片机可以简化设计,便于操作和直观读数。该系统经实际测试证明,可以满足大多数场合的测距要求。
离线bg4rhe
发帖
756
只看该作者 10楼 发表于: 2004-08-05
超声波换能器不好搞啊,既要发也要收的。
如果不要精确知道距离 如小机器人行走防撞,可用红外发出出在接收,看看接收到信号的强弱。
'
用at89c2051设计超声波测距仪
来源:《国外电子元器件》
作者: 天津理工学院光电信息与电子工程系
姜道连 宁延一 袁世良
摘要:本文介绍了at89c2051单片机的性能和特点,并在分析了超声波测距原理的基本上,指出了设计测距仪的思路和所需考虑的问题,给出了实现超声波测距方案的软、硬件设计系统框图。该设计系统经校正后,其测量精度可达0.1米。
关键词:超声波 换能器 测距 at89c2051
超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。本文介绍一种以at89c2051或gsm97c2051单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。实际使用证明该仪器工作稳定,性能良好。
1 超声波测距原理
超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离s=ct/2,式中的c为超声波波速。
由于超声波也是一种声波,其声速c与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。其系统框图如图1所示。
2 at89c2051的功能特点
at89c2051是一个2k字节可编程eprom的高性能微控制器。它与工业标准mcs-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。at89c2051有以下特点:2k字节eprom、128字节ram、15根i/o线、2
个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25v至5.5v的电压工作范围和12mhz/24mhz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,at89c2051还支持二种软件可选的电源节电方式。空闲时,cpu停止,而让ram、定时/计数器、串行口和中断系统继续工作。可掉电保存ram的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。
at89c2051有2个16位计时/计数器寄存器timer0t timer1。作为一个定时器,每个机器周期寄存器增加1,这样寄存器即可计数机器周期。因为一个机器周期有12个振荡器周期,所以计数率是振荡器频率的1/12。作为一个计数器,该寄存器在相应的外部输入脚p3.4/t0和p3.5/t1上出现从1至0的变化时增1。由于需要二个机器周期来辨认一次1到0的变化,所以最大的计数率是振荡器频率的1/24,可以对外部的输入端p3.2/int0和p3.3/int1编程,便于测量脉冲宽度的门。
表1 声速与温度关系表
温度(℃) 声速(米/称)
-30       313
-20       319
-10       325
0         323
10       338
20       344
30       349
100       386
充分利用at89c2051的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。
3 系统硬件电路设计
超声波测距仪的硬件电路如图2所示。
at89c2051通过外部引脚p1.6输出脉冲宽度为250μs,载波为40khz的10个脉冲的脉冲群,以推挽形式加到变压器的初级,经升压变换推动超声波换能器发射出去。在发射的同时,p1.7输出一个高电平启动,给电容c4充电。发射结束时高电平翻转为低电平,c4开始对r2、r3组成的分压器放电并输出到比较器的负端。超声波接收换能器将接收到的障碍物反射的超声波送到放大器进行放大,这是一个高增益、低噪声放大器,在对放大后的信号进行检波后将检测回波送到比较器的正输入端。发射时p1.7输出的电平可以抑制比较器的翻转,这样就可以抑制发射器发射的超声波直接辐射到接收器而导致错误检测。
图3是超声波测距原理的波形图,从图中可以看到,测出回波和发射脉冲之间的时间间隔,利用s=ct/2就可以算出距离,再在lcd上显示出来。当然还可以设置若干个键,以用来控制电路的工作状态。限制系统的最大可测距离存在四个因素:超声波的幅度,反射而的质地,反射而和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。
at89c2051单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。超声波测距仪就是用at89c51单片机开发设计的。它采用模块化设计,由主程序、发射子程序、查蟓接收子程序、定时子程序、显示子程序等模块组成。
图4和图5分别为主程序和测量子程序的框图。该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在液晶屏上显示出来。
必须指出的是,由于液晶要使用同一p3口,所以必须全部使用位操作,否则将导致lcd不能正常显示。另外,在系统还可以加入温度传感器来监测环境温度,把表1所列的数据做到程序中可进行温度被偿。为了增强系统的可靠性,应在软硬件上采用一些特殊措施。限于篇幅,下面仅给出部分程序,感兴趣者可与作者联系。
'
离线BA5RW
发帖
48263
只看该作者 11楼 发表于: 2004-08-05
如果是防撞用开关最简单啊。测距对于我们入门级来说天方夜谈……
离线BG7JYX
发帖
1410
只看该作者 12楼 发表于: 2004-08-05
'
超声波换能器不好搞啊,既要发也要收的。
如果不要精确知道距离 如小机器人行走防撞,可用红外发出出在接收,看看接收到信号的强弱。
'
用压电陶瓷片替代试试
离线BD7RC
发帖
3283
只看该作者 13楼 发表于: 2004-08-05
大哥搞错了,我是从事教育的,现在的主要工作是教学生组装电脑、安装和使用各种软件,怎样上网、怎样打字排版等等杂七杂八的,不是专门从事单片机教育的,只是个替补的,当人手不够时临时凑够数而已,对很多东西也是一知半解,陆续玩了很多年,就是上不了槛。毕竟电脑这玩意更新太快,拼命更新大脑花费了太多时间。

刚弄到一个玩具车模的残骸,正在研究如何利用。想问下,你的机器人小车是如何控制速度的,是脉宽调制还在直接调整电机工作电压?


'
我原先也是这样的想法。可以买个遥控车改装,不过我用微型减速电机,成本比遥控车还贵!
目前我搞到的减速电机很小,整个只有中指的前两节那么大,但价格昂贵,不知道哪儿能成批订购?希望有人提供线索。电机转速较慢,但足够做机器昆虫、关节活动、寻迹机器人等的演示实验。上周临时焊了一个机器人,可以按程序走路线画图,传感器还没装上,下周上课再和学生一起做。水笔粘在电池夹前的双面胶上。希望大家给点掌声鼓励,这可是我初涉机器人殿堂的哦!当然更希望得到象7rc等单片机高手(目前我只了解到7rc就是专门从事单片机教育的)的直接指点和教诲!
'
离线BA5RW
发帖
48263
只看该作者 14楼 发表于: 2004-08-05
7rc果然谦虚了!哈……说起来我自己汗颜……我原来是从z80单板机玩起,后来转到业余电台,现在回头看看,原因是当时居然找不到一个起玩单板机的朋友,而业余电台人多……再回到单片机是因为业余电台的pll需要它,才知道单片机的世界已经发展到面目全非,我现在只是门外汉,一切要从头开始……我几次想学c最后还是用了汇编,因为任务都很简单,现在人家学嵌入式系统,我只能傻笑……不过我的要求也真的低,只要能引导学生感兴趣有条件玩就行,但希望找到廉价普及的作法。希望得到您的帮助!
我搞的那辆小车转速慢,没有速度控制,依靠传感器检测和判断来控制电机。
离线bg6qbv
发帖
5837
只看该作者 15楼 发表于: 2004-08-06
如果不能控制速度,可能比赛有困难,使用局限性大,上次在湖北省里灭火项目比赛中。发挥不行,只在省里得了一个二等奖。机器车用的是成品的,只写tybasic程序就行了。但我现在不喜欢那个程序。想自己从头用2051做一个。利用车体改装,想做得比那个成品好(那个成品也是遥控车改装的,最搞笑的车体上还贴着27m的字样。)

关于测距我在另外的一个网站看到一个方案。感觉很不错。是通过2051控制左右红外发射管,检测红外接收电路的脉冲就知道大致距离了,红外发射管功率利用可变电阻还可以进行调整,满足检测距离的需要。程序中加一个记数器就可以控制工作了。

我现在学习的是汇编。有些地方还要仔细研究,一个人太累了,有人有兴趣一起玩吗?

能提供车体和配件、制作以及单片机的朋友麻烦帮助一下。谢谢了!
离线BA5RW
发帖
48263
只看该作者 16楼 发表于: 2004-08-06
'
如果不能控制速度,可能比赛有困难,使用局限性大,上次在湖北省里灭火项目比赛中。发挥不行,只在省里得了一个二等奖。机器车用的是成品的,只写tybasic程序就行了。但我现在不喜欢那个程序。想自己从头用2051做一个。利用车体改装,想做得比那个成品好(那个成品也是遥控车改装的,最搞笑的车体上还贴着27m的字样。)
关于测距我在另外的一个网站看到一个方案。感觉很不错。是通过2051控制左右红外发射管,检测红外接收电路的脉冲就知道大致距离了,红外发射管功率利用可变电阻还可以进行调整,满足检测距离的需要。程序中加一个记数器就可以控制工作了。
我现在学习的是汇编。有些地方还要仔细研究,一个人太累了,有人有兴趣一起玩吗?
能提供车体和配件、制作以及单片机的朋友麻烦帮助一下。谢谢了!
'
哈,多了个同好!不过我们的目标离比赛需要还有一段距离,我们只想让学生了解最基本的机器人知识和实验,现阶段目的只要求实现智能车水平,比如寻迹、灭火桌面行驶等基本动作要求,但不求动作速度和程序优化什么的。我用的也是汇编,特别是对于年龄、文化层次相差悬殊的教学对象,以及面向单片机基础教育,感觉还是从汇编开始更好。
离线bg6qbv
发帖
5837
只看该作者 17楼 发表于: 2004-08-06
'
哈,多了个同好!不过我们的目标离比赛需要还有一段距离,我们只想让学生了解最基本的机器人知识和实验,现阶段目的只要求实现智能车水平,比如寻迹、灭火桌面行驶等基本动作要求,但不求动作速度和程序优化什么的。我用的也是汇编,特别是对于年龄、文化层次相差悬殊的教学对象,以及面向单片机基础教育,感觉还是从汇编开始更好。
'

呵呵,是啊,是啊!另外,我面对的是小学生,教学要求只要能了解简程序和常识,学生学会在活动中交流,互学,发展思维和主体性,体会竞赛的乐趣和培养其爱好而已。因此技术上学生要求不高,可是我这个老师就要辛苦了。呵呵!

老兄也是同道啊!是中学还是大学任教呢!
离线BA5RW
发帖
48263
只看该作者 18楼 发表于: 2004-08-06
'
呵呵,是啊,是啊!另外,我面对的是小学生,教学要求只要能了解简程序和常识,学生学会在活动中交流,互学,发展思维和主体性,体会竞赛的乐趣和培养其爱好而已。因此技术上学生要求不高,可是我这个老师就要辛苦了。呵呵!
老兄也是同道啊!是中学还是大学任教呢!
'
我的工作单位是一个少年宫,面向的对象主要是中小学生。很高兴在此遇到同道,哈!
我也是刚开始对在中小学生中普及单片机和机器人实践活动感兴趣,希望能让更多的孩子有机会接触这方面的东西,自己实现不了什么大的理想,希望他们能帮我们实现更多的梦想!希望多多交流!
离线BA5RW
发帖
48263
只看该作者 19楼 发表于: 2004-08-08
早上加了一对红外线探头,利用2051本身的比较器成功实现沿黑轨道行走,电路简洁,甚为有趣!