17PWM机器人.docx

上传人:p** 文档编号:693505 上传时间:2024-01-16 格式:DOCX 页数:23 大小:72.80KB
下载 相关 举报
17PWM机器人.docx_第1页
第1页 / 共23页
17PWM机器人.docx_第2页
第2页 / 共23页
17PWM机器人.docx_第3页
第3页 / 共23页
17PWM机器人.docx_第4页
第4页 / 共23页
17PWM机器人.docx_第5页
第5页 / 共23页
17PWM机器人.docx_第6页
第6页 / 共23页
17PWM机器人.docx_第7页
第7页 / 共23页
17PWM机器人.docx_第8页
第8页 / 共23页
17PWM机器人.docx_第9页
第9页 / 共23页
17PWM机器人.docx_第10页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《17PWM机器人.docx》由会员分享,可在线阅读,更多相关《17PWM机器人.docx(23页珍藏版)》请在第壹文秘上搜索。

1、一种具有17路可调PWM直流电机的串口遥控机器人技术领域本实用新型涉及一种具有17路PWM直流电机的串口遥控机器人,尤其是一种可以用串口 无线WiFl遥控的智能机器人。背景技术现有常规遥控机人按照无线电信号的遥控进行动作,也可以按照存储在寄存器里面的程 序动作,但是动作电机较少,一般只有4路PWM直流电机,且PWM方波的频率,占空比保持 固定,这对机器人的行动带来很大的不便。一种具有17路可调PWM直流电机的串口遥控机器 人是一种具有17路可调PWM频率、占空比的直流电机的机器人,操作者可以使用计算机串口 WIFI信号对它的17路直流电机进行遥控,它也可以按照其控制电路中的24C04铁电存储器

2、 里面的数据,读取ADC0832芯片采样的温度值,并通过串口 WTFI信号发送到操作者的电脑。实用新型内容为了解决常规遥控机器人动作电机较少,动作单一的缺点,一种具有17路可调PWM直流 电机的串口遥控机器人提供了一种具有17路可调PWM直流电机进行串口 WIFI信号遥控动作 的机器人。它可以按照电路中的24C04铁电存储器里面的数据,读取ADCO832芯片采样的温 度值,在单片机STCI2C5A60S2的控制下进行动作,也可以按照操作人员的计算机串口 WlFl 信号的遥控进行动作。由于它具有17路PWM直流电机,所以它可以进行行走,抬手,伸手等 多种动作。本实用新型解决其技术问题所采用的技术

3、方案是:一种具有17路可调PWM直流电机的串 口遥控机器人是一种可以被WIFl串口信号遥控的机器人,它的17路PWM方波的频率和占空 比都可以通过计算机WIFl串口信号进行调节。它依靠外壳下面装配的17路PWM直流电机在 操作人员的计算机串口 WIFl信号的遥控下进行转动,行走等各种动作。它可以在电机的转动 下进行移动,行走,抬手等等动作。同时,它也可以按照控制电路中的24C04铁电存储器(5) 里面的数据,在STC12C560S2单片机(4)的控制下进行电机的转动等动作,它可以将ADC0832 芯片(6)采样得到的温度值通过WIFl串口发送到计算机。它的控制电路如图1所示。在图 1 中,ST

4、CI2C5A60S2 单片机(4)的 Pl 中的 PL 2, PL 3, Pl. 4, Pl. 5, Pl. 6, PL 7 端口, P3 中的 P3.2, P3. 5, P3. 6 端口,P2 中的 P2.0, P2. 1, P2.2, P2. 3, P2.4, P2. 5, P2.6, P2. 7 端口在定时器TlMEO的控制下产生17路PWM方波,上面总共17路IO 口,每个IO 口产生一 路PWM信号,总共17路PWM控制方波信号。操作人员通过遥控计算机的WIFI串口发送数据 到STCI2C5A60S2单片机(4),就可以改变上述端口的PWM方波信号的频率、占空比等。同时 也可以得到A

5、DC0832芯片(6)采样得到的温度值。WIFI模块连接在单片机STC12C560S2 (4) 的串口上面,它接收操作人员发出的数据,然后单片机STCI2C5A60S2 (4)按照程序减少或增 加PWM方波的占空比,增加或减少频率。同时单片机(4)按照铁电存储器24C04 (5)中的 数据控制上面的PWM方波信号。操作人员通过USB串口 (1),经过芯片PL2303HX (3),给单 片机下载程序。5V开关电源(2)给单片机提供5V直流电。ULN2003D驱动芯片(7)使单片 机Pl, P2, P3端口的PWM信号稳定保持不变操作人员通过计算机串口发送十六进制数01,单片机(4)的PO. 0端

6、口就是高电平,同 时单片机将01发送给计算机,也将ADCO832芯片(6)采样得到的温度值发送给计算机。操 作人员通过计算机串口发送十六进制数02,单片机(4)的PO. 1端口就是高电平,同时单片 机将02发送给计算机,也将ADCo832芯片(6)采样得到的温度值发送给计算机。操作人员 通过计算机串口发送十六进制数04,单片机(4)的P0. 2端口就是高电平,同时单片机将04 发送给计算机,也将ADCo832芯片(6)采样得到的温度值发送给计算机。单片机的程序可以 在百度网盘hups:/DarLs14Ui9J TlWZ,OVJPuoOI-cw下载。单片机STCI2C5A60S2 (4)的控制程

7、序是在keill4编译环境下,通过C语言编译并通过 串口下载到单片机STCI2C5A60S2 (4)0程序代码如下:* 程 序思 路 说明:* 关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为IKHZ,这样定时中断次 数* 设定为C=IO,即0. OlMS中断一次,则THO=FF, TL0=F6;由于设定中断时间为0. 01ms, 这样可以设定占空比可从 ITOO 变化。即 0. 01ms*10O=ImS*/ttinclude #include #define uchar unsigned charinclude define OP_READ Oxal /器件地址以及读取操作def

8、ineOPJrRITE OxaO/器件地址以及写入操作#defineMAX _ADDR 0x7f/ AT24C02 最大地址* THO和TLO是计数器0的高8位和低8位计数器,计算办法:TLO= (65536-C)%256;* THO= (65536-C)/256,其中C为所要计数的次数即多长时间产生一次中断;TMOD是计数 器* 工作模式选择,0X01表示选用模式1,它有16位计数器,最大计数脉冲为65536,最长 时* 间为lms*65536=65.536ms*/#define V THO OXFF#define V_TLO 0XF6#define V TMOD 0X01#define V

9、 THl OXFF#define V_TL1 0XF6#define V JH2 OXFF#define V TL2 0XF6#define uint unsigned intdefine uchar unsigned char#define nop nop ()sbit adcs=P3*7;/P3.7 连接 DC0832 的 CS 使能端sbit adclk=P; PLO 连接 ADCO832 的时钟输入口Sbitaddin=P1;ADeO832的DO, Dl是分时工作的,所以这两个端口可以接在同一个 IO 口 Pl. 1uchar addata;bit y; 位数据,以0或I区倍两个通道的

10、输入和输出unsigned char code dis_code = 0x7e, Oxbd, Oxdb, 0xe7, Oxdb, Oxbd, 0x7e, Oxff;/写入到AT24C01的数据串sbit SDA = P34;sbit SCL = P33;void adread();void adstart ();void start ();void stop();unsigned char shin();bit shout(unsigned char write data);unsigned char readrandom(unsigned char random addr);void wri

11、tebyte( unsigned char addr, unsigned char write data);void fi11 byte(unsigned char fi11 data);void deIayms(unsigned char ms);void init_sys(void) ;*系统初始化函数*/void Delay5Ms(void);void delayl (unsigned char m);unsignedcharZKBl, ZKB2, ZKB3, ZKB4, ZKB5, ZKB6, ZKB7, ZKB8, ZKB9, ZKBlO, ZKBll, ZKB12, ZKB13,

12、ZKB14, ZKB15 ,ZKB16, ZKB17, ZKB18;unsignedcharZKB19, ZKB20, ZKB21, ZKB22, ZKB23, ZKB24, ZKB25, ZKB26, ZKB27, ZKB28, ZKB29, ZKB30, ZKB31, ZK B32; unsigned char key_s, key_v, tmp, tmpl; charcodestr = 0x7e, Oxbd, Oxdb, 0xe7, Oxdb, Oxbd, 0x7e, Oxff, 0x7e, Oxbd, Oxdb, 0xe7, Oxdb, Oxbd, 0x7 e, Oxff, 0x7e,

13、 Oxbd, Oxdb, 0xe7, Oxdb, Oxbd, 0x7e, Oxff;void send str();bit scan key();void proc key();void deIayms(unsigned char ms);void deIaymsl(unsigned char a);void send char(unsigned char txd);unsigned char i;unsigned char k, m; m为频率常数变量unsigned char s=0;unsigned char p;unsigned char p1=0x00,p2, p3, p4;本例采用

14、89C52,晶振为12MHZ关于如何编制音乐代码,其实十分简单,各位可以看以下代码.频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;所以拿出谱子,试探编吧!/sbit Beep = P37;sbit Beepl = P36;sbit Beep2 = P35;/sbit Beep3 = P34;/ sbit Beep4 = P33;sbit Beep5 = P32;/sbit Beep6 = P31;/sbit Beep7 = P3 0;sbit Beep8 = Pl 7;sbit Beep9 = Pl 6;sbit BeeplO = Pl 5;sbit Beepll = Pl4;s

15、bit Beepl2 = P3;sbit Beep 13 = P2;/sbit Beepl4 = Pll;/sbit Beep15 = Pl 0;sbit Beepl6 = P27;sbit Beep17 = P2-6;sbit Beepl8 = P2-5;sbit Beep19 = P24;sbit Beep20 = P23;sbit Beep21 = P22;sbit Beep22 = P21;sbit Beep23 = P2P;unsigned char n=0; n为节拍常数变量歌曲为八月桂花香unsigned char code music_tab =0x18, 0x30, OxlC , 0x10, 格式为:频率常数,节拍常数,频率常数,节拍常数,0x20,0x40,OxlC,0x10,0x18,0x10,0x20,0x10,OxlC,0x10,0x18,0x40,OxlC,0x20,0x20,0x20,OxlC,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信/电子 > 电子电气自动化

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!