智能机器人硬件功能模块介绍1.核心控制板:raspberry b+(树莓派B+):一种卡片式电脑。树莓派是只有信用卡大小的卡片式电脑,其系统基于Linux。截止至2012年6月1日,树莓派只有A和B两个型号,主要区别:A型:1个USB、无有线网络接口、功率2.5W,500mA、256MB RAM;B型:2个USB、支持有线网络、功率3.5W,700mA、512MB RAM。2.底层电路驱动芯片:Arduino 。Mega2560的处理器核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。Arduino Mega2560也能兼容为Arduino UNO设计的扩展板。3.底层硬件:驱动电路、控制电路 包括(ln298、hc-06蓝牙模块、舵机、摄像头、麦克风、无线网卡、电机、地盘、传感器若干、材料等) 4.工作原理:树莓派用来处理上层指令、运用大型代码、和代码整合等,例如:人脸识别、语音识别、邮件发送、环境数据上传到互联网、获取网络指令等。通过串口通讯和底层驱动芯片arduino进行交互,和数据传输。arduino则负责底层电路的驱动、环境检测、快速机动、预报处理等工作1.该项目中我们自主研发了一套无线充电设备,最大的转换效率可以达到40%,安装在机器人的底端,可以实现机器人长时间的工作而不需要人为去充电,解决了用户不在家机器人也能正常工作的问题。该项目已经获得了专利。
上传时间: 2022-07-25
上传用户:zhaiyawei
在伺服系统中,为了实现高精度的控制,往往需要实时地检测出电动机转子的位置。用来检测电动机转子位置的角度传感器主要有光电编码器和旋转变压器。光电编码器虽然能够达到很高的精度,但是它的抗干扰性差,不宜应用在条件恶劣的场合中;相比较而言,旋转变压器(简称旋变)由于结构简单,坚固耐用,抗干扰性强,能够应用在各种条件恶劣的场合中,所以获得了越来越广泛的应用。 本文采用的旋变样机是一种新型的磁阻式旋转变压器。分析了它的定转子结构、定子绕组的连接方式以及转子形状的优化;并在此基础上,推导出了它的正余弦输出反电势的表达式;最后在电磁场分析软件Ansoft中,以样机为原型建立了仿真模型,分析了它内部的电磁场分布以及正余弦输出反电势的波形。 其次,本文设计了一种以DSP为核心的R2D电路系统。它以振荡电路产生的正弦波电压信号作为旋变的激励信号,加上相关的外围电路,构成了旋转变压器一数字转换器,解算出了旋变的轴角θ;并在此基础上,分析了产生角度解算误差的各种因素,同时计算出了旋变的转速n。 最后,在上述解算方案的基础上,本文又给出了第二种解算方案,即:DSP产生的方波经过滤波之后作为旋变的激励信号,解算出了旋变的轴角θ;然后比较了这两种解算方案的优缺点,重点分析了激励信号中的谐波分量对正余弦输出反电势以及角度解算的影响。
上传时间: 2013-04-24
上传用户:pioneer_lvbo
车辆姿态是车辆控制所需的重要参数,其测量方法、测量精度与测量系统的性能和成本密切相关。随着微处理器技术与新型传感器技术的发展,利用加速度计、磁阻传感器和ARM微处理器构成基于地球磁场和重力场的捷联式姿态测量系统,已成为许多载体姿态测量的首选。同时姿态测量系统住地理勘探、石油甲台钻井和机器人控制方血也有着广泛的应用。 本文研究设计了一款基于ARM处理器的姿态测量系统,在保证体积、成本和实时性的前提下,完成载体姿态角的准确测量。采用Honeywell公刊的3轴磁阻传感器HMC1021/1022和ADI公司的2轴加速度计ADXL202以及S3C44BOX ARM7微处理器构建捷联式姿态测量系统。磁阻传感器和加速度计分别感应地球磁场和重力场信号,微处理器对检测到的信号进行处理和误差补偿后,解算出的姿念角,最后由LCD显示或者通过串行通讯接口输出到上位机,实现姿态角的实时准确测量。 本文详细介绍了基于地球磁场和重力场信号进行姿态测量的原理,推导了方向角、俯仰角和横滚角求解的数学模型。完成了姿态测量系统硬件电路的设计与调试,实现了包括:uC/OS-Ⅱ操作系统的移植、加速度数据采集、地球磁场数据采集和姿态角解算等系统软件的设计,最后对系统测量结果给出了误差分析,添加了数字滤波、椭圆效应校正等算法来补偿误差,从而有效提高了系统测量精度。
上传时间: 2013-07-20
上传用户:jkhjkh1982
该应用报告描述了旋转检测器的实现,该旋转检测器使用一对可检测磁场的巨磁阻GMR(Giant Magneto-Resistive,)传感器。传感器的分布使它们不使用正交信号序列,这提供了讨论非正交情况如何配置SIF的机会。讨论了调试SIF应用程序的技术,提供了一个设计非正交进程状态机(processing state machines)的工具。
上传时间: 2013-10-21
上传用户:sammi
置位/复位电路有多种设计方法,应根据成本预算和设置的磁场分辨率来选择最佳方案。置位脉冲和复位脉冲对传感器所起的作用是基本一样的,唯一的区别是传感器的输出改变正负号。
上传时间: 2013-10-17
上传用户:名爵少年
Keil C51 V8 专业开发工具(PK51) PK51是为8051系列单片机所设计的开发工具,支持所有8051系列衍生产品,,支持带扩展存储器和扩展指令集(例如Dallas390/5240/400,Philips 51MX,Analog Devices MicroConverters)的新设备,以及支持很多公司的一流的设备和IP内核,比如Analog Devices, Atmel, Cypress Semiconductor, Dallas Semiconductor, Goal, Hynix, Infineon, Intel, NXP(founded by Philips), OKI, Silicon Labs,SMSC, STMicroeleectronics,Synopsis, TDK, Temic, Texas Instruments,Winbond等。 通过PK51专业级开发工具,可以轻松地了解8051的On-chip peripherals与及其它关键特性。 The PK51专业级开发工具包括… l μVision Ø 集成开发环境 Ø 调试器 Ø 软件模拟器 l Keil 8051扩展编译工具 Ø AX51宏汇编程序 Ø ANSI C编译工具 Ø LX51 连接器 Ø OHX51 Object-HEX 转换器 l Keil 8051编译工具 Ø A51宏汇编程序 Ø C51 ANSI C编译工具 Ø BL51 代码库连接器 Ø OHX51 Object-HEX 转换器 Ø OC51 集合目标转换器 l 目标调试器 Ø FlashMON51 目标监控器 Ø MON51目标监控器 Ø MON390 (Dallas 390)目标监控器 Ø MONADI (Analog Devices 812)目标监控器 Ø ISD51 在系统调试 l RTX51微实时内核 你应该考虑PK51开发工具包,如果你… l 需要用8051系列单片机来开发 l 需要开发 Dallas 390 或者 Philips 51MX代码 l 需要用C编写代码 l 需要一个软件模拟器或是没有硬件仿真器 l 需要在单芯片上基于小实时内核创建复杂的应用
上传时间: 2013-10-30
上传用户:yy_cn
磁阻传感器为建立罗盘导航系统提供了固态有效的解决办法!但是我们怎么才能够从简单的3 轴数据得到罗盘的方位角呢?下面就将一步步告诉你如何去实现!
上传时间: 2013-11-10
上传用户:潜水的三贡
用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2013-12-16
上传用户:stella2015
用途:测量地磁方向,测量物体静止时候的方向,测量传感器周围磁力线的方向。注意,测量地磁时候容易受到周围磁场影响,主芯片HMC5883 三轴磁阻传感器特点(抄自网上): 1,数字量输出:I2C 数字量输出接口,设计使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产使用。 3,精度高:1-2 度,内置12 位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。 4,支持自动校准程序,简化使用步骤,终端产品使用非常方便。 5,内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。 6,功耗低:供电电压1.8V, 功耗睡眠模式-2.5uA 测量模式-0.6mA 连接方法: 只要连接VCC,GND,SDA,SDL 四条线。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接线是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = atan2(scaled.YAxis, scaled.XAxis); float yHeading = atan2(scaled.ZAxis, scaled.XAxis); float zHeading = atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上传时间: 2014-03-20
上传用户:tianyi223
利用横向递归算法解决数据组合的问题, 比如数组为a, 长度为len, 横向递归 B display(a,len) b是二维数组,a是一维数组
上传时间: 2015-03-21
上传用户:tb_6877751