With the option to use the EZB in serial to USB you lose the option for the camera since the connections use the camera port. Is it possible to add another EZB like the IO Tiny to connect the camera too, then hard wire both EZBs together? I can't use Wi-Fi on either EZB.
There is a very specific reason I want to use the EZB camera and not a usb webcam, but i still need the EZB wired to the computer.
Edit: Please visit post #37 for the update on the usb/serial cable I used, new wiring diagram and notes
Upgrade to ARC Pro
Get access to the latest features and updates with ARC Early Access edition. You'll have everything that's needed to unleash your robot's potential!
Now - you "could" connect a camera to a USB <-> UART adapter dongle that supports 3,333,333 bps and RTS/CTS. Those are easy to find
Any recommendations on a dongle?
And how then do you connect the EZ camera to this set up?
I don't know that was a thing. DJ, does the adaptor need to support 3M baud or does it actually need to be higher, since you said 3,333,333 bps?
I did find this one which seems to fit, what do you think DJ?
https://www.amazon.com/GearMo-FTDI-UART-Adapter-Cable/dp/B004HX3XMI
The end would have to be cut to break out the wires.
USB-UART is not as simple as I used to think it was. Reading through some information, it looks like some of the common FTDI chips are "capable" of up to 12M baud, but that does not mean the device they are in is capable of that.
https://www.alliedelec.com/ftdi-ttl-232r-3v3/70069395/?mkwid=syCqgdu9J&pcrid=224909203636&gclid=CjwKCAjwj8bPBRBiEiwASlFLFQADnzZKLqGy0RxMu5BtNARW4lwuEbuyZZ1CHuOSocv8wG5jz6pXghoC_4UQAvD_BwE
This one says "Maximum Baud Rates for RS232 Versions Is 1M Baud and for the RS422/485 Version is 3M Baud (Single Channel) and 10M Baud (Multi-Channel) "
My guess is the camera is not Multi Channel? My guess is also the camera device is preset to baud rate (no jumpers) so if the UART device can't specifically select that baud rate then the camera will not work, am I right?
DJ, could you help us find a dongle for the camera? I'm interested in one as well but I'm getting out of my depth of knowledge.
1) 2 EZBs _0 and _1
2) EZB 0 is connected to computer via serial usb using camera port
3) EZB 0 is connected to Dynamixel chain via D5
4) EZB 1 is connected to ez camera via camera port
5) There is no wi fi only tethered via serial usb
Question: can I connect (wired) the two EZBs together and control via one ARC? To be clear really EZB 1 is transmitting Camera to EZB 0 and to the computer via usb/serial.
Simply purchase a uart to USB adapter that can operate at a rate higher than 3,333,333 baud.
http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm
But now I will punch a hole because this resolves a camera space issue for me.
I will look for a proper cable. Will the camera plug and play without any additional modifications to windows?
I'll post the cable here first to make sure I don't waste money and time and I'll give it a spin.
Your cable needs RX, TX, RTS, CTS and must be greater than 3,333,333 baud
PL2303HXD
I've wired it to the camera using the wiring diagram (this was older image the drivers support win 10 which is the current operating system testing on):
I installed the device driver and set the baud to 6 mbps:
Plugged it in and I get power light (green LED)
But issue is the camera does not show up in the camera drop down:
Your question was asked 6 months ago:
https://www.ez-robot.com/Community/Forum/Thread?threadId=10256
And i provided a solution too:
Post #15
And besides me is working for Merne too: Post #21
Before no one said it was possible, so when DJ mentioned:
I didn't want to jump in with an answer, sometimes i easily miss some obvious details or/and tutorials.
So I guessed ARC already supported serial cameras.
I have at least 10 usb/uart dongles and none of them supports more of 3Mbps, so in my humble opinion is not easy to find the right one.
So I'm happy you got it quickly
It seems besides me and Merne and now you no one had interest in that feature.
Enter the COMx in the camera's address bar. Such as, COM1 or COM2 or COM3 or COM4 or COM5 or COM6, etc. and press START
If anyone has a custom baud rate, you can enter COM1:57600 or COM1:115200 or COM3:213967
ALSO you should be powering the camera off the ez-b 3.3v power. The I/O is 5v tolerant, but the power is still required 3.3v
Do i need to cross over CTS and RTS?
The tx and rx need to be crossed because, well, logic.
Here is how I have my camera, EZB and cable connected. I tried with and without the CTS and RTS connected :
Here is how the com port is set up for the cable and in the camera connection:
I get this error:
Camera Initialized: COM22:4000000 @ 320x240
UART Camera Error: System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Ports.SerialPort.Read(Byte[] buffer, Int32 offset, Int32 count)
at EZ_B.UARTVideo.MjorDt1ipt(Int32 , Object )
Camera Disabled
Simply enter COM22 in the address, leave out the baudrate.
You cannot enter a baud rate that is not the correct baudrate.
Unless you have a camera specified to use 4,000,000 baud rate, you cannot use that baud rate.
The settings window of the com device has nothing to do with the baud rate that the application is using. Ignore the settings window for the com device. Close it down and never open it again. The only software that you need is ARC.
Camera Initialized: com22 @ 320x240
UART Camera Error: System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
at System.IO.Ports.SerialPort.Read(Byte[] buffer, Int32 offset, Int32 count)
at EZ_B.UARTVideo.MjorDt1ipt(Int32 , Object )
Camera Disabled
Perhaps this cable isn't going to be compatible.
Please connect TX to RX
Please connect RX to TX
I would recommend trying your camera with the ez-b to ensure it still works after providing it 5v. It may be damaged.
Next, you can specify the baud rate of 3,333,333 in the Serial Terminal (PC) to verify that data is indeed being transmitted to the computer over the USB UART cable.
Terminal shows a connection at 3,333,333. I changed computers and cameras to make sure com ports working and camera working. I'm now on com 3:
On New computer and camera I get this error:
Camera Initialized: COM3 @ 320x240
UART Camera Error: System.UnauthorizedAccessException: Access to the port 'com3' is denied.
at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
at System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
at System.IO.Ports.SerialPort.Open()
at EZ_B.UARTVideo.MjorDt1ipt(Int32 , Object )
Camera Disabled
Thank you for hanging in there with me.
Please not DO NOT cross the TX and the RX, the wiring diagram from China is incorrect. Please connect TX to TX and RX to RX.
Do not use the 5 volts from the cable but rather connect 3.3v and ground from the EZB using the regulated 3.3v on the Analog ports. also connect a ground from the EZB to RTC.
Link to PL2303HXD from amazon: PL2303HXD
Maybe not enough buffer after all?!?
So I’m guessing it’s noise on the signal line
I finally tried going back to the old ez double board cameras and I get less full frame glitches. But still glitchy.
Finally I noticed the pop up from below as I had not checked always show and here are constant error messages I am getting.
I believe yours is a little higher end so I assume it's probably good. You followed DJ's suggestions which were good ones to rule out the most common hardware interference.
Aiming for less common now, I'd probably want to check the solder joints of the UART cable to the camera and maybe try a different cable or different wires to rule out a bad wire/connections.
Software side what helped my Omron UART latency also was a tip (Omron) had for going into the Windows Device Manager for the virtual COM port of the UART and then Advanced settings and then under Latency Timer, setting the value to less than 16 because it might improve performance. But adjusting it lower is an incremental playing game, because going too low can disrupt other things. Think of it like tuning in an old radio station, starting at 16, then 15, then 14, etc to see if the interference goes away.