Go Down

Topic: Arduino board & stability (Read 1 time) previous topic - next topic

Ask

Dear forum

Very new here. I find the board very interesting - and I'm looking forward to test it.
Does anyone use the board 24/7, daily intensive use or similar?
I expect to use the board for PC, director + serial xtra for some interactive installations, and hope that it does not need reboot/restart from time to time.
Any experiences you like to share?

Regards Ask

CosineKitty

One thing to watch out for is that the time function millis() will overflow and wrap around every 9 hours or so.  This could cause programs to crash/misbehave.  For example, calling delay() right before the overflow occurs could possibly cause a permanent hang, in which case reset would be the only way out.

bigfun

I'm running the Arduino board continuously to control a hot water solar panel pump based on the data from several temperature sensors.  The board itself is very reliable, but occasionally the serial port hangs and needs to be disconnected and then reconnected - though this might not be the Arduino's fault.  I have, however, seen this behavior when using it with both Linux and Windows boxes.  But I'm connecting through a cheap Chinese 150 foot USB cable that I know to be unreliable in electrically noisy environments.

kg4wsv

Quote
The board itself is very reliable, but occasionally the serial port hangs and needs to be disconnected and then reconnected - though this might not be the Arduino's fault.  I have, however, seen this behavior when using it with both Linux and Windows boxes.  But I'm connecting through a cheap Chinese 150 foot USB cable that I know to be unreliable in electrically noisy environments.


Is this the arduino serial board?  Like many designs that try to stay simple and inexpensive, it plays the game of basically stealing voltage from one pin to get the RS232 voltage for the other.  I've had problems with other devices that do this in the past, although I haven't used the arduino serial specifically.

A true RS232 tranceiver (MAX232, MAX233, etc) may help solve these problems.

If it's really noisy you could also try to use RS422, which IIRC uses differential signalling.  Either use a serial port that's RS422 capable or convert from 422 to 232 at the computer end.

-j

kg4wsv

On the millis() wraparound issue:  is there a safe way to reset the counter?  If I use it I should theoretically know when it's safe to reset and when it isn't.

Perhaps an appropriate function be provided to reset it?

Does the arduino actually hang due to this, or only if you happen to be in the middle of a particular library call when it happens?

-j

Go Up