智能小车制作详细教程
从机械到电路教你做智能小车

X-SHARK 智能小车V1.0 设计参考手册西安电子科技大学测控技术与仪器教研中心2006-05-091.概述X-SHARK智能巡线小车模型是一辆完全由PCB拼装的小车。
所有的机械结构和零部件都安装固定在电路板上。
因此完全不需要机械加工,非常适合业余机器人爱好者自制。
本文简述了X-SHARK智能巡线小车的设计思路和实现过程。
包括小车的机械结构、电路、软件、控制算法、调试方法等。
可作为一般的设计参考。
小车的左右后轮分别由2只6V直流减速电机提供动力;前导向轮是一只万向轮。
430单片机的PWM发生器产生2路占空比可变的方波,经三极管扩流后分别驱动后轮左右电机。
控制2路PWM的比例,不仅可以调节小车向前运动的速度,还可通过2路PWM占空比的差异,改变小车运动方向。
10只反射式红外传感器位于小车前方,垂直探测地面的黑线。
由传感器采回的数据求出黑线偏移量,由PID算法计算出转弯量,再计算PWM发出两轮的速度差,控制小车沿轨迹行驶。
小车离意外开黑线时,传感器无数据,还有相应的错误处理和寻线程序。
2.机械结构2.1 后轮(驱动轮)两块2mm厚的PCB板通过2支沉头螺栓定为一体,构成了后轮的主体。
用小锉刀沿两板夹缝,挫一道V型槽,上一条O型橡胶圈,就构成一只轮胎。
后轮的固定采用过盈配合。
轮的中心孔为2.8mm,比电机轴略小0.2mm。
PCB板挖空2个圆孔,并用狭缝和中心孔贯通,构成一个有弹性的“卡缝”。
将电机轴用力推入轮中心孔,PCB由于弹性形变会略微扩张,弹力将轴紧紧抱死。
改进:现在的缺点是O型圈容易脱落,可用704硅橡胶固定。
另外为了固定O型圈,需要用挫加工V型槽。
可改为3块PCB构成轮子,中间一块半径略小2mm。
2.2 前轮(导向轮)前轮是决定小车能否灵活拐弯的关键部分。
这辆小车和汽车不同,不是靠前轮摆舵控制转弯,而是靠左右后轮速度差来实现转弯控制。
这样前轮实际上是从动轮。
下图中,当左轮速度高于右轮时,小车右转弯;前轮的速度可以分解为前进的速度和水平侧移的速度。
51智能小车的制作之蓝牙小车的制作

51智能小车的制作之蓝牙小车的制作蓝牙小车是一种使用蓝牙技术进行远程控制的智能小车。
本文将介绍制作蓝牙小车的步骤和所需材料,并给出详细的制作说明。
1.材料准备:-1个小车底盘:可以购买一款适合的小车底盘,也可以自制一个。
-2个直流电机:用于驱动小车轮子的电机。
-2个轮子:连接在电机上,用于让小车运动。
- Arduino控制板:用于控制小车的移动。
-蓝牙模块:用于与智能手机或电脑进行通信。
-电池:用于给电机供电。
-连接线、杜邦线等。
2.连接电路:首先,将两个电机连接到Arduino控制板上。
每个电机连接到一个数字引脚,同时将它们的正极连接到电池的正极,负极连接到电池的负极。
确保电机的方向是一致的,这样它们才能正确地驱动轮子。
然后,将蓝牙模块连接到Arduino的串口引脚。
这些引脚可以通过Arduino的文档或蓝牙模块的说明书来确定。
连接完成后,将Arduino连接到计算机,并上传相应的软件程序。
3.编写程序:使用Arduino IDE软件编写程序。
程序的实现方法因蓝牙模块型号和Arduino控制板型号而不同,可以在网上寻找相应的教程和示例代码。
编写程序的主要目的是实现与蓝牙模块的通信以及控制电机的转动。
通常需要定义一些命令,以便通过蓝牙向小车发送指令。
例如,发送'F'表示前进,发送'B'表示后退,发送'L'表示左转,发送'R'表示右转,等等。
根据收到的指令,程序将控制电机以实现相应的运动。
4.测试与调试:完成程序编写后,将蓝牙模块与智能手机或电脑进行配对。
通过蓝牙串口工具向小车发送指令,观察小车的运动情况。
如果发现小车的运动与指令不一致,可能需要调整电机的连接或编写更准确的程序。
5.优化和扩展:一旦小车能够正常运行,您可以进一步完善和扩展它的功能。
例如,您可以添加超声波传感器,以实现避障功能。
您还可以添加其他传感器,如红外线传感器,以实现更多的智能功能。
智能小车制作详细过程详解

小车底部装配
取出连接扣的技巧
小车前部的装配
万向轮装配
电机变速箱装配
车轮装配
喇叭架装配
电池盒及电主板装配
传感器的装配
发光二极管装配
控制电路连接
智 能 小 车 全 貌
构建小车的成员
连接扣
有四种长度 分别为: 10.5mm 14mm 21mm 28mm
弹性垫圈
弹性垫圈 用于构件 的连接。 有三种规 格: 单孔 双孔 三孔
连杆
上述为直板连杆,有:13孔、 11孔、9孔、7孔、5孔。
智能小车的装配
1、小车底部装配 2、小车前部装配 3、万向轮装配 4、电机变速箱装配、车轮装配 5、喇叭架装配 6、电池盒与控制主板的装配 7、传感器装配 8、控制电路连接 9、整车美化整理
使用树莓派制作智能小车

使⽤树莓派制作智能⼩车电影⾥,时不时地可以看到⼀些这样的场景,⼀辆⼩车,上⾯装有摄像头,这辆⼩车可以通过电脑或都是⼿机进⾏远程遥控,车上摄像头拍到的画⾯,可以实时地显⽰在电脑或⼿机上,就像下图这样。
没有接触过这⽅⾯的朋友或许会觉得这是⼀门很⾼⼤上的技术活,其实,并不然,这种⼩车做起来其实很简单。
那么,这样⼦的⼩车,需要怎么去做呢?其实,我们只需要准备⼀块控制⼩车的电路板(开发板),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)摄像头控制有两部分,⼀是拍摄、⼆是云台转动。
机器人智能小车制作与编程

机器人智能小车制作与编程
一、智能小车的制作
1、准备材料:电机、智能小车及其相关的板、轮子、电池、杜邦线、螺丝刀、钳子、电钻、活动榫头、把手以及其他相关材料。
2、连接电机与电池:将电机与电池连接起来,用杜邦线将正极引脚
连接到电机的正极,负极引脚连接到电机的负极,确保电池与电机之间的
稳定连接和电路的正确性。
3、安装电机:将电机安装在智能小车的底盘上,使用螺丝刀将电机
固定在底盘上,确保电机的稳定性和牢固性。
4、连接轮子:将轮子连接到电机上,将活动榫头连接到轮子上,再
将把手连接到活动榫头上,以保证轮子与电机之间的稳定连接。
5、安装智能小车板:将智能小车板安装在轮子上,使用螺丝刀将其
固定在轮子上,以保证智能小车板的稳定性和牢固性。
二、智能小车的编程
2、配置参数:将智能小车的电机、电池、摄像头等硬件连接到计算
机上,打开Arduino IDE软件,根据硬件的设置进行参数配置,确保硬件
参数的正确性。
3、编写代码:根据智能小车的功能,利用Arduino IDE进行软件编写,编写完成后,将代码上传到智能小车板上。
手把手教做智能小车

手把手教做智能小车我们学习完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 完成至此,蓝牙小车就初步完成,在网上找一个串口软件,连上小车上的蓝牙芯片,就可以实现相应的功能。
智能循迹小车详细制作过程

(穿山乙工作室)三天三十元做出智能车基本设计思路: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红外对管工作原理:工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收。
小学科学活动制作简易电动小汽车

小学科学活动制作简易电动小汽车首先,让我们一起来动手制作一个简易的电动小汽车。
通过这个活动,孩子们可以学习到有关电动力、电路和机械动力的基本原理,并且在实践中培养动手能力和解决问题的能力。
材料准备:1. 一个小塑料杯2. 两个金属纸夹3. 两根铜线4. 一个电池盒(能容纳两颗5号电池)5. 两颗5号电池6. 一个小电动机7. 胶带8. 剪刀步骤:1. 首先,将电池盒中的两颗5号电池插入,确保正负极正确连接。
2. 将电池盒和电动机用胶带固定在小塑料杯的底部,确保电动机的轴与杯子的中心垂直。
3. 将一根铜线的一端固定在电动机的正极上,再将另一端固定在一个金属纸夹上。
使用胶带或夹子将金属纸夹固定在杯子的一侧。
4. 将另一根铜线的一端固定在电动机的负极上,再将另一端固定在另一个金属纸夹上。
同样地,使用胶带或夹子将金属纸夹固定在杯子的另一侧。
5. 确保电池、电动机和金属纸夹之间的线路连接良好,没有断开或松动的地方。
完成以上步骤后,我们的简易电动小汽车就制作完成了。
现在,我们来看看它是如何工作的。
当开关打开时,电池中的正电荷流经一根铜线,进入电动机的正极,然后通过电动机传导到负极。
这种流动产生的磁场会引起电动机转动,使轴带动轮子。
同时,电池中的负电荷通过另一根铜线,进入电动机的负极,然后返回电池的正极,形成了一个闭合电路。
这个简易电动小汽车的制作过程中涉及了电路的基本概念。
正电荷的流动形成了一个电流。
电流通过电动机产生的磁场,转换为机械动力,从而驱动轮子转动。
这就是电动小汽车运行的基本原理。
通过这个活动,孩子们可以在实践中学习到电路的基础知识,了解电流和磁场的关系,并且培养动手实践的能力。
同时,他们还可以进一步探索和改进这个简易电动小汽车,例如通过改变电池数量或线路连接方式来提高速度或转向等。
总结:通过制作简易电动小汽车的科学活动,孩子们可以在实践中学习到电路和机械动力的基本原理,培养动手能力和解决问题的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能小车制作详细教程
智能小车是一种具有自主导航和智能决策能力的机器人车辆。
它可以通过传感器感知周围环境,并根据程序进行自主控制,实现不同场景下的导航、避障和定位等功能。
下面将为你介绍如何制作一辆智能小车的详细教程。
首先,我们需要准备以下材料和设备:
1. 一个底盘,它可以是一个具有轮子的坚固平台,也可以是一个注重设计的小车模型。
2. 两个直流电机,用于驱动车辆的轮子。
3. 一个电源,例如锂电池,用于给电机和电子设备供电。
4. 一个主控制器,如Arduino板或Raspberry Pi,用于处理传感器数据和执行控制程序。
5. 一套传感器,例如超声波传感器、红外线传感器和摄像头,用于感知周围环境。
6. 一些导线、电路板和螺丝等连接和固定材料。
7. 一个电脑,用于程序开发和调试。
接下来,我们可以开始制作智能小车:
1. 首先,将直流电机连接到主控制器上,确保它们可以通过电源进行驱动。
2. 通过编程,编写一个基本的控制程序,使电机可以运行并控制车辆的前进、后退、左转和右转等行为。
3. 安装传感器模块,例如超声波传感器或红外线传感器,用于检测障碍物和测量距离。
4. 根据传感器的数据,更新控制程序,使车辆能够在遇到障碍物时自动停下或转向避开障碍物。
5. 如果需要进行定位和导航,可以添加一个GPS模块或采用视觉识别技术,例如使用摄像头检测道路标志或地标。
6. 调试程序并优化车辆的导航和控制性能。
7. 最后,将所有组件和电子设备固定在底盘上,确保它们牢固可靠。
通过以上步骤,我们可以制作出一辆基本的智能小车。
当然,实际制作中可能会遇到一些困难和挑战,需要更深入的知识和技能来解决。
不过,这个简单的教程可以为初学者提供一个入门指南,让他们了解智能小车制作的基本流程和方法。
希望这个教程对你有所帮助!。