Controlling servo from 1.8v

Sorry for hand drawn schematic.

Want to know if my calculated values are right?

As there is no feedback from servo decided to use switches normaly open to get feedback from shaft location at extremes. Depending of what pin will send a signal to attiny it will trigger predefined isr to control direction of the motor shaft rotation. When motor will hit one of the switches attiny will power off motor and save position in eeprom for future reference. I want to power motor from 6v to accelerate shaft movement compared to 5v. Im also not sure if signal voltage 5v is right if servo itself is powered from 6v.

Switches are connected through simple debouncing rc ~100ms.

Its battery operated circuit so power efficiency is my concern.

Thanks.

Update: i cant attach image from my iphone! Will update the topic with image as i get to my laptop. Sorry

As there is no feedback from servo decided to use switches normaly open to get feedback from shaft location at extremes...

...and save position in eeprom for future reference.

Servos have built-in feedback. If you "tell it" to go to 90 degrees, it knows where it is, which way to move, and when to stop. If you push it out of position it will "fight" to come back.

Your software doesn't know the position but of course it knows the target-position and if the system is working you (and the software) can assume it's where it's supposed to be.

If you don't have a servo (maybe a stepper motor?), saving the position in EEPROM is not reliable because the position can (sometimes) change while the power is off, and you can get "slippage", etc. Typically you find "home" at power-up and the motor may be periodically homed while it's running depending on the application.

I want to power motor from 6v to accelerate shaft movement compared to 5v. Im also not sure if signal voltage 5v is right if servo itself is powered from 6v.

Yes, that's fine. the control pulses are normally 5V no matter what the motor-drive voltage.

Its battery operated circuit so power efficiency is my concern.

Servos normally "run" continuously to hold the position so they are always consuming power.

Let me copy paste here my reply to my buddys text which was exactly same as yours.

“Yes it has limiter. Now in my case im sending 2ms pulse to move to +180 degrees. Assuming its moving im calculating delay in my code lets say after 2 seconds we assume it will reach there. Now how u know if its at 180 after 2ms or no? Motor circuit is not sending any signal back. What if right after 0.5ms of waiting till it will reach to the point somebody will hold the motor shaft and prevent it from moving. After 2ms code will assume motor reached to 180 position which actually it didnt. And will save that position to know where shaft is now which will cause catastrophical results.”

1/500th of a second to move through 180 degrees is. . . . optimistic.

I was in a rush when writing that text but you got the idea what i meant. Considering 0 position 90degrees. 180 degree is another 90 from neutral position so it must be really fast.

Sorry that makes no sense.
Do you know you have to keep on supplying pulses of a specific width to keep the servo still at a specific angle?

You don’t just give it one pulse and it goes to the position.

Lets consider simple circuit without controller. 2x555 timer circuit one is generating 50hz and is connected to 2nd one which takes that 20ms and generates 10% duty cycle i.e. 2ms pulse. If i assume it must take 5 seconds max from where the shaft is to reach to the +180 degrees (cos of 10% duty cycle) then after 5 second i can switch the power off to the motor again because of assumption. As there is no feedback from controller telling exactly at what position it is i can only assume but never be sure. Consider there is an arm attached to the shaft now when i powered on the circuit and right after that hold the arm with hand and wait 5 seconds motor shaft and arm attached to the shaft will not reach to the destination angle and on the other end of the signal wite nobody knows about that because we only made assumptions that it supposte to “work” like that.

To solve that problem i decide to put switch on +180 degree side. Now when we consider same example but with added switch result is different cos now there is feedback that can tell to controller/operator or via led or buzzer that arm reached to its destination simply because switch was open and now its closed and triggered some event. And if i hold the arm while shaft is turning after 5 seconds we will know that it didnt reach to where it suppose to reach and may be there is a problem with motor end of the circuit.

. Consider there is an arm attached to the shaft now when i powered on the circuit and right after that hold the arm with hand and wait 5 seconds motor shaft and arm attached to the shaft will not reach to the destination angle and on the other end of the signal wite

So you only turn off the power when you see the limit switch has been hit, not after a set amount of time.

Also holding a servo to prevent it getting to where it wants to go is a great way to either strip the gears or burn out the motor.

What you want to do is to have an absolute rotary encoder on your servo's shaft. These can be very expensive but using a hall effect one, like the AS5040, with a magnet on the shaft can be a cheaper option.

If switch is not hit after set amount of time then power to motor will be shut off anyway not to drain the battery while motor will be struggling to overcome load of seized arm.

To prevent gear stripping im planning to put polyswitch as overcurrent protection so when it will draw more than predefined/calculated current then polyswitch will shut off the line anyway. That will prevent gear stripping and also if something will go wrong with controller.

But is my idea of implementing limits of motor right or wrong? Think its cheaper and easy to build. May be im wrong.

Thanks
Finally attached my drawing!

Second switch is not needed i solved That problem in design. But still need to use reset pin as input pin in datasheet it says its possible but have to read further to understand how to use that pin.

To prevent gear stripping im planning to put polyswitch as overcurrent protection so when it will draw more than predefined/calculated current then polyswitch will shut off the line anyway. That will prevent gear stripping and also if something will go wrong with controller.

No that will not work.
Poly fuses are very slow to trip, it can take as long as two minuets to trip depending on the over current. You can only get them in a limited number of trip currents. And while they will reset they will not do it forever, because they get slower to trip and less effective the more trips they have. We used to replace them every 10 trips. It also will not prevent gear stripping because that happens at the moment the motor is stopped.

I don't understand your schematic. I don't see how that motor ever goes backwards unless the thing with a M in a circle is not representing a motor like its symbol but a servo.
What is the block on the far left? And what is the block in the middle?

Its servo i was drafting in the car sitting in the parking lot :-)))

What are suggestions for current or excessive load protection if polyfuse wont work.

Left side is an 3.3v controller connected to attiny which must run at low voltage for energy efficiency. First i made same circuit on 555 timers then found out that attiny can do same thing even with less power. So switched to attiny.

What are suggestions for current or excessive load protection if polyfuse wont work.

A crowbar detector. Current is monitored through a seriese resistor and that is used to trip a flip flop when it exceeds the current limit threshold.