设计电机驱动电路
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被 保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
三、讨论总结
输入电压 12V,经稳压电路后输出 5V 电压;(12V 给电机供电) 电路中四个按键控制电机转速:(由左到右 1:正转 ;2: 反转 ;3: 加速; 4: 减速;) 电路中的四位一体数码管显示转速;
code
unsigned
char
seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // 显 示 段 码
数码管字跟:
unsigned char a,b,s,i,j,k,z,gw,sw,bw,speed,m; int y=31;//定义转动速度,数值越大电机转速越慢反之则快 sbit P2_0=P2^0;//正转按键 sbit P2_1=P2^1;//反转按键
AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口 线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允
设计电机驱动电路
一、设计要求:
(1) 任选一种电机:直流电机、步进电机、无刷直流电机、永磁同步电机等; (2) 设计驱动电路、传感器电路; (3) 给出电路设计依据、电机控制方法; (4) 讨论设计方案的优缺点。
二、 电路设计
步进电机控制
AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在线系统可编 程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常 规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
case 123:speed=42;break;case 125:speed=41;break; case 127:speed=40;break;case 129:speed=39;break; case 131:speed=38;break;case 133:speed=37;break; case 135:speed=36;break;case 137:speed=35;break; case 139:speed=34;break;case 141:speed=33;break; case 143:speed=32;break;case 145:speed=31;break; case 147:speed=30;break;case 149:speed=29;break; case 151:speed=28;break;case 153:speed=27;break; case 155:speed=26;break;case 157:speed=25;break; default:break; } } } void delay(i)//延时函数 {
void delay();
void anjian();
void frun();
void zrun(); code unsigned char runz[8]={ 0x03,0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07}; //正转动 数组
code unsigned char runf[8]={ 0x07,0x06,0x0e,0x0c,0x0d,0x09,0x0b,0x03}; //反转动 数组
电路中的单独的数码管显示电机的档位(正转为 1;反转为 2;加速为 3; 减速为 4);
加速/(减速)时:每按一次按键数码管显示转速加 1/(减 1) 电机驱动电路输入端的四个接线端由上到下依次为 P1_0,P1_1,P1_2,P1_3
#include<reg52.h>
#define unint unsigned int
1212 89 PHeader2HPHeader2H 95 DDiode1N4001DDiode1N4001 84 DDiode1N4001DDiode1N4001 1 *Component_1 73 DDiode1N4001DDiode1N4001 5 4 c Q b 4 c 0 7 g 4R22 62 3 c DDiode1N4001DDiode1N4001 P2_4 4 Q c 3 c 2 c 0 7 4R21 p V P2_5 3 2 f Q 1 2 c 0 d 7 4 V a 5 R20 345 23111149 P2_6 2 e Q S 1 c V 1 c VSS 0 OUT1OUT2OUT3OUT4 7 ISENB ISENA 4R19 D P2_7 N ENAENBIN1IN2IN3IN4G 3 UL298HN 6157028 111 V 5 V 5 V 5 P3_7 P3_6 123 123456789 R-2 123 P10MHDR1X3 7 PMHDR1X3 LIP5LIP6LIP7LIP8LIP1LIP2LIP3LIP4LIP5LIP6LIP7LIP8 34343434 00000000 12369 00000000 1R1R1R1R1R1R141R161R17 2456 UTLP521-1UTLP521-1UTLP521-1UTLP521-1 12121212 LIP1LIP2LIP3LIP4P3_0P3_1P3_2P3_3P3_4P3_5P3_6P3_7 123456789 5 P 123456789 3 P P3_0P3_1P3_2P3_3P3_4P3_5P3_6P3_7 P1_0P1_1P1_2P1_3P1_4P1_5P1_6P1_7 DS7LED2DS10LED2DS9LED2DS8LED2 P1_0P1_2P1_1P1_3 16 AA P fgedcDba DS1 23458790 1 123456789123456789 62 PP P0_0P0_1P0_2P0_3P0_4P0_5P0_6P0_7P2_0P2_1P2_2P2_3P2_4P2_5P2_6P2_7 6 Q 987654321234567876012345 333333332222222211111111 4758 RRRRR10R11R15R13 9 K 1R18 8 KKKKKKKK 11111111 P0_7 (T0)P3.4(T1)P3.5 (A8)P2.0(A9)P2.1 (RD)P3.7 (WR)P3.6 7 (A10)P2.2(A11)P2.3(A12)P2.4(A13)P2.5(A14)P2.6(A15)P2.7 (AD0)P0.0(AD1)P0.1(AD2)P0.2(AD3)P0.3(AD4)P0.4(AD5)P0.5(AD6)P0.6(AD7)P0.7 (TXD)P3.1 (RXD)P3.0 (INT0)P3.2(INT1)P3.3 P0_6 6 P2_0P2_1P2_2P2_3 P0_5 5 P0_4 4 P0_3 3 P0_0P0_1P0_2P0_3P0_4P0_5P0_6P0_7P1_4 P0_2 2 P0_1 1 R-1 P0_0 D N VCCRESETGXTAL1XTAL2PSENALE/PROGEA/VPPP1.0(T2)P1.1(T2EX)P1.2P1.3P1.4P1.5(MOSI)P1.6(MISO)P1.7(SCK) 1 UAT89S52-24PI 0909890112345678 4211233 V 5 DS4 K 1 1R27 Y 12 DS6 K 67 1R26 0.1uF C0.1uFC F DS3 u 5 0 1C KK 1R23Res21R25 V 5 DS2 K 0 1R12 DS5 V K 1 5 1R24 S V 5 4 C 0.1uF F u 2 0 C 0 0 1 Vout 3245 D SSSS N G Vin VR1 3 0.1uFC F 13579 u 1 0 C 0 2 0 V 2 24681 2 4 1 PHeader5X2H VCC 1 D 12 1 P
{ case 7:speed=100;break; case 9:speed=99;break; case 11:speed=98;break; case 13:speed=97;break; case 15:speed=96;break; case 17:speed=95;break; case 19:speed=94;break; case 21:speed=93;break; case 23:speed=92;break;case 25:speed=91;break; case 27:speed=90;break;case 29:speed=89;break; case 31:speed=88;break;case 33:speed=87;break; case 35:speed=86;break;case 37:speed=85;break; case 39:speed=84;break;case 41:speed=83;break; case 43:speed=82;break;case 45:speed=81;break; case 47:speed=80;break;case 49:speed=79;break; case 51:speed=78;break;case 53:speed=77;break; case 55:speed=76;break;case 57:speed=75;break; case 59:speed=74;break;case 61:speed=73;break; case 63:speed=72;break;case 65:speed=71;break; case 67:speed=70;break;case 69:speed=69;break; case 71:speed=68;break;case 73:speed=67;break; case 75:speed=66;break;case 77:speed=65;break; case 79:speed=64;break;case 81:speed=63;break; case 83:speed=62;break;case 85:speed=61;break; case 87:speed=60;break;case 89:speed=59;break; case 91:speed=58;break;case 93:speed=57;break; case 95:speed=56;break;case 97:speed=55;break; case 99:speed=54;break;case 101:speed=53;break; case 103:speed=52;break;case 105:speed=51;break; case 107:speed=50;break;case 109:speed=49;break; case 111:speed=48;break;case 113:speed=47;break; case 115:speed=46;break;case 117:speed=45;break; case 119:speed=44;break;case 121:speed=43;break;
sbit P2_2=P2^2;//加速按键 sbit P2_3=P2^3;//减速按键 sbit P1_7=P1^7; main() { P1_7=0; a=0; b=0; while(1)
{ if(P2_0==0) { while(!P2_0); b=1; P0=seg7cຫໍສະໝຸດ Baidude[1]; } if(P2_1==0) { while(!P2_1); b=2; P0=seg7code[2]; } anjian(); switch(b) { case 0: break; case 1: frun();break; case 2: zrun(); break; default:break; } switch(y)