|
发表于 14-8-2006 09:46 AM
|
显示全部楼层
原帖由 fritlizt 于 13-8-2006 11:00 PM 发表
根据前辈讲的。。。大概是这样, 才会isolate掉noise对吗??
请多多指点, 哈。。谢谢。
很报歉的说,你画的电路的隔离(Isolation)功能= 0%。(没有isolated ground,没有isolated power )
电路直接用Relay控制好了, 不用搞opto-coupler。0.1uF也不需要 (因为是Output), 在这个应用来说。
这些都不重要, 你要知道是什么原因促使你的PIC MCU reset, 你才能对症下药。
三种 reset 重置:
1。Brownout reset
2。Power Up reset
3。MCLR reset。
你没很详细的讲是什么情况下reset,用什么电源, code怎样写,电路怎样接, 所以这里我不建议什么。 |
|
|
|
|
|
|
|
发表于 14-8-2006 09:51 AM
|
显示全部楼层
原帖由 南极星 于 14-8-2006 12:25 AM 发表
PIC 还不够好。 使用更精准的MCU吧,比如 motorola 68 HC11 或 ARM, ATMEL etc....
呵呵。。。是什么让你觉得PIC MCU 还不够好,不够精准呢?你听说的?老师说的?或亲身体验? 你这样说会可能会让人误会PIC MCU 不好哦。。。
告诉大家, Microchip PIC 在全世界的MCU销售市场排名第二,第一名是Motorola,Atmel 好像是第4,5名以外。(Atmel的排名可能有错, 我会查证。) |
|
|
|
|
|
|
|
发表于 14-8-2006 11:56 AM
|
显示全部楼层
原帖由 pic 于 14-8-2006 09:46 AM 发表
很报歉的说,你画的电路的隔离(Isolation)功能= 0%。(没有isolated ground,没有isolated power )
电路直接用Relay控制好了, 不用搞opto-coupler。0.1uF也不需要 (因为是Output), 在这个应用来说。
...
嗯。。。。。这里我是用pic来画, 哈。。。因为觉得都是一样的吧。。不过看起来case是不一样的。。
我现在用的是at89s51.我之前就只是用relay来控制24vmotor., 不过时常都会有reset问题. 电路就像我画的一样,只是没有optoisolator,还有input那边没有0.1uF的cap.
我就怀疑是relay那边有noise,就用optoisolator来控制relay,然后再用relay来控制24v motor.然后还是有问题。 过后我就连power 都seperate了, 问题减少了, 不过还是有reset问题。。。
at89s51本身只有一个reset,就是master reset.到现在我都还不动是什么问题。+_+ |
|
|
|
|
|
|
|
发表于 14-8-2006 11:59 AM
|
显示全部楼层
原帖由 pic 于 14-8-2006 09:46 AM 发表
很报歉的说,你画的电路的隔离(Isolation)功能= 0%。(没有isolated ground,没有isolated power )
电路直接用Relay控制好了, 不用搞opto-coupler。0.1uF也不需要 (因为是Output), 在这个应用来说。
...
有时候, 基于电路设计上的limitation,我不能seperate power.只能用一个power source, , 就是说mcu ground到最后还是会和motor的ground common 那我要怎样才能避免这个问题呢〉?? |
|
|
|
|
|
|
|
发表于 14-8-2006 12:08 PM
|
显示全部楼层
原帖由 pic 于 14-8-2006 09:51 AM 发表
呵呵。。。是什么让你觉得PIC MCU 还不够好,不够精准呢?你听说的?老师说的?或亲身体验? 你这样说会可能会让人误会PIC MCU 不好哦。。。
告诉大家, Microchip PIC 在全世界的MCU销售市场排名第二, ...
对。我老师说的。 他说虽然很多人用pic,但是多人用的未必是最好的。在用于military这领域上,必需用很precise的MCU, 比如我所说过的。 |
|
|
|
|
|
|
|
发表于 14-8-2006 04:42 PM
|
显示全部楼层
原帖由 南极星 于 14-8-2006 12:08 PM 发表
对。我老师说的。 他说虽然很多人用pic,但是多人用的未必是最好的。在用于military这领域上,必需用很precise的MCU, 比如我所说过的。
呵呵。。。早在几年前的话,我是会同意你老师说的, 但是。。。你的老师可能要update一下了。。。
迷思:
所谓Military (军用),用的其实是一样的晶片(silicon),只是测试很严格, full test, Hi temperature (150degC), low temperature (-40degC), 较高和低的输入/工作电压,如能一一通过测试,pass 了, 就可以Mark成军用 (Military Application)。
商用的, 0~80degC, 工业用 -40degC~ 125degC。
像fritlizt 的问题,用任何的MCU都可以,Atmel也没问题,问题只是他的外围电路没有作好。
就算他用最precise的MCU,还是有问题的。好像开车技术不好的人, 开多么精良的汽车还是会出事的。 |
|
|
|
|
|
|
|
发表于 14-8-2006 04:46 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 14-8-2006 06:41 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 16-8-2006 10:35 AM
|
显示全部楼层
原帖由 fritlizt 于 13-8-2006 10:34 PM 发表
不太懂。。。
为什么呢??
opto 都已经isolate io pins和motor driver那边了。。为何noise还会flow back 呢??
fritlizt,
inductive noise = 磁场干扰
你用的 motor 是 DC motor。 DC motor 的构造有个 brush 接到 rotor armature coil。 当 motor 旋转时, brush 及 armature coil 的电路以高速 断 接 断 接 断 接,而在电路断时产生非常强的 electromagnetic noise, 从而干扰 MCU 的操作。
如果不信,把 DC motor 移到距离 MCU 5 meter 以上, 就发现 MCU 没那么多干扰了。
请问, motor 及 MCU 距离多远?
建议:
1。 circuit 里的 motor +/- 脚 没有 ceramic capacitor。 加一个 100nF~220nF 的 ceramic capacitor 在 motor +/- 脚会有很大的帮助。
2。 motor 如果不必 reverse direction, 那么,就加一个 diode (free-wheeling)在 motor 脚, 正如你在 relay 12V coil 加的 diode。
3。 MCU 没有用到的 I/O pin, 全接到 gnd。
4。 加 pull-up resisotr 在所有 有用到的 input/output pin。
5。 把所有 MCU 及 其他 component circuit 接到一个 ground plane。 (叫 GND1)
6。 把所有 power circuit(如 reply,motor) 接到第二个 ground。 (叫 GND2)
7。 用 ferrite beed 接 GND1 及 GND2。 (一条电线穿过 ferrite beed)
其中1,2,3,4 非常重要。
*这是我在我 final year project 里的一些经验。希望能帮到你。
(我将没有 internet 至 24/08, 有什么可以帮忙的也要等到25/08) |
|
|
|
|
|
|
|
发表于 16-8-2006 11:02 AM
|
显示全部楼层
原帖由 GeMan 于 16-8-2006 10:35 AM 发表
fritlizt,
inductive noise = 磁场干扰
你用的 motor 是 DC motor。 DC motor 的构造有个 brush 接到 rotor armature coil。 当 motor 旋转时, brush 及 armature coil 的电路以高速 断 接 断 接 断 ...
99% 赞成你的观点。
如果不信,把 DC motor 移到距离 MCU 5 meter 以上, 就发现 MCU 没那么多干扰了。
不一定, 我的遥控直升机(电动),Motor离MCU 只有几寸, 小小的motor, 拉4~5Amp的电 (12V)也没问题。
磁场干扰, 只是间接的问题。
[ 本帖最后由 pic 于 16-8-2006 11:16 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 16-8-2006 12:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 16-8-2006 01:08 PM
|
显示全部楼层
原帖由 GeMan 于 16-8-2006 10:35 AM 发表
建议:
1。 circuit 里的 motor +/- 脚 没有 ceramic capacitor。 加一个 100nF~220nF 的 ceramic capacitor 在 motor +/- 脚会有很大的帮助。
2。 motor 如果不必 reverse direction, 那么,就加一个 diode (free-wheeling)在 motor 脚, 正如你在 relay 12V coil 加的 diode。
3。 MCU 没有用到的 I/O pin, 全接到 gnd。
4。 加 pull-up resisotr 在所有 有用到的 input/output pin。
5。 把所有 MCU 及 其他 component circuit 接到一个 ground plane。 (叫 GND1)
6。 把所有 power circuit(如 reply,motor) 接到第二个 ground。 (叫 GND2)
7。 用 接 GND1 及 GND2。 (一条电线穿过 ferrite beed)
谢谢指导。。我去试试看。还有, 请问,为什么要加pull up resistor在有用到的io??
对了, 什么是ferrite beed??
我的motor离mcu大概是4-5inchs |
|
|
|
|
|
|
|
发表于 16-8-2006 01:09 PM
|
显示全部楼层
原帖由 pic 于 16-8-2006 12:01 PM 发表
3粒cap会更好,Motor + 去 motor 金属壳, Motor - 去 motor 金属壳, Motor + 和 motor - 。
http ...
那三个cemaric cap都有接。。。不过dioe就没有, 因为要bidirectional. |
|
|
|
|
|
|
|
发表于 16-8-2006 01:10 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 16-8-2006 02:28 PM
|
显示全部楼层
原帖由 fritlizt 于 16-8-2006 01:08 PM 发表
谢谢指导。。我去试试看。还有, 请问,为什么要加pull up resistor在有用到的io??
对了, 什么是ferrite beed??
我的motor离mcu大概是4-5inchs
--为什么要加pull up resistor在有用到的io??
##因为 electromagnetic noise (也就是 electromagnetic wave = radio frequency wave) 会经过空间 (不是电路), 干扰所有 close-loop circuit , 产生/形成 inductive current。 pull-up resistor 可以消耗大部分的 inductive current。
我以前的 final year project 要做一艘船, 4 个 12V DC motor。 MCU 距离 motor 3~5寸。 起初 MCU 一直 reset,后来加了以上的 modification 就没问题了。
final note: 很肯定 program code 没问题? |
|
|
|
|
|
|
|
发表于 16-8-2006 02:32 PM
|
显示全部楼层
pic ,
你也有 rc heli ?
我到现在还不控制 rc heli 飞。 |
|
|
|
|
|
|
|
发表于 16-8-2006 04:47 PM
|
显示全部楼层
原帖由 GeMan 于 16-8-2006 02:28 PM 发表
--为什么要加pull up resistor在有用到的io??
##因为 electromagnetic noise (也就是 electromagnetic wave = radio frequency wave) 会经过空间 (不是电路), 干扰所有 close-loop circuit , ...
谢谢解答。
en.....program肯定没问题。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|