CN206075121U - 一种伺服器 - Google Patents
一种伺服器 Download PDFInfo
- Publication number
- CN206075121U CN206075121U CN201620686559.9U CN201620686559U CN206075121U CN 206075121 U CN206075121 U CN 206075121U CN 201620686559 U CN201620686559 U CN 201620686559U CN 206075121 U CN206075121 U CN 206075121U
- Authority
- CN
- China
- Prior art keywords
- servomechanism
- port
- steering wheel
- switch
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003780 insertion Methods 0.000 claims description 39
- 230000037431 insertion Effects 0.000 claims description 39
- 230000009471 action Effects 0.000 abstract description 11
- 230000008859 change Effects 0.000 abstract description 6
- 238000000034 method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Landscapes
- Control By Computers (AREA)
Abstract
为解决现有伺服器上输入端口和输出端口若接反时,将导致伺服器无法实现自动改ID,伺服器无法按照正确的设定逻辑动作的问题。本实用新型提供了一种伺服器,包括舵机MCU、第一端口和第二端口;所述第一端口和所述第二端口之间通过总线连接,所述总线同时连接到所述舵机MCU;其中,所述第一端口和所述第二端口之间的总线上设有所述第一舵机开关和第二舵机开关;所述第一舵机开关与第一端口之间设有第一插入线连接至所述舵机MCU,所述第二舵机开关与第二开口之间设有第二插入线连接至所述舵机MCU。本实用新型提供的伺服器,使得其组装更简单,伺服器不会出现由于装反而导致无法按照正确的设定逻辑动作的情况。
Description
技术领域
本实用新型涉及伺服器控制系统领域,尤其指伺服器和控制该伺服器的主控制器。
背景技术
目前,机器人已越来越多的应用在日常生活和娱乐,其一般包括主控制器和若干伺服器(或称伺服马达或舵机)。通过各伺服器来实现机器人各关节的运动。现有一般通过一个主控制器控制若干伺服器。
各伺服马达通过总线串接或并联接在主控制器的若干接口上;主控制器通过总线向伺服器发送控制讯号。各伺服马达和主控制器之间通过一组线(包括电源线(VDD)、接地线(GND)和信号线)连接到主控制器上。在主控制器内部、伺服器内部和主控制器和伺服器之间也连接有该信号线,以实现主控制器和伺服器的通讯。
目前,作为较优的方式,该信号线为多重伺服马达控制总线(英文全称:MultipleServo Motor Control Bus,英文简写:MSMCB)。主控制器通过MSMCB与伺服器通讯,主控制器下命令给伺服器,伺服器也可将讯号回传给主控制器,主控制器可以得知伺服器的状态,包括位置,是否过电流等。
目前,通过该MSMCB,可以将多个伺服器接在主控制器的一个接口上,由于各伺服器共享MSMCB,因此,每个伺服器需要设定ID(身份标识号或账号或唯一编码的简写),才能在主控制器发送指令时用以分辨所要沟通的对象伺服器。该伺服器中设有存储器(如EEPROM(英文全称:Electrically Erasable Programmable Read-Only Memory,中文全称:电可擦可编程只读存储器))来存储各伺服器的ID。
目前,现有伺服器上一般均设有2端口,其中一个端口为输入端口,另一个端口为输出端口,各伺服器的输入端口通过总线接到主控制器上或者前一伺服器的输出端上。如此,以实现将各伺服器串接在主控制器一个接口上的目的。由于伺服器的个数为多个,因此,需要防止伺服器的ID出现重复的现象,此前的方式是在组装前预先设置好各伺服器的ID,且将各伺服器按照正确的位置设定,更换任意伺服器,或者使得任意伺服器的ID出现偏差,都将使得总个机器人无法按照正确的设定逻辑动作。
为解决上述技术问题,已有方案对伺服器做了改进,在伺服器内部两端口之间的MSMCB上增加了一开关。通过开关的通断控制,可以在开机时预设各开关为断路,然后通过主控制器对接在其上的第一个伺服器设定其ID,完成第一个伺服器的ID设定后,即将第一个伺服器内的开关导通,使该下一个串接的伺服器(第二个伺服器)可以接受来自主控制器的讯号。然后完成第二个伺服器的ID设定即开关导通,如此重复上述步骤,依序完成各伺服器的ID设定。其可在开机时,自动完成各伺服器的ID设定,省去组装和维修时人为设定ID的困扰。
然而,该种方式虽然可实现伺服器自动改ID,但伺服器组装时仍然比较麻烦,其必须预先搞清楚伺服器上输入端口和输出端口,防止其接反。否则可能会出现逻辑错误,导致伺服器无法实现自动改ID,其伺服器仍然无法按照正确的设定逻辑动作。
实用新型内容
为解决现有伺服器上输入端口和输出端口若接反时,将导致伺服器无法实现自动改ID,伺服器无法按照正确的设定逻辑动作的问题。本实用新型提供了一种伺服器。
本实用新型提供了一种伺服器,包括舵机MCU、第一端口和第二端口;所述第一端口和所述第二端口之间通过总线连接,所述总线同时连接到所述舵机MCU;
其中,所述第一端口和所述第二端口之间的总线上设有所述第一舵机开关和第二舵机开关;所述第一舵机开关连接于所述第一端口和所述舵机MCU之间,该第一舵机开关控制所述第一端口的通断;所述第二舵机开关连接于所述第二端口和所述舵机MCU之间,该第二舵机开关控制所述第二端口的通断;
所述第一舵机开关与第一端口之间设有第一插入线连接至所述舵机MCU,所述第二舵机开关与第二开口之间设有第二插入线连接至所述舵机MCU。
进一步地,所述第一舵机开关的控制端和第二舵机开关的控制端均连接至所述舵机MCU。
进一步地,所述伺服器内还设有存储ID的存储器。
进一步地,所述存储器为EEPROM、缓存器或者FLASH。
进一步地,所述总线为多重伺服马达控制总线。
本实用新型提供的伺服器,在其内两端口之间的总线上增加了两个舵机开关,并在舵机开关与端口之间设置插入线连接到舵机MCU。如此,在将伺服器连接到主控制器上形成伺服器控制系统时,无需考虑两个端口的输入输出关系,可以随意组装;组装完成后,通过插入线来检测信号,以分别哪个是输入端口、哪个是输出端口。如此,使得其组装更简单,伺服器不会出现由于装反而导致无法按照正确的设定逻辑动作的情况。根据需要,本例提供的伺服器也可以通过对两个开关的通断控制,其可以通过逐个将伺服器接入网络的方式,逐个将伺服器顺序设定ID,以防止出现重复ID,省去组装和维修时人为设定ID的困扰。
附图说明
图1是本实用新型具体实施方式中第一实施例中提供的伺服器内部电路原理示意图;
图2是本实用新型具体实施方式中第二实施例中提供的一种主控制器内部电路原理示意图;
图3是本实用新型具体实施方式中第二实施例中提供的另一种主控制器内部电路原理示意图;
图4是本实用新型具体实施方式中第三实施例中提供的伺服器控制系统原理示意图;
图5是本实用新型具体实施方式中第四实施例中提供的伺服器ID设定流程图;
图6是本实用新型具体实施方式中第五实施例中提供的伺服器ID设定流程图;
图7是本实用新型具体实施方式中第六实施例中提供的步骤S201具体步骤流程图;
图8是本实用新型具体实施方式中第七实施例中提供的伺服器ID设定流程图;
图9是本实用新型具体实施方式中提供的第八实施例中主控制器广播的流程图;
图10是本实用新型具体实施方式中提供的第八实施例伺服器内部的流程图。
其中,1、伺服器;2、主控制器;11、第一端口;12、第二端口;13、舵机MCU;14、第一插入线;15、第二插入线;k1、第一舵机开关;k2、第二舵机开关;20、主控MCU;21、第一接口;22、第二接口;23、第三接口;24、第四接口;25、第五接口;2a、第一主控开关;2b、第二主控开关;2c、第三主控开关;2d、第四主控开关;2e、第五主控开关;1a、第一伺服器;1b、第二伺服器;1c、第三伺服器;1n、第n伺服器;L1、总线;
具体实施方式
为了使本实用新型所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本实用新型进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本实用新型,并不用于限定本实用新型。
下面通过第一实施例对本实用新型公开的伺服器1进行具体解释说明。伺服器1又称伺服马达或舵机;该伺服器1的具体机械结构为公众所知,其包括变速齿轮组、马达、电位器、控制电路等,不再赘述。如图1所示,其伺服器1包括MCU(中文名称:微控制单元;英文名称:Micro Controller Unit)和两个端口,为区别后续主控制器2中的MCU,此处的MCU称为舵机MCU13。两端口之间通过总线L1(各图1-图4中的总线以加粗线条显示)连接,并同时连接到舵机MCU13。该总线L1为多重伺服马达控制总线(英文全称:Multiple Servo MotorControl Bus,英文简写:MSMCB)。同时,端口之间除上述MSMCB外,还包括两电源线(VDD)和接地线(GND)。上述MSMCB线可以根据I2C(英文全称:Inter-Integrated Circuit)、UART(英文全称:Universal Asynchronous Receiver and Transmitter,中文全称:通用异步收发器)或自定的序列总线通讯协议来传递信号。该信号线可以是1条或以上,本例中为一条。
上述端口包括第一端口11和第二端口12,该第一端口11和第二端口12之间没有输入端口和输出端口的限定,该第一端口11可以作为输入端口,则第二端口12作为输出端口;反之,第一端口11也可以作为输出端口,则第二端口12作为输入端口。
其中,在两端口的总线L1之间设有控制2个端口通断的2个舵机开关;上述2个开关分别称为第一舵机开关k1和第二舵机开关k2;也即在所述两端口总线L1之间临近第一端口11处设有第一舵机开关k1,即第一舵机开关k1连接于所述第一端口11和舵机MCU13之间,该第一舵机开关k1控制所述第一端口11的通断,所述两端口总线L1之间临近第二端口12处设有第二舵机开关k2,即第二舵机开关k2连接于所述第二端口12和舵机MCU13之间,所述第二舵机开关k2控制所述第二端口12的通断;所述2个舵机开关的控制端连接到所述舵机MCU13,受所述舵机MCU13的控制。
如此,通过在第一端口11和第二端口12上外接总线L1,以实现伺服器1与主控制器2,以及伺服器1与伺服器1的之间的电连接,最终实现主控制器2通过总线L1控制各伺服器1的目的。
同时,在舵机开关与端口之间设置插入线连接到舵机MCU13。具体的,所述第一舵机开关k1与第一端口11之间设有第一插入线14连接至所述舵机MCU13,所述第二舵机开关k2与第二端口12之间设有第二插入线15连接至所述舵机MCU13。如此,舵机MCU13通过所述第一插入线14检测第一端口11的接入信号;通过所述第二插入线15检测第二端口12的接入信号;当第一舵机开关k1和第二舵机开关k2断开时,通过第一插入线14和第二插入线15可以检测哪边端口为输入端口,哪边端口为输出端口。
同时,该伺服器1内还设有存储舵机ID的存储器,所述存储器可以仅仅是一个缓存器,也可以是一个EEPROM或者FLASH。
本例提供的伺服器1,其在端口之间的总线L1上增加了两个开关,并在开关与端口之间设置插入线连接到舵机MCU13。如此,在将伺服器1进行组装时,无需考虑两个端口的输入输出关系,可以随意组装;组装完成后,通过该插入线来检测信号,以分别哪个是输入端口、哪个是输出端口。如此,使得其组装更简单,伺服器1不会出现由于装反而导致无法按照正确的设定逻辑动作的情况。根据需要,本例提供的伺服器1也可以通过对两个开关的通断控制,其可以通过逐个将伺服器1接入网络的方式,逐个将伺服器1顺序设定ID,以防止出现重复ID,省去组装和维修时人为设定ID的困扰。
下面通过第二实施例对本实用新型公开的主控制器2(简称主控)进行具体解释说明。如图2、图3所示,该主控制器2包括主控MCU20和若干接口;该接口的个数根据需要设置,优选1-6个接口,其可以仅只有一个接口,各伺服器1均通过总线L1串接或者混接在该接口上;也可以包括1个以上的接口,每个接口上根据需要通过总线L1串接若干伺服器1。比如,本例中,设有5个接口,分别命名为第一接口21、第二接口22、第三接口23、第四接口24和第五接口25;具体的,如图2所示,若干接口可以通过总线L1分别接至主控MCU20的若干引脚,所述各引脚和对应接口之间设置一个主控开关。该种连接方案称为并联式,该种方式可以同时向各接口广播相同的消息,也可以向各接口广播不同的消息。如图3所示,也可以将各接口接至主控MCU20的同一引脚上,该引脚与各接口之间的总线上分别接有一主控开关。该种方式称为串联式,该种方式总是同时向各伺服器1广播相同的消息。
其中,每个接口的内部总线L1上设置主控开关,每个主控开关的控制端均电连接至所述主控MCU20;所述主控MCU20控制各主控开关的通断,以控制各接口上连接的各伺服器1与主控制器2通讯的通断;具体的,该第一接口21的内部总线L1上设有第一主控开关2a;第二接口22的内部总线L1上设有第二主控开关2b;第三接口23的内部总线L1上设有第三主控开关2c;第四接口24的内部总线L1上设有第四主控开关2d;第五接口25的内部总线L1上设有第五主控开关2e。各第一主控开关2a、第二主控开关2b、第三主控开关2c、第四主控开关2d和第五主控开关2e的控制端均电连接至所述主控MCU20。
本例提供的主控制器2,其在每个接口的内部总线L1上设置主控开关,每个主控开关的控制端均电连接至所述主控MCU20;所述主控MCU20控制各主控开关的通断,以控制各接口上连接的各伺服器1与主控制器2通讯的通断。如此,其可以有选择地打开各主控开关,以接通或断开主控制器2与对应接口上的各伺服器1通讯。可以有效避免主控制器2广播设定ID时出现重复ID的情况发生,使得自动设定ID以后的伺服器1可以按照正确的设定逻辑动作。
下面通过第三实施例对本实用新型公开的伺服器1控制系统进行具体解释说明。如图4所示,所述伺服器控制系统包括主控制器2及若干伺服器1。其中,主控制器2已在第二实施例中具体解释说明,伺服器1已在第一实施例中进行具体解释说明。
其中,将所有的伺服器1分成若干串,分别串接到主控制器2的各接口上,也即各接口上的伺服器1为串联的关系,而各接口之间的串联的伺服器串为并联的关系。所有伺服器1具体分成几串,每串伺服器1具体设置几个并没有特别限制,串联和并联混合的好处在于使布线更加简单而规律,并优化主控制器2对各伺服器1的控制效率。比如,第一接口21上串接有2个伺服器1,第二接口22上串接有2个伺服器1;第三接口23上串接有3个伺服器1。在该第四接口24上串接有n个伺服器1,分别称为第一伺服器1a、第二伺服器1b、第三伺服器1c和第n伺服器1n;第五接口25上串接有3个伺服器1;每个接口上串接的伺服器1的个数根据其具体需要进行设定。
以第四接口24上串接n个伺服器为例,其具体连接方式如下:在主控制器2的第四接口24通过总线L1与第一伺服器1a的任一端口(如第一端口11,该第一端口11作为输入端口)串接,然后在另一端口(对应第二端口12,该第二端口12作为输出端口)通过总线L1与第二伺服器1b的任一端口(如第一端口11,该第一端口11作为输入端口)串接,如此,依次实现各伺服器1的串接。
串接以后,其输入端口和输出端口即依次设定。在此串接过程中,并无需强制规定哪个端口为输入端口,哪个端口为输出端口。通过插入线即可判断哪个为输入端口,哪个为输出端口。当其在对各伺服器1的ID进行设定时,当前伺服器1内的舵机MCU13即可读取总线L1上的消息,并根据消息设定当前伺服器1的ID(将设定的ID替换存储在存储器中的原有ID)。并在完成设定ID的操作后,导通该当前伺服器1内的第一开关和第二开关,使下一伺服器1接入总线L1中,此时,下一伺服器1进入可被设定ID的状态,此时,下一伺服器1上即可通过插入线分别出输入端口和输出端口。如此循环,可依次设定各伺服器1的ID。
其中,上述主控制器2和各伺服器1均可看做单独的节点,即各节点通过串接的方式串联,主控制器2相当于主节点、其余伺服器1成为从节点。
以在该第四接口24上串接有n个伺服器1为例进行具体解释说明,为方便描述起见,假设总是以各伺服器1的第一端口11为输入端口,以第二端口12为输出端口(实际上并不限制)。伺服器1第一伺服器1a的第一端口11通过总线L1连接到主控制器2的第四接口24;第一伺服器1a的第二端口12连接到第二伺服器1b的第一端口11;第二伺服器1b的第二端口12连接到第三伺服器1c的第一端口11……,以此类推;最终串联连接至第n伺服器1n。
当第四接口24内总线L1上的第四主控开关2d断开时,将使得串接在第四接口24上的第一伺服器1a、第二伺服器1b、第三伺服器1c……第n伺服器1n均处于与主控制器2断开通讯的状态,无法接收主控制器2广播的消息。当第四主控开关2d导通时,才使得串接在第四接口24上各伺服器1可以与主控制器2进行通讯,各伺服器1可以接收主控制器2广播的消息。然而,如果其中的任意一个伺服器1中接在输入端口上的舵机开关断开时,将使得自身和后续的伺服器1均与主控制器2断开通讯;如果任意一个伺服器1中接在输入端口内总线L1上的舵机开关接通,而接在输出端口内总线L1上的舵机开关断开时,将使得自身可与其前边的伺服器1导通;而后续的伺服器1都将处于与主控制器2断开通讯的状态。
可以这么理解,假设某伺服器1为当前伺服器1,只有所有当前伺服器1之前的伺服器1中的舵机开关均处于导通状态时,当前伺服器1才有可能通过控制内部2个舵机开关的通断,将自身及后续伺服器1也接入网络中;或者将自身接入到网络中,而将后续伺服器1断开。
比如,当当前伺服器1之前的伺服器1中的舵机开关均处于导通状态,而当前伺服器1中的第一舵机开关k1和第二舵机开关k2均与处于断开状态时,当前伺服器1与后续的伺服器1均无法接入当前伺服器1之前的总线L1中,即当前伺服器1和后续的伺服器1均无法与主控制器2进行通讯。此时,其可以通过检测第一插入线14和第二插入线15的信号来判断对应的第一端口11和第二端口12中那个为输入端口,哪个为输出端口;当其需要将当前伺服器1也接入网络时,当前伺服器1内的舵机MCU13向接在输入端口内总线L1上的舵机开关发送命令,使其导通,如此,即可将当前伺服器1接入网络中。当其舵机MCU13向接在输出端口内总线L1上的舵机开关也发送命令,使其导通,则将使得后续伺服器1也具备接入网络的基础。如果当前伺服器1接在输出端口内总线L1上的舵机开关断开,则无论后续伺服器1中的舵机开关如何动作,都将无法接入到网络中。
本例提供的该伺服器控制系统,由于其改进了所述伺服器1,在伺服器1端口之间的总线L1上增加了两个舵机开关,并在舵机开关与端口之间设置插入线连接到舵机MCU13。如此,在将伺服器1连接到主控制器2上形成伺服器1控制系统时,无需考虑两个端口的输入输出关系,可以随意组装;组装完成后,通过插入线来检测信号,以分别哪个是输入端口、哪个是输出端口。如此,使得其组装更简单,伺服器1不会出现由于装反而导致无法按照正确的设定逻辑动作的情况。根据需要,本例提供的伺服器1也可以通过对两个开关的通断控制,其可以通过逐个将伺服器1接入网络的方式,逐个将伺服器1顺序设定ID,以防止出现重复ID,省去组装和维修时人为设定ID的困扰。下边将通过具体实施例解释上述顺序设定ID的方法。
下面通过第四实施例对本实用新型公开的第三实施例中公开伺服器控制系统中的伺服器ID设定方法进行具体解释说明。
依次择一接通主控制器上的接口,重复通过以下步骤对接在主控制器接口上的伺服器进行ID设定:如图5所示流程图,所述伺服器ID设定方法包括如下步骤:
S101、伺服器断开步骤:使依次串接在主控制器2接口上的各伺服器1预先处于断开状态;如此,使得各伺服器1均处于断开网络的状态,在此状态下,主控制器2广播的消息并不会往后传送。
S102、伺服器ID设定步骤:主控制器2广播,向主控制器当前接通接口的总线L1发送将目标ID替换原有伺服器ID的消息;对应接口上各伺服器1内的舵机MCU13总是检测伺服器1内的第一插入线14和第二插入线15;并在舵机MCU13检测到第一插入线14或者第二插入线15中接收到信号时,判断接收到信号的插入线处的端口为输入端口,没有接收到信号的插入线处的端口为输出端口;然后使输入端口内总线L1上的舵机开关导通,将伺服器1接入网络,各伺服器1接入网络时接收主控广播的消息,根据消息将目标ID替换原有伺服器ID,完成该伺服器ID设定,并在设定伺服器ID后导通该伺服器1内两个舵机开关;在完成该伺服器ID设定后导通该伺服器1内两个舵机开关的目的是使下一伺服器1也可接收到主控制器2广播的消息。重复本步骤,直至完成所有伺服器1的ID设定。修改后的各目标ID互不相同,以保证不会出现重名的ID。
S102步骤具体包括如下步骤:主控制器2广播,向总线L1发送将目标ID替换原有伺服器ID的消息;按顺序使串接的各伺服器1重复以下步骤:通过检测第一插入线14和第二插入线15的状态,判断伺服器1的输入端口和输出端口,然后导通伺服器1中接在输入端口内总线L1上的舵机开关,使该伺服器1接入网络中;然后伺服器1接收主控制器2广播的消息,将目标ID存储入存储器中,替换原有ID;然后在完成设定ID后或者同时导通伺服器1中的两个舵机开关。比如,第一个伺服器1修改以后的ID为1#;第二个伺服器1为2#,第三个伺服器1为3#,以此类推,直至完成所有伺服器1的ID设定。
本例提供的ID设定方法,可通过主控制器2周期性的广播,将各预先处于断开状态的伺服器1顺序接通,并按顺序将各伺服器1的ID改为目标ID。如此,通过本例提供的ID设定方法,使得伺服器1无需再装配前预先手动设置好不重复的ID,也无需考虑伺服器1与主控制器2连接成控制系统的过程中端口是否接反的问题,其可通过预先设定的程序,在接好伺服器控制系统后,自动完成伺服器1的ID设定。
在上述第四实施例中,需要较复杂的软件控制过程才能实现其方案,下面通过具体的第五实施例对第四实施例进行进一步的改进,以使其伺服器ID设定方法更为简单。
其中,同样的,主控制器2可以向各接口广播发送消息;同时,伺服器1内舵机MCU13可控制第一舵机开关k1和第二舵机开关k2的通断;各伺服器1可通过检测第一插入线14和第二插入线15,以判断输入端口和输出端口。当伺服器1的ID为某预设断开ID时,舵机MCU13控制输入端口内总线L1上的舵机开关导通,并使输出端口内总线L1上的舵机开关断开,将该伺服器1接通前边的总线L1中,而将该伺服器1后续的伺服器1断开。当伺服器1的ID与预设断开ID不同时,则舵机MCU13将控制两个舵机开关均导通;伺服器1可以接收输入端口上发过来的消息,将消息中的ID数据取出,并将其替换存储器中的原有ID。依次择一接通主控制器上的接口,重复通过以下步骤对接在主控制器接通接口上的伺服器进行ID设定:具体的,如图6所示流程图,所述伺服器ID设定方法包括如下步骤:
S201、预设断开ID设定步骤:主控制器2广播,向总线L1上的所有伺服器1发送将伺服器1的原始ID改为某预设断开ID的消息;各伺服器1根据接收到的消息,将预设断开ID替换原始ID(即将预设断开ID存储入存储器中,以替换存储器中原有的ID);以将所有伺服器1的ID都设定为某预设断开ID。上述预设断开ID被用来作为伺服器1内第一舵机开关k1和第二舵机开关k2通断的判断条件,当伺服器1内的ID为预设断开ID时,则使伺服器1内输入端口内总线L1上的舵机开关接通,而使伺服器1内输出端口内总线L1上的舵机开关断开。也即各伺服器1预先处于断开的状态。当伺服器1内的ID为不同于预设断开ID的ID时,则使伺服器1内总线L1上的两个舵机开关导通。该预设断开ID为人为设定的任意值,比如,本例中设为0xFF。
S202:目标ID替换预设断开ID步骤:主控制器2广播,向总线L1发送将目标ID替换预设断开ID的消息;各伺服器1顺序接入网络,并在伺服器1接入网络时将伺服器ID替换为目标ID,并在设定伺服器ID后导通伺服器1内所有舵机开关;然后重复本步骤,直至所有伺服器1完成ID设定。该目标ID不同于上述预设断开ID,且各伺服器1的目标ID互不相同。
其具体方式如下:先将所有伺服器1的ID都设定为预设断开ID,当伺服器1内的ID为预设断开ID时,则使伺服器1内输入端口内总线L1上的舵机开关接通,而使伺服器1内输出端口内总线L1上的舵机开关断开。然后主控制器2广播,向总线L1发送包含将目标ID替换预设断开ID的消息,各伺服器1按顺序逐个接收主控制器2广播的消息,逐一将各伺服器1的预设断开ID改为互不相同的目标ID。由于目标ID不与预设断开ID相同,修改后的伺服器1中的舵机开关导通;如此,紧接位于其后的伺服器1才能接收到来自主控制器2的消息。换言之,任何一个伺服器1在其前一个伺服器1设定ID之前,该伺服器1都无法连接到网络,其收不到主控制器2广播的消息。只有在前一个伺服器1完成ID设定后,该伺服器1才能连接到网络。
具体的,最初状态下,只有第一个伺服器1的输入端口内总线L1上的舵机开关导通,可将第一个伺服器1接到主控制器2上,可以接收到主控制器2广播的消息,由于第一个伺服器1的输出端口内总线L1上的舵机开关断开,第二个伺服器1及以后的各个伺服器1均处于断开的状态,此时第一个伺服器1根据主控制器2广播的消息,将目标ID替换预设断开ID,完成第一个伺服器1的ID设定,然后使第一个伺服器1内的两个舵机开关都导通。如此,使得第二个伺服器1也可重复上述步骤完成ID设定并导通,如此,依次顺序完成所有伺服器1的ID设定。
本例提供的上述ID设定方法,其无需复杂的步骤,仅通过简单的主控制器2广播,各伺服器1根据接收到的消息,将预设断开ID逐一替换为互不相同的目标ID,可以快速的逐一完成各伺服器1的ID设定,其方法简单快捷。
申请人在设置上述预设断开ID,并将各预设断开ID逐一替换为互不相同的目标ID时,发现由于其核心逻辑为当其伺服器1内的ID为预设断开ID时,则使伺服器1内输入端口内总线L1上的舵机开关接通,同时使伺服器1内输出端口内总线L1上的舵机开关断开。当伺服器1内的ID为非预设断开ID时,使伺服器1内总线L1上的两个舵机开关均导通。如此,可以使当前伺服器1完成ID设定,并在ID设定后导通当前伺服器1,使下一个伺服器1可以接入网络中重复上述过程,最终完成所有伺服器1的ID设定。然而,在将各伺服器1内最早存储的原始ID修改为预设断开ID之前,如果若干伺服器1中的原始ID就是预设断开ID,则在其原始ID为预设断开ID的伺服器1就将出现断开,导致后续伺服器1中的ID无法被修改为预设断开ID,最终导致无法按照设定的逻辑完成所有ID的设定。为此,作为改进,本例中采用以下第六实施例介绍的方案以防止上述错误的发生。
下面通过第六实施例介绍一种进一步改进的预设断开ID设定方法,如图7所示流程图,其具体包括如下步骤:
S2011、非预设断开ID设定步骤:主控制器2广播,向总线L1上的所有伺服器1发送将伺服器1的原始ID设定为某非预设断开ID的消息;各伺服器1根据接收到的消息,将非预设断开ID替换原始ID;且主控制器2回读总线L1上是否存在预设断开ID,即查找是否存在预设断开ID的伺服器1,如果存在预设断开ID,则主控制器2继续广播,直至所有伺服器1总线L1上的原始ID均被设定为非预设断开ID;在此情形下,即使有部分伺服器1的原始ID为预设断开ID(此时该原始ID为预设断开ID的伺服器1后续的伺服器1均处于断开状态,无法接收主控制器2广播的消息),该预设断开ID也可被修改为非预设断开ID,使得该伺服器1及后续的伺服器1均可接入网络,且后续的伺服器1将原始ID全部改为非预设断开ID;该非预设断开ID可以人为设定的任意与预设断开ID不相同的值。比如,本例中设定为0xFE。由于该非预设断开ID与预设断开ID不相同,因此,各伺服器1内的舵机开关均将处于导通状态,也即将各伺服器ID设定为非预设断开ID后,各伺服器1均导通接入网络中,各伺服器1均可接收主控制器2广播的消息。
S2022、预设断开ID替换非预设断开ID步骤:主控制器2广播,向总线L1上的所有伺服器1发送将所述非预设断开ID设定为预设断开ID的消息;各伺服器1根据接收到的消息,将预设断开ID替换所述非预设断开ID。
采用本例提供的该预设断开ID设定方法,其在设定预设断开ID之前,先将所有伺服器1的原始ID设置为某与预设断开ID不相同的非预设断开ID,再将非预设断开ID全部替换为预设断开ID。如此,有效的避免了上述实施例5中出现的问题(即指由于部分伺服器1的原始ID为预设断开ID,导致原始ID为预设断开ID的伺服器1后续的电机均无法被修改为预设断开ID,使得无法按照程序设定,将各伺服器1按顺序逐个接通并一一设定ID的操作的问题)。在此基础上,就可将所有伺服器的预设断开ID修改为互不相同的目标ID。最终实现了伺服器自动设定ID的目的。该方法无需复杂的步骤,简单快捷。
在第五实施例、第六实施例的基础上,下面通过第七实施例介绍改进后的伺服器ID设定方法。如图8所示流程图,该伺服器ID设定方法主要为第五实施例中的步骤,且将第六实施例中的S2011和S2012步骤替换原S201步骤。
采用本例提供的伺服器ID设定方法,其可以将各伺服器1的任意原始ID修改为非预设断开ID,然后将所有伺服器1的非预设断开ID修改为互不相同的目标ID。最终实现了伺服器1自动设定ID的目的。该方法无需复杂的步骤,简单快捷,且修改结果更准确可靠。
下面通过第八实施例进一步具体介绍进一步优化后的伺服器ID设定方法,根据需要,依次择一接通主控制器2接口内的主控开关,然后重复通过下述步骤对串接在接通的主控开关对应接口上的各伺服器1进行ID设定。此处所说的“依次择一接通”请结合图2-图4进行理解,比如,当第一接口21内的第一主控开关2a接通时,其余接口内的主控开关均断开;对接在第一接口21上的各伺服器ID进行设定。同样的,当第二接口22内的第二主控开关2b接通时,其余接口内的主控开关均断开;对接在第二接口22内的各伺服器ID进行设定。当第三接口23上的第三主控开关2c接通时,其余接口内的主控开关均断开;对接在第三接口23上的各伺服器ID进行设定。同样的,当第四接口24内的第四主控开关2d接通时,其余接口内的主控开关均断开;对接在第四接口24上的各伺服器ID进行设定。同样的,当第五接口25内的第五主控开关2e接通时,其余接口内的主控开关均断开;对接在第五接口25上的各伺服器ID进行设定。其中,依次并不指各接口只能按顺序接通,即并不一定要按照第一接口21、第二接口22、第三接口23、第四接口24和第五接口25顺序接通,也可以按其他不规则顺序进行接通,比如,按第一接口21、第三接口23、第四接口24、第二接口22、第五接口25等的顺序也是可以的。如此,可以逐串完成所有主控制器2接口上串接的伺服器设定ID;具体的串接在每个主控制器2接口上伺服器ID设定方法包括在伺服器1中的步骤和在主控制器2中的步骤:
其中,所述主控制器2中的步骤如图9所示,具体如下:
步骤S301、主控制器2广播,向总线L1发送将所有伺服器1的原始ID设定为某非预设断开ID的消息;具体的,该主控制器2广播消息,且回读总线L1上是否存在预设断开ID,如存在预设断开ID,则继续重复广播,直至将所有伺服器1原始ID设定为非预设断开ID时,才进入S302步骤,该非预设断开ID可以为人为设定的任意值,比如0xFE。
步骤S302、主控制器2广播,向总线L1发送将所有伺服器1的非预设断开ID设定为预设断开ID的消息;该预设断开ID可以为人为设定的任何值,且不同于非预设断开ID,比如0xFF。
步骤S303、主控制器2广播,重复向总线L1发送将预设断开ID设定为互不相同的目标ID的消息;本步骤中,主控制器2重复广播包含互不相同的目标ID的消息,每广播一次就回读总线L1上的消息,判断是否已将总线L1上可接收到广播的ID为预设断开ID的伺服器1完成目标ID的设定,如果已完成目标ID的设定,则进入下一广播,向总线L1发送将预设断开ID设定为另一与上次目标ID不相同的目标ID。以此类推。比如,主控制器2第一次广播将伺服器1的预设断开ID(0xFF)替换为目标ID(0x01)的消息。总线L1上的第一个伺服器1接收到该主控制器2广播的该消息后,即根据该消息将目标ID(0x01)替换该伺服器1中原有的预设断开ID(0xFF),并向总线L1上返回结果。主控制器2接收到该返回结果后,即进入下一轮广播,再次向总线L1发送将预设断开ID设定为另一与上次目标ID(0x01)不相同的目标ID(比如0x02)。然后主控制器2重复广播互不相同的目标ID,并接收总线L1上返回的结果。作为优选的方式,目标ID总是按顺序递增或递减。比如目标ID从0x01、0x02、0x03……0x0n依次递增。或者从0x0n……0x03、0x02、0x01依次递增。
所述伺服器1中的步骤如图10所示,具体如下:
S401、舵机MCU13读取存储在存储器中的舵机ID;
S402、判断舵机ID是否为预设断开ID,如果判断结果为否,进入步骤S403,如果判断结果为是,则进入步骤S404;
步骤S403、使第一舵机开关k1和第二舵机开关k2均接通,即使该伺服器1处于接通状态;
S404、检测第一插入线14和第二插入线15;然后分别进入步骤S405和步骤S406;
S405、判断第一插入线14是否检测到信号,如果判断结果为否,则进入步骤S406,如果判断结果为是,则进入步骤S407;
S406、使第一舵机开关k1断开;
S407、使第一舵机开关k1接通;
S408、判断第二插入线15是否检测到信号,如果判断结果为是,则进入步骤S409,如果判断结果为否,则进入步骤S410;
S409、使第二舵机开关k2接通;
S410、使第二舵机开关k2断开。
该步骤S403的含义为如果不为预设断开ID,则表示该伺服器1将被接通,该伺服器1具备可以接收主控制器2广播的信息的基础(是否能接收到主控制器2广播的消息,还取决于在该伺服器1之前是否存在ID为预设断开ID的伺服器1,如果该伺服器1之前存在ID为预设断开ID的伺服器1,则该伺服器1同样因为前面的伺服器1断开,使得其处于同样无法接收到主控制器2广播的消息的状态),并可根据接收到的主控制器2广播的消息完成相应的动作。
步骤S404-S410的含义为,当该伺服器1内的ID为预设断开ID时,舵机MCU13检测第一插入线14和第二插入线15中的信号,当其中的任一插入线检测到信号时,则表示该检测到信号的插入线连接到的端口为输入端口;反之,没有检测到信号的插入线连接到的端口为输出端口(由于各伺服器1通过串接的方式接在主控制器2的接口上,因此,由于信号的单向流动,其结果只能是一个插入线检测到信号时,另一插入线必然检测不到信号,因此可以以此判断谁是输入端口和输出端口);然后,将输入端口内总线L1上的舵机开关接通,而将输出端口内总线L1上的舵机开关断开;如此,即可使该伺服器1被连接到前序的总线L1中,使其可以接收到主控制器2广播的消息,并根据该消息完成相应的操作(比如将其修改为目标ID或者预设断开ID等)。且使输出端口上的舵机开关断开,使得该伺服器1后续的伺服器1无法再接收到主控制器2广播的消息。比如,当第一插入线14检测到信号时,表示对应的第一端口11为输入端口,则接通该第一端口11内的第一舵机开关k1;如此,第二插入线15中将检测不到信号,表示对应的第二端口12为输出端口,则断开第二端口12内的第二舵机开关k2。
在本例提供的ID设定方法中,在主控制器2进行步骤S301时,接在主控制器2对应接口上的伺服器1都会进入步骤S401-S403的判断过程,由于在此过程中,大部分情况下,伺服器1中的原始ID都不是预设断开ID(如0xFF),使得所有伺服器1中的舵机开关都将被接通,且使各伺服器1接收主控制器2广播的消息,将伺服器1中的原始ID设定为非预设断开ID(如0xFE);即使其中有部分伺服器1的原始ID为预设断开ID,其也可以经步骤S401、S402、S404-S410修改为非预设断开ID,并使其在下一个循环内使该已经修改成非预设断开ID的伺服器1导通,使后续的伺服器1也可以接收到主控制器2的广播,再进入S401-S303的步骤,如此,使得所有伺服器1的原始ID最终都被修改为非预设断开ID。
然后主控制器2进行步骤S302,此时,主控制器2广播,向总线L1发送将所有伺服器1的非预设断开ID设定为预设断开ID的消息;此时,由于主控制器2经过上述步骤S301及各伺服器1经过S401-S410步骤后,已将所有伺服器1的ID修改为非预设断开ID,此时,总线L1上的各伺服器1接收到上述总线L1上的将所有伺服器1的非预设断开ID设定为预设断开ID的消息,即执行将预设断开ID替换原有非预设断开ID的操作;各伺服器1执行步骤S401-S403,将所有伺服器1ID设定为预设断开ID。一旦各伺服器1完成设定预设断开ID的操作;则在下一周期中,伺服器1重复执行S401、S402、S404-S410的步骤;如此,将使得各伺服器1均保持其中的输入端口内总线L1上的舵机开关导通,而使各伺服器1输出端口内总线L1上的舵机开关断开。如此,也就使得仅有串接在主控制器2接口上的第一个伺服器1能接收到主控制器2广播的该消息,第一个伺服器1以后的伺服器1均处于断开状态,无法接收到主控制器2广播的消息,其结果使得最终所有伺服器1的ID都被修改为预设断开ID存储在存储器中。
然后主控制器2进行步骤S303,此时,主控制器2广播,重复向总线L1发送将预设断开ID设定为互不相同的目标ID的消息;当主控制器2在该阶段初次广播将某目标ID(如0x01)替换预设断开ID时,仅有第一个伺服器1能接收到广播,该第一个伺服器1接收到信号,执行步骤S401、S402、S404-S410;如此,将第一个伺服器1接收到的目标ID(如0x01)替换原有预设断开ID;当主控制器2回读到总线L1上返回的第一个伺服器1已完成ID设定的结果后,主控制器2进入下一轮广播,向总线L1发送将不同于上次广播的目标ID(如0x02)替换预设ID的消息,第一个伺服器1执行步骤S401-S403,但其不修改其存储器内存储的ID(0x01),第二个伺服器1执行S401、S402、S404-S410,将第二个伺服器1上输入端口内总线L1上的舵机开关导通,而使各伺服器1输出端口内总线L1上的舵机开关断开。该第二个伺服器1接收到主控制器2广播的消息,将目标ID(即0x02)替换预设断开ID。当主控制器2回读到总线L1上返回的第二个伺服器1已完成ID设定的结果后,主控制器2进入下一轮广播,向总线L1发送将不同于上述2次广播的目标ID(如0x03)替换预设ID的消息,第一个、第二个伺服器1执行步骤S401-S403,但其不修改其存储器内存储的ID,第三个伺服器1执行S401、S402、S404-S410,将第三个伺服器1上输入端口内总线L1上的舵机开关导通,而使各伺服器1输出端口内总线L1上的舵机开关断开。该第三个伺服器1接收到主控制器2广播的消息,将目标ID(即0x03)替换预设断开ID。如此循环,主控制器2重复广播,各伺服器1依次完成各不相同的目标ID替换预设断开ID的步骤,最终将所有目标ID替换预设断开ID。
如此,经过上述步骤,即完成了所有伺服器1设定ID的过程。
本例提供的伺服器ID设定方法,无需复杂的软件设置流程,仅需简单地经过主控制器2广播消息,各伺服器1内部自行根据设定的程序及接收到的主控制器2广播的消息,自动完成伺服器1的ID设定。
以上所述仅为本实用新型的较佳实施例而已,并不用以限制本实用新型,凡在本实用新型的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本实用新型的保护范围之内。
Claims (5)
1.一种伺服器,其特征在于,包括舵机MCU、第一端口和第二端口;所述第一端口和所述第二端口之间通过总线连接,所述总线同时连接到所述舵机MCU;
所述第一端口和所述第二端口之间的总线上设有第一舵机开关和第二舵机开关;所述第一舵机开关连接于所述第一端口和所述舵机MCU之间,该第一舵机开关控制所述第一端口的通断;所述第二舵机开关连接于所述第二端口和所述舵机MCU之间,该第二舵机开关控制所述第二端口的通断;
所述第一舵机开关与第一端口之间设有第一插入线连接至所述舵机MCU,所述第二舵机开关与第二开口之间设有第二插入线连接至所述舵机MCU。
2.根据权利要求1所述的伺服器,其特征在于,所述第一舵机开关的控制端和第二舵机开关的控制端均连接至所述舵机MCU。
3.根据权利要求1所述的伺服器,其特征在于,所述伺服器内还设有存储ID的存储器。
4.根据权利要求3所述的伺服器,其特征在于,所述存储器为EEPROM、缓存器或者FLASH。
5.根据权利要求1所述的伺服器,其特征在于,所述总线为多重伺服马达控制总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201620686559.9U CN206075121U (zh) | 2016-06-30 | 2016-06-30 | 一种伺服器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201620686559.9U CN206075121U (zh) | 2016-06-30 | 2016-06-30 | 一种伺服器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN206075121U true CN206075121U (zh) | 2017-04-05 |
Family
ID=58420779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201620686559.9U Active CN206075121U (zh) | 2016-06-30 | 2016-06-30 | 一种伺服器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN206075121U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105974890A (zh) * | 2016-06-30 | 2016-09-28 | 深圳市优必选科技有限公司 | 一种伺服器 |
-
2016
- 2016-06-30 CN CN201620686559.9U patent/CN206075121U/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105974890A (zh) * | 2016-06-30 | 2016-09-28 | 深圳市优必选科技有限公司 | 一种伺服器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103384184B (zh) | 发送器电路及其运行控制方法 | |
CN208985152U (zh) | 通信系统 | |
CN105988404B (zh) | 一种伺服器控制系统 | |
CN106776428A (zh) | 终端设备、读写设备、数据传输系统和硬件初始化方法 | |
CN105005545A (zh) | 线卡串口切换装置及方法 | |
CN106200560B (zh) | 伺服器控制系统的伺服器id设定方法 | |
CN206075121U (zh) | 一种伺服器 | |
CN105974890B (zh) | 一种伺服器 | |
CN206075045U (zh) | 一种伺服器控制系统 | |
CN210405348U (zh) | 一种can扩展器及can网络总线系统 | |
CN205844810U (zh) | 一种主控制器 | |
CN106054819B (zh) | 伺服器控制系统中伺服器预设断开id设定方法 | |
CN111711552B (zh) | 终端电阻接入电路、伺服驱动器及控制系统 | |
CN103248352A (zh) | 低电压差动信号驱动电路以及相容于有线传输的电子装置 | |
CN103434438A (zh) | 一种基于can总线的双模块汽车车灯控制系统 | |
CN109901540B (zh) | 一种并机can匹配电阻自动匹配方法、电路及设备 | |
CN105515607A (zh) | 通信电路 | |
CN212012673U (zh) | 网络切换器 | |
CN100542082C (zh) | 一种背板总线复用方法及系统 | |
CN205543534U (zh) | 一种多功能车辆总线连接头 | |
CN201821374U (zh) | 光隔离半双工串行通信总线 | |
JP2786010B2 (ja) | 情報コンセントのジャック及び該ジャックを有するホームバスシステム | |
CN209787190U (zh) | 一种网络信号bypass传输系统 | |
CN105677610A (zh) | S7-200PLC与I/A Series的数据线 | |
CN221669874U (zh) | 一种rs485通讯电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170830 Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park C1 building 16, 22 floor Co-patentee after: UBTECH Robotics Corp. Patentee after: Shenzhen UBTECH Technology Co.,Ltd. Address before: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park C1 building 16, 22 floor Patentee before: Shenzhen UBTECH Technology Co.,Ltd. |