历史上的今天
今天是:2025年03月10日(星期一)
2021年03月10日 | 基于Atmega128单片机无人车控制系统电路设计
2021-03-10 来源:eefocus
该方案可广泛应用于短途货运客运、应急救援、恶劣环境下自动作业等领域。智能无人车是一种履带式移动机器人,目前市场上的无人车大多采用单片机对其进行控制,其优点是体积小,成本低,结构简单,但仅仅依靠单片机远不能使无人车在复杂多变的工作环境中进行及时调整,并且极大地限制了其功能的扩展。基于此不足,本设计主要利用PC机与无人车的无线通信,使无人车在PC机无线指令下完成前进、后退、转弯、打击、生命值显示、调速和自动行驶等功能,并通过车载摄像头实时获取无人车所处环境信息,实现了远程监控。在执行任务时,如遭遇敌方车辆干扰通信,无人车在抵御干扰信号同时进行敌我识别,适时作出反击。
无人车系统工作原理为:打开教学无人车电源时,Atmega128单片机通过语音模块使扬声器发出启动提示。当上位机无线控制台及PC端软件准备好后,PC端控制软件通过USB口向无线控制台单片机发出指令,使其配置无线模块相关寄存器,芯片进入指令发射模式;下位机由Atmega128单片机控制,在接收到上位机的指令后通过其集成的PWM外设模块产生2路PWM波和4条转向控制线经电机驱动模块增大驱动能力后控制左右2个电机产生相应的动作。例如,当PC端发出“左转”的指令时,下位机的无线模块接受成功后会自动返回接受成功应答信号。接着Atmega128单片机通过PA口控制L298P,使左侧电机反向转动,右侧电机正向转动,从而实现左转的功能;当PC端发出“打击”指令时,Atmega128则通过PE5口使红外发射管发出相应码制的红外进攻信号;当PC端发出“自动行驶”指令时,Atmega128结合接收霍尔传感器采集回来的数据,通过相应算法来协调左右两侧的电机,使坦克完成直线行走、转过固定角度,行驶固定距离等功能。教学无人车通过连接到PE5口的红外传感器感应对方无人车的攻击信号。如果接收到红外信号,PE5口会输入固定码制的信号,此时主控芯片会将生命参数减一并熄灭一个LED灯,当所有LED灯都被熄灭后,主控模块会通知语音芯片发出阵亡提示,无人车停止一切动作。
电机驱动模块电路设计
电机驱动模块用于驱动直流电机,采用L298P电机驱动芯片。L298P是SGS公司的产品,为20管脚的专用电机驱动芯片,内含二个H—Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46 V、2 A以下的步进电机和直流电机,具有高电压、高电流的特点。电路设计如图3所示。

图3 电机驱动模块电路设计
Enable控制电机停转,接到单片机的PE3、PFA口上,由这两个I/O口产生PWM波控制电机转动。input1—input4控制电机的正反转,接到单片机的PA0-PA3口上。OUT1、OUT2和OUT3、OUT4之间分别接2个直流电机。
无线模块电路设计
无线模块主要包括NRF24L01和Atmega128.NRF24L01采用FSK调制,内部集成NORDIC公司自家的Enhanced Short Burst协议,可实现点对点或是1对6的无线通信,无线通信速度可达2.4 Gbps,并可以通过配置其寄存器实现调频传输。主控芯片通过SPI协议配置NRF24L01的相关寄存器来完成对无线模块的初始化和数据的传输。无线模块的SPI信号线对应的接到Atmega128的PB0-PB3 4个I/O口上,CE端接到PE2,利用Atmega128内部集成的SPI功能进行通信。无线模块电路设计如图4所示。

图4 无线模块电路设计
教学无人车在无障碍区域无线通信有效传输距离可达80~100米,利用车载摄像头可以实时获取无人车所处环境信息,实现远程监控。其创新点是采用了PC控制模式和单兵运行模式两种方式对无人车进行控制,极大地增强了无人车的功能性和环境适应能力。在实际对抗演练中,无人车在遇到干扰的情况下顺利完成货物运输、环境勘探、反击敌方车辆等功能,取得了良好的控制效果。该设计可广泛应用于短途货运客运、应急救援、恶劣环境下自动作业等领域。
史海拾趣
|
太阳能专用充电电路CN3083,它前端含有8位的A/D,能自动判断输入电源的电流大小,从而采取合适的电流给锂电池、多节镍氢电池充电。 适合于:太阳能移动电源、太阳能蓝牙耳机、太阳能手机、太阳能背包(帐篷)等由太阳能板供电的产品中。 [ 本帖 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:52 编辑 求一个红外对管应用电路,发射接收管安放在相距20CM,当有物体经过,接收管就会给控制系统(单片机),一个开关信号; 那位大虾有就给我个电路,主要是接收管电路的问题。 如果有能达到相应效果的 ...… 查看全部问答> |
|
在编译SMDK2440A6.0版本(这个版本是网上下载的,一方面想验证下,另一方面想拿这个BSP做下实验)的时候,出现如下错误: Found pTOC at 0000101c No imports for nk.exe No imports for kernel.dll No imports for coredll.dll No imports fo ...… 查看全部问答> |
|
uclinux下实现usb固件程序!来者有分!!哪位想帮小弟这个忙,可以谈谈报酬!呵呵 我的S3C44B0带有个USBD12芯片, 1,在没有操作系统uclinux情况下,我写了个固件程序,实现了usb device,注意不是usb host。 2,我又在这块板子上成功移植了uclinux系统。 问题,现在我想把固件程序放到uclinux里面,有人说因为用到中断,得做成 ...… 查看全部问答> |
|
1、在debugger下,进行调试的步骤有哪些? 是先BUILD ALL--debugger ---run吗?需要program吗? 2、几个命令:animate是什么意思?step over? step into? 3、还有调试时有运行到光标处的调试命令吗?(类似VC) … 查看全部问答> |
|
仿真没问题,一旦拔下JATG,程序不运行或运行错,急,急,急呀! 我用的是 MSP430F135芯片,程序仿真一切正常,build后,可直接写道芯片去。一旦拔下JATG,程序不运行或运行错。我猜测是程序复位问题,即是程序没找到起始地址,或找错了。如何才能让它正常运行呢,急呀, ,快过年了,还没有回家呢!! ...… 查看全部问答> |




