基于DAC0832的直流电机控制系统
使用DAC0832来控制直流电机
输入数字量0X00~0XFF对应输出0~5V的电压值
运用模拟电路知识设计电路实现电机正反转,数码管实时显示速度值以及正反转。
四位数码管前一位显示正反转、1表示正转、0表示反转,后三位显示速度值
DAC0832采用双极性控制,D0~D7数据输入口,IOUT1、IOUT2互补输出口,RFB反馈端口、
VREF基准电压值(一般是5V)。
三极管部分仿真是通过两个I/O口来控制实现正反转,如果没有三极管部分只能单方向转动
主函数
#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#define DAC0832 P1//DAC0832数据口定义sbit zz=P2^0;//正反转定义
sbit fz=P2^1;
sbit we1=P3^0;//位选定义
sbit we2=P3^1;
sbit we3=P3^2;
sbit we4=P3^3;unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴极段码表
unsigned char KeyNum;
unsigned int Speed=70;//定义送给DAC0832的初始速度值void Nixie();//数码管显示函数void main()
{DAC0832=0x00;while(1){ KeyNum=Key();//获取按键值switch(KeyNum){case 0:break;case 1:zz=0;fz=1;break;case 2:zz=1;fz=0;break;case 3:Speed=Speed+5;KeyNum=0;break;case 4:Speed=Speed-5;KeyNum=0;break;} DAC0832=Speed;//数字量输入转换电压值Nixie();}
}
void Nixie()
{unsigned int x=0,y=0,z=0,peed;peed=Speed;x=peed/100;y=(peed-x*100)/10;z=peed%10;//取速度的每一位的数显示出来if(zz==1&&fz==0){we1=0;P0=NixieTable[1]; //数码管显示1,正转Delay(5); we1=1;}if(zz==0&&fz==1){we1=0;P0=NixieTable[0]; //数码管显示0,反转Delay(5); we1=1;}we2=0;P0=NixieTable[x];Delay(5); we2=1;we3=0;P0=NixieTable[y]; Delay(5); we3=1;we4=0;P0=NixieTable[z]; Delay(5); we4=1;
}
按键获取
#include <REGX52.H>
#include "Delay.h"unsigned char Key()//得出按键值,按键消抖和松手检测
{unsigned char KeyNumber=0;if(P3_4==0){Delay(20);while(P3_4==0);Delay(20);KeyNumber=1;}//正转if(P3_5==0){Delay(20);while(P3_5==0);Delay(20);KeyNumber=2;}//反转if(P3_6==0){Delay(20);while(P3_6==0);Delay(20);KeyNumber=3;}//加速if(P3_7==0){Delay(20);while(P3_7==0);Delay(20);KeyNumber=4;}//减速return KeyNumber;
}
在这里说明一下三极管部分仿真是一个学长给出的,学长还是厉害啊
基于DAC0832的直流电机控制系统相关推荐
- 模糊PID——基于MATLAB的直流电机控制系统
另外一个课题 根据传统PID控制中系数对控制特性的影响,采用模糊PID控制方式代替双闭环传统PID的转速控制.通过MATLAB/Simulink仿真软件建立控制系统的数学模型,重点说明了模糊控制器的制 ...
- 基于锁相环的直流电机控制系统simulink仿真
目录 一.理论基础 二.部分MATLAB仿真 一.理论基础 基于锁相环的直流电机转速控制系统实质就是一个锁相环,只不过电动机加上光电脉冲编码器的组合代替了压控振荡器.由于直流电动机的外施电压与电动机转 ...
- 基于PID的直流电机调速控制系统
全套资料下载地址:https://download.csdn.net/download/sheziqiong/86772168 全套资料下载地址:https://download.csdn.net/d ...
- 计算机控制直流电机闭环调速实验报告,电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf...
电气工程及其自动化电力系统实训报告-基于PLC的直流电机调速实验.pdf 华南理工大学广州汽车学院华南理工大学广州汽车学院 电力系统实训电力系统实训报告报告 设计题目设计题目基于基于 PLCPLC 的 ...
- 基于fpga的直流电机vhdl+论文+开题报告+(csdn免费下载)
下载资料链接 摘要 直流电机是日常生活中常见的一种能量转换装置,它应用广泛,功能强大,在生产生活中占据着重要位置.直流电机的控制方法多种多样,控制系统的组成更是五花八门.本文将采用现场可编辑门阵列FP ...
- 基于STM32F103的直流电机调速系统
一.引言 电动机作为当前最主要的驱动部件,应用范围已遍及国民经济的各个领域,随着微处理器.电力电子.控制等技术的发展,电机控制技术以电力半导体变流器件的应用为基础,以电动机为控制对象,以自动控制理论为 ...
- dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc
课程设计基于DAC0832单缓冲工作波形发生器.doc 成绩 课程论文 题 目:基于DAC0832单缓冲工作波形发生器 学生姓名: 学生学号: 系别:电子工程学院 专业:通信工程 年级:2014 任课 ...
- 工业机器人-基于伺服电机的PMSM控制系统硬件电路设计
第十章 基于单片机的PMSM控制系统硬件电路设计 10.1 硬件电路设计概述 在对腕关节的控制器的设计上,主要采用单片机作为主控制器,通过双电源为控制机和伺服电机进行供电,从而保障机械臂的正常使用.电 ...
- 基于单片机的直流电机控制系统设计
1.设计任务 基于单片机的直流电机控制系统设计 基本要求:利用单片机AT89C51设计直流电机控制系统,能对直流电机进行控制. 创新:能改变显示电机速度:能通过键盘操作改变电机的方向等. 任务区分:B ...
最新文章
- jsp servlet table 集合list 数据 绑定
- SQL Server 查询性能优化——覆盖索引(二)
- Node.js使用fs.renameSync报cross-device link not permitted错误
- oc调用rest api
- HDU3400+三分
- java中volatile的使用方式
- Service Mesh 高可用在企业级生产中的实践
- 数据结构与算法--实现Singleton模式
- java 堆转储快照_捕获Java堆转储的7个选项
- Linux安装MySQL的完整步骤并有关MySQL8.0版本的问题方法
- Visual Studio 2008中的jQuery Intellisense
- XML--可扩展标记语言
- Saying Good-bye to Cambridge Again --by Xu Zhimo
- ESP8266-01/01S配对阿里云生活物联网教程(超详细)
- Linux查看系统版本命令 linux学习教程
- sql常识- UNIQUE
- 在java中定义标示符_JAVA中定义标识符时可以使用系统保留的关键字。
- Unity开发 Photon Pun 多人游戏组件
- 美化 PowerShell
- 【名师大讲坛】叶俊受《金刚经》的启发创造“名非论”-火锅智烩节目组根据视频文字整理