Welcome! Log In Create A New Profile

Advanced

BV4113 Motor Controller

Posted by ugine 
BV4113 Motor Controller
May 17, 2012 12:40PM
Hi, Due to the number of outputs, my project requires 3 BV4113 boards which I've configured with addresses 'a' 'b' and 'c'. However, I also require a couple of input lines and my understanding from the documentation is that I can only receive feedback from multiple devices in non-inverted mode and so as I'm controlling via a standard PC COM port, that is not possible?

On that basis, I'm initially firing up 'a' and then using the Y1 output pair to drive a relay to switch on 'b' and 'c' using command ama1. I wasn't sure if this would work but it seems to be fine with just 'b' but when I try to turn on both 'b' and 'c' from the same relay output at the same time, something odd happens and the output from 'a' via Y1 doesn't seem to latch. It definitely happens as I can hear the relay click, but it doesn't persist. Can you think of any reason why that might be?

My next attempt will be to switch on 'b' from 'a' and then 'c' from 'b' but that seems to be getting rather convoluted and I thought it would be good to check first that I'm not missing something.
Re: BV4113 Motor Controller
May 17, 2012 12:45PM
The first point is correct, on all ASI protocol devices that allow multiple devices on a single serial bus you can write to multiple devices in any mode but only read from multiple devices in non-invert mode.

To be clear invert mode is when the device is connected to a RS232 PC COM port or the 9 or 15 pin variety and non-invert is when the device is connected directly to a microcontroller or a conversion device such as the MAX232 or USB to 5V serial e.g. BV101. [doc.byvac.com]

In answer to the first question then you could use a MAX232 device or the USB device above that will give read write access to all devices.

On question 2: make sure that all commands are terminated with CR e.g. "ama1<CR>". The commands were chosen such that they could be 'seen' on a terminal but in fact the device just needs the following sequence 97 109 97 49 13. Next you should wait for the returning ACK from device 'a' before sending to device 'b' the ACK by default is '>' or 62. If driving from VB say then develop a subroutine that will wait for '>' with a time out in case its missed. This is probably the cause of unpredictable results.

The Product information for the BV4113 is here [doc.byvac.com]
Sorry, only registered users may post in this forum.

Click here to login