电子发烧友网 > 控制/MCU > 正文

PIC单片机对步进电机的控制设计

2018年12月05日 15:34 次阅读
pIC16f874步进电机程序 listp=16f874 include ;--==*[CONSTANTS]*==-- #defineCOMMAND_2’B’ #defineCOMMAND_3’C’ #defineCOMMAND_4’D’ ;--==*[VARIABLES]*==-- PIC单片机对步进电机的控制设计 cmdNumequ0x20;commandnumber.0xFFforinvalidcommand recByteequ0x21;receivedbyte motorLequ0x22;motordata-lowbyte motorHequ0x23;motordata-highbyte byteCntequ0x24;internalcounterforbytecountingduringrecepTIon TIckLequ0x25;TIcks:lowbyte TIckHequ0x26;ticks:highbyte result1Lequ0x27;result:thisoneisneededforstorageofticks result1Hequ0x28 winkelLequ0x29;winkel:tickcounterwithoutoverflowchecketc. winkelHequ0x30 quadequ0x31;quadraturesignal,fordirectionstorage oldbequ0x32;oldvalueofPORTB newbequ0x33;newvalueofPORTB tmr0o0equ0x34;tmr0overflowcounter0 tmr0o1equ0x35;tmr0overflowcounter1 wtemp1equ0x60;storagefortheWregister(rbif) wtemp2equ0x61;storagefortheWregister(CCp2if) wteMP3equ0x62;storagefortheWregister(rcif) wtemp4equ0x63;storagefortheWregister(usarterrorroutines) org0x00;--==*[RESETVECTOR]*==-- bmain org0x04;--==*[INTVECTOR]*==-- bint_handler org0x05;--==*[MAINPROGRAM]*==-- main: ;--==*[VARIABLES-initialize]*==-- MOVlw0xFF MOVwfcmdNum clrfmotorL clrfmotorH clrftickL clrftickH clrfresult1L clrfresult1H clrfwinkelL clrfwinkelH clrfquad clrfoldb clrfnewb clrftmr0o0 clrftmr0o1 ;--==*[PORTS-setupportB]*==-- clrfPORTB bsfSTATUS,RP0;PIN4and5asinput(photo-interruptersignals) MOVlwb’00110000’;pin1hastobeanoutput(directionsignal) MOVwfTRISB;allotherpinsareoutputs,too(default) bcfSTATUS,RP0 ;--==*[PORTS-setupportC]*==-- clrfPORTC bsfSTATUS,RP0 MOVlwb’11111011’;pin2asoutput(PWMsignal) MOVwfTRISC;pins6and7havetobeinputs(default) bcfSTATUS,RP0;allotherpinsareinputs,too(default) ;--==*[CCP1-setupPWMModule]*==-- bsfSTATUS,RP0 MOVlwd’249’;pwmperiod(calculatedwithformula) MOVwfPR2 bcfSTATUS,RP0;dutycycle=0 clrfCCPR1L;CCPR1Lisupper8(bit:9.。.2)bitsofdutycycle MOVlwb’00000101’;enabletimer2(bit:2)andsetprescaleof1:4(bit:0-1) MOVwfT2CON;timer2isimportantforpwmoperation! MOVlwb’00001111’;selectpwmmodeforccp1module(bit:0-3) MOVwfCCP1CON;andresetlowertwobitsofdutycycle(bit:4-5) ;--==*[USART-setup]*==-- bsfSTATUS,RP0 MOVlw0x40;configurebaudgeneratorregister(calculatedwithformula) MOVwfSPBRG;with:9600baud,noparity,8databits,nohandshake MOVlwb’00100100’;enabletrasmit(bit:5)andhighspeedbaudrate(bit:2) MOVwfTXSTA bcfSTATUS,RP0 MOVlwb’10010000’;enableserialport(bit:7)andcontinuousreception(bit:4) MOVwfRCSTA clrw;w=0 MOVwfRCREG;resetUARTreceiverandfifo MOVwfRCREG;soweCANavoidreceive/framing/overrunerrorsatthebeginning MOVwfRCREG MOVwfTXREG;justincase:thetxifflagisnowvalid(=1;avoidsinfiniteloopsinsendByte) ;--==*[TIMER0-setup]*==-- bsfSTATUS,RP0;thisistricky;prescalerhastobeassignedtotheWDT, ;incaseyouwanttoachieve1:1prescale bcfOPTION_REG,PS0;first,setprescalerto1:2 bcfOPTION_REG,PS1 bcfOPTION_REG,PS2 bsfOPTION_REG,PSA;then,assignprescalertowdt;nowwehavea1:1prescalefortimer0:-) bcfOPTION_REG,T0SE bcfOPTION_REG,T0CS bcfSTATUS,RP0 ;--==*[INTERRUPTS-setup]*==-- bsfSTATUS,RP0 clrfPIE1 bsfPIE1,RCIE;enable“receivebyte”interrupt bcfSTATUS,RP0 clrfINTCON;resetallinterruptflags bsfINTCON,RBIE;enable“interruptonchange”interrupt bsfINTCON,T0IE;enable“timer0overflow”interrupt bsfINTCON,PEIE;enableperipheralinterrupts bsfINTCON,GIE;enableglobalinterrupts ;--==*[MAINLOOP]*==-- loop: bloop ;--==*[sendByte-ROUTINE]*==-- sendByte:;sendbyte(whichisstoredinW) sendByte_l0:;waituntilnewdataarrivedintxreg btfssPIR1,TXIF;(inDICatedviatransmitinterruptflagbit:txif) bsendByte_l0 sendByte_l1: MOVwfTXREG;sendnewdata return ;--==*[INTERRUPTHANDLINGROUTINE]*==-- int_handler: btfscRCSTA,OERR;overflowerroroccured,handleit berr_Overflow btfscRCSTA,FERR;framingerroroccured,handleit berr_Frame btfscPIR1,RCIF;receiveinterrupt:rcif bint_USART_receive btfscINTCON,RBIF;pininterrupt:rbif bint_RB_change btfscINTCON,T0IF;tmr0interrupt:t0if bint_timer0_reset retfie int_RB_change: incftickL,1;incrementticks(lowbyte) btfscSTATUS,Z incftickH,1;incrementticksonoverflow(highbyte) incfwinkelL,1;sameastick,butwillnotbereset(eichungswert) btfscSTATUS,Z incfwinkelH,1 MOVwfwtemp1;saveW MOVfwPORTB MOVwfnewb;newb=PORTB MOVlwb’00110000’;andmask andwfoldb,1;resetallbitsexcept4and5 andwfnewb,1;resetallbitsexcept4and5 clrfquad;resetquadvalue clrw;oldb==00? subwfoldb,W bzo00 MOVlwb’00010000’;oldb==01? subwfoldb,W bzo01 MOVlwb’00100000’;oldb==10? subwfoldb,W bzo10 bo11;else,oldb==11 o00: MOVlwb’00010000’;newb==01? subwfnewb,W bnzquit bsfquad,7;left bquit o01: MOVlwb’00110000’;newb==11? subwfnewb,W bnzquit bsfquad,7;left bquit o10: clrw;newb==00? subwfnewb,W bnzquit bsfquad,7;left bquit o11: MOVlwb’00100000’;newb==10? subwfnewb,W bnzquit bsfquad,7;left quit: MOVfwPORTB MOVwfoldb;oldb=PORTB MOVfwwtemp1;restoreW bcfINTCON,RBIF;resetinterrupt(important) retfie int_timer0_reset: btfsctmr0o0,7;wait128overflows gotoa1 incftmr0o0,1 gotoa0 a1: btfsctmr0o1,6;wait64overflows gotoa4 incftmr0o1,1 gotoa0 a4: btfscPORTB,7;ashorthack,sowecanmeasuretheimpulses gotonext1;oftimer0withanoscillograph bsfPORTB,7;signalisonbit7ofportb gotomainl next1: bcfPORTB,7 mainl: MOVwfwtemp2;saveW MOVfwtickL;storeticksinresult1 MOVwfresult1L MOVfwtickH MOVwfresult1H MOVfwquad;andblendthedirectionbitonMSBofresult1 iorwfresult1H,1 clrftickH;cleartickcounter clrftickL clrftmr0o0;cleartimer0overflowcounters clrftmr0o1 MOVfwwtemp2;restoreW a0: bcfINTCON,T0IF;resetinterrupt(important) retfie int_USART_receive: MOVwfwtemp3;saveW MOVlwCOMMAND_3;command3active? subwfcmdNum,W bzgetData_command3;yes,handleit MOVfwRCREG;storereceivedbyte clrfRCREG;it’sagoodideatoflushthebuffer clrfRCREG;afterreceivingabyte,soit’s clrfRCREG;forcedthatwehaveanewbyteinthebufferinthenextstep MOVwfrecByte MOVlwCOMMAND_2;-executecommand2? subwfrecByte,W bzcommand2;yes,doit MOVlwCOMMAND_3;-executecommand3? subwfrecByte,W bzcommand3;yes,doit MOVlwCOMMAND_4;-executecommand4? subwfrecByte,W bzcommand4;yes,doit commandUnknown:;else,receivedbyteisunknown bsfPORTB,0;showerroronLEDs MOVfwwtemp3;restoreW retfie ;--==*[COMMANDEXEC-transmitmotordataindebugmode]*==-- command2: MOVfwresult1H callsendByte MOVfwresult1L callsendByte MOVfwwinkelH callsendByte MOVfwwinkelL callsendByte MOVfwwtemp3;restoreW retfie ;--==*[COMMANDINIT-setupforreceivemotordata(part1/2)]*==-- command3:;command3 MOVlwCOMMAND_3 MOVwfcmdNum;cmdNumcontainsnowthecurrentcommandvalue MOVlw.2 MOVwfbyteCnt;wewantexactly2bytesfromthepc MOVfwwtemp3;restoreW retfie ;--==*[COMMANDEXEC-receivemotordata(part2/2)]*==-- getData_command3: decfbyteCnt,1;handlebytecounter bzc3_b2;ifbytecounteris0thenitisthe2ndbyte MOVfwRCREG;else,1stbytereceive MOVwfmotorL;storeinmotorL bouthere;andexit c3_b2: MOVfwRCREG;2ndbytereceive MOVwfmotorH;storeinmotorH MOVlw0xFF;resetcmdNumtoundefinedvalue(0xFF) MOVwfcmdNum ;reconfigurePWM MOVfwmotorH MOVwfCCPR1L;storehighbyte(8;bits9-2) bcfCCP1CON,CCP1Y btfscmotorL,0;storelowbyte(2;bits0) bsfCCP1CON,CCP1Y bcfCCP1CON,CCP1X btfscmotorL,1;storelowbyte(2;bits1) bsfCCP1CON,CCP1X btfssmotorL,2;motorL《2》bitissignificantformotordirection bturn_left bsfPORTB,1;turnmotorright bouthere turn_left: bcfPORTB,1;turnmotorleft outhere: MOVfwwtemp3;restoreW retfie ;--==*[COMMANDEXEC-transmitmotordata]*==-- command4: MOVfwresult1H;transmithighbyte callsendByte MOVfwresult1L;transmitlowbyte callsendByte MOVfwwtemp3;restoreW retfie ;--==*[ERRORHANDLING-fortheserialcommunication]*==-- err_Overflow:;handleoverflowerror MOVwfwtemp4;saveW bsfPORTB,7;showerroronleds(10) bcfPORTB,6 bcfRCSTA,CREN;dISAblecontinuousreception MOVfRCREG,W;flushreceivefifobuffer(3bytesdeep) MOVfRCREG,W MOVfRCREG,W bsfRCSTA,CREN;reenablecontinuousreception MOVfwwtemp4;restoreW retfie err_Frame:;handleframeerror MOVwfwtemp4;saveW bcfPORTB,7;showerroronleds(01) bsfPORTB,6 MOVfRCREG,W;flushreceivefifobuffer(3bytesdeep) MOVfRCREG,W MOVfRCREG,W MOVfwwtemp4;restoreW retfie end

技术专区

下载发烧友APP
打造属于您的人脉电子圈
关注电子发烧友微信
有趣有料的资讯及技术干货
关注发烧友课堂
锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

PIC单片机虚拟串行通信设计

本实例完全建立在计算机软件的基础上,利用PROTEUS软件构建一个单片机系统,利用VB编写一个计算机...
发表于 2018-12-05 15:20 7次阅读
PIC单片机虚拟串行通信设计

为什么PIC单片机的另一个为外部中断进不去

但是,打开另外一个中断时,为了模块化编程,一般另外建一个函数进行外部中断初始化,然而如果采用寄存器字...
发表于 2018-12-04 14:40 41次阅读
为什么PIC单片机的另一个为外部中断进不去

改变脉冲频率控制步进电机,有时会发生错误200301?

发表于 2018-12-03 22:31 36次阅读
改变脉冲频率控制步进电机,有时会发生错误200301?

TB67S128FTG 128高细分步进电机驱动器电路图和PCB

发表于 2018-12-03 15:35 93次阅读
TB67S128FTG 128高细分步进电机驱动器电路图和PCB

基于飞思卡尔微型热敏打印机的设计与实现

发表于 2018-12-03 15:30 18次阅读
基于飞思卡尔微型热敏打印机的设计与实现

PIC单片机对电风扇送出仿自然风的设计

Rx接于PIC16F84 单片机 的RB0~RB7口;RA0口为启动信号输入口,当A键按下时,自然风...
发表于 2018-12-03 14:21 59次阅读
PIC单片机对电风扇送出仿自然风的设计

请问PIC16F88和PIC16F877可以通过串口RS232下载程序吗

发表于 2018-11-30 22:11 35次阅读
请问PIC16F88和PIC16F877可以通过串口RS232下载程序吗

AVR单片机有什么特性可用于哪些领域

AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取...
发表于 2018-11-30 16:12 71次阅读
AVR单片机有什么特性可用于哪些领域

PIC单片机对清洁护理机的设计

系统硬件包括电源模块设计、PIC单片机主控板电路设计、按键设计、LCD显示设计、传感器/变送器电路设...
发表于 2018-11-30 15:46 106次阅读
PIC单片机对清洁护理机的设计

请问在哪里能找到PIC16F88单片机最小系统电路原理图呢?

发表于 2018-11-29 21:36 122次阅读
请问在哪里能找到PIC16F88单片机最小系统电路原理图呢?

请问利用NI采集卡输出有限的脉冲个数控制步进电机,如何实时改变输出频率?

发表于 2018-11-29 21:20 55次阅读
请问利用NI采集卡输出有限的脉冲个数控制步进电机,如何实时改变输出频率?

PIC单片机对摩托车防盗报警器的设计

KEY_STATUSEQU0X10;低半字节为按键标志,高半字节为控制标志 SIGNAL_LO...
发表于 2018-11-29 16:45 63次阅读
PIC单片机对摩托车防盗报警器的设计

PIC单片机低功耗系统的设计

有许多技术可以降低系统的功耗,最常用的是Sleep模式。程序执行一条SLEEP指令,便进入了休眠(S...
发表于 2018-11-29 16:38 76次阅读
PIC单片机低功耗系统的设计

如何采用单片机实现数码管循环显示0-9

8个数码管滚动显示同一个数字 8个数码管显示多个不同的字符 8个数码管闪烁显示 8...
发表于 2018-11-29 16:22 133次阅读
如何采用单片机实现数码管循环显示0-9

用单片机控制H桥控制步进电机

发表于 2018-11-29 00:42 103次阅读
用单片机控制H桥控制步进电机

AT89S52单片机对混合式步进电机的控制设计

控制系统的设计分为两大部分:硬件部分和软件部分。硬件部分的设计包括脉冲发生模块、电流放大模块、液晶显...
发表于 2018-11-28 16:30 84次阅读
AT89S52单片机对混合式步进电机的控制设计

PIC系列单片机到底有什么优势

根据程序存储方式的不同,单片机可分为EPROM、OTP(一次可编程)、QTP(掩膜)三种。我国一开始...
发表于 2018-11-28 16:14 72次阅读
PIC系列单片机到底有什么优势

PIC单片机对9346EEPROM数据的读写

实验目的:熟悉SPI总线以及9346EEPROM的读写 ;RBO键按下时把DATA和DATA2...
发表于 2018-11-27 16:24 62次阅读
PIC单片机对9346EEPROM数据的读写

PIC单片机的离合器励磁控制

发表于 2018-11-27 16:16 108次阅读
PIC单片机的离合器励磁控制

PIC16F630单片机对流水灯的测试

#include __CONFIG(0x31b4); //看门狗关;内部RC振荡,RA4...
发表于 2018-11-27 16:11 73次阅读
PIC16F630单片机对流水灯的测试

锂电池稳定充电,怎样设计比较好?

发表于 2018-11-27 14:04 157次阅读
锂电池稳定充电,怎样设计比较好?

直流电机和步进电机的区别

步进电机其实是一种特殊的直流无刷电机,需要直流电驱动,需要驱动器换相,但由于运动特点和直流无刷电机相...
发表于 2018-11-26 17:39 642次阅读
直流电机和步进电机的区别

步进电机原理(三)

发表于 2018-11-26 16:58 29次阅读
步进电机原理(三)

步进电机怎么选型

步进电机的保持转矩,近似于传统电机所称的“功率”。当然,有着本质的区别。步进电动机的物理结构,完全不...
发表于 2018-11-26 16:29 301次阅读
步进电机怎么选型

基于pic单片机测温程序分享

page1macro bsfSTATUS,RP0;page1 endm page0...
发表于 2018-11-26 15:15 73次阅读
基于pic单片机测温程序分享

采用可编程控制器实现步进电机驱动的控制设计

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只...
发表于 2018-11-24 08:05 176次阅读
采用可编程控制器实现步进电机驱动的控制设计

如何使用PIC单片机扩展8255A并口

#include __CONFIG(0x3B31); #defineA0RB0 #...
发表于 2018-11-23 15:51 69次阅读
如何使用PIC单片机扩展8255A并口

六款常用单片机的比较

EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O...
发表于 2018-11-23 15:25 223次阅读
六款常用单片机的比较

PIC单片机对数码管的动态扫描显示设计

init();//调用初始化函数 PORTD=TABLE[0];//D口输出数据表格第1个数据...
发表于 2018-11-22 15:49 95次阅读
PIC单片机对数码管的动态扫描显示设计

单片机对28BYJ-48步进电机的控制设计

如果要使用电机的话,需要把4个跳线帽都调到跳线组的左侧(开发板上的实际位置),即左侧针和中间针连通(...
发表于 2018-11-22 15:46 82次阅读
单片机对28BYJ-48步进电机的控制设计

PIC18F8490单片机可用于连接LCD段驱动...

4×4小键盘的典型数字接口使用8个数字I/O引脚。但使用8个引脚作为数字I/O会占用可用于连接LCD...
发表于 2018-11-22 15:32 52次阅读
PIC18F8490单片机可用于连接LCD段驱动...

PIC单片机的程序编写和空间分配时应注意哪些问题

控制部分采用PICl6F7X系列单片机,运用汇编语言编程,运行速度较快,能够达到系统的要求。在这里使...
发表于 2018-11-20 15:10 62次阅读
PIC单片机的程序编写和空间分配时应注意哪些问题

什么是PIC单片机又有何应用

PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决...
发表于 2018-11-16 15:35 114次阅读
什么是PIC单片机又有何应用

C51单片机对五线四相八拍步进电机的控制设计

本试验板设有四个按键,其功能分别为“启动/停止”“正转/反转”“速度-”“速度+”。 定义P2...
发表于 2018-11-15 16:44 223次阅读
C51单片机对五线四相八拍步进电机的控制设计

PIC单片机的程序设计经验分享

1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 O...
发表于 2018-11-15 15:54 98次阅读
PIC单片机的程序设计经验分享

如何利用PIC单片机实现计时秒表功能

//该源程序已在实验板上调试通过,读者可直接引用,并可利用软件编程的灵活性,加以拓展,实现更为复杂的...
发表于 2018-11-12 15:26 223次阅读
如何利用PIC单片机实现计时秒表功能

PIC单片机用于上位机数据采集的设计

C++程序设计语言可以很好地实现面向对象的编程思想,采用C++编写上位机程序,可以将每一个功能模块封...
发表于 2018-11-09 15:50 109次阅读
PIC单片机用于上位机数据采集的设计

PIC单片机的配置字用CONFIG命令的定义

有些PIC单片机支持用外部编程器对内部的EEPROM进行编程。 __EEPROM_DATA()...
发表于 2018-11-09 15:26 136次阅读
PIC单片机的配置字用CONFIG命令的定义

浅析伺服电机的原理、分类及与步进电机的区别

伺服电动机也可以叫做执行电动机,是自动控制系统中的执行元件,其工作是把收到的电信号转换成电动机轴上的...
发表于 2018-11-09 14:20 534次阅读
浅析伺服电机的原理、分类及与步进电机的区别

基于PIC单片机直流电压表的汇编程序分享

定义用户寄存器 WEI1EQUH’0C’;BIT0=MODS:选择模式位0:模式11:模式2 ...
发表于 2018-11-08 16:34 85次阅读
基于PIC单片机直流电压表的汇编程序分享

PIC单片机中预分频器的作用

1、从RTCC到WDT的改变 MOVLW B‘XX0X0XXX’ ;选择内部时钟和新的预分频值 ...
发表于 2018-11-08 16:14 124次阅读
PIC单片机中预分频器的作用

基于PIC单片机从24C02中读取数据到数码管显...

该试验功能是单片机复位一次,自动从24C02中读取数据到数码管显示,然后对值加1再写入24C02,最...
发表于 2018-11-07 16:06 90次阅读
基于PIC单片机从24C02中读取数据到数码管显...

PIC单片机选用存储体0或1的方法

PIC单片机中级产品PIC16C6X的数据存储器通常分为两个存储体,即存储体0(Bank0)和存储体...
发表于 2018-11-06 15:50 88次阅读
PIC单片机选用存储体0或1的方法

PIC16F87X单片机的定时器/计数器的应用

定时器/计数器TMR0是3个同类模块中最常用的器件,与定时器/计数器TMR0相关的寄存器共有4个,分...
发表于 2018-11-06 15:26 104次阅读
PIC16F87X单片机的定时器/计数器的应用

运动控制领域综合制造商鸣志发力高端自动化设备

鸣志的混合式步进电机、步进电机驱动器、集成式步进伺服控制技术在全球处于前列水平。50%以上步进电机产...
发表于 2018-11-06 10:20 985次阅读
运动控制领域综合制造商鸣志发力高端自动化设备

基于PIC12C508 DTMF拔号程序编写分享

pIC12C508 DTMF拔号程序 ;|Name:MAIN.ASM| ;|Descri...
发表于 2018-11-01 15:57 103次阅读
基于PIC12C508 DTMF拔号程序编写分享

基于PIC单片机控制温度传感器测温的设计

//实验目的: //熟悉使用单片机运用DS18B20温度传感器测试温度,并用1602显示屏显示...
发表于 2018-11-01 15:50 209次阅读
基于PIC单片机控制温度传感器测温的设计

PIC单片机的基本编程汇总,初学者必看

STATUS EQU03H;特殊功能寄存器定义 TRISD EQU88H;特殊功能寄存器定义 ...
发表于 2018-10-31 16:44 182次阅读
PIC单片机的基本编程汇总,初学者必看

PIC单片机如何实现单按键输入LED灯点亮

IO输出和输入 /* 按键连接RB1,点亮LED,PORTA RA0控制输出。按一次点亮...
发表于 2018-10-31 16:38 220次阅读
PIC单片机如何实现单按键输入LED灯点亮

基于PIC16F630的I/O口对流水灯的控制

//看门狗关;内部RC振荡,RA4/RA5做I/O,MCLR脚做复位 //----------...
发表于 2018-10-30 16:00 184次阅读
基于PIC16F630的I/O口对流水灯的控制

基于PIC单片机和LCD模块对电流的驱动

LCD模块实际上就是一个模拟多路开关,它交替地将LCD电压连接到各个段和公共引脚(段电极和公共电极交...
发表于 2018-10-30 15:39 67次阅读
基于PIC单片机和LCD模块对电流的驱动

基于PIC单片机对SC1621摇控器的控制

;*APPLICATION NOTE E6000 ICEXPLORER **************...
发表于 2018-10-29 15:29 74次阅读
基于PIC单片机对SC1621摇控器的控制

基于PIC单片机对全功能步进电机的控制设计

//适合3ePIC实验板。 #include //包含单片机内部资源预定义 #inclu...
发表于 2018-10-26 15:07 219次阅读
基于PIC单片机对全功能步进电机的控制设计

PIC单片机抗静电处理解决方案

PIC单片机有计算功能和记忆内存像CPU并由软件控制运行。然而,处理能力—般,存储器容量也很有限,这...
发表于 2018-10-25 15:40 122次阅读
PIC单片机抗静电处理解决方案

PIC单片机中断执行的步骤及过程

系统初始化的时候会打开总中断控制位(GIE),打开某个中断控制位,如果是外围中断还要打开外围中断控制...
发表于 2018-10-22 15:04 211次阅读
PIC单片机中断执行的步骤及过程

简介郭天祥及人物经历

郭天祥1983年出生于新疆伊宁,曾就读于哈尔滨工程大学,后接触单片机,已成为单片机领域的知名人士。名...
发表于 2018-10-19 08:32 285次阅读
简介郭天祥及人物经历

PIC单片机开发的经验、技巧总结分享

具体做法是在闲置的一个I/O脚(如RB1)和OSC1管脚之间跨接一电阻(R1),如图1所示。低速状态...
发表于 2018-10-16 16:46 201次阅读
PIC单片机开发的经验、技巧总结分享

一则有关Starbucks Latte和Trin...

,从美学角度来说,没有人想要一台简单地将咖啡倒在杯子里,把另一半咖啡留在滴水盘里的咖啡机。就像机器本...
发表于 2018-10-16 13:52 296次阅读
一则有关Starbucks Latte和Trin...

基于PIC16F877A单片机的数控电流源设计

本设计采用开关电源,以达到输出范围和精度以及纹波的要求。根据系统要求,采用D/A转换后,接运算放大器...
发表于 2018-10-15 17:18 109次阅读
基于PIC16F877A单片机的数控电流源设计

雷赛控制卡与步进驱动器如何连接

请确保DMC5480运动控制卡已经插入到你的计算机插槽中,安装好驱动程序,Motion5480演示软...
发表于 2018-10-10 15:34 794次阅读
雷赛控制卡与步进驱动器如何连接

雷赛步进电机失步的原因 浅谈雷赛步进电机性能特点

转子的平均速度高于定子磁场的平均旋转速度,这时定子通电励磁的时间较长,大于转子步进一步所需的时间,则...
发表于 2018-10-10 15:25 684次阅读
雷赛步进电机失步的原因 浅谈雷赛步进电机性能特点

雷赛步进电机M542的接线图详解

步进电机应用于低速场合---每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000...
发表于 2018-10-10 15:17 3275次阅读
雷赛步进电机M542的接线图详解

雷赛步进电机驱动器接线常见问题分析

当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。
发表于 2018-10-10 15:09 873次阅读
雷赛步进电机驱动器接线常见问题分析

智能步进电机 -没有比这更容易的了

与所有PANdrives一样,新产品将最新的电机控制技术与易用性和快速实施相结合。PD-1076系列...
发表于 2018-10-10 10:44 1813次阅读
智能步进电机 -没有比这更容易的了

大功率步进电机的完美电流控制

TMC2160是一款采用步进/ 方向接口和SPI的多功能高压栅极驱动器。它能够在从NEMA23到NE...
发表于 2018-10-10 10:40 1395次阅读
大功率步进电机的完美电流控制

基于PIC18F6585型单片机的智能型漏电继电...

漏电继电器的CPU中采用了PIC18F6585芯片,漏电信号的检测由零序电流互感器来完成,它可将检测...
发表于 2018-09-29 16:20 128次阅读
基于PIC18F6585型单片机的智能型漏电继电...

美国微芯科技推出PIC16F946 PIC®单片...

PIC16F946 LCD PIC单片机采用纳瓦技术,符合业界对低功耗设计的要求,可在待机状态下驱动...
发表于 2018-09-27 16:02 150次阅读
美国微芯科技推出PIC16F946 PIC®单片...

美国微芯科技推出首款可驱动192段LCD的80引...

Microchip LCD PIC单片机系列配备程序闪存,功耗低,并具有LCD控制功能。与市场上同类...
发表于 2018-09-27 15:44 123次阅读
美国微芯科技推出首款可驱动192段LCD的80引...

直流电机优点和缺点有哪些

直流电动机 是将直流电能转换为机械能的电动机。因其良好的调速性能而在电力拖动中得到广泛应用。直流电动...
发表于 2018-09-26 09:07 1013次阅读
直流电机优点和缺点有哪些

步进驱动器接线图

步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机...
发表于 2018-09-18 18:05 2755次阅读
步进驱动器接线图