Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Help with using a muscle wire actuator with feedback signal

Status
Not open for further replies.

Kian

Member
Hi all,

I bought this muscle wire actuator lock that comes with a feedback signal. The red (signal) and black (ground) wires are used to actuate the muscle wire to unlock, while the blue and white wires are to indicate if its locked (open-circuit) or unlocked (short-circuit). The black and white wires are connected internally.

Post image

In the locked position, the limit switch is closed, so current can flow from the red wire, passing through the muscle wire, to the yellow wire, going into NC and out from COM (the black/white wire). When I apply power, the wire shrinks and opens the latch, this releases the limit switch, so COM is connected to NO pin. And it breaks the connection between the muscle wire so no current will flow through it even if I continue to apply power. When I remove the power it continues to stay in this position. It's only when I push the latch back to the lock position, then the limit switch is activated again connecting COM to NC pin and there is a close loop across the muscle wire. If no power is applied, it stays in the lock position again until power is applied to shrink the wire.


What confuses me now is how can I actually connect the blue wire to a MCU to check if the actuator is locked or unlocked. It may seem intuitive to connect the blue wire to a MCU input pin (with resistor pull up to VCC) and the white wire to Ground. Doing so, when in the locked position, the MCU should read a logic HIGH and when in the unlocked position, the MCU should read a logic LOW. But here is the problem…

I am using a MOSFET to drive the actuator (because of high current requirements) and the circuit looks like this:



Post image
The red wire is connected to an external battery supply, and the black wire is connected to the Drain of the MOSFET. The MOSFET’s gate is connected to the MCU output pin to drive the MOSFET, and the MOSFET’s source is connected to ground. When the MOSFET is turn on fully, current can flow from VBatt (through the muscle wire), through the MOSFET and to ground, releasing the lock. This works perfectly fine.

But the blue wire is connected to the MCU and I need the current from 3.3V to flow to ground and not into the MCU pin. In the unlocked position, the blue wire is connected to the black and white wire. So it may seem like I could permanently connect the white wire to ground and that would work. But this will give me a problem. When the actuator is now back in the locked position, current can immediately flow from VBatt to ground (going through the muscle wire) without even needing the MOSFET to switch since there is a path to ground through the white wire.

So I am pretty stuck now. Hope someone can help me out. Thanks in advance!
 
Someone suggested that I connect the black wire to VBatt, then use the red wire as a pull down to actuate the muscle wire, and the blue wire for feedback signal. Then I only need to switch the 10K resistor from being a pull-up to a pull-down. The muscle wire doesn't care about the polarity.

However, I have one concern. In my use case, the actuator is mostly in the unlocked position. Hence there is going to be constant current drain through the 10k resistor to ground. I am running this on batteries and i don't want the batteries to run flat in a short time.

The muscle wire actuator is not going to draw a lot of current. It only draws current when I want to unlock it. And I just need to drive the MOSFET for about 1 second or less to release the lock, after which the muscle wire becomes an open circuit. I probably need to unlock it at most 2 times a day. The MCU is mostly in deep sleep, woken with an external button interrupt to trigger the actuator lock to release. The MCU goes back to deep sleep again waiting for the feedback signal (blue wire) to interrupt the MCU again telling that it is back in the locked position.

I have read that it is not recommended to use a pull down resistor value that is too large as it may cause reliability issues. Using a 10k resistor with a 4.5V supply is going to drain 450uA. Even a 100k resistor drains 45uA which is too much for me.

I am only interested to know when the actuator lock changes from the unlocked to lock position. And this can happen any time and I want it to be interrupt driven.
 
If the mosfet is on then the black wire is grounded. Once activated black and blue are connected so you can still use a pullup. Most micros have built in pullups that can be turned on and off so as not to waste power. Just ignore the white wire.

Does that fix your problem?

Mike.
 
Also, if you stick with a pulldown, connect it to a spare output so you can turn it off in software.

Mike.
 
Thanks for the reply.

I have tried what you suggested. Yes, when the mosfet is on, the back wire is grounded. So when the actuator is in the locked position, I am reading a logic 1 on the blue wire. When the actuator is unlocked and if I am still driving the mosfet, then I will read a logic 0 on the blue wire. It goes to logic 1 as soon as I stop driving the mosfet.

Problem is, I am more interested to know when the actuator switches from the unlocked to locked position. So if the actuator is unlocked now, and I am not driving the mosfet, the blue wire is giving a logic 1. When I attach the latch to lock, the blue wire is still giving a logic 1.



If the mosfet is on then the black wire is grounded. Once activated black and blue are connected so you can still use a pullup. Most micros have built in pullups that can be turned on and off so as not to waste power. Just ignore the white wire.

Does that fix your problem?

Mike.
 
Micros are so quick that turning your mosfet on for a few uS so as to read the lock state should be no problem - turn on mosfet, read pin, turn off mosfet this sequence should be doable in uS. However, if that's a problem, did you consider my second suggestion, a switchable pulldown.

Mike.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top