基于PIC单片机的智能小车设计.docx
- 文档编号:13082761
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:29
- 大小:496.68KB
基于PIC单片机的智能小车设计.docx
《基于PIC单片机的智能小车设计.docx》由会员分享,可在线阅读,更多相关《基于PIC单片机的智能小车设计.docx(29页珍藏版)》请在冰点文库上搜索。
基于PIC单片机的智能小车设计
摘要
该无线遥控小车采用购买的车架,以PIC16F877A单片机为控制核心,通过435MHz无线发射和接受遥控器的控制信号,并对信号快速处理,转换成PWM信号来产生不同的直流电压控制直流电机。
该小车的主要功能就是在有障碍物的条件下的100m内的无线遥控:
实现前进、后退、加速、减速、左转、右转以及对速度档的选择。
关键字:
无线遥控;PIC16F877A单片机;PWM
第一章绪论
1.1课题背景和意义
随着电子技术的飞速发展,无线遥控已被广泛应用到日常生活及工业中,如电视机、电冰箱、视频监控系统、电视会议系统、多媒体教学系统、工业智能控制系统等多种领域都有应用。
无线遥控小车是上世纪的一种新型小车,由于在军事侦查、反恐、防暴、防核化及污染等危险与恶劣环境作业中有着广阔的应用前景,使其成为一个重要的研究热点。
无线遥控小车具有体积小、成本低、生存能力强、运动灵活等特点。
由于起应用场合特殊,所以特别要求这类小车重量轻、体积小、能耗低、事实性能好、操作使用可靠。
本设计基于PIC16F877A单片机控制的设计思想,选用廉价的遥控编码集成电路(PT2262、PT2272),采用L298N专用电机驱动芯片驱动电机,通过PWM脉冲调速,遥控器安装了键盘从而实现了小车的前进、后退、加速、减速、左转、右转以及对速度档的选择。
无线遥控小车的控制系统,驱动控制以及遥控操作起来等综合起来,集成驱动、控制和能源于一体。
首先要求具有小型化、轻量化的特点,因此要求控制系统尺寸小、重量轻、能耗低、能集成在小车体内:
其次,实时性是对控制系统的另一个基本要求,对于不确定环境下控制处理,对小车控制系统的实时性提出了更高的要求。
1.2国内外研究现状
工业无线遥控小车起源于美国。
由于政府对无线遥控小车研发的资助以及相关技术的推动作用,日本、美国、德国等工业大国在智能无线小车技术占据明显优势,新进崛起的韩国在无线遥控小车研发方面也逐渐走向前沿。
我国的无线遥控小车研究开发工作始于20世纪70年代末,在国家“863”、“973”、“九五攻关”等高技术发展计划的重点支持下,取得了重大发展。
从上世纪80年代开始,国内已开始大范围地进行有关无线遥控小车的研究。
经过20多年的发展,国内在应用、研究方面已经发展得比较好。
但是,跟发达国家相比,还存在一定的差距。
以清华大学、上海交通大学、中国科学院等科研所为代表,重点对无线遥控小车基础技术进行研究,诸如无线遥控小车机构的运动学、动力学分析与综合,无线遥控小车运动的控制算法,多传感器控制系统,遥控操作技术等均取得长足进展。
大批专业生产无线遥控小车以及自动化设备的公司相继成立,推动了无线遥控小车技术的产业化进展。
从应用方面来说,差距会相对大一些。
像日本,无线遥控小车技术的应用非常广泛,一般的工厂已经用无线遥控小车进行生产。
而在国内,一般的工厂还不是用得很多,只有比较先进的工厂或者是外资企业使用无线遥控小车。
从研究的角度来说,差距较应用方面小一些。
国际上目前研究的课题,国内的研究人员也有涉及,甚至在某些方面还比国外超前。
国外无线遥控小车领域发展近几年有如下趋势:
工业无线遥控小车性能不断提高(高速度、高精度、高可靠性、便于操作和维修),而单机价格不断下降,平均单机价格从91年的10.3万美元将至97年的6.5万美元。
机械结构向模块化、可重构化发展。
例如关节模块中的伺服电机、减速机、检测系统三位一体化:
由关节模块、连杆模块用重组方式构造无线遥控小车整机:
国外已有模块化装配无线遥控小车产品问市。
工业无线遥控小车控制系统向基于PC机的开放型控制器方向发展,便于标准化、网络化;器件集成度提高,控制器日渐小巧,且采用模块化结构;大大提高了系统的可靠性、易操作性和可维护性。
无线遥控小车中的作用日益重要,除采用传统的位置、速度、加速度等传感器外,装配、焊接无线遥控小车还应用了视觉、声觉、力觉、触觉等多传感器的融合技术来进行环境建模及决策控制;多传感器融合配置技术在产品化系统中已有成熟应用。
虚拟现实技术在无线遥控小车中的作用已从仿真、预演发展到用于过程控制,如使无线遥控小车操作者产生置身于远端作业环境中的感觉来操纵无线遥控小车。
第二章设计说明
2.1设计任务
设计一个基于PIC16F877A单片机的无线遥控小车,用PIC16F877A单片机作为主控芯片,通过无线遥控系统对小车进行实时性控制。
主要功能包括前进、后退、加速、减速、左转、右转以及对速度档的选择。
2.2原理描述
本设计主要有电机驱动与控制模块、无线遥控模块、电源模块组成。
2.2.1总体方案设计
总体方案设计结构如下图如下:
2.2.2系统原理
系统以PIC16F877A单片机作为主控芯片,利用CCP模块产生精确的PWM脉冲波,通过专用电机驱动芯片L298N精确控制电机的转速、转向:
无线遥控模块采用编解码芯片PT2262、PT2272实现无线发送、接收操作指令,车载移动平台上的PIC16F877A单片机接收到操作指令后改变相应电机的PWM脉冲波,从而调节小车当前的运行状态。
2.3方案设计与论证
根据设计要求,本系统主要由电机驱动与控制模块、无线遥控模块及电源模块组成。
为了较好的实现个模块的功能,分别设计了几种方案并分别进行了论证。
2.3.1车体的设计
方案一:
购买小车底座,购买的小车底座具有组装完整的车架车轮、电机。
一般来说,购买的小车底座有以下优点:
首先,这种底座装配紧凑,运行状态比较好。
其次,这种小车一般是前轮转向后轮驱动,能够方便地实现转速。
小车的直线前进与后退。
再次,小车的电机为直流电机,容易控制及调速。
方案二:
自己制作电动车。
经过反复考虑论证,采用左右两轮分别驱动,方向轮转向的方案。
即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,车体尾部装一个万向轮。
此方案是双轮驱动,并不能很好的实现直线前进与后退,而且制作周期长。
综上所述:
采用方案一。
2.3.2控制器模块
方案一:
采用AT公司的AT89C52单片机作为主控制器。
AT89C52是一个低功耗、高性能的8位单片机,片内含32K空间的反复擦写100000次的Flash只读存储器,具有2Kb的随机存取数据存储器,32个IO口,3个8位可编程定时器。
方案二:
采用Microchip公司的PIC16F877A单片机作为主控芯片。
不但功耗低,性能高,而且还具有以下几大特点:
PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。
就实际而言,不同的应用对单片机功能和资源的需求也是不同的。
比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。
PIC系列从低到高有几十个型号,可以满足各种需要。
其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机。
精简指令使其执行效率大为提高。
PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:
1的代码压缩,速度提高4倍。
产品上市零等待(Zerotimetomarket)。
采用PIC的低价OTP型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。
PIC有优越开发环境。
OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。
PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。
就我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。
其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。
彻底的保密性。
PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。
目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小
自带看门狗定时器,可以用来提高程序运行的可靠性。
睡眠和低功耗模式。
虽然PIC在这方面已不能与新型的TI-MSP430相比,但在大多数应用场合还是能满足需要的。
综上所述,采用方案二。
2.3.3遥控模块
方案一:
采用红外发射、接收头,以及编码芯片PT2262、解码芯片PT2272组成红外的遥控模块,但是此红外遥控模块发射和接收之间的距离短,而且不能在有障碍物的情况下实现遥控,遥控性能差。
方案二:
采用RF无线发射模块F05V、无线接收模块J04V,以及编码芯片PT2262、解码芯片PT2272组成的无线遥控模块,此遥控模块在开阔地参考距离大于150米,而且能够在有障碍物的情况下实现遥控,能够达到此无线遥控小车的性能要求。
综上所述,选用方案二。
2.3.4电机驱动模块
方案一:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
这个方案的优点是电路简单,缺点是继电器的响应速度慢,机械结构易损坏,寿命短,可靠性差。
方案二:
采用ST公司的L298N电机专用驱动芯片。
工作电压高,最高工作电压可达46V:
输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电机、继电器等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作。
综上所述,选用方案二。
2.3.5电源模块
在本设计中,电机、车载系统、遥控器独立供电。
电机驱动电源采用四节五号电池供电;车载系统采用5V电压供电;无线发射接收头F05V、J04V3V供电,遥控器5V供电。
综上所述,采用7805稳压芯片,3V稳压管。
第三章车载模块设计
车载模块是无线小车的核心。
它完成的主要工作包括:
接收遥控器的控制命令并解析;控制一台驱动电机和一台转向电机。
车载模块主要有以下部分电路构成:
电机驱动与控制电路、无线遥控接收电路。
下面将对整个车载模块进行详细介绍。
3.1主控芯片PIC16F877A
PIC单片机(PeripheralInterfaceController)是一种控制外围设备的集成电路(IC),是把CPU、ROM和I/O等集成在一块芯片上的特殊微型计算机。
它是具有分散公用(多任务)功能的CPU。
由PIC单片机处理无线接收模块收到的信号,再输出相应的控制信号和PWM调速信号就是本次设计的重点,下面将对该系统所采用的硬件模块进行逐个介绍。
3.1.1PIC单片机简介
美国Microchip公司在1990年仅排名世界第20位,经过10余年的积极拓展,其8位单片机的业绩节节攀升。
据市场研究公司GartenerDataquest于2003年6月公布的“2002年单片机市场额份和单位出货量”报告,Microchip公司8位机已跃居全球“第一”,占到全球市场份额的16.1%。
Microchip公司推出的PIC系列单片机由于采用精简指令集、哈佛总线结构、流水线指令的方式,抗干扰能力强,性价比高,深受国内客户的普遍欢迎。
在工业控制、消费电子产品、办公自动化设备、智能仪器仪表、汽车电子等不同的领域得到了广泛的应用。
3.1.2PIC单片机的优势
1、PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。
就实际而言,不同的应用对单片机功能和资源的要求也是不同的。
比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。
PIC系列从低到高有几十个型号,可以满足各种需要。
其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机,如下图所示。
该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在3——6元人民币。
这样一款单片机在像摩托车点火器这样的应用无疑是非常适合。
PIC的高档型号,如PIC16C74(尚不是最高档型号)有40个引脚,起内部资源为ROM共4K、192字节RAM、8路A/D、三个8位定时器、两个CCP模块、3个串口、一个并口、11个中断源、33个I/O脚。
这样一个型号可以和其他品牌的高档型号媲美。
2、精简指令使其执行效率大为提高。
PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:
1的代码压缩,速度提高4倍。
3、产品上市零等待(Zerotimetomarket)。
采用PIC的低价OPT型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。
4、PIC有优势开发环境。
OPT单片机开发系统的实时性是一个重要的指标,像普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时型不尽理想。
PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统有专用的仿真芯片支持,实时性非常好。
就我个人的经验看,还没有出现过仿真结果与实际运行结过不同的情况。
5、其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光耦隔离,给应用带来极大方便。
6、彻底的保密性。
PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。
目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。
7、自带看门狗定时器,可以用来提高程序运行的可靠性。
8、睡眠和低功耗模式。
虽然PIC在这方面一不能与新型的TI-MSP430相比,但在大多数应用场合还是能满足需要的。
3.1.3在8位单片机中PIC与51系列单片机的比较
PIC的堆栈结构是硬件固定的,PIC16F877A有8级深度的硬件堆栈,51系列单片机的堆栈结构是在RAM区,有程序指定SP的开始位置。
PIC的RAM区每个Byte的位都可以寻址,有4条专用的位操作指令和2条移位指令。
51系列单片机的只有0x20到0x2F的Bytes的位是可以寻址,有17条专用的位操作指令和4条移位指令。
PIC的ROM和RAM是采用“页”结构的,每页为512个Bytes,通过STATUS的位来选择不同的页,在程序调用和变量寻址的时候,要先确定目标的页,使用起来不是很方便。
51系列单片机的ROM是可以在64K范围内寻址的,可程序直接寻址调用;RAM在0到0x7F可以直接寻址或间接寻址,0x80以上地址的RAM(包括扩展的RAM)只有间接寻址。
3.1.4PIC16F877A芯片简介
从前几节对PIC系列单片机的介绍,我们知道PIC单片机是采用RISC结构和Harvard双总线结构,运行速度快,低工作电压,低功耗,低价格的高性价比单片机。
PIC16F877是PIC系列单片机中较为典型的芯片,PIC16F877A是前者的改进版,前者的Flash擦写周期是1000次,而后者的Flash擦写周期是前者的100倍,也就是10万次。
PIC16F877A的主要性能参数如下所示:
●具有高性能RISCCPU
●仅有35条单字节指令
●100000次擦写周期
●除程序分支指令为两个周期外,其余均为但周期指令
●运行速度:
DC-20MHZ始终输入
DC-200nS指令周期
●8K*14个Flash程序存储器
368*8数据存储器(RAM)字节
256*8EEPROM数据存储器字节
●提供14个中断源
●功耗低:
在5V,4MHz时钟运行时电流小于2mA
在3V,32MHz时钟运行时电流小于20uA
●支持在线串行编程(ICSP)
●运行电压范围广,2.0V-5.5V
●输入及输出电流可达25mA
●Timer0:
带有预分频器的8位定时器/计数器
●Timer1:
带有预分频器的16位定时器/计数器,在使用外部晶振时钟时,在睡眠期间仍能工作
●Timer2:
带有预分频器的8位周期寄存器,预分频器和后分频器的8位定时器/计数器
●2个捕捉器,比较强,PWM模块
●其中:
捕捉器是16位,最大分辨率是12.5ns
比较强是16位,最大分辨率是200ns
PWM最大分辨率是10位
●10位多通道模数转换器
下图是PIC16F877A的实物图及引脚图:
3.2电机驱动芯片L298N
电机驱动模块采用L298N,L298N是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
3.2.1L298N工作原理
L298N可接收标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围为2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298N可驱动2个直流电机,OUT1/OUT2和OUT3、OUT4之间分别接电动机,本实验装置我们选用驱动2个电机。
L298N的5、7、10、12脚接输入控制电平,控制电机的正反转。
ENA,ENB接控制使能端,控制电机的转停,可知ENA为低电平时,输入电平对电机控制起作用,当ENA高电平时,输入电平一高一低,电机正转或反转。
同时低电平电机停止,因为高电平电机刹停。
3.2.2L298N引脚定义
下图为L298N引脚图
下表是L298N引脚说明
名称
管脚
说明
SEN1、SEN2
1、15
分别为两个H桥的电流反馈脚,不用时可以直接接地
OUT1、OUT2
2、3
输出端,与对应输入端同逻辑
VS
4
驱动电压,最小值须比输入的低电平电压高2.5V
INPUT1、INPUT2
5、7
输入端,TTL电平禁止输出
ENA、ENB
6、11
使能端,低电平禁止输出
GND
8
地
Vss
9
逻辑电源,4.5—7V
OUT3、OUT4
13、14
输出端,与对应输入端同逻辑
INPUT3、INPUT4
10、12
输入端,TTL电平兼容
3.2.3电机驱动与控制电路
电机驱动模块采用L298N,L298N是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
电路如下:
PIC16F877A的I/O口PC1、PC2作为PWM脉冲波的输出口,输出的信号成为L298N驱动芯片的输入信号,L298比较常见的是Multiwatt封装的L298N,内部包括4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或者一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可以达到50V,可以直接通过电源来调节输出电压;可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可以接4.5—7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5—46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间可分别接电动机。
5、7、11、12脚接输入控制电平,控制电机的正反转。
ENA、ENB接控制使能端,控制电机的转停。
可知ENA为低电平时,输入电平对电机控制起作用,当ENA为高电平,输入电平为一高一低,电机正转或反转。
同为低电平时电机停止转动,同为高电平时电机刹停。
3.3无线遥控接收电路设计
无线遥控接收电路有解码芯片PT2272、无线接收模块J04V组成,无线接收模块J04V将接收到信号传送给解码芯片PT2272,解码芯片PT2272接收到信号,将其地址码经过两次比较核对后,VT脚输出高电平,与此同时相应的数据也输出高电平。
3.3.1RF无线接收模块J04V
J04V是一款低功耗小体积超再生接收模块,采用SMT工艺,性能稳定具有较好的灵敏度及性价比。
是电池供电产品的理想选择。
可以广泛应用于需要长期处于接收状态的遥控报警及单片机数据传输系统。
主要特点:
(1)输出无噪声干扰(零电平)
(2)极低功耗(工作状态3V/0.2mA)
(3)特小体积(不需要外接天线)
性能参数:
·接收频率:
315MHz
·工作电压:
DC3V(2.6—3.5V)
·工作电流:
0.15—0.3mA
·调制带宽:
10K
·输出电平:
TTL电平
·接收灵敏度:
-90dBm
·电路结构:
超再生
·外形尺寸:
10×23×5mm(宽X长X厚)
·工作温度:
-40℃—+60℃
引脚定义
下图为J04V引脚图:
(1)—外接天线
(2)—数据输出端
(3)—数据反向输出端[配F05P+使用]
(4)—工厂测试端[悬空]
(5)—地
(6)—正电源(DC+3V)
应用说明:
(1)J04V工作频率为315MHz。
(2)为方便后级电路的电平接口J04V增加了数据反相输出端,无数据时,2脚输出为零电平3脚为高电平,可输出2mA的驱动电流。
若驱动低阻抗负载会引起J04V工作电压的不稳定。
(3)J04V工作电压范围:
2.6—-3.5V;2.6V时工作电流在0.15mA;3V时约0.2mA;3.5V约在0.3mA。
(4)J04V适合电池或线性电源,可采用3.7K-4.7K电阻从5V取得3—3.5V,再加220UF电解电容滤波,电解电容的接地点必须靠近J04V的地,J04V输出能力可驱动一支发光二极管。
如果从6V以上的电压用电阻降压会引起工作电压的不稳定。
也可以从220V用电容降压整流滤波后用7805取得5V再用3.7K-4.7K,电阻降压滤波取得3.3V。
不适合用稳压管串联分压。
接收模块的电源直接影响到接收电路的稳定性,也是接收电路的主要干扰源,J04V不适合开关电源也不适合用实验室大整流电源做试验。
J04V不适合与发射用同一电源做试验。
(5)J04V顶部镀银电感不要碰压,否则会引起频率偏移距离变近。
(6)J04V内部具有放大整形电路,只适合数据信号的接收而不适合模拟信号。
(7)J04V在A处点可根据需要接一支470K-1M的电阻可使J04V输出更干净,但接收灵敏度会降低。
(8)J04V应按装在印板边部并离开周围器件5mm以上,要垂直于线路板,否则会引起频率偏移。
如果器件较多还必须注意地线布局合理,如果有晶振或其他信号源必须远离J04V,否则会引起很多无法排除的干扰致使接收电路无法正常工作。
(9)J04V可外接天线提高接收灵敏度,天线长度不限。
3.3.2解码芯片PT2272
解码芯片PT2272是台湾公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0—A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多有6位(D0—D5)数据端管脚,接收到的信号从14脚串行输入,可用于无线接收电路。
PT2272的特点
●CMOS工艺制造,低功耗
●外部元件少
●RC振荡电阻
●工作范围宽:
2.6—15V
●数据最多达6位
●地址最多打53
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PIC 单片机 智能 小车 设计