首页 > 电路 > 集成电路 > 51单片机板里的直流电机的转速为多少,51单片机控制直流电机的转速

51单片机板里的直流电机的转速为多少,51单片机控制直流电机的转速

来源:整理 时间:2023-02-02 10:42:05 编辑:亚灵电子网 手机版

1,51单片机控制直流电机的转速

光有uln2003是不行的,它只是提供电流和功率 还需要控制驱动电路来控制转速,可以用分离原件(如H桥电路),也可以用集成芯片(可以自己上网查一下)又了这些变成就是小菜一碟了

51单片机控制直流电机的转速

2,51单片机转速表

用霍尔传感器采集转速,然后用单片机的某一个引脚老接收高低电平信号,可以根据两个相邻的相同的电平之间的时间来求出转动的频率,再用LED来显示,其实很简单。多注意思考,多动手,自己写程序,相信自己。
关键需要有一个转速传感器,程序就好写了基本上就是一个转速传感器驱动+led显示程序
这个很简单的,关键你要测什么,转速有多高,再决定方案,采用霍尔或编码器等等方案

51单片机转速表

3,51单片机系统中怎么测直流电机的转速方法有几种及各方法原理是什

最好最准的用外加式的红外或光电的方式.其它方式都没这二种准,就这二式又根据方式的不同再可分为反射式和遮光式.再要求再追问.
前天帮别人做了一个,还可以显示当前速度,和设置的速度,4x4键盘(16个按键),设置速度可直接输入,有正转,反转,启动,停止,和加速,减速功能http://hiphotos.baidu.com/dsu5566/pic/item/0219e4efcbfe1415adafd5ab.jpeg
1电源引出脉冲信号,放大整形,根据极数算出转数,可能电源要加个小电感。2用霍尔元件,在轴上置磁铁,测出转速3轴上涂一半反光,一半不反光涂料,发光管-光敏管接收,放大整形,不可强光干扰4轴上装扇叶,发光管-光敏管接收,放大整形,不可强光干扰5轴上装旋转编码器,不但知道转速,还可知道角度,方向

51单片机系统中怎么测直流电机的转速方法有几种及各方法原理是什

4,51单片机控制直流电机每秒1000转并有要求每秒要求控制正转反转

每秒一千转???那相当於每分钟六万转...什麼电机转速这麼快的??转速是以分钟来计算的,叫做RPM..如果你这是三相电机..一秒钟一千转,每一转需要六相也就是说每相的时间是六千分之一....霍尔元件会有脉冲输出..你可以将三个霍尔元件的输出脉冲用三输入或闸收集起来.去触发单片机的中断,你只需每秒计算中断次数,然後把次数除以3就知道每秒转速了...知道转速就可以显示在液晶上了
这是例程吗?1602背光调节下呢我用的是吴鉴鹰51单片机开发板,没出现过着种情况,你可以找他们技术支持问下,或者跳下背光,旁边有可调电阻的
你想要什么啊?
估计现在不会有人为了这些百度分,费这么大的力气给你弄的。想解决问题,还是到淘宝找找看吧。那里你要什么样的功能都会有人帮你弄了。而且很热情。 上海电控

5,用51单片机控制直流电动机并测量转速

我这个是用pwm+adc做的ADC EQU 35HCLOCK BIT P2.4 ;定义ADC0808时钟位ST BIT P2.5EOC BIT P2.6OE BIT P2.7PWM BIT P3.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0START: MOV TMOD,#02H ; MOV TH0,#20 MOV TL0,#00H MOV IE,#82H SETB TR0WAIT: CLR ST SETB ST CLR ST ;启动AD转换 JNB EOC,$ ;等待转换结束 SETB OE MOV ADC,P1 ;读取AD转换结果 CLR OE SETB PWM ;PWM输出 MOV A,ADC LCALL DELAY CLR PWM MOV A,#255 SUBB A,ADC LCALL DELAY SJMP WAITINT_T0: CPL CLOCK ;提供ADC0808时钟信号 RETIDELAY: MOV R6,#1D1: DJNZ R6,D1 DJNZ ACC,D1 RET END
单片机语言是啥意思。。。。。。。。您指的是汇编,,,,单片机是可以使用c语言写的!!!
LZ导师脑袋进水了,DAC0832控制电压,你电机还想转?浑蛋大学导师!而且你题目还说反了!DAC0832控制电压,再通过PWM类IC还有可能,

6,单片机直流电机转速测试

拿个圆盘,上面沿半径切一条缝,夹在一个红外收发器的凹槽中,红外收发模块的一端接地,一端接电阻接VCC,电阻和红外模块之间引一根线到单片机的外部中断P3.2或P3.3上。另一边,单片机一个IO口接光耦一半的正极,光耦的另一半的正极接VCC负极接直流电机再接地。直流电机转轴插在圆盘圆心,保证能带动圆盘转动而不打滑。编程思想如下:一个一秒定时器函数,一个外部中断函数,每中断一次计数一次。每当即时到时,计数器中的数就是转速 圈/S,然后清零。至于控制转速则是由IO口输出PWM(占空比变化的方波)控制电流大小,以控制转速。转速通过上面说的程序测得,然后与设定值进行比较,快了就降低占空比,慢了就增加占空比。程序由lilaozishiyan发到你邮箱,电路很简单就没画了,只有程序。
电机的转速的测量方法比较常见的就是在转轴上接一个码盘,就是一个圆盘,上边有一圈窗口,用一个光电开关判断小窗口的通过,码盘上的窗口数目是已知的,判断1s有多少个开关切换就知道转速,比如码盘上只有一个窗口,转一周这个窗口过一次光电门,1s中里你测到1000个开关切换,那转速就是1000,剩下的就是用测量频率的工作了,也可以在码盘上沾数片小磁铁,用霍尔元件判断通过磁铁的个数,原理是一样的。至于如何控制电机转速,没做过,不清楚
楼上真是的,明明图上写的是直流电机转速测试电路,你还要说成是调速的,这不捣乱吗,看不下去了图上左边是一个电压比较器,in9输入电压与vcc的3/13比较,高了输出端给vcc,低了给0。图右边是光耦形成的一个测速电路,码盘挡住光线时光耦输出高电平,74ls04非门反向,出低电平给单片机t0计数。电压比较器的作用我不太确定,可能是作为控制测速系统的开关,感觉有点多余。
用光遮断器...外加定时器,可以定时10秒或20秒,将得到的遮断次数乘以6或是3就能得到每分钟遮断的数字,就是你的RPM.
测量转速简单,装个码盘,或者霍尔。控制转速,无非就是控制PWM波了。但要看多精确的控制。有无减速齿轮等。网上说的都是PID什么的,其实那个很难搞的。

7,关于单片机控制直流电机转速的问题

这是PWM调速的程序,我调试通过了的(我知道二楼回答那个人是谁,是我们群群猪,O(∩_∩)O哈哈~,兔八哥)/****************************************************************************** * * *关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为1KHZ,这样定时中断次数 * *设定为C=10,即0.01MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为0.01ms,这样* *可以设定占空比可从1-100变化。即0.01ms*100=1ms * ******************************************************************************/ #include #define uchar unsigned char /***************************************************************************** * TH0和TL0是计数器0的高8位和低8位计数器,计算办法:TL0=(65536-C)%256; * * TH0=(65536-C)/256,其中C为所要计数的次数即多长时间产生一次中断;TMOD是计数器* * 工作模式选择,0X01表示选用模式1,它有16位计数器,最大计数脉冲为65536,最长时 * * 间为1ms*65536=65.536ms * ******************************************************************************/ #define V_TH0 0XFF #define V_TL0 0XF6 #define V_TMOD 0X01 void init_sys(void); /*系统初始化函数*/ void Delay5Ms(void); unsigned char ZKB1,ZKB2; void main (void) { init_sys(); /*初始化定时器*/ ZKB1=30; /*占空比初始值设定*/ ZKB2=70; /*占空比初始值设定*/ while(1) { if(!P1_4) /*如果按了+键,增加占空比*/ { Delay5Ms(); if(!P1_4) { ZKB1++; ZKB2=100-ZKB1; } } if(!P1_5) /*如果按了-键,减少占空比 */ { Delay5Ms(); if (!P1_5) { ZKB1--; ZKB2=100-ZKB1; } } /*对占空比值限定范围*/ if(ZKB1>99) ZKB1=1; if(ZKB1<1) ZKB1=99; } } /****************************************************** *函数功能:对系统进行初始化,包括定时器初始化和变量初始化*/ void init_sys(void) /*系统初始化函数*/ { /*定时器初始化*/ TMOD=V_TMOD; TH0=V_TH0; TL0=V_TL0; TR0=1;ET0=1;EA=1; } //延时 void Delay5Ms(void) { unsigned int TempCyc=1000; while(TempCyc--); } /*中断函数*/ void timer0(void) interrupt 1 using 2 { static uchar click=0; /*中断次数计数器变量*/ TH0=V_TH0; /*恢复定时器初始值*/ TL0=V_TL0; ++click; if(click>=100) click=0; /*时间小于等于100ms*/ if(click<=ZKB1) /*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/ P1_0=0; else P1_0=1; if(click<=ZKB2) P1_1=0; else P1_1=1; }
摘要 iabstract ii1 概述 11.1 课题研究背景及意义 11.2 直流电机控制现状及发展趋势 21.3 课题任务与研究内容 32 直流电机控制方案的确定 52.1 直流电动机调速方法的选择 52.2 调压调速方法的选择 72.3 pwm调速控制原理 102.4 驱动方式的选择 112.5 伺服系统控制方案的选择 133 控制系统matlab/simulink建模仿真 163.1 matlab动态仿真工具simulink简介 163.2 仿真参数计算 163.3 模型建立与仿真结果分析 184 系统硬件电路设计 274.1 系统硬件结构概述 274.2 主电路设计 274.3 tms320lf2407控制器 304.4 检测电路设计 324.5 ipm驱动控制电路设计 344.6 故障综合电路设计 354.7 dsp-pc机通信电路设计 365 系统软件设计 375.1 dsp软件开发工具ccs简介 375.2 软件设计概述 385.3 主程序 405.4 pwm波形输出程序 415.5 电枢电流检测程序 425.6 转速检测程序 425.7 dsp-pc通信程序 435.8 调节器程序 445.9 中断处理程序 46总结 47参考文献 48附录 50致 谢 51
用89S51单片机输出单纯的PWM的波来控制电压在24V和16V之间切换,说实话,比较难。我们可以使用另外一个方法来实现此控制目的。使用两个电压不同的电源,然后单片机的工作就是接受按键的输入,定时10秒后控制继电器对电机的电源进行切换。这样的话,不仅提高了电路的可靠性,而且程序也会变得很简单。
文章TAG:51单片机板里的直流电机的转速为多少单片机直流直流电机

最近更新