用一个舵机,和一个超声波,用单片机制作的程序设计的苹果垃圾桶桶。舵机在垃

关于用板子上51单片机控制sg90舵机的问题 - 51单片机 -
单片机爱好者-DOFLY(德飞莱)技术支持论坛(www.doflye.net) 单片机|开发板|实验板|编程器|机器人|ARM|智能控制|模块|mcu fans - Powered by Discuz!
帖子10&主题1&精华0&积分70&威望11 &金钱43 &贡献1 &注册时间&
关于用板子上51单片机控制sg90舵机的问题
想请教一下大家,我用的舵机SG90,给它脉宽2ms,周期20ms的PWM信号,舵机没反应,电源给的是5V,不知道什么原因。有脉冲波但是电机死活不动。。只有嗡嗡的声音。。。接的是P0口有上拉电阻 。是不是因为51单片机IO口不能直接来驱动舵机?
帖子1349&主题356&精华12&积分17459&威望2036 &金钱12652 &贡献711 &来自徐州&注册时间&
CPU type& && && &: AT89S51
Clock frequency : 11.0592 MHz
------------ Connection ------------------
P2.0 =& SERVO MOT
------------------------------------------
*********************************************************/
#include &reg51.h&
void delay(unsigned int t)
unsigned int i;
for(i=<font color="#; i&t; i++);
void delay_ms(unsigned int t)
unsigned int i, j;
for(i=<font color="#; i&t; i++)
for(j=<font color="#; j&<font color="#0; j++);
void main(void)
& & while(<font color="#)
& && &&&P2 = 0x01;
& && &&&delay(<font color="#5); //Delay 1.5msec
& && &&&P2 = 0x00;
& && &&&delay_ms(<font color="#); //Delay 20msec
帖子1349&主题356&精华12&积分17459&威望2036 &金钱12652 &贡献711 &来自徐州&注册时间&
试试上面这个
帖子10&主题1&精华0&积分70&威望11 &金钱43 &贡献1 &注册时间&
刚才试了,如果信号是P2^0,舵机没有动静。如果把信号换成P0^1,舵机会出现嗡嗡的声音,但还是不转。
帖子10&主题1&精华0&积分70&威望11 &金钱43 &贡献1 &注册时间&
舵机通电瞬间会动一下。如果把舵机的信号端去接触别的IO口,接触瞬间,舵机也会旋转。
帖子1349&主题356&精华12&积分17459&威望2036 &金钱12652 &贡献711 &来自徐州&注册时间&
这个程序控制舵机转动到中间,即0度,然后停在这个地方。
[通过 QQ、MSN 分享给朋友]查看: 6402|回复: 20
用单片机和舵机做的机器狗(全部资料)
9克舵机两个,
车条两根,
M8单片机一块,
洞洞板一块,
手机电池一块,
充电插座一个,
10K复位电阻一根,
复位开关一个,
ISP插针一个(可选)
用10K电阻、复位开关、手机电池和充电插座组成M8最小系统,M8使用内部一兆时钟。
M8第15脚接前腿舵机数据线,16脚接后腿舵机数据线。
两个舵机和M8可以共用手机电池。每个舵机供电口最好并10uf电容。
固件见附件,M8熔丝用出厂默认设置就可以。
fc4024FRGSyrMyyFVb.jpg (34.57 KB, 下载次数: 92)
17:07 上传
17:07 上传
点击文件名下载附件
2.21 KB, 下载次数: 2146
下次做个机器猫吧
巧妙!舵级把两对腿一扭一扭的。
呵呵 很有意思
不错&&会走路吗?
第二个帖子里有优酷视频。
目前是五种步态(前进、后退、静默、左转、右转),因为ADC部分还没调整好,左右转和后退还不能实时调用。
有套件吗?
提示: 作者被禁止或删除 内容自动屏蔽
趋光的是模拟计算机架构的。这个是数字的,最低级的数控,比较简单。
这么简单的东西,两个舵机,淘宝上30多块。再加上单片机和小零件,不到一顿饭钱。
最难的步骤是弯车条,需要反复调整,机器才能走得稳。刚做出来的时候,跨一步就倒了
想请教你一下
你好,我是刚开始学单片机的 想请教你一下&&舵机耗电大 你是怎么做到用 手机电池供电的?
我用的9克微型舵机。一块3.7V 850ma手机电池给两个舵机和单片机供电。单片机用0.1uf电容、舵机用10uf电容做电源退偶,防止互相干扰。充满电可以跑很久。
下一步计划做一个小型EMP。我要看看它被电子脉冲摧残后能不能自我重启。
楼主应该和diy“吴老X”的那位联系一下,弯车条就不会成为问题了。
下次做个激光鸟!
微信:caoyin513
Powered by您处在的位置: >
> >帮忙写一个单片机控制直流电机和舵机的程序
帮忙写一个单片机控制直流电机和舵机的程序
帮忙写一个单片机控制直流电机和舵机的程序
#include&reg52.h& //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#define KeyPort P3#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换sbit LATCH1=P2^2;//定义锁存使能端口 段锁存sbit LATCH2=P2^3;//
位锁存sbit DCOUT1 = P1^1;//定义信号输出端口1sbit DCOUT2 = P1^2;//定义信号输出端口2unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char TempData[8]; //存储显示值的全局变量/*------------------------------------------------
函数声明------------------------------------------------*/void DelayUs2x(unsigned char t);//us级延时函数声明 void DelayMs(unsigned char t); //ms级延时void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数unsigned char KeyScan(void);//键盘扫描void Init_Timer0(void);//定时器初始化/*------------------------------------------------
主函数------------------------------------------------*/void main (void){
Init_Timer0();
//初始化定时器0,主要用于数码管动态扫描TempData[0]=0x5E; //&#39;d&#39;TempData[1]=0x39; //&#39;C&#39;TempData[2]=0x06; //&#39;1&#39;TempData[5]=0x5E; //&#39;d&#39;TempData[6]=0x39; //&#39;C&#39;TempData[7]=0x5b; //&#39;2&#39;while (1)
{num=KeyScan();
//循环调用按键扫描 switch(num)
//电机1改变运行状态,数码管显示运行状态 case 1:DCOUT1=!DCOUT1;
TempData[0]=0x5E; //&#39;d&#39;TempData[1]=0x39; //&#39;C&#39;TempData[2]=0x06; //&#39;1&#39;if(DCOUT1)
{TempData[5]=0x3F; //&#39;O&#39;TempData[6]=0x54; //&#39;n&#39;TempData[7]=0;
{TempData[5]=0x3F; //&#39;O&#39;TempData[6]=0x71; //&#39;F&#39;TempData[7]=0x71; //&#39;F&#39;
}//电机2改变运行状态,数码管显示运行状态 case 2:DCOUT2=!DCOUT2;
TempData[0]=0x5E; //&#39;d&#39;TempData[1]=0x39; //&#39;C&#39;TempData[2]=0x5B; //&#39;2&#39;if(DCOUT2)
{TempData[5]=0x3F; //&#39;O&#39;TempData[6]=0x54; //&#39;n&#39;TempData[7]=0;
{TempData[5]=0x3F; //&#39;O&#39;TempData[6]=0x71; //&#39;F&#39;TempData[7]=0x71; //&#39;F&#39;
}}/*------------------------------------------------ uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS ------------------------------------------------*/void DelayUs2x(unsigned char t){
while(--t);}/*------------------------------------------------ mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/void DelayMs(unsigned char t){
while(t--) {
//大致延时1mS
DelayUs2x(245);DelayUs2x(245); }}/*------------------------------------------------ 显示函数,用于动态扫描数码管 输入参数 FirstBit 表示需要显示的第一位,如赋值2表 示从第三个数码管开始显示,如输入0表示从第一个显示。 Num表示需要显示的位数,如需要显示99两位数值则该值 输入2------------------------------------------------*/void Display(unsigned char FirstBit,unsigned char Num){
static unsigned char i=0;DataPort=0;
//清空数据,防止有交替重影
DataPort=dofly_WeiMa[i+FirstBit]; //取位码
DataPort=TempData[i]; //取显示数据,段码
if(i==Num)
i=0;}/*------------------------------------------------
定时器初始化子程序------------------------------------------------*/void Init_Timer0(void){ TMOD |= 0x01;
//使用模式1,16位定时器,使用&|&符号可以在使用多个定时器时不受影响
//TH0=0x00;
//给定初值 //TL0=0x00; EA=1;
//总中断打开 ET0=1;
//定时器中断打开 TR0=1;
//定时器开关打开}/*------------------------------------------------
定时器中断子程序------------------------------------------------*/void Timer0_isr(void) interrupt 1 { TH0=()/256;
//重新赋值 2ms TL0=()%256;
Display(0,8);
// 调用数码管扫描}追问电机和舵机都可以控制是吗。按键键位是多少啊我小白不懂回答舵机可以选择摇晃角度,普通很难..追问你能帮我把两个程序整和一下吗?一个控制舵机的!一个通过L298N控制电机的!提问者评价谢谢!评论|天河雷诺|四级采纳率54%擅长:编程语言其他类似问题控制舵机程序-14新手控制舵机,编写了一段51程序做测试,但是舵机只是动...-03如何用控制舵机的?舵机的驱动是怎样的?有没有卖的?...个按键控制两个舵机的单片机程序单片机控制程序6更多相关问题&&网友都在找:单片机 舵机程序舵机控制程序通过按钮控制舵机陀螺仪按默认排序|按时间排序其他1条回答 20:|三级其实就是基本的数学公式
上一篇: ---------下一篇:
此篇《帮忙写一个单片机控制直流电机和舵机的程序》来源于济南科亚电子(),转载请保留此信息 谢谢
Contact us
+ Tel:7(业务咨询)
+ Tel:7(业务咨询)
+ Fax:8(传真)
+ Tel: (驱动器技术支持)
+ Tel: (驱动器技术支持)
+ Tel: (伺服电机技术支持)
+ Add:中国山东省济南市天桥区梓东大道一号(齐鲁科技城66号楼)
+ E-Mail:
搜索:机电、传动设备、驱动器、直流串励电机驱动器
copyright (C)2015 济南科亚电子科技有限公司., All Rights Reserved. 鲁ICP备0000000号还没有帐号? 赶紧
用户版块帖子
单片机跟舵机的接线是这样吗?
UID:1300973
在线时间461小时
M币2262专家3
请问单片机跟舵机的接线是这样吗?要外置5V供电?
谁能写个简单的PWM波控制舵机的程序我看下呢····
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:856730
在线时间1121小时
M币2385专家7
一般灰色或者黑色为GND,红色或者橙色为VCC,黄色为PWM控制信号,,,,如果舵机和单片机分开供电,需要共地,就是把两个电源的GND链接一起,
UID:856730
在线时间1121小时
M币2385专家7
你的单片机电路的复位部分呢?楼主留言:没有做~~
UID:1300973
在线时间461小时
M币2262专家3
回 2楼(xdy5211314) 的帖子
是不是要将单片机的V5 和地 让外置供电来担当USB转TTL只负责RXD和TXD
UID:805500
在线时间4331小时
M币12195专家72
回 3楼(anb510769) 的帖子
用USB对单片机供电也行。
UID:1300973
在线时间461小时
M币2262专家3
回 4楼(benli) 的帖子
我现在用充电器给单片机和舵机供电但是程序不知道怎么写~还有舵机的信号线应该接单片机的中断脚还是PWM脚呢~~
UID:1025142
在线时间297小时
M币4118专家3
PWM 信号,其他是GND VCC 没那么难吧楼主留言:谢谢~~
UID:1064933
在线时间577小时
M币3167专家2
很像杜洋老师的面包板的制作方法, 控制舵机不太困难, 网上资料很多, 加油.
UID:1025142
在线时间297小时
M币4118专家3
用51控制PWM 不是不可以,只是太占资源,用类似AVR,MSP430这些都有硬件PWM就不同了.51的PWM就是中断翻电平..
UID:780620
在线时间379小时
M币583专家3
这样吧&&我告诉你 你自己去写程序&&&&你这个舵机使模拟的 pwm频率为50HZ&&&&脉宽控制在1MS-2MS之间 也就是说脉宽1ms时转到左边&&2ms时转到右边&&1.5ms时在中间&& 很简单
访问内容超出本站范围,不能确定是否安全
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
您目前还是游客,请
&回复后跳转到最后一页
Code by , Time now is:11-12 16:46,
Gzip enabled&

我要回帖

更多关于 舵机超声波避障代码 的文章

 

随机推荐