Go Down

Topic: 10M pull up resistor on rotary encoder (Read 1 time) previous topic - next topic

swe-dude

Hello i have a small rotary encoder remote, with attiny13a nrf24l01 and a rotary encoder,
For the moment I'm using 1M Ohm pull up resistors and 1nf caps to gnd on each signal line(2 for rotary and 1 for switch)
Those 3 resistors take around 9uA the rest(nrf attiny..) takes around 2uA in sleep mode,
so the plan is to decrease those 9uA.

The values are getting insanely high and low here so the question is does this have any chance at all to work with 10M ohm resistors and 100pF caps instead? I would just try it but i don't have those values so before i order a few is there any point in trying??


septillion

I don't expect the reaction time to be any good then... Combined with noise immunity that drops.

Do you need to wake the uC with the rotary as well?
Use fricking code tags!!!!
I want x => I would like x, I need help => I would like help, Need fast => Go and pay someone to do the job...

NEW Library to make fading leds a piece of cake
https://github.com/septillion-git/FadeLed

swe-dude

Ye i use interrupts to wake up, so more noise might be a problem hmm....as it is its working perfect i just want the batteries to last as long as possible I'm still on the first cr2032 after 3 months so might not be a problem.
I might save this for when the first one dies, still I'm curious of it would work or not.

MarkT

#3
Mar 22, 2017, 11:57 am Last Edit: Mar 22, 2017, 11:58 am by MarkT
You need to switch the supply to the pull-up resistors for when you need them, abandon trying to make
them high impedance.

If you want the encoder to work when the microcontroller is in sleep mode you'll have to redesign things - there might be a chip to do this, even.
[ I DO NOT respond to personal messages, I WILL delete them unread, use the forum please ]

septillion

Ye i use interrupts to wake up
That's not what I asked ;) I asked if the rotary (aka, rotating it) needs to wake up the uC?

Just make one input able to wake up the uC (and a button/pushing the rotary is easier then the rotary because of the slowness = can get away with a higher resistor and a "big" cap) and just use the internal pull ups for the rotary once the uC is awake.
Use fricking code tags!!!!
I want x => I would like x, I need help => I would like help, Need fast => Go and pay someone to do the job...

NEW Library to make fading leds a piece of cake
https://github.com/septillion-git/FadeLed

MarkT

#5
Mar 22, 2017, 12:46 pm Last Edit: Mar 22, 2017, 12:49 pm by MarkT
The rotary outputs are not momentary, they can be parked open or closed, so the dissipation
through a pull-up cannot be avoided.  Adding a big cap will mean the time constant gets to be quote long so it cannot follow normal motion of the switch - this is a hard problem I think, if the switch
has to be responsive during power down. 

My best off-the-cuff solution is to have two sets of pullups,
and switch on the strong pullups on wake-up.  The first negative going edge will cause a prompt
interrupt (positive going are very slow with weak pullups), then the wake up process turns on the
strong pullups - note each strong pullup needs its own pin to power it, as they must be isolated
from each other in low power mode.

That means 4 pins and 4 resistors and 2 capacitors are needed, probably 22M, 10k and 10nF ?

Alternatively live with 10M and 1nF and hope noise isn't an issue...
[ I DO NOT respond to personal messages, I WILL delete them unread, use the forum please ]

Go Up