西西河

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

共:💬79 🌺62 新:
分页树展主题 · 全看
/ 6
下页 末页
  • 家园 新人本科毕业设计求助,每复必花

    小生自去年年底下河以来,一直默默送花。今有一难事,让小生寝食难安,望西西河各路大侠能行侠仗义,助一臂之力。小生每复必花,聊表谢意。

    课题:

    实验室原有Trinamic公司的QSH4218步进式电机三个,由单片机控制。现要求改为由电脑直接控制,并借助C语言向三个电机分别下达命令。

    我必须设计并实际组装连接电脑和电机的驱动电路,编写相应的C语言程序,完成调试。

    难点:

    1,时间紧。我如果想赶上Master期末的考试注册,最迟1月底要完成,而我还在打工……

    2,导师不提供具体意见。只有在我提出实际的想法和详细描述时,他才会指出是否符合实际要求。如果简单告诉他“我不知道”、“我不会”等,只会打发我自己去查资料。

    3,基础差。有些相关课程,虽然国内大三大四开设,但这边是归为Master课程。简单地说,有些东西,我确实不会……

    请求:

    我会向大家及时汇报我的进展,并提出疑问,希望诸位西西河大侠们能在闲暇时解答一二,或是指出资料查找方向。

    当前进展和图示说明:

      此课题已经开始了三个星期,经过和导师的交流及资料查找,大致可以确定一下内容:

    点看全图

    点看全图

      图1-1即为系统示意图,电脑通过驱动电路和步进式电机连接。图中虚线内“驱动电路部分”是我所需要设计重点。

      电脑和驱动电路通过78 pol.的接口连接,驱动电路和电机通过25 pol.的接口连接。在按下“紧急停止键”后,能立即停止电机的运动。电路的核心是74LS240芯片(也是我痛苦的根源……)。“取样-保持”电路用来控制电机的电源,要求满足图1-2。和“取样-保持”电路连接的电机电源控制设计已有。

      我的解决思路是:先只考虑一个控制一个电机的电路设计。在驱动电路上,先不考虑驱动电路和外部的连接,不考虑“紧急停止键”,集中完成LS740和取样-保持电路的内部连接。

    当前困惑:

    1,虽然查看了74LS240一些相关资料,由于我个人基础比较差,对其引脚功能还不太理解。不知道哪里有实例或是哪位大侠愿意简述一下?

    2,取样-保持芯片用google搜出了好多种,请问当如何选择?

    烦请大诸位侠指点一二,每复必花。

    (如有叙述不清的地方,请指出)

    关键词(Tags): #毕业设计
    • 家园 汇报一下

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

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

      点看全图

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

      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

      点看全图

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

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

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

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

        我的理解,

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

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

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

      • 家园 关于触发器

        很遗憾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的下降沿跳变。这样才与原图吻合。

    • 家园 先汇报接口,再汇报波形图和面包板。

      一,接口

      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比较一下,理解异或门的作用。

        三.面包板

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

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


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

Copyright © cchere 西西河