西西河

主题:新人本科毕业设计求助,每复必花 -- 每周虎

共:💬79 🌺62
全看树展主题 · 分页首页 上页
/ 6
下页 末页
家园 先汇报接口,再汇报波形图和面包板。

一,接口

ME-1400 的Port A 为输出,Port B 和Port C 为输入。 25针接口对照,并简单阅读了原单片机C语言程序后,我的理解是:我只要从ME-1400的 Port A 中任选出7个针口,从 Port B 和 Port C 中任选出12个针口,然后和25针接口的输入输出针口对应连接即可。至于每个针口输出什么信号,是在程序中设定的。

不知道这个理解是否正确?

二,新画的波形图

希望这次是对的(如果又错了,麻烦指点一下该怎么改)。

点看全图

三,面包板

周二就做了,回来想想“无PP无真相”,周三又跑去用手机补了几张照片。周四周五导师不在,拿不到信号发生器……

点看全图点看全图

面包板上部为异或门74LS86,下部为D触发器74LS74

点看全图

点看全图

两个信号发生器和一个示波器

点看全图

点看全图

下面两张图中,第一张图的黄线为D,蓝线为Input 2;第二张图的黄线为CLK,蓝线为Q 。 这两张图在示波器上取值区间不同,不能直接对应着看。(您要看Input 2 和 CLK 同时显示的图?万分惭愧,我当时忘了……

点看全图

点看全图

这第二张图和理想的波形图差别也太大了,谁能给解释下?是不是我有啥做错的地方?

家园 嗨,表情放松一点嘛

一.接口

理解正确。你可以把输入输出连接的对应关系放在程序的开头或者你自己的头文件中,这样比较清晰,便于日后维护。

二.新画的波形图

完全正确。现在你可以把图中D、Input 2以及Q的波形同你起始帖的图1-2比较一下,理解异或门的作用。

三.面包板

你最后一张图的波形不好,会不会是你把示波器的输入打到交流档上了?看着像方波经过一个电容后的样子,幅值也不对。

家园 大侠

Q反馈到异或门是干嘛用的?

Q=1的时候对CLK取反,下降沿触发;Q=0的时候不变,上升沿触发。

不过,为什么这么处理?我觉得应该是双边沿触发。

家园 肯定是直流档

我下周二再去趟实验室,仔仔细细再测一遍。

大侠
家园 居然炸宝了……

惊喜:所有加你为好友的,在本帖先送花者得【通宝】一枚

鲜花已经成功送出。

此次送花为【有效送花赞扬,涨乐善、声望】

大侠
家园 从最开始的波性图中看不太清楚是否要双边沿触发

究竟设计的要求是什么,需要每周虎来澄清。

双边沿触发的电路要略微复杂一点。而且,实现双边沿触发一般要用微分电路,抗干扰能力也差些。

家园 我也晕乎了……

这D和Input2怎么连到ME-1400上去啊……

我周一去找导师仔仔细细问清楚……

弱弱地问一下,啥叫双沿触发?我google了一下,找不到名词解释……

家园 连法跟74LS240一样

都是TTL电平。

双边沿触发是指在Input 2的上升沿下降沿都给触发器信号,允许其翻转。而普通D触发器只有在CLK的上升沿才能动作。所以这么做的话也要在Input 2和CLK之间加电路。

家园 汇报一下

本来想着圣诞节好好努力的,结果一玩起来啥都忘了。惭愧惭愧……

先说要紧的,过节前和导师谈了一下,把触发器的两个输入给确定了下来。

点看全图

外链图片需谨慎,可能会被源头改

SUB D Port hex Verwendung

1 A 0 OUT 0x01 Steuerung aktiv (LED) (Input D)

14 A 1 OUT 0x02 Steuerrichtung Tr. 1

2 A 2 OUT 0x04 Steuerrichtung Tr. 2

15 A 3 OUT 0x08 Steuerrichtung Tr. 3

3 A 4 OUT 0x10 Steuertakt Trafo 1

16 A 5 OUT 0x20 Steuertakt Trafo 2

4 A 6 OUT 0x40 Steuertakt Trafo 3

17 A 7 OUT 0x80 nicht belegt (Input 2)

就是说,Input D由1号针脚输入,Input 2由17号针脚输入。

现在就要回过头来考虑能够能立即停止电机的运动的“紧急停止键”了。

Chaos大侠的建议是

看你设计图中74LS240和PCI接口之间有没有驱动电路?如果有,你可以查一下驱动电路的驱动电流,如果驱动电路的输入/吸入电流不大的话(比如说输 入5mA,吸入20mA),再考虑74LS240输入端的电流情况。很多时候,可以使用合适的电阻,直接把数据总线的电压提升或降低到所需要的电压。其实电路的输入/输出端是有内阻的,由最大输出/吸入电流以及对应的工作电压,可以估算出该电路端口的内阻。如果是开漏输出的话,阻抗还要考虑到电路外部电阻阻值。比如对于5V电压,PCI段输出为5mA,74LS240输入电流不计,可以计算得到,输出段的电阻约为1000欧姆。如果紧急停止建的控制逻辑需要 74LS240输入为0,假设74LS240的输入电压小于0.8V为逻辑0。那么可以用一个160欧姆的下拉电阻和开关串联接地,开关按下时,该数据总 线上的电压就会被下拉至0.8V以下。这时74LS240输入为0,达到目的。

沉宝大侠的建议是

“紧急停止键”似乎可以通过直接控制A0实现。

沉宝大侠能不能详细解释下?

诸位大人还有其他的想法和建议吗?

再说次要的,汇报下去年过节前的实验结果。

上次实验失败,根本原因是74系列芯片需要5V的驱动电压。于是这次补上了

点看全图

外链图片需谨慎,可能会被源头改

点看全图

外链图片需谨慎,可能会被源头改

黄线输入D触发器的D端,蓝线是输入异或门的Input2, Input2 和 Q异或后输入触发器的CLK。

点看全图

外链图片需谨慎,可能会被源头改

上图是用信号线将信号发生器和示波器直连的结果,用电线一连,就成了这德行……

点看全图

外链图片需谨慎,可能会被源头改

点看全图

外链图片需谨慎,可能会被源头改

这是Input2 和CLK同时显示的情况,怎么看都差了90度相位角嘛……

点看全图

外链图片需谨慎,可能会被源头改

这是最后结果,黄线是Q,蓝线是CLK

点看全图

外链图片需谨慎,可能会被源头改

和我想象的结果还是有很大差距,能不能帮我分析分析,说说实验改进方法?

家园 关于触发器

很遗憾ccthere的图片挂了,不过你自己应该有备份,所以不妨碍讨论。

现在我们还是针对你的始发帖的图1-2开始讨论。上次我跟[ 四方城 ] 的的分歧在于你所希望的输出是什么时候变低?是A)输入1变低后,输入2的第一个下降沿;还是B)输入1变低后,输入2的第一个跳变沿(上升沿或者下降沿,任一即可)。之所以有这个争论,是因为你的原图中输入1的下降沿正对着输入2的上升沿,无法判断谁前谁后。而你现在说

过节前和导师谈了一下,把触发器的两个输入给确定了下来。
,却贴上一张逻辑错误的图,所以还是没有解决问题。

关于“紧急停止键”。根据引脚功能说明,我推测A0是所有驱动电路盒的总始能(Enable)。就是说当A0变低时,不管其它引脚上还有什么信号,步进电机都得不到了,也就全都停了下来。这一点你可以通过实验验证。还是用原来的单片机控制步进电机运行,但把电缆中接A0的那一条线断开(这实验有点破坏性,所以你最好有备用电缆)。在断开处接入一个开关,开关的一个方向是A0像原来那样接通来自单片机输出,开关的另一个方向是A0接地。把开关打到单片机方向,步进电机应该正常运行。在步进电机运行中把开关打到接地方向,看三台步进电机是不是同时停止运转?如果是,我的推测正确,“紧急停止键”就可以按这个思路做。如果不是,再另想办法。

示波器波形不好,是不是接线的问题?从照片上看,你示波器探头的信号端是接了,地端可还悬在空中哪。

在德国用中文示波器

家园 老大,您误会了

导师要求的图在此

点看全图

外链图片需谨慎,可能会被源头改

是要求输入1下降后,输入2的上升沿跳变,您的指导是正确的。

我所说的“触发器的两个输入给确定了下来”,是指输入1由引脚1输入,输入2由引脚17输入。如下红字所示:

SUB D Port hex Verwendung

1 A 0 OUT 0x01 Steuerung aktiv (LED) (Input D)

14 A 1 OUT 0x02 Steuerrichtung Tr. 1

2 A 2 OUT 0x04 Steuerrichtung Tr. 2

15 A 3 OUT 0x08 Steuerrichtung Tr. 3

3 A 4 OUT 0x10 Steuertakt Trafo 1

16 A 5 OUT 0x20 Steuertakt Trafo 2

4 A 6 OUT 0x40 Steuertakt Trafo 3

17 A 7 OUT 0x80 nicht belegt (Input 2)

您所建议的实验,我明天去和导师讨论一下。我觉得这个思路是正确的。

另,那个示波器可以显示英法德简繁日六种文字……

家园 似有笔误

是要求输入1下降后,输入2的上升沿跳变,您的指导是正确的。

我想你要说的是:是要求输入1下降后,输出在输入2的下降沿跳变。这样才与原图吻合。

家园 忙中出错,上错图了……

反而加深误会了……

您再看

点看全图

外链图片需谨慎,可能会被源头改

西西河图库恢复后,我一定要把每张图认真检查一遍……

家园 如果是按照这个最新的图

那就更简单了。Input2直接接D触发器的CLK即可,异或门可以不要了。

家园 貌似你把这个简单东西搞得复杂了

貌似这个简单东西搞得复杂了?

我的理解,

1。你得PC上有一块6x16bit的并行TTL I/O卡,

2。你的步进电机其实是有数字信号驱动的?这个我不确定,看到你贴了一个接口的说明。。

如果我没理解错,你中间用1块或几块8255把控制线信号锁存下来,一边接PC I/O卡,一边接步进电机控制,不就好了?哪些什么极限位置的信号,也可以锁存进8255然后用PC I/O卡读进PC。

全看树展主题 · 分页首页 上页
/ 6
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河