单片机控制变频器多段速

wheatyilong 2010-04-01 12:19:30
小弟对变频器了解甚少,大概知道对变频器的多段速控制可采用变频器外接端子,如:

频率指令1 (30.30HZ) OFF OFF
频率指令2 (50.71HZ) ON OFF
频率指令3 (33.00HZ) OFF ON
频率指令4 (81.00HZ) ON ON

但是对单片机程序就不知道怎么下手 ,请各位赐教!!
...全文
471 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmjulytiger 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wheatyilong 的回复:]
各位大侠,两个光电开关感应到东西,继电器动作,如果其中一个感应到,继电器不动作, 这个程序改怎么写啊? 我试过 if(key1==0,key2==0)
ssr2=0;
else
ssr2=1;
但是这样的结果是 只要有一个感应到,继电器就动作。
[/Quote]

if((key1&&key2)==1)
ssr2=1;
else
ssr2=0;
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
各位大侠,两个光电开关感应到东西,继电器动作,如果其中一个感应到,继电器不动作, 这个程序改怎么写啊? 我试过 if(key1==0,key2==0)
ssr2=0;
else
ssr2=1;
但是这样的结果是 只要有一个感应到,继电器就动作。
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
楼上方法 可行!
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
27楼大侠: xmjulytiger 真的好感谢你!!
我马上试下
xmjulytiger 2010-04-04
  • 打赏
  • 举报
回复
P1=0xff;
p3=0xff;

if(P3==0xef)
p1=0xfe;
else
if(p3==0xcf)
p1=0xfd;
else
if(p3==0xdf)
p1=0xfc;
else
if(p3==0x9f)
p1=0xfb;
xmjulytiger 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 wheatyilong 的回复:]
sbit ssr1=P1^0;
sbit ssr2=P1^1;
sbit ssr3=P1^2;

sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
[/Quote]

假设P1和P3其他的口都不接别的东西了。

P1=0xff;
p3=0xff;

if(P3==0xef)
p1=0xfe;
else
if(p3==0xcf)
p1=0xfd;
else
if(p3==0x6f)
p1=0xfc;
else
if(p3==0x9f)
p1=0xfb;
大致是这个思路,用switch也行。进制转换你检查一下。


wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
sbit ssr1=P1^0;
sbit ssr2=P1^1;
sbit ssr3=P1^2;

sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
xmjulytiger 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wheatyilong 的回复:]
是这样的:共有固态继电器、光电开关各4个。 理论上:
第一 感应到第1个光电开关,SSR1动作
第二 感应到第1个与第2个开关,SSR2动作 且SSR1断开不动作
(按照楼上大侠的方法,能满足第二点,不能满足第一点)
第三 感应到第2个光电开关,SSR1、SST2都动作
第四 感应到第2个与第3个开关,SSR3动作 且SSR1、2都不动作
[/Quote]

把开关和继电器接的端口号列出来,用组合逻辑的方式做简单些。
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
19楼的大侠方法也可以实现!谢谢!
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
是这样的:共有固态继电器、光电开关各4个。 理论上:
第一 感应到第1个光电开关,SSR1动作
第二 感应到第1个与第2个开关,SSR2动作 且SSR1断开不动作
(按照楼上大侠的方法,能满足第二点,不能满足第一点)
第三 感应到第2个光电开关,SSR1、SST2都动作
第四 感应到第2个与第3个开关,SSR3动作 且SSR1、2都不动作
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xmjulytiger 的回复:]
引用 17 楼 wheatyilong 的回复:
引用 16 楼 xmjulytiger 的回复:
引用 15 楼 wheatyilong 的回复:
各位大侠,两个光电开关感应到东西,继电器动作,如果其中一个感应到,继电器不动作, 这个程序改怎么写啊? 我试过 if(key1==0,key2==0)
ssr2=0;
else
ssr2=1;
但是这样的结果是 只要有一个感应到,继电器……
[/Quote]
楼上的果真厉害! 按照你后来的方法可行!! 不过又碰到一个新的问题
yangminghua6 2010-04-04
  • 打赏
  • 举报
回复
可以这样写:if(key1==0&&key2==0)
ssr2=0;
else
ssr2=1;
xmjulytiger 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wheatyilong 的回复:]
引用 16 楼 xmjulytiger 的回复:
引用 15 楼 wheatyilong 的回复:
各位大侠,两个光电开关感应到东西,继电器动作,如果其中一个感应到,继电器不动作, 这个程序改怎么写啊? 我试过 if(key1==0,key2==0)
ssr2=0;
else
ssr2=1;
但是这样的结果是 只要有一个感应到,继电器就动作。


if((key1&amp……
[/Quote]

是吗?你的端口定义是什么?我假设感应到为“1”,继电器动作是“ssr2=1”。是不是反了?

假如感应到为“0”,继电器动作是“ssr2=0", 程序应该是:
if((key1|key2)==0)
ssr2=0;
else
ssr2=1;



wheatyilong 2010-04-04
  • 打赏
  • 举报
回复

if((key1&&key2)==1)
ssr2=1;
else……


好像有问题
wheatyilong 2010-04-04
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 xmjulytiger 的回复:]
引用 15 楼 wheatyilong 的回复:
各位大侠,两个光电开关感应到东西,继电器动作,如果其中一个感应到,继电器不动作, 这个程序改怎么写啊? 我试过 if(key1==0,key2==0)
ssr2=0;
else
ssr2=1;
但是这样的结果是 只要有一个感应到,继电器就动作。


if((key1&&key2)==1)
ssr2=1;
else……
[/Quote]
谢谢楼上的,可是你我按照你的方法,结果是只要我感应到其中一个,继电器就动作了。我要的是2个同时感应到才动作,缺1个就不动作
xmjulytiger 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wheatyilong 的回复:]
引用 11 楼 xmjulytiger 的回复:
引用 9 楼 wheatyilong 的回复:
引用 8 楼 yangminghua6 的回复:
最简单就是控制变频器的几个端子的ON/OFF,用单片机写个简单的程序控制继电器的通断就OK.

是否可以直接用单片机控制变频器端子的开关?不要继电器?


肯定得用继电器。可以考虑用固态继电器。

我也是这么打算的,如果一定要用继电……
[/Quote]

得看人家设备里用的是什么型号的单片机?什么品牌型号的变频器?端子是什么结构?
eagle109 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wheatyilong 的回复:]

引用 5 楼 eagle109 的回复:
可以通过485通信控制
你说的没错,还可以通过RS232通讯控制,但是这个可不是对于我一个初学单片机的小弟能搞定的,还是利用变频器的外接端子比较简单一些
[/Quote]

串口通信控制不是你想象中的那么难,而且控制更加灵活,更加强大
为了后面的一些应用,就当是学习一下嘛

直接控制端子的方法没有用过
你多看看手册,应该可以搞定
wheatyilong 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xmjulytiger 的回复:]
引用 9 楼 wheatyilong 的回复:
引用 8 楼 yangminghua6 的回复:
最简单就是控制变频器的几个端子的ON/OFF,用单片机写个简单的程序控制继电器的通断就OK.

是否可以直接用单片机控制变频器端子的开关?不要继电器?


肯定得用继电器。可以考虑用固态继电器。
[/Quote]
我也是这么打算的,如果一定要用继电器那么固态继电器是首选,只是我见过日本的一台设备只是通过单片机
控制变频器端子的OFF\ON 真的奇怪,单片机怎么可以实现呢?
xmjulytiger 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wheatyilong 的回复:]
引用 8 楼 yangminghua6 的回复:
最简单就是控制变频器的几个端子的ON/OFF,用单片机写个简单的程序控制继电器的通断就OK.

是否可以直接用单片机控制变频器端子的开关?不要继电器?
[/Quote]

肯定得用继电器。可以考虑用固态继电器。
yangminghua6 2010-04-02
  • 打赏
  • 举报
回复
最简单就是控制变频器的几个端子的ON/OFF,用单片机写个简单的程序控制继电器的通断就OK.
加载更多回复(9)

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧