Motion Sensor, flaky behavior



  • I recently build a motion sensor and it doesn't have robust behavior. It seems to work most of the time but not all of the time. Does the motion sensor only send a command once when its state change? e.g. once when it detects motion and then once when the motion stops? If so, I think if the first motion command is not sent, it will not detect motion again until the motion sensor turns off and then back on again. Does this make sense?

    How reliable should the sent commands be? I wired the capacitor across the motion sensor ground/3.3V but I didn't do it for my hub - should I put a cap there too??


  • Hero Member

    Why don't you add a LED or serial console to the motion sensor and add some code that activates them if motion is detected or when data is published. Then check things against the log of the gateway.


  • Contest Winner

    From my experience, the motion sensor sketch works.

    Are you sure you have good radio connectivity?



  • @BulldogLowell said:

    From my experience, the motion sensor sketch works.

    Are you sure you have good radio connectivity?

    That was the first thing I suspected, They are pretty close to each other and have almost direct line of sight...Maybe 7m (21ft) between the gateway and the node. Maybe I need to add a cap to the radio for the gateway?


  • Contest Winner

    @naveen

    definitely try that next.



  • I gave it a go and it doesn't seem to help much. I'm powering the APM with the power supply included in http://www.ebay.ca/itm/131143728672?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649. I have a 12V 2A wall adapter plugged into the power supply that came with the breadboard and I'm using the 5V output into the RAW Arduino pin


  • Mod

    @naveen Did you check the 5v with a multimeter?
    I have an identical breadboard supply and fried mine with a "12v" adapter. After measuring the output of the adapter it appeared to be around 16v and the onboard voltage converter (ams1117 if I recall right) had it's maximum input set to 15v or so...



  • @Yveaux

    Hmm, that's good to know. Apparently my lab has a multimeter lying around so I'll measure the outputs tonight. @hek do you think you could add a reliable power supply vendor to the MySensors store? It is the one thing that I've had trouble choosing - they all look pretty similar its hard to tell the good from the bad.


  • Admin

    @naveen said:

    @hek do you think you could add a reliable power supply vendor to the MySensors store? It is the one thing that I've had trouble choosing - they all look pretty similar its hard to tell the good from the bad.

    Yep, it is hard to tell good from bad. You have to take them apart to be sure. We cannot recommend any special ebay power supply at the moment. But a general tip is to add a few dollars when dealing with AC power. There might be a reason why some stuff is so cheap.

    If anyone has a good supply dealer on ebay or elsewhere, please leave a tip here.

    When we create our own AC MySensors board we will have the possibility to select good stable components.


  • Hero Member

    I am to say I have the same issue...

    I have a big difference between what the serial displays and what the gw receives... even when adding such to prevent too much radio...

    if (lastValue != tripped) {
    gw.sendVariable(CHILD_ID, V_TRIPPED, tripped?"1":"0");  // Send tripped value to gw     
    }
    lastValue=tripped;
    

    here it is pointing to the ground:

    2014-07-26 20:47:03 4 1 1 0 26.1
    2014-07-26 20:47:04 7 0 1 16 0
    2014-07-26 20:47:04 7 0 1 16 1
    2014-07-26 20:47:05 7 0 1 16 0
    2014-07-26 20:47:08 7 0 1 16 1
    2014-07-26 20:47:11 7 0 1 16 0
    2014-07-26 20:47:14 7 0 1 16 1
    2014-07-26 20:47:16 7 0 1 16 0
    2014-07-26 20:47:20 7 0 1 16 1
    2014-07-26 20:47:24 7 0 1 16 0

  • Hero Member

    oooppppssss... wiring error.... @hek always told me to double check...

    Here some hysteresis could be added, as commercial grade motion sensor, a value the gateway could send to modify how long the presence sensor will not send the "alarm is over", avoiding thus lots of notifications on server side and lot of redundant messages, here one every 2s ...



  • I'm wondering if there is some way to do this:

    -send tripped command to gw/vera
    -poll gw/vera for the state of the tripped command (this is the step I have no idea how to do)
    -if value of tripped which was sent does not match the value in vera, resend command
    -repeat

    That way you ensure the message is continually sent until it is received (up to some finite number of times to prevent infinite loops)


  • Admin

    If you would consider moving your sensor network to 1.4 you can ask for an ack from gateway when you send in your tripped status.

    This mean the gateway will reply back to you sensor and you can pick up this answer (or choose to resend status again after some timeout if ack never reaches your node).


  • Hero Member

    @hek is there a way to make an interrupt with time ?

    I mean:

    • if it is tripped and previous status was untripped, send the alarm
    • if it is untripped but below a certain time don't send anything
    • after a while, the timer sends an untrip after the amount of time

  • Admin

    @epierre

    Yes, all this should be possible.
    Untripped should probably still be handled by the motion sensor (you will get an interrupt when state changes and can use the trimpot to change delay).


  • Hero Member

    @hek you mean only the hardware way ?

    Here if under 20s (in arduino time) I get my untrip, I don't send it. If a timer don't occurs, the untrip will never be sent.

    any idea ?


  • Admin

    @epierre

    How do you keep track of time while sleeping your Arduino?


  • Hero Member

    @hek do the millis does it ? else I can add a rtc



  • @hek

    Is there any reason I should avoid 1.4? I wouldn't mind upgrading if it'll make my sensors a bit more robust. I'm waiting for 5V power supplies in case the 12V power supply I have is what is causing my issues


  • Admin

    @naveen

    No, not really. Go for it. But things might still change (protocol/api) in 1.4. But that does not mean you have to update every day 😃


  • Contest Winner

    @Yveaux said:

    @naveen Did you check the 5v with a multimeter?
    I have an identical breadboard supply and fried mine with a "12v" adapter. After measuring the output of the adapter it appeared to be around 16v and the onboard voltage converter (ams1117 if I recall right) had it's maximum input set to 15v or so...

    that happened to me once too.



  • @BulldogLowell I fried my breadbord power supply by connecting broken power adaptor(it have me about 13-14V instead of up to 12V), this fried AMS1117 5V. I replaced it, and it's working proper again.


Log in to reply
 

Suggested Topics

  • 87
  • 8
  • 10
  • 7
  • 6
  • 1

37
Online

11.4k
Users

11.1k
Topics

112.6k
Posts