Low power motion control for Nano

Imagine you have a pet door, with a flap that swings back and forth along a horizontal hinge. For example:

The goal is to “baby proof” the door, so a child cannot crawl through. In other words, the door is blocked in one direction, until a control unblocks it.

Currently, I have a magnetometer that reads a magnet on the pet’s collar, which then sends a signal to a push/pull solenoid to “unblock” the flap so it can swing open. This consistently works but draws significant current for a low power application. I am trying to brainstorm some ideas to eliminate the solenoid and replace it with something more efficient.

What I’ve tried so far:

  • Solenoid: Consistently works, draws too much current (1.3A at its worst, 900mA average)
  • Servo: In the servos I tested, they seemed to draw around 1A (+= 200 mA) under load. Also, it was quite jittery as the micro is in sleep mode, and when it wakes up, I would get jitter. Probably an issue on my end, just an observation. Either way, still power hungry in testing
  • Stepper motor: Large power consumption, requires additional motor controller. I tried a “micro” stepper motor, and it just didn’t have the torque to move when the flap was pressed against it. I’m sure there are others out there, but I tried another step up (nema8) and that too would draw about 1A but was extremely accurate.
  • ?

One idea I thought of trying this week was an ultra-low power motor controller, paired with a simple brushed DC motor. One obvious problem with this approach would be precision, as I wouldn’t know the position of the motor. I thought about maybe adding an encoder but figured I would start the discussion here to see if someone already tried that. I don’t have any to test with, so I have no idea if this is better than my options above in terms of power consumption.

Anyway, the main reason for this post was to solicit some feedback to see what other options are out there for low power motion control. In terms of budget, at it's worst case I could justify a burst of 500mA, but ideally I am looking for a solution that draws less than that, if possible. I am mainly just looking for a direction, which I can then go off and research/test.

Thanks!

Solenoid: Consistently works, draws too much current (1.3A at its worst, 900μA average)

How long do you need to activate the solenoid for ?

1.3A sounds like an awful lot for something that has so little to do, ie move a small catch from one position to another, particularly if you use a spring to return it to its resting position

@UKHeliBob The solenoid needs to be "pulled" down for about about 5 seconds. Just long enough for the cat/dog to walk through the door. I also thought about positioning it so the door is resting against the solenoid with a little pressure. That way, the solenoid only needs to be open for a second or less, and the door will naturally push past it.

I do agree that the power consumption is a bit much. For reference, the locking solenoid I am using for testing is here.

And the MOSFET used to switch is here.

The RFP30N06LE is overkill for what I need, but I had it laying around and it had a 3.3v logic level so I gave it a shot.

RFID seems to me like a better choice for the sensor. But if your magnetic system works, it should have acceptable power consumption.

There are more and more lock actuators on the market every day. My front door is electronic and its 9V battery lasts for years. It seems to have a little geared motor which drives a small latch in and out. It doesn't drive the main lock. It needs a human to provide that power.

I do agree, the RFID reader would be a better approach, especially considering most pets have embedded RFID microchips.

Initially I went that direction, and scoured the Arduino forums. I found countless, "I want a RFID reader that reads (insert distance here)", for which @Grumpy_Mike would chime in and explain why it's generally not possible without a specifically designed/tuned antenna. If it was only a few inches I would probably be fine.

Long story short, I was looking for an RFID range of at least 8" with a passive tag, but never found an off the shelf solution that was in budget. UHF is out there, but nowhere near my price point. There are a few manufactures who have made this solution work, but I am guessing the magic is in the antenna, and that is way beyond my knowledge base.

Have a look at commercial cat flaps - ours works by detecting the code of the chip in its neck , the flap is controlled by a small geared motor that pulls down a small latch to allow the cat in/out.
It runs off 4AA batteries for about 9 months .

Using a motor driven latch makes sense because it only takes power while it is moving. If the solenoid were of the correct type (can you please post a link to the device that you are using) it would similarly only need a short pulse of current to change state and not need power to hold it in the open position

Thanks @UKHeliBob. To answer your question, the exact solenoid I am using can be found below:

Click Here

And the MOSFET used:

Click Here

Datasheet for MOSFET

The RFP30N06LE is probably overkill for what I need, but I had it laying around and it had a 3.3v logic level so I gave it a shot.

The solenoid specification says

  • When the circuits is charged, the lock tongue will pull back by 6mm and the door will be unlocked.
  • After the circuits is powered off, the lock tongue will extend to lock the door.

so it needs to remain powered whilst the door is in its released state, which is what gives the motorised latch it advantage