I am running a custom made meteocam mounted on a pan/tilt assembly that is controlled by a micro maestro attached to a Linux PC via USB. I use this to control the pan/tilt mount via Internet. The controller is supposed to stay always on and connected.
Everything runs fine for a while, but all of a sudden the controller simply drops the USB connection and does not start again until power cycled. The power light is on, but the controller does no more appear in the USB devices list and the linux kernel reports it simply disconnected.
This is a remote system, and I don’t have many possibilities to go there and power cycle the thing, so I’d like to know if there is some limitation in the firmware that can be corrected in some way (maybe a firmware upgrade of some sort)?
The controlled is powered by a dedicated PSU (in case you ask: yes, I have soledered the power supply lines on the controlled as per user manual instructions). The ground is in common between the PC and the controller. Environment data is OK (temp between 0 and 25 degrees celsius, humidity never above 50%).
I tried two different controllers, but they all behave the same: work for a while, maybe even for days, then they stop.
Any help or advice is appreciated
I am sorry you are having trouble with your Maestro. It seems to be able to operate for you for long periods of time. Is there anything in the environment that could be causing the USB disruption? Could you post picture of your setup that clearly shows your connections?
One thing you could try that might work to reset the Maestro once this problem occurs is that you could drive the RST pin low, and this should behave as if the Maestro is being powered off. To do this though you would have to find some way to drive this pin low from your PC.
Thanks for the reply and sorry for my late one…
I just soldered together the vin pin and the pwr line as per instruction and I’m powering the board via an external regulated 5v PSU connected to the vin and gnd pins.
However, even if the board is completely disconnected from any servo or external PSU, it still won’t be recognized as an USB device. Power led is on and the yellow led next to the servo contact pins is flashing, but the board won’t react.
Maybe I have to cut a trace between the vin pin and the microcontroller, so that it is powered up only via USB?
The GND signal is in common wit all of the devices, so no issues there.
Well, I probably got it…
I was powering up the micro and servos using the same supply, a model wit variable output from 5v to 12v. It was set to 5v, but the maestro documentation is clear about this: when you power the micro via external supply AND USB, the external supply will be used and if that one falls belo 5v, it is not granted to work.
Probably my PSU was supplying between 5,3 and 4,8v and this caused the micro to power down. I have raised the PSU output to 6V, still OK for the servos but at least does not fall below 5v
No way, still no luck. I thought it was the voltage, but it is not. Even with 6V input nothing changes.
Disconnected the external PSU, now the controller is powered via USB, but (doesn’t) work the same as before. Even tried another one without the vin-pwr pin soldered together: same behaviour. Works for a while, then starts the connect/disconnect loop.
The /var/log/messages file is flooded with disconnect/connect messages for the Maestro controller device like this one:
[196518.624351] usb 1-4.4.3: new full-speed USB device number 39 using ehci_hcd
[196518.719600] usb 1-4.4.3: New USB device found, idVendor=1ffb, idProduct=0089
[196518.719609] usb 1-4.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[196518.719616] usb 1-4.4.3: Product: Pololu Micro Maestro 6-Servo Controller
[196518.719621] usb 1-4.4.3: Manufacturer: Pololu Corporation
[196518.719626] usb 1-4.4.3: SerialNumber: 00034825
[196518.724934] cdc_acm 1-4.4.3:1.0: ttyACM0: USB ACM device
[196518.734075] cdc_acm 1-4.4.3:1.2: ttyACM1: USB ACM device
[196518.757596] usb 1-4.4.3: USB disconnect, device number 39
the device number increases to the maximum (120) and starts from 1 again.
All the other devices attached to the same hub are working like a charm, so it’s not the hub or the USB port.
Really don’t know what to do now
Maybe I should try swapping the Maestro with an Arduino…
I am sorry that you are still having problems getting the maestro to work for you. I am not sure what might be causing the problem, but maybe if you post some pictures that clearly show all the connections to the Maestro, I might be able to spot something? Another thing you could try is implementing the reset using the RST pin I mentioned earlier.