Jump to content

I have a piece of equipment running a 12 volt motor control and 2 ir cameras off of 1 usb 2.0 hub/ power switching unit. I've always thought the cameras could have more fps and while I don't have a real way to measure it I can view an overall counter and it's between 2 and 3 fps. Checking bandwidth using performance monitor my usb bandwidth is pegged at 100 percent showing about 62,000,000 bytes per second. Didn't really understand that because that's double what it should be able to hit. So I disconnected the cameras from the hub and plugged them in straight to the pc usb 3.0 ports. I know they are usb 2.0 cables and cameras but fps did not increase having them separate and performance monitor had 0 change. My question is does it not matter what port I have these in? Is it always just going to switch to the usb 2.0 controller on the motherboard?. What I wanted to do was mount a usb 3.0 hub above the equipment so I could do usb 3.0 from the pc and divide that up to the motor control and 2 cameras. The ultimate issue I was having was pausing when using the motor control and I suspected that the single usb 2.0 was my bottleneck. Pc I'm using is a dell t1700mt, xeon e3-1270v3, 4gb 1600 ecc memory, quadro k620 gpu and 256gb ssd. Running win7 pro 32bit on newest bios and current drivers. Pc is total overkill for the equipment but I bought it from eBay next to nothing.

Link to comment
https://linustechtips.com/topic/1288337-win-7-usb-2030-bandwidth/
Share on other sites

Link to post
Share on other sites

The cameras probably are limited on their own and don't even use full usb 2.0 bandwidth, which would be why they don't do any better when they're on separate ports.

 

Possible the 3.0 hub solution could help with the motor control if it actually is USB bandwidth related.

F@H
Desktop: i9-13900K, ASUS Z790-E, 64GB DDR5-6000 CL36, RTX3080, 2TB MP600 Pro XT, 2TB SX8200Pro, 2x16TB Ironwolf RAID0, Corsair HX1200, Antec Vortex 360 AIO, Thermaltake Versa H25 TG, Samsung 4K curved 49" TV, 23" secondary, Mountain Everest Max

Mobile SFF rig: i9-9900K, Noctua NH-L9i, Asrock Z390 Phantom ITX-AC, 32GB, GTX1070, 2x1TB SX8200Pro RAID0, 2x5TB 2.5" HDD RAID0, Athena 500W Flex (Noctua fan), Custom 4.7l 3D printed case

 

Asus Zenbook UM325UA, Ryzen 7 5700u, 16GB, 1TB, OLED

 

GPD Win 2

Link to post
Share on other sites

I planned on getting a coolgear 4 port powered hub. It's an industrial 3.0 hub with a mounting flange so I can screw it down to the equipment. I definitely only planned on using a powered hub however the current usb 2.0 hub is also powered but it distributes power separately to each camera and the 12 volt motor via 6 pin pcie power cables. I have to leave this hub in place as it does that and also serves the purpose of the actual motor control.

Link to post
Share on other sites

If I had to guess I'd say the 12v motor is probably pulling too much power from a USB 2 port.

 

USB 2 can only deliver 500mA per port. Using simple maths that would give a 12v motor 6 watts to operate with before it tries to overvolt the port. If you're good with a soldering iron it is possible to split the power delivery across multiple ports, it would require you sacrifice a few USB cables and a 6 pin cable to make though.

 

USB 3 can do 900mA per port or 1.5A with a dedicated power line. That works out to 10.8w or 18w respectively.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to post
Share on other sites

No that's can't be. Motor control is the usb 2.0 hub. It is powered via 12v and 5v lines from a separate power supply. The hub is also a switching unit so it sends 12volts down to the motor and reverses the polarity. So the usb part of that is just used to activate and switch relays. 

Link to post
Share on other sites

Just now, frankr2994 said:

No that's can't be. Motor control is the usb 2.0 hub. It is powered via 12v and 5v lines from a separate power supply. The hub is also a switching unit so it sends 12volts down to the motor and reverses the polarity. So the usb part of that is just used to activate and switch relays. 

Ahh, fair enough then. If the motor has external power then it needs to draw nothing from the hub.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to post
Share on other sites

You do bring up a point though. The cameras which have a 6 pin pcie power cable may not be using that for the camera it self. It may just be lighting up the ir strobe on the camera. So my cameras may be struggling for power. The 3.0 powered usb hub I believe is 1600mah per port. 

Link to post
Share on other sites

The cameras won't output more FPS just by changing the USB port.  The FPS is configured through software, try using Virtualdub or some other programs that let you choose the fps.

 

USB 2 is 480 mbps maximum speed, but it's not full duplex and due to data being arranged in packets, realistically you're looking at around 35-40 MB/s maximum.

 

If the camera sends uncompressed footage, you can easily calculate how much bytes per second it needs ... let's say it sends 640x480 frames ... then you need 640x480x3 = 921,600 per frame. So a 30 fps stream would use 27,648,000 bytes or 26 MB/s

 

edit:  I saw that they're infrared cameras, in which case their output may simply be grayscale (black and white / just luma), in which case the cameras may output only 1 byte per pixel or 2-3 bytes for a group of 4 pixels (depending on color space)

 

Most cameras do use some compression though, it's either Motion JPEG where each frame is more or less sent as JPG, so for a 640x480 stream expect maybe 3-4 MB/s , or it could be MPEG2 or MPEG4 (h264) which should use around 10-20 mbps (1.5-3 MB/s)

 

Link to post
Share on other sites

It looks like virtualdub may help in diagnostics. I'll either swap out my ssd and reload everything or try another pc with it. The current software installed on the machine has to be installed by an equipment rep and is password protected so I don't want to screw any of that up. Actually my best bet would probably be to clone that drive on my dual drive dock and play around with the second one.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×