51单片机TB6600驱动器与57BYGH255步进电机(二相)使用方法与程序.pdfVIP

51单片机TB6600驱动器与57BYGH255步进电机(二相)使用方法与程序.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单⽚机TB6600驱动器与57BYGH255 步进电机(⼆相)使⽤⽅法与程序 第⼀次写博客,很多地⽅不熟悉请见谅。 我⽬前在做⼀个项⽬,⾸先要解决的是⽤电机将某个东西吊起能使其上下移动。我选择⽤⼆相四线步进电机,⽤TB6600 去驱动,51单⽚机做控制器。TB660 0的使⽤⽅法我不细说,⽹上能找到⼿册,很简单,我在这⾥就说下接线和程序。本部分设计了五个开关,分别控制电机启动/暂停、正转、反转、加速和减速。 电机与驱动器:电机⿊线接TB6600 上的A+,绿线接A- ,红线接B+,蓝线接B-。单⽚机与驱动器:P1^0接PUL-,P1.1接ENA-,P1.2接DIR-,PUL+、ENA+、DIR +均接单⽚机5V或3.3V引脚。驱动器与直流电源:GND接电源负极,V 接电源正极。按键与单⽚机:⾃⼰设置各按键功能。 直流电源选择9~24V均可,别忘 了线都接好后需要给单⽚机供电。 按键开关需外接,可以⽤洞洞板焊⼀个。 ![整体效果图](/20190704160802175.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_ aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDkyMzA3NA==,size_16,color_FFFFFF,t_70) 以下为单⽚机程序: ò /³ÌÐ ¹¦ÄÜ** 1.¿ØÖƵç»úÍ£Ö¹ÓëÆô¶¯ 2.¿ØÖƵç»úÕý ·´×ª 3.¿ØÖƵç»úתËÙ 3.¿ØÖƵç»ú°´Ò»¶¨½Ç¶È²½½ø ************************************************/ #includereg52.h // µç»ú¿ØÖÆÒý½Å sbit CLK = P1^0; sbit ENA = P1^1; sbit DIR = P1^2; //° ´¼ü¿ØÖÆ¶Ë sbit P_TS = P2^0; //Õýת¿ØÖÆ¶Ë sbit N_TS = P2^1; //· ´×ª¿ØÖÆ¶Ë sbit P_ADJ = P2^2; //µ÷ËÙ+ sbit N_ADJ = P2^3; //µ÷ËÙ- sbit StopStart = P2^4; //Í£Ö¹ÓëÆô¶¯ sbit P_Step = P2^5; sbit N_Step = P2^6; sbit SS_Step = P2^7; unsigned int Tspeed={20,4000,10000}; // µ÷Ëٵȼ¶±í unsigned int StepAngle={100,200,400,800}; // ²½½ø½Ç¶È±í–90¶È/180 ¶È/360 ¶È/720 ¶È bit Run_Status=0; bit CY_status=0; unsigned int CYCLE=20; unsigned int cy_count=0; unsigned PWM_count=0; void Init_time(); void Key_scan(); void Step(unsigned int step_count); /*void delay() // ÑÓʱº¯Êý { unsigned int i = 200; while (i–); } / void main() { ENA=1; CLK=0; DIR=0; // ú ³õʼ»¯µç» Init_time(); // ¨ ± ÷ ³õʼ»¯¶ Ê Æ while(1) { Key_scan(); } } void Init_time() // ¨ ± ÷ ³õʼ»¯¶ Ê Æ { TMOD |= 0x01; TH0=(65536-CYCLE)/256; // time0×° ¸ø ³õÖµ TL0=(65536-CYCLE)%256; //TH1=(65536-2000)/256; //

文档评论(0)

139****1921 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档