智能小车制作入门篇
51智能小车的制作之蓝牙小车的制作
![51智能小车的制作之蓝牙小车的制作](https://img.taocdn.com/s3/m/4d153e2449d7c1c708a1284ac850ad02de8007e2.png)
51智能小车的制作之蓝牙小车的制作蓝牙小车是一种使用蓝牙技术进行远程控制的智能小车。
本文将介绍制作蓝牙小车的步骤和所需材料,并给出详细的制作说明。
1.材料准备:-1个小车底盘:可以购买一款适合的小车底盘,也可以自制一个。
-2个直流电机:用于驱动小车轮子的电机。
-2个轮子:连接在电机上,用于让小车运动。
- Arduino控制板:用于控制小车的移动。
-蓝牙模块:用于与智能手机或电脑进行通信。
-电池:用于给电机供电。
-连接线、杜邦线等。
2.连接电路:首先,将两个电机连接到Arduino控制板上。
每个电机连接到一个数字引脚,同时将它们的正极连接到电池的正极,负极连接到电池的负极。
确保电机的方向是一致的,这样它们才能正确地驱动轮子。
然后,将蓝牙模块连接到Arduino的串口引脚。
这些引脚可以通过Arduino的文档或蓝牙模块的说明书来确定。
连接完成后,将Arduino连接到计算机,并上传相应的软件程序。
3.编写程序:使用Arduino IDE软件编写程序。
程序的实现方法因蓝牙模块型号和Arduino控制板型号而不同,可以在网上寻找相应的教程和示例代码。
编写程序的主要目的是实现与蓝牙模块的通信以及控制电机的转动。
通常需要定义一些命令,以便通过蓝牙向小车发送指令。
例如,发送'F'表示前进,发送'B'表示后退,发送'L'表示左转,发送'R'表示右转,等等。
根据收到的指令,程序将控制电机以实现相应的运动。
4.测试与调试:完成程序编写后,将蓝牙模块与智能手机或电脑进行配对。
通过蓝牙串口工具向小车发送指令,观察小车的运动情况。
如果发现小车的运动与指令不一致,可能需要调整电机的连接或编写更准确的程序。
5.优化和扩展:一旦小车能够正常运行,您可以进一步完善和扩展它的功能。
例如,您可以添加超声波传感器,以实现避障功能。
您还可以添加其他传感器,如红外线传感器,以实现更多的智能功能。
使用树莓派制作智能小车
![使用树莓派制作智能小车](https://img.taocdn.com/s3/m/dc65a00715791711cc7931b765ce0508763275d9.png)
使⽤树莓派制作智能⼩车电影⾥,时不时地可以看到⼀些这样的场景,⼀辆⼩车,上⾯装有摄像头,这辆⼩车可以通过电脑或都是⼿机进⾏远程遥控,车上摄像头拍到的画⾯,可以实时地显⽰在电脑或⼿机上,就像下图这样。
没有接触过这⽅⾯的朋友或许会觉得这是⼀门很⾼⼤上的技术活,其实,并不然,这种⼩车做起来其实很简单。
那么,这样⼦的⼩车,需要怎么去做呢?其实,我们只需要准备⼀块控制⼩车的电路板(开发板),2到4个电机(马达)、⼩车架⼦⼀个、摄像头以及摄像头云台⼀个,以上这些基础配件,然后对开发板进⾏编程、控制就可以了,整体硬件成本加起来不到500块钱。
开发板:开发板有很多种,⽐如51单⽚机、树莓派、STM32、Arduino、micro:bit等等,都可以做为⼩车的控制板,我使⽤的是树莓派开发板,然后,可持树莓派有很多版本、型号,最便宜的树莓派zero 68元就可以买到,不过不建议买这种,没有⽹卡,需要另外买⽹线模块,我使⽤的是树莓派3B,价格220元,带有⽆线和有线⽹卡,还带有蓝⽛。
⼩车架⼦:某宝上有很多这种车架⼦,各式各样的,只需要在某宝上搜索“智能⼩车”就能找到,带上马达⼀整套,也就五六⼗块钱。
摄像头+云台:某宝上也是⼀搜⼀⼤堆,⽐如我下⾯⽤的那个,45块钱。
配件准备好了,就是给⼩车的开发板装系统,然后对⼩车进⾏编程控制。
⼩车的控制最主要有两⽅⾯的控制,⼀个是⼩车的前后左右的运动控制,⼀个是摄像头的拍摄、上下左右转运的控制。
#-*- coding:UTF-8 -*-import RPi.GPIO as GPIOimport time#⼩车电机引脚定义LeftIn1 = 20LeftIn2 = 21LeftSpeed = 16RightIn1 = 19RightIn2 = 26RightSpeed = 13#设置GPIO⼝为BCM编码⽅式GPIO.setmode(GPIO.BCM)#忽略警告信息GPIO.setwarnings(False)#电机引脚初始化操作def car_init():global pwm_LeftSpeedglobal pwm_RightSpeedglobal delaytimeGPIO.setup(LeftSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn2,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn2,GPIO.OUT,initial=GPIO.LOW)#设置pwm引脚和频率为2000hzpwm_LeftSpeed = GPIO.PWM(LeftSpeed, 2000)pwm_RightSpeed = GPIO.PWM(RightSpeed, 2000)pwm_LeftSpeed.start(0)pwm_RightSpeed.start(0)#⼩车前进def run(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车后退def back(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车左转def left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车右转def right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地左转def spin_left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地右转def spin_right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车停⽌def brake(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)摄像头控制有两部分,⼀是拍摄、⼆是云台转动。
机器人智能小车制作与编程
![机器人智能小车制作与编程](https://img.taocdn.com/s3/m/06212136a36925c52cc58bd63186bceb19e8edbb.png)
机器人智能小车制作与编程
一、智能小车的制作
1、准备材料:电机、智能小车及其相关的板、轮子、电池、杜邦线、螺丝刀、钳子、电钻、活动榫头、把手以及其他相关材料。
2、连接电机与电池:将电机与电池连接起来,用杜邦线将正极引脚
连接到电机的正极,负极引脚连接到电机的负极,确保电池与电机之间的
稳定连接和电路的正确性。
3、安装电机:将电机安装在智能小车的底盘上,使用螺丝刀将电机
固定在底盘上,确保电机的稳定性和牢固性。
4、连接轮子:将轮子连接到电机上,将活动榫头连接到轮子上,再
将把手连接到活动榫头上,以保证轮子与电机之间的稳定连接。
5、安装智能小车板:将智能小车板安装在轮子上,使用螺丝刀将其
固定在轮子上,以保证智能小车板的稳定性和牢固性。
二、智能小车的编程
2、配置参数:将智能小车的电机、电池、摄像头等硬件连接到计算
机上,打开Arduino IDE软件,根据硬件的设置进行参数配置,确保硬件
参数的正确性。
3、编写代码:根据智能小车的功能,利用Arduino IDE进行软件编写,编写完成后,将代码上传到智能小车板上。
智能小车的设计与制作
![智能小车的设计与制作](https://img.taocdn.com/s3/m/a7791959f08583d049649b6648d7c1c708a10bc6.png)
智能小车的设计与制作(二)引言概述智能小车作为当今智能科技领域的一项重要研究课题,具有广泛的应用前景和深远的影响力。
在智能小车的设计与制作过程中,需要综合应用计算机科学、机械工程、电子技术等多个学科领域的知识和技术。
本文将对智能小车的设计与制作进行详细阐述,旨在为从事相关领域研究的人员提供一些指导和参考。
正文内容:一、硬件设计1.选择合适的底盘结构:根据智能小车的用途和环境要求来选择合适的底盘结构,包括四轮驱动、两轮驱动、全向轮等类型。
2.电源系统设计:设计合理的电源系统,包括电池容量的选择、充电电路的设计以及电源管理模块的选用。
3.传感器选择和布局:根据智能小车的功能需求,选择合适的传感器,如红外线传感器、超声波传感器、摄像头等,并合理布局在小车上。
4.控制器选用:根据小车的复杂程度和功能要求,选择合适的控制器,如单片机、Arduino、树莓派等。
5.软件与硬件协同设计:设计合理的软件与硬件协同设计方案,确保硬件能够有效地被控制和驱动。
二、感知与决策系统1.数据采集与处理:通过传感器采集环境信息,并进行合理的数据处理与滤波,从而得到准确的环境状态信息。
2.环境地图构建:基于传感器数据和定位系统,构建环境地图,并将其应用于路径规划、避障等问题。
3.目标检测与识别:通过图像处理和机器学习技术,进行目标检测与识别,实现对场景中目标物体的感知与识别。
4.位置与姿态估计:利用定位系统和传感器数据,对小车的位置与姿态进行估计,以便实现精确的运动控制。
5.决策与规划算法:根据环境信息和目标要求,设计有效的决策与规划算法,使小车能够做出正确的决策和路径规划。
三、运动控制系统1.底盘控制算法:设计底盘控制算法,实现小车的运动控制,包括速度控制、转向控制等。
2.摄像头云台控制:设计摄像头云台控制算法,实现对摄像头方向的控制,以便进行目标跟踪和图像采集。
3.避障算法:设计避障算法,使小车能够基于传感器数据来避免障碍物,保障行驶的安全性。
智能小车制作详细教程
![智能小车制作详细教程](https://img.taocdn.com/s3/m/587338c005a1b0717fd5360cba1aa81144318f8f.png)
智能小车制作详细教程智能小车是一种具有自主导航和智能决策能力的机器人车辆。
它可以通过传感器感知周围环境,并根据程序进行自主控制,实现不同场景下的导航、避障和定位等功能。
下面将为你介绍如何制作一辆智能小车的详细教程。
首先,我们需要准备以下材料和设备:1. 一个底盘,它可以是一个具有轮子的坚固平台,也可以是一个注重设计的小车模型。
2. 两个直流电机,用于驱动车辆的轮子。
3. 一个电源,例如锂电池,用于给电机和电子设备供电。
4. 一个主控制器,如Arduino板或Raspberry Pi,用于处理传感器数据和执行控制程序。
5. 一套传感器,例如超声波传感器、红外线传感器和摄像头,用于感知周围环境。
6. 一些导线、电路板和螺丝等连接和固定材料。
7. 一个电脑,用于程序开发和调试。
接下来,我们可以开始制作智能小车:1. 首先,将直流电机连接到主控制器上,确保它们可以通过电源进行驱动。
2. 通过编程,编写一个基本的控制程序,使电机可以运行并控制车辆的前进、后退、左转和右转等行为。
3. 安装传感器模块,例如超声波传感器或红外线传感器,用于检测障碍物和测量距离。
4. 根据传感器的数据,更新控制程序,使车辆能够在遇到障碍物时自动停下或转向避开障碍物。
5. 如果需要进行定位和导航,可以添加一个GPS模块或采用视觉识别技术,例如使用摄像头检测道路标志或地标。
6. 调试程序并优化车辆的导航和控制性能。
7. 最后,将所有组件和电子设备固定在底盘上,确保它们牢固可靠。
通过以上步骤,我们可以制作出一辆基本的智能小车。
当然,实际制作中可能会遇到一些困难和挑战,需要更深入的知识和技能来解决。
不过,这个简单的教程可以为初学者提供一个入门指南,让他们了解智能小车制作的基本流程和方法。
希望这个教程对你有所帮助!。
手把手教做智能小车
![手把手教做智能小车](https://img.taocdn.com/s3/m/7e7f19f4172ded630b1cb6dd.png)
手把手教做智能小车我们学习完51单片机入门之后,一定要多做一些有意思的小制作,才能将单片机知识理解的更加深刻,而智能小车不失为一个不错的选择,今天将全程介绍智能小车的制作过程。
一般而言,常见的智能小车分为:蓝牙遥控、超声波避障、光电寻迹等。
这次主要介绍蓝牙遥控和超声波避障。
1.蓝牙遥控小车1.1功能要求使用手机串口软件和小车上的蓝牙芯片进行通信,控制小车转向、前进、后退、停止、启动等。
1.2元器件准备STC89C52单片机一片(其他型号的51同样可以,注意要有配套的下载器或者开发板,下载程序比较方便);L298N驱动模块两个;亚克力板车架一个(淘宝有卖,配有电机、轮胎);蓝牙模块一个(型号HC06);电池盒、电池(建议两节18650电池);杜邦线若干;上述所有的原材料淘宝均有卖,请自行选购。
1.3小车拼装购买齐备上述原材料之后,可以查看卖家提供的说明或者相应芯片的Datasheet,并使用杜邦线将各部分电路连接起来。
既然选择学习单片机和电子制作,就要有一定的探索精神和钻研精神,小车拼装过程比较简单,就不再一一赘述,拼装完如下:这是我几年之前做的,比较简陋,刚开始使用的是四节小电池,动力不够强劲,后来改成两节18650就跑的飞起。
1.4程序设计部分小车的基本功能要求有了,主体也实现了,接下来当然是程序设计了。
下面以STC89C52单片机为例,以KEIL2为开发软件,程序如下,比较简单,自行理解:#includesbit IN1=P1^0;sbitIN2=P1^1;sbit IN3=P1^2;sbit IN4=P1^3;sbit IN5=P1^4;sbit IN6=P1^5;sbit IN7=P1^6;sbit IN8=P1^7;#define left_go {IN1=1,IN2=0,IN3=1,IN4=0;}//P1:0-3控制左边#defineleft_back {IN1=0,IN2=1,IN3=0,IN4=1;}#define left_stop {IN1=0,IN2=0,IN3=0,IN4=0;}#define right_go{IN5=1,IN6=0,IN7=1,IN8=0;}//P1:4-7控制右边#define right_back {IN5=0,IN6=1,IN7=0,IN8=1;}#define right_stop {IN5=0,IN6=0,IN7=0,IN8=0;}#define uchar unsignedchar#define uint unsigned intvoid run();void backrun();void leftrun();void rightrun();void stoprun();void delay(uchar time);void init();uchar flag,com;void main(){ init(); while(1) { if(flag==1) { switch(com) { case 1: run(); break; case 2: backrun(); break; case 3: leftrun(); break; case 4: rightrun(); break; case 5: stoprun(); break; default: break; } }RI=1; }}void init(){ TMOD=0x20; TH1=0xfd; TL1=0xfd;TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1;flag=0;}void run(){ left_go; right_go;}voidbackrun(){ left_back; right_back;}void leftrun(){ left_back; right_go;}void rightrun(){ left_go; right_back;}voidstoprun(){ left_stop; right_stop;}void ser() interrupt 4{ RI=0; com=SBUF; flag=1;} 几年前初学单片机写的C51程序,献丑了!1.5 完成至此,蓝牙小车就初步完成,在网上找一个串口软件,连上小车上的蓝牙芯片,就可以实现相应的功能。
智能循迹小车详细制作过程
![智能循迹小车详细制作过程](https://img.taocdn.com/s3/m/a716690d360cba1aa911da3a.png)
(穿山乙工作室)三天三十元做出智能车基本设计思路:1.基本车架(两个电机一体轮子+一个万向轮)2.单片机主控模块3.电机驱动模块(内置5V电源输出)4.黑白线循迹模块0.准备所需基本元器件1).基本二驱车体一台。
(本课以穿山乙推出的基本车体为例讲解)2).5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。
3).5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。
4).5x7cm洞洞板、LM324比较器芯片各一个;红外对管三对、4.7K电阻3个、330电阻三个、红色3mmLED三个。
一、组装车体(图中显示的很清晰吧,照着上螺丝就行了)二、制作单片机控制模块材料:5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。
电路图如下,主要目的是把单片机的各个引脚用排针引出来,便于使用。
我们也有焊接好的实物图供你参考。
(如果你选用的是STC98系列的单片机在这里可以省掉复位电路不焊,仍能正常工作。
我实物图中就没焊复位)三、制作电机驱动模块材料:5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。
电路图如下,这里我们把电源模块与驱动模块含在了同一个电路板上。
因为电机驱动模块所需的电压是+9V左右(6—15V 均可),而单片机主控和循迹模块所需电压均为+5V。
这里用了一个7805稳压芯片将+9V电压稳出+5V电压。
+9V这是工作室做的电源+驱动模块,仅作参考四、制作循迹模块材料:5x7cm洞洞板、LM324比较器芯片各一个;红外对管三对、4.7K电阻3个、330电阻三个、红色3mmLED三个。
LM324电压比较器工作原理:该芯片内部有四组比较器,原理就是反相输入端Vi—与同相输入端Vi+的电压进行比较,若Vi+大于Vi—则比较器的输出端OUT输出高电平+5V;若Vi+小于Vi—则比较器的输出端OUT输出低电平0V;TCRT5000红外对管工作原理:工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收。
科技小发明制作简易遥控汽车
![科技小发明制作简易遥控汽车](https://img.taocdn.com/s3/m/1e2288e6970590c69ec3d5bbfd0a79563c1ed43b.png)
科技小发明制作简易遥控汽车在科技飞速发展的今天,遥控汽车已经成为孩子们喜爱的玩具之一。
然而,市面上的遥控汽车价格不菲,且缺乏自己动手制作的乐趣。
今天,就让我们一起探索如何亲手制作一辆简易遥控汽车,感受科技与创意的奇妙结合。
一、所需材料要制作一辆简易遥控汽车,我们需要准备以下材料:1、一块小型电路板2、一个直流电机3、一组电池(可选用干电池或充电电池)4、一个遥控器(可以购买现成的遥控模块)5、一些电线6、一个塑料或木质的车架7、四个车轮8、螺丝、螺母等固定零件9、电钻、剪刀、钳子等工具二、制作步骤1、首先,我们需要搭建车架。
可以使用塑料板或者木板,根据自己的设计剪出合适的形状,然后用螺丝和螺母将其固定成一个框架。
确保车架足够坚固,能够承受汽车运行时的震动和冲击。
2、接下来,安装车轮。
将四个车轮通过轴安装在车架的四个角落,并确保车轮能够自由转动。
3、把直流电机固定在车架上,通常可以选择在车架的后部中间位置。
使用螺丝将电机固定牢固,然后用电线将电机的正负极与电池盒连接起来。
4、在车架上合适的位置安装电池盒,将电池放入其中,并连接好电线,为整个电路提供电源。
5、关键的一步是安装电路板。
将电路板固定在车架上一个便于操作和保护的位置。
然后,根据电路板的说明书,将电机、电池和遥控器的接收模块与电路板进行正确的连接。
6、完成电路连接后,我们需要对遥控汽车进行调试。
打开遥控器和汽车电源,测试电机的转动方向和速度是否正常。
如果电机转动方向不正确,可以通过调换电机的正负极电线来解决。
三、原理介绍简易遥控汽车的工作原理其实并不复杂。
遥控器发出特定频率的信号,汽车上的接收模块接收到这个信号后,将其传递给电路板。
电路板根据接收到的信号指令,控制电机的转动方向和速度,从而实现汽车的前进、后退、左转和右转等动作。
在这个过程中,直流电机起到了将电能转化为机械能的作用,它带动车轮转动,使汽车能够行驶。
而电池则为整个系统提供了所需的电能。
智能小车制作解析
![智能小车制作解析](https://img.taocdn.com/s3/m/d859e6ee551810a6f5248659.png)
在车体布局中,除了舵机以外我们还加装了最小系统及电源模块电路板、电机驱动模块电路板、循迹模块电路板等硬件部分。在布置安装时,循迹模块电路板用可变形的铁皮固定于车体前端10cm处,最小系统和电源模块融合为一个19cm长11cm宽的电路板安装于小车中部,而电机驱动模块电路板安装于小车尾部。
第二章硬件设计
2.1电源模块设计
在电源模块的设计中,我们考虑到各模块工作电压的需求以及小车的耗电情况,将原装的电池改为了飞思卡尔专用的电池。设计稳压电源时,考虑到电池电压较低,并且在电量损耗时存在电压降低的情况,应此我们采用了低压差的稳压芯片LM2940。
在最初的电路原理图设计时,我们采用了三路电源分别供电的方法,一路5V电源专门为最小系统供电,以此避免大电流器件对单片机造成干扰影响单片机稳定运行,另外一路5V电源为电机驱动模块和循迹模块提供工作电压。第三路电源单独为舵机提供5V电源。
正是也因为舵机的控制信号是一个脉宽调制信号,所以很方便和数字系统进行接口。只要能产生标准的控制信号的数字设备都可以用来控制舵机。我们用89s52单片机产生舵机的控制信号来进行控制的方法,编程语言为C51。我们就用它来产生周期20 ms的脉冲信号,根据需要,改变输出脉宽。从而实现对其控制。
2.5后轮驱动模块设计
由于单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。这次智能小车我们选择了相对电路连接较为简单,最为常用的L298驱动电路。一片L298可以同时驱动两路直流电机和一路两相步进电机。电机驱动模块作为和最小系统分开的一个独立模块,我们在设计时以小巧实用为原则,并将其布置于车尾端,方便电机的接入。
在以上电路中有两个电源,一路为L298工作需要的5V电源VCC,一路为驱动电机用的电池7.2V电源VSS。由于工作时L298的功耗较大,安装时我们加装了散热片。
从零开始,学做智能小车【4-程序初级篇】
![从零开始,学做智能小车【4-程序初级篇】](https://img.taocdn.com/s3/m/d0f85944e518964bcf847c26.png)
电子科技大学
CXY-STUDIO
Write By cpholr
电机,用手轻轻一捏住,就停下来了,不管转的多块多牛逼。但是带了减速箱的直流电机,在负重情况下 还是可以轻松的爬坡,吊起重物等等。 所以相比于普通不带减速的直流电机, 减速直流电机的线性度非常好, 相同周期下不同占空比的 PWM, 可以得到不同的转速,受负载的影响相比普通电机而言小了很多。
--黑线在 2-3 正上方,与中心偏差 -8.5*8 mm --黑线在 3-4 正上方,与中心偏差 -8.5*6 mm --黑线在 4-5 正上方,与中心偏差 -8.5*4 mm --黑线在 5-6 正上方,与中心偏差 -8.5*2 mm
0 --黑线在 6-7 正上方,与中心偏差 0 1 --黑线在 3 --黑线在
电子科技大学
CXY-STUDIO
Write By cpholr
最简单的做法就是,偏差越大,就大的越多,偏差越小,就超过的小。偏差为零,左右轮子就给出一 样的占空比,让他们转速一样。 如果读者已经理解到了这个地方, 那么, 只要你硬件弄正确了, 小车是不是已经可以沿着黑线跑了呢? 答案是当然可以,但是,这样子小车的速度只能像蜗牛一样的爬,并不能飙车。这是为什么呢? 欲知原因,请听下回讲解。
2 --黑线在 7-8 正上方,与中心偏差 8.5*2 mm 4 --黑线在 8-9 正上方,与中心偏差 8.5*4 mm 5 --黑线在 7 --黑线在 9 --黑线在 11 --黑线在 6 --黑线在 9-10 正上方,与中心偏差 8.5*6 mm 8 --黑线在 10-11 正上方,与中心偏差 8.5*8 mm 10 --黑线在 11-12 正上方,与中心偏差 8.5*10 mm 这样的话,巡线的精度就锁定在 8.5 毫米了,这样的精度对于巡线小车是足够的。 我们再继续验算一下上面的偏差编码:
重力感应智能小车完整制作过程
![重力感应智能小车完整制作过程](https://img.taocdn.com/s3/m/9f7dd96daa00b52acec7ca58.png)
TP4056 锂电池充电模块
自行在网上购买 1 1.5 1.5
U4
YL-46 稳压模块 3.3V
自行在网上购买 1 2 2
铜柱
M3x6mm+6(配螺丝母)
自行在网上购买 4 0.1 0.4
铜柱
M3x20mm+6(配螺丝母) 自行在网上购买 4 0.2 0.8
智能小车底盘
下面是淘宝购买网址
大概 38 元左右 1 38 38
0.3
电机线
XH2.54-2P 带线头子
3
电源线
XH2.54-3P 带线头子
1
U1
单片机 STC12C2052(带管座)
DIP20-300
1 3.5 3.5
HA1
蜂鸣器
Buzzer1-300
1 0.5 0.5Fra bibliotekU2, U3
电机芯片 L9110
DIP8-300
2 1.6 3.2
VD1
整流二极管 1N4007
DIODE6-400
1 0.1 0.1
S1
拨动开关
1 0.1 0.1
洞洞板
34 个洞 X 27 个洞
根据图纸格子数用斜 口钳剪
1
5
5
电池 中顺 3000mAh 3.7V 锂电池(加保护板) 自行在网上购买 1 13.5 13.5
DC 升压模块
3.7V 升压到 5V
自行在网上购买 1 1.9 1.6
充电模块
重力遥控智能小车完整制作教程
智能小车并不是什么新鲜的 DIY 制作,但绝对是很多电子爱好者一看见就心动的神物。 经过我几天的努力,通过大量淘宝网上的元器件价格的对比以及优化了几天的整体设计方案。最后终 于开发出一款性价比超高的智能小车。我不敢说是成本最低,也不敢说是功能最强大,但从外观和可 操作性来说相对于这个成本那已经是非常不错了,好了不多说废话了,上图吧,上教程吧。
畅学智能循迹小车实战教程
![畅学智能循迹小车实战教程](https://img.taocdn.com/s3/m/7354594adf80d4d8d15abe23482fb4daa58d1d1c.png)
引言:智能循迹小车是一种结合了技术和的创新产品,它能够在预设的轨迹上行驶,具有较高的自主性和灵活性。
本文将为大家介绍畅学智能循迹小车的实战教程,包括制作、编程和实际应用等方面的内容。
通过学习本文,读者将能够了解智能循迹小车的原理和制作步骤,并掌握其编程和实际应用技巧。
概述:智能循迹小车是一种基于技术和的创新产品。
它通过搭载的传感器和编程控制,能够在预设的轨迹上自主行驶。
智能循迹小车的制作和编程过程涉及多个方面的知识,包括机械结构设计、电子电路连接、编程语言和算法等。
正文:一、制作智能循迹小车的机械结构1.确定小车的尺寸和外观设计2.选择合适的材料和制作工具3.制作小车底盘和轮子系统4.搭建传感器支架和控制装置5.确保机械结构的稳定性和可靠性二、连接电子电路,使小车能够感知环境1.选取合适的传感器和驱动模块2.连接传感器和控制模块的电路3.添加电源供应和保护电路4.调试电子电路的工作状态5.确保电子电路的可靠性和稳定性三、编程智能循迹小车的控制系统1.学习编程语言和算法知识2.设计控制系统的流程和逻辑3.编写控制小车移动的代码4.添加传感器数据的处理和判断逻辑5.调试控制系统的功能和性能四、实际操作:实现智能循迹小车在预设轨迹上行驶1.预先设置循迹轨迹和停止条件2.将编写好的控制代码到小车控制系统3.启动小车,观察其在轨迹上行驶的效果4.调试控制系统和传感器,确保小车的稳定性和准确性5.对小车进行优化和改进,提升其性能和功能五、其他应用领域和进一步研究1.探索其他技术和应用领域2.学习其他智能小车的制作和编程方法3.加深对技术和的理解和应用4.进一步研究和改进智能循迹小车的功能和性能5.将智能循迹小车应用于实际生活和工作中的场景总结:通过本文的介绍,我们了解了畅学智能循迹小车的实战教程。
制作智能循迹小车需要涉及机械结构设计、电子电路连接、编程和实际应用等多个方面的知识。
通过学习和实践,读者将能够掌握智能循迹小车的制作和编程技巧,并能够应用于实际生活和工作中。
智能小车设计简版
![智能小车设计简版](https://img.taocdn.com/s3/m/f34032e7cf2f0066f5335a8102d276a2002960d0.png)
智能小车设计智能小车设计引言智能小车是一种能够自主实现移动的装置。
随着技术的发展和应用,智能小车在各个领域中得到了广泛应用。
本文将详细介绍智能小车的设计理念和实现方法。
设计目标智能小车的设计目标是实现自主移动,并能够根据环境变化做出相应的决策。
具体而言,设计目标包括以下几点:1. 自主导航:智能小车能够根据外部环境和目标位置进行导航和移动。
2. 障碍避免:智能小车能够检测到和避免障碍物,以确保安全行驶。
3. 智能决策:智能小车能够根据环境变化和任务需求做出智能决策,例如选择合适的路线和速度。
4. 远程控制:智能小车可以通过远程控制手段进行操控和监控。
硬件设计智能小车的硬件设计主要包括以下几个方面:1. 车体结构智能小车的车体结构应能够支撑和安装各种传感器、电池和执行器等组件。
常见的车体结构包括底盘、框架和轮子等。
底盘和框架通常采用轻质但坚固的材料制作,以减轻整车重量并提高稳定性。
轮子可以根据实际需求选择合适的类型和尺寸。
2. 电动机智能小车的电动机主要用于驱动车辆进行移动。
根据需要可以选择直流电动机或步进电机。
电动机的选型应根据车辆的负载和速度要求进行合理匹配。
3. 传感器智能小车需要配备各种类型的传感器,以获取环境信息并实现导航和决策。
常见的传感器包括:- 距离传感器:用于检测前方障碍物的距离,例如红外线距离传感器。
- 视觉传感器:用于识别和跟踪目标,例如摄像头和激光雷达。
- 陀螺仪和加速度计:用于检测车辆的姿态和加速度。
4. 控制系统智能小车的控制系统由主控单元和驱动单元组成。
主控单元负责接收和处理传感器数据,并根据算法做出决策。
驱动单元则负责控制电动机等执行器进行动作。
这两个单元可以通过UART、I2C或SPI等串口通信方式进行通信。
软件设计智能小车的软件设计涉及到自主导航、障碍避免和智能决策等方面。
1. 自主导航自主导航是智能小车的核心功能之一。
实现自主导航的方法有多种,常见的方法包括:- 基于地图的导航:智能小车可以通过地图信息实现路径规划和导航。
手把手教你做智能小车
![手把手教你做智能小车](https://img.taocdn.com/s3/m/81c525f7700abb68a982fbd6.png)
3. 模块介绍...................................................................................................................7
3.1
主控模块 ................................................................................................................... 7
4.1
硬件设计 ................................................................................................................. 16
4.2
软件设计 ................................................................................................................. 16
5.6
红外遥控驱动文件(remote.c) ...........................................................................23
5.7
舞蹈模式驱动(dance.c) ..................................................................................... 25
5.2
红外循线(IR.c) .......................................................................................................21
电动智能小车的制作
![电动智能小车的制作](https://img.taocdn.com/s3/m/bd88ab5f804d2b160b4ec0a4.png)
电动智能小车的制作一、方案论证1.路面情况检测方案的选择探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可根据接收到的反射光强弱来判断黑线,可实现的方案有以下几种:方案一:采用普通发光二极管及光敏电阻组成的发射接收方案,电路如图1-1所示。
该方案在实际使用时,容易受到外界光源的干扰,有时甚至检测不到。
主要是因为可见光的反射效果跟地表的平坦程度、地表材料的反射情况均对检测效果产生直接影响。
虽然可采取超高亮度发光二极管降低一定的干扰,但这有增加额外的功率损耗。
方案二:脉冲调制的反射式红外发射接收器。
由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外发射接受管的最大工作电流取决与平均电流,如果采用占空比小的调制信号,在平均电流不变的情况下,瞬时电流很大(50~100mA),则大大提高了信噪比。
并且其反映灵敏,外围电路也很简单。
电路如图1-2所示。
比较以上两种方案,方案二占有很大的优势,市场上很多红外光电探头也都是基于这个原理。
这样不但能准确完成测量,而且能避免电路的复杂性,因此建议选择方案二。
图1-1图1-22.电动机的选择方案一:采用步进电机,步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反转。
另一个显著特点是转换精度高,正转反转控制灵活。
方案二:采用普通直流电机。
直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足各种不同的特殊运行要求。
由于普通直流电机更易于购买,并且电路相对简单,因此建议采用直流电机作为动力源。
3.电动机驱动方案的选择方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵,且可能存在干扰。
更主要的问题在于一般电动机的电阻比较小,但电流很大,分压不仅会降低效率,而且实现很困难。
智能仿真小车的实现方法
![智能仿真小车的实现方法](https://img.taocdn.com/s3/m/655ee65349d7c1c708a1284ac850ad02de80073e.png)
智能仿真小车的实现方法一、概述智能仿真小车是一种可以自主行驶、避障、寻路等功能的机器人,它可以被用于各种场合,如工业自动化、物流运输等。
本文将介绍智能仿真小车的实现方法。
二、硬件准备1. 小车底盘:选择一款适合自己需求的小车底盘,如4WD小车底盘或者2WD小车底盘。
2. 控制板:选择一款适合自己需求的控制板,如Arduino UNO R3或者Raspberry Pi 3B+。
3. 电机驱动模块:选择一款适合自己需求的电机驱动模块,如L298N 电机驱动模块或者TB6612FNG电机驱动模块。
4. 传感器:选择一些适合自己需求的传感器,如红外线传感器、超声波传感器等。
三、软件准备1. Arduino IDE:用于编写和上传Arduino程序。
2. Python IDE:用于编写Python程序。
3. ROS(Robot Operating System):用于构建和管理机器人应用程序。
四、搭建硬件平台1. 组装小车底盘和安装电机驱动模块;2. 连接控制板和电机驱动模块;3. 安装传感器并连接到控制板。
五、编写Arduino程序1. 安装Arduino IDE;2. 编写小车底盘的驱动程序,包括前进、后退、左转、右转等功能;3. 编写传感器的读取程序,包括红外线传感器和超声波传感器等;4. 将驱动程序和传感器读取程序合并,并上传到控制板上。
六、编写Python程序1. 安装Python IDE;2. 编写路径规划算法,使小车可以自主寻路;3. 编写避障算法,使小车可以避开障碍物;4. 将路径规划算法和避障算法合并,并上传到控制板上。
七、构建ROS环境1. 安装ROS环境;2. 创建ROS工作空间;3. 创建ROS节点,包括小车底盘的驱动节点、传感器读取节点、路径规划节点和避障节点等。
八、调试测试1. 启动ROS环境,并启动各个节点;2. 测试小车底盘的驱动功能,包括前进、后退、左转、右转等功能;3. 测试传感器的读取功能,包括红外线传感器和超声波传感器等;4. 测试路径规划算法和避障算法,使小车可以自主行驶、避障、寻路等功能。
智能小车教程(硬件)
![智能小车教程(硬件)](https://img.taocdn.com/s3/m/43961606e55c3b3567ec102de2bd960591c6d917.png)
传感器不工作或误动作
02
检查传感器的接线和灵敏度设置,调整传感器的位置和方向。
电源不稳定或电量不足
03
检查电源的接线和电压是否稳定,更换电池或适配器。
04 传感器应用与编程实践
红外线传感器原理及应用
红外线传感器工作原理
通过发射红外线并检测反射或遮挡情况来感知外界物体 。
红外线传感器选型及接口电路
发展历程
随着计算机技术、传感器技术、通信 技术等的发展,智能小车经历了从简 单遥控到自主导航、从单一功能到多 功能集成的发展历程。
智能小车应用领域
科研教育
物流仓储
智能小车作为移动机器人的一种,常被用 于科研实验和教学演示,帮助学生理解自 动控制、人工智能等原理。
智能小车可应用于仓库、机场等场景的物 流运输,实现自动化搬运、分拣等功能, 提高物流效率。
结构件
选择适合小车的结构件,如底 盘、轮子、支架等。
组装流程详解
搭建底盘
安装控制器
连接电源
调试传感器
将轮子安装在底盘上, 并固定好支架和电机。
将控制器固定在底盘上, 并连接好电机和传感器。
将电源与控制器连接, 确保小车可以正常供电。
根据需要调试传感器的灵 敏度和方向,以实现小车 的避障、寻迹等功能。
电源模块
为智能小车提供稳定的电源供应, 通常采用电池或充电模块。
控制器
智能小车的核心部件,负责处理传 感器数据、控制执行器动作,通常 采用单片机、DSP等处理器。
通信模块
实现智能小车与上位机或其他设 备之间的无线通信,如蓝牙、 WiFi等模块。
02 智能小车核心硬件介绍
主控板选型及功能
01
02
03
51单片机智能小车
![51单片机智能小车](https://img.taocdn.com/s3/m/70a5b64803768e9951e79b89680203d8ce2f6ab5.png)
51单片机智能小车51单片机智能小车一、介绍本文档是关于使用51单片机制作智能小车的详细指南。
智能小车是一种能够自主感知周围环境并做出相应行动的。
通过学习本文档,您将了解到如何使用51单片机搭建一个具有基本功能的智能小车。
二、硬件准备1、51单片机开发板2、电机驱动模块3、电源模块4、超声波传感器5、电机6、小车底盘三、电路搭建1、将51单片机开发板和电机驱动模块连接起来,确保电机正常工作。
2、将超声波传感器连接到51单片机开发板上。
3、将电源模块连接到开发板和电机驱动模块上,确保电源供应稳定。
四、程序设计1、编写51单片机的C语言程序,实现小车的基本功能,例如前进、后退、左转、右转等。
2、利用超声波传感器进行障碍物检测,并在检测到障碍物时进行相应的避障行动。
3、可以根据需要添加其他功能,例如跟随线路行驶、遥控操作等。
五、调试与测试1、使用烧录器将程序烧录到51单片机开发板中。
2、将电机驱动模块和超声波传感器连接到开发板后,进行电路的连通测试。
3、使用遥控器或其他方式控制小车的运动,观察小车是否根据预期进行动作。
4、进行避障测试,将障碍物放在小车前方,观察小车是否能够正确避开障碍物。
附件:1、51单片机开发板连接图2、电机驱动模块接线图3、超声波传感器接线图法律名词及注释:1、版权:指著作权法所保护的有关著作权人对其创作作品享有的复制、发表、展览、上演、放映、广播、信息网络传播、出版等权利。
2、专利:指在法律规定的范围内以注册的形式保护发明创造的独占权。
3、商标:指为了区别商品来源而使用,具有识别性、区分性和专用性的标志。
4、法律责任:指根据法律规定,个人或者单位在违反法律规范时应承担的法律后果。
基于单片机的智能小车的设计与制作
![基于单片机的智能小车的设计与制作](https://img.taocdn.com/s3/m/372bee2d1fb91a37f111f18583d049649b660efa.png)
基于单片机的智能小车的设计与制作智能小车是一种基于单片机的自动驾驶车辆,具有多种传感器和控制器,能够实现自主导航、避障、语音识别、图像识别等功能。
本文将介绍智能小车的设计与制作过程,包括硬件设计、软件开发和测试等内容。
1.硬件设计智能小车的硬件设计包括小车底盘、传感器、控制器、驱动器和电源等组成。
(1)小车底盘:选择适合自动驾驶的小车底盘,具有足够的稳定性和可靠性。
(2)传感器:智能小车需要使用多种传感器来感知周围环境,常用的传感器包括红外线避障传感器、超声波传感器、陀螺仪、加速度计等,这些传感器可以用于测量距离、速度、角度等。
(3)控制器:选择一款适合单片机的控制器,如Arduino、Raspberry Pi等,这些控制器能够实现对各种传感器的数据处理和控制指令的发送。
(4)驱动器:选择适合小车底盘的驱动器,包括电机驱动器和舵机驱动器等。
电机驱动器用于控制小车前进、后退、左转和右转等运动,舵机驱动器用于控制转向。
2.软件开发智能小车的软件开发主要包括控制算法的设计和实现,以及数据处理和通信等功能的开发。
(1)控制算法:根据传感器数据的反馈,设计小车的控制算法,可以使用PID控制器、模糊控制等算法来实现自动导航、避障等功能。
(2)数据处理:对传感器数据进行处理,例如将超声波传感器测量的距离数据转化为电平信号,以便确定是否有障碍物。
(3)通信:如果需要实现远程控制或者数据传输功能,可以使用蓝牙、Wi-Fi等无线通信方式,将智能小车与手机或者电脑连接起来。
3.测试与改进在制作智能小车的过程中,需要进行系统的测试和改进。
首先测试小车的底盘、传感器和控制器是否能够正常工作,然后进行实验室内或者室外的测试,看看小车是否能够自主导航、避障等功能。
根据测试结果,对系统进行改进和优化,提高小车的性能和稳定性。
总结:通过硬件设计和软件开发,我们可以制作一辆功能全面的智能小车。
智能小车不仅可以提供便利的出行方式,还可以广泛应用于物流、安防、环境监测等领域,为人们的生活带来更多的便利和效益。
小车的制作方法
![小车的制作方法](https://img.taocdn.com/s3/m/9bd1dbd36aec0975f46527d3240c844769eaa08b.png)
小车的制作方法简介制作一个小车是一个有趣而有挑战性的项目。
无论是作为学习电子技术的工具,还是为了让孩子们体验科学与工程的乐趣,制作一个小车都是一个很好的选择。
本文将介绍如何使用一些基本的材料和组件来制作一个简单但功能强大的小车。
材料准备在开始制作小车之前,您需要准备以下材料:•一个 Arduino 微控制器•一个电池盒•两个直流电机•一个电机驱动模块•一个车轮套件•杜邦线•一个面包板•螺丝刀和螺栓步骤1. 组装底盘第一步是组装小车的底盘。
将电机和车轮安装在底盘上,并将它们固定。
确保车轮能够自由旋转,并且电机的位置对称。
2. 连接电机驱动模块将电机驱动模块连接到 Arduino 微控制器。
根据驱动模块的说明书将其正确地连接到 Arduino 的数字引脚上。
使用杜邦线将电机驱动模块连接到 Arduino 上。
3. 连接电池盒将电池盒连接到 Arduino 微控制器,以为其提供电源。
根据电池盒和 Arduino的规格,选择正确的电源连接方法。
4. 编写控制程序使用 Arduino 编写程序来控制小车的移动。
您可以使用 Arduino 的开发环境来编写并上传程序。
在程序中,您需要定义电机的引脚,并编写代码以控制电机的速度和方向。
以下是一个简单的例子,用于控制小车前进、后退、左转和右转:#define MOTOR_A1_PIN 2#define MOTOR_A2_PIN 3#define MOTOR_B1_PIN 4#define MOTOR_B2_PIN 5void setup() {pinMode(MOTOR_A1_PIN, OUTPUT);pinMode(MOTOR_A2_PIN, OUTPUT);pinMode(MOTOR_B1_PIN, OUTPUT);pinMode(MOTOR_B2_PIN, OUTPUT);}void loop() {// 前进digitalWrite(MOTOR_A1_PIN, HIGH);digitalWrite(MOTOR_A2_PIN, LOW);digitalWrite(MOTOR_B1_PIN, HIGH);digitalWrite(MOTOR_B2_PIN, LOW);delay(2000); // 2秒钟// 后退digitalWrite(MOTOR_A1_PIN, LOW);digitalWrite(MOTOR_A2_PIN, HIGH);digitalWrite(MOTOR_B1_PIN, LOW);digitalWrite(MOTOR_B2_PIN, HIGH);delay(2000); // 2秒钟// 左转digitalWrite(MOTOR_A1_PIN, LOW);digitalWrite(MOTOR_A2_PIN, HIGH);digitalWrite(MOTOR_B1_PIN, HIGH);digitalWrite(MOTOR_B2_PIN, LOW);delay(2000); // 2秒钟// 右转digitalWrite(MOTOR_A1_PIN, HIGH);digitalWrite(MOTOR_A2_PIN, LOW);digitalWrite(MOTOR_B1_PIN, LOW);digitalWrite(MOTOR_B2_PIN, HIGH);delay(2000); // 2秒钟}5. 测试小车上传程序到 Arduino 微控制器并将其连接到电源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能小车制作入门篇最近接触了很多机器人爱好者,很多人都对机器人技术展示出了浓厚的兴趣,也在计划如何动手制作自己的第一个机器人。
但是似乎很多的人都摸不到门路,只能是站在大门外满怀兴趣的向内观望,观望了一阵兴趣渐失只好叹口气走开……很多初学者可能都是看了一些视频或是现场的比赛,勾起了儿时的美好回忆,兴起了自己动手制作机器人的念头,很多人可能并不是嵌入式开发的业内人士,甚至没有听说过单片机、步进电机这些名词,看着别人满地乱跑的各种机器人,颇有无处下手的感觉。
有的人一上来就准备做一个可以双足行走的人形机器人,可以平稳行走,可以靠摄像头来读取环境信息,可以语音识别,最好还可以变形…… :—(我的意见是:新手最好还是老老实实的从小车开始吧。
人形机器人可以说是一个系统的大工程,不是一个人玩的起来的,而且资金上的投入也是不可计量的。
一个人形机器人的成型产品最少要卖到几千块——要知道,你在开发过程中是不可能没有错误投入的。
机器人小车技术上门槛较低,资金投入也少,市场上的各种产品和零配件的支持也较多,虽然简单,但可以实现的功能可一点也不少。
我在这里凭自己的经验介绍一些自己动手制作机器人小车的基础知识,如果你是曾经自己动手做过的高手,那么你可以绕行,我这里介绍的都是为未入门者准备的最基本的理论知识和一些动手经验。
那么现在我们开始,首先是理论部分——小车的控制结构。
[一]小车的整体控制系统小车是怎么来控制的?为什么小车判断出障碍物后可以自动的绕开?理论:控制工程——处理自动控制系统各种工程实现问题的综合性工程技术。
包括对自动控制系统提出要求(即规定指标)、进行设计、构造、运行、分析、检验等过程。
它是在电气工程和机械工程的基础上发展起来的。
闭环控制:闭环控制有反馈环节,通过反馈系统是系统的精确度提高,响应时间缩短,适合于对系统的响应时间,稳定性要求高的系统。
开环控制:开环控制没有反馈环节,系统的稳定性不高,响应时间相对来说很长,精确度不高,使用于对系统稳定性精确度要求不高的简单的系统。
一般稍微复杂一点的机器人小车都是闭环控制,也就是说它有一个反馈机制,会根据自己配备的各种传感器来读取环境信息,并且根据这些环境信息来决定自己下一步的行动,决定好后将行动指令发给执行系统,使机器人做出合适的动作。
当然也有的机器人小车是开环控制,我就见过一个机器人小车配了一支笔,将机器人放在纸上,机器人一转,刷的一下在纸上画出一个圈来,当然由于摩擦力和机械误差等原因,画出来的圆圈可能不闭合,也可能不圆。
不过人家阿Q都说了:“孙子才画的圆呢……”有点迷糊?没关系,其实简单一点说就是这样:机器人可以分为三部分——传感器部分、控制器部分、执行器部分。
传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。
好比人的眼睛、耳朵等感觉器官。
控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。
好比人的大脑。
执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。
对机器人小车来说,最基本的就是轮子。
这部分就好比人的四肢一样。
好的,现在我们来分析一下机器人小车的避障行为控制:机器人正在行走过程中(人在路上走),忽然接收到装在机器人前部的传感器发来的一个“左前方有障碍物”的信号(人眼发现左前方有一根电线杆),我们事先写在机器人控制芯片中的程序算法要求机器人发现左前方有障碍物就往右边转(人发现左前方有电线杆就应该往右躲——什么,你还要继续往前走?你牛!那我就等着听响了,哦,原来你只是想去看上面的小广告……),控制芯片对机器人的驱动器——或是轮子,或是双足——发出向右转的指令(人大脑发出向右转的指令,通俗点说就是“拐了拐了”),此时机器人的执行器部分应该立即响应控制器的指令,改变自己的状态,使机器人的前进方向改变,避开障碍物(恭喜你,躲开了电线杆)。
怎么样,是不是有了点机器“人”的意思?那么这三部分是怎么联系起来的呢?很简单:电!其实机器人小车就是一个电子作品,传感器将外部的光信号、声音信号、温度信号等全部转换为控制部分可以接受的电信号,控制系统发出的指令也是各种电信号,通过执行部分转变为电机输出的扭矩、声音、光信号等等。
下面我来分别介绍一下这三个部分。
[二]传感器部分传感器是机器人的眼睛,想要小车完成不同的任务就要配备各种不同的传感器。
现在市场上林林总总的传感器数不胜数,一般个人机器人爱好者经常使用的有碰撞检测传感器(碰撞开关)、红外测障传感器、红外测距传感器、光敏电阻、电子温度计、电子指南针等等。
一般机器人用的传感器返回的信号分两种:一种返回值很简单,只有两个状态:“有”或者“没有”;“是”或者“不是”;“0”或者“1”。
我一般习惯把这种量称为“状态量”。
它所反映的是一种状态,只是简简单单的“是”或“否”。
比如“机器人左边有没有障碍物”,“有没有声音信号”等。
还有一种返回值返回的是一个已知范围内任意值,比如一只光敏电阻返回的信号就可能是0~5V范围内的任意电压信号。
我一般把这种量称为“强度量”。
它所反映的是一个有效范围内的强度。
比如“机器人左边的障碍物有多远”,“现在的声音信号有多强”等。
“状态量”反映的信息较简单,相应的传感器也较简单,成本较低。
而“强度量”反映的信息则较丰富,相应的传感器的成本就会比较高,同时给控制上也带来了更大的灵活性和复杂性。
下面我们来看一些常用的传感器:碰撞开关:电路常开,碰到障碍物后连通,可以用来检测机器人是否发生碰撞。
光敏电阻:光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。
光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
可以用来检测光线强度。
红外测障传感器:红外测障传感器利用红外线遇到障碍物会反射的原理,来检测某一方向上是否有障碍物的存在。
红外测距传感器:红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测。
红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号。
超声波测距传感器:超声波测距传感器利用声音在空气中的传输距离和传输时间成正比的原理,通过检测不同远近的反射面对超声波反射回去的时间不同来检测障碍物的距离。
对于传感器,很多人觉得只要看看文档,知道怎么用了就行。
但我的建议是:不但要知道怎么用,还要知道其检测原理。
只有深刻的理解了传感器的检测原理,才能具有更好的发散性思维。
我举一个例子:当初在学校开展机器人灭火比赛,我们用了厂家提供的地面灰度传感器依靠可见光反射来检测地面白线,效果一直不是很理想。
后来有同学仔细研究了当时电机上配备的光电编码器,发现其原理就是利用红外线在不同颜色表明上反射率不同检测高速旋转的电机上黑白相间的码盘来测出电机的旋转速度,动手将光电编码器上的红外检测模块拆下来装在机器人底部,用来检测地面白线,检测效果一下子好了很多。
购买途径:当地的电子市场,或是网上购买(现在很多机器人商家都有各种各样的传感器提供,其实原理和适用范围都差不多,很多都可以互换通用)。
购买时需要注意的是传感器的电压范围和有效范围。
终极开发:图像识别依靠一只摄像头,根据摄像头返回的视频信号,计算出各个不同物体距自己的距离以及其运动速度等等。
如果你可以迈入这一步,那么,有一门叫做“机器视觉”的学科的大门也就向你敞开了。
[三]控制器部分适合机器人的控制芯片有很多:单片机、DSP、甚至我们计算机上所用的CPU,都可以。
不过我们这里主要介绍的针对机器人小车的技术,所以把其他的先放一放,让我们把注意力放到物美价廉的单片机上来。
首先还是理论课,不要抱怨,我的信条是:不懂理论的开发者永远只能是一个拼装师。
单片机:单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
小芯片有大智慧单片机是自动控制系统中应用非常广泛的控制芯片,现在就在我们身边的许多的电器中都有单片机的身影。
想自己动手制作机器人的话,相应的单片机知识是必不可少的。
系统的单片机知识我这里不想多说,想要对单片机系统有一个深入的理解,还是要找一本比较好的单片机教材一页一页的看下去,网上的任何“技巧”“快速入门”(包括本文)都只能算是水果、零食之类,闲暇无事时可以拿来开开胃,真正想要吃饱吃好,还是要用大饼卷馒头就着米饭吃才行。
我这里只提一些基础的入门概念,给真正的入门者起一点抛砖引玉的作用。
一块我们刚刚从商家手里拿到的单片机芯片,还是一块空白,什么也做不了。
如同一个刚出世的孩子,我们开发人员要做的,就是教会单片机处理各种各样的问题,给单片机配备上各种各样的扩展工具,使单片机可以将复杂的问题简单化,数字化。
单片机开发涉及两方面:硬件、软件。
单片机不同于其他电器,拿过插销直接插在电源上就可以使用,一块空白的单片机想要使用,还需要一些其他的电路来支持。
一般来说,最基本的电路就是单片机最小系统:所谓的单片机最小系统就是指可以让单片机工作起来的最基本的电路,在所有的单片机系统中,你都可以找到类似的电路。
至于它的原理,我这里就不累述了,找本书看去吧。
我再介绍一些做机器人需要的扩展电路:程序下载电路:单片机最终需要程序来控制,一般都是在PC上编写好程序,通过下载线来下载到单片机中执行。
下载需要一个电路来支持,以前的通常做法是连接到PC的串口,不过现在有很多通过USB下载程序的电路。
以上两个电路就是机器人开发所需要的最基本的单片机电路,其他也许还需要一些电机驱动、A/D转换、开关选择等电路。
也许你有些迷糊,可以有一点感到棘手了,这些电路对于一个从未接触过单片机的新手来说可能有些头大,没关系,现在市场上有很多成熟的单片机开发系统出售,价格极为低廉,如果不想在底层电路上多花精力的话,到一些电子商务网站上搜索一下“单片机开发板”,一百多就可以买到功能十分齐全,赠送软件+教程还有技术支持服务的适用开发板了(当然,你如果自己动手的话,成本会更低)。
软件:说白了就是你自己给单片机开发的智能程序,让机器人可以具有最简单的智能。
不要看到“智能”这两个字就觉得多么高深,看到前面有电线杆知道要拐,这,就是智能。
不同的单片机需要不同的开发环境,这个要在购买的时候就弄清楚,很多单片机公司都有自己配套的开发软件,很多都是可以在公司网站上免费下载。
一般来说,国外的很多芯片公司在自己的网站上都有非常丰富和适用的资料,抱本英汉词典,将网站上的资料浏览一下,你会发现一切都变得十分简单。