Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 04:15 10 Nov 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Servo Motors?

Author Message
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 07:27pm 07 Jul 2017
Copy link to clipboard 
Print this post

Not something I know a lot about.

Looking for something to move the air damper on my wood heater.

Something like this with plus 30kg cm torque should be more than sufficient to move the lever the 60mm max from open to closed, but can I drive it with a Micromite?

I'd assume that it would need 6V with sufficient current, but is the control output from the MM just then fed via Gnd & the input signal wire?

40kg Servo.

Other thing I need to contemplate is "Manual Override",
IE, dealing with people walking up & moving the damper manually.

How do I run it so the servo moves the lever, but onces it's positioned, does not fight against any manual movement.

IE cutting power would stop it fighting, but can that be done by deactivating the control output in software after movements have been made?

Thanks

Phil.

 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 10:02pm 07 Jul 2017
Copy link to clipboard 
Print this post

Servos are easy to drive with the micromite (SERVO command) but keeping them in a set position without them pulling some current &/or 'hunting' or buzzing sometimes is not so easy. I've used the very basic little 2Kg torque Tower Pro SG90's on a cat door for different cam positions for in/out/closed etc quite successfully but they do continually draw about 30mA (at 6v) while in position and about 130mA or more when they're re-positioning - yours will presumably be a lot more.

There's also the issue of occasional 'unexplained' rapid changes of position, presumably due to the odd spike coming through - and loss of power if you're using a mains supply (wall wart e.g.) which can randomly re-set the position. With the cat door, the above issues were not a big deal and I got around the odd re-positioning problem by re-setting the servo to the wanted position on a regular basis (1 minute) using SETTICK.

It might be possible to power up and down the motor of your servo by controlling a relay or transistor etc. each time after you re-position the servo because the motor supply is separate to the servo's control pulse input. Another couple of possibilities would be using a stepper motor, or a normal motor and position feedback.

Greg
 
palcal

Guru

Joined: 12/10/2011
Location: Australia
Posts: 2006
Posted: 10:36pm 07 Jul 2017
Copy link to clipboard 
Print this post

Phil,
If the duct is round that has the damper in it, search for 'damper' on Ebay and
you will find plenty of motorised dampers of various sizes used for air conditioning.
Paul.
"It is better to be ignorant and ask a stupid question than to be plain Stupid and not ask at all"
 
plover

Guru

Joined: 18/04/2013
Location: Australia
Posts: 306
Posted: 04:59am 08 Jul 2017
Copy link to clipboard 
Print this post

I am not quite sure how it would go if you used a friction clutch. My thinking, you can move the damper manually it slides in the clutch (you will probaly need to measure the damper position so the micro knows where it is at)

Instead of the servo, a simple electrical motor picked out of some obsolete equipment?
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 05:12am 08 Jul 2017
Copy link to clipboard 
Print this post

A geared DC motor, magnetic clutch and end stops would work and is easy to control.

Microblocks. Build with logic.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 11:57am 08 Jul 2017
Copy link to clipboard 
Print this post

Not sure about a clutch, it did cross my mind, but I have the constraints of space, and need to be conscious of the heat; it can be over 200°C.

I'm thinking it needs to be cable operated, like a motorcycle clutch cable, but temperature resistant.

The damper lever has a travel of just under 50mm from opened to closed.

Thinking I might be able to fit a slotted plate behind the front casing with a 50mm slot and the plate having 100mm of linear travel.

The servo could park the plate in the central position, so that users were free to slam the lever left or right as they please.

The servo could then move to either extreme to either fully open or close in a single operation, then the actuator parked again.

Setting it to intermediate positions would need to be made starting from either a fully opened or closed position, followed by parking the plate again.

I'd presume changes to the damper position would only be made every 5 minutes of so & less overnight.

So far I've only monitored temperatures with a couple of K-Type thermocouples, but have 2 thermocouple modules that will screw in somewhere.
Just haven't decided where yet.

Inspiration comes from the old Pot Belly stove I replaced in the outdoor are a couple of years ago.
It had a very simple & effective thermostatic damper control, which both of the current heaters lack.

Pictures Below; (Not that good at SketchUp, first encounter with it).

Phil.













 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 10:46pm 08 Jul 2017
Copy link to clipboard 
Print this post

How about a length of threaded rod with a nut attached to the damper lever; that should fit easily behind the panel. Lubricate the nut with a graphite based high temperature grease. The rod exits to the side of the panel and have a small box there to house a little motor/gearbox (heaps on e-Bay) and two limit switches. Make (or buy) a simple slotted encoder disc, mount it on the gearbox shaft (or the rod would be easier) and feed pulses from it back to the micro for position control. Actuate the limit switches with nuts (fixed) on the rod at the extremities of the damper travel. The switches can cut the power supply to the motor &/or signal back to the micro the 'end' positions.

The motor needs to be reversible (obviously) and the box at the end will probably need some thermal insulating material under where it attaches to the panel (e.g. 6mm fibro cement panel or maybe just wood) to help keep the temperature down for the motor. A thermal insulating coupling will probably also be needed on the rod where it enters the box.

I had a cheap little BBQ motor/gearbox that rotated the BBQ spit years ago - probably at about the speed you would want. It had metal cogs and ran off a single 1.5v alkaline 'D' size torch battery and lasted for years even though a roast typically took about two hours and the thing was continuously running! The temperature at the side of the BBQ where it was mounted wouldn't be far from what you will have. The micro needs to be housed somewhere cool of course and wired to the box.

All that could be put together pretty cheaply I'd say - bit of work but should be fun. Paint the box to match the panel of course to keep the 'significant other' on-side.

Greg
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 11:26pm 08 Jul 2017
Copy link to clipboard 
Print this post

  paceman said  All that could be put together pretty cheaply I'd say - bit of work but should be fun. Paint the box to match the panel of course to keep the 'significant other' on-side.

Greg


I've done a fair bit of data analysis on this & the logging reveals that the SO (Significant Other), likes to throw the damper wide open after putting a few chunk of wood in, before siting down.

Mental log files detail that at 10. 5 minutes after sitting back down to the weekly magazine, the SO reports that the fire is getting a "Bit Hot", & is requiring that the LSO (Less Significant Other), should arise from his chir & turn the fire down.

So I need to maintain that status.

SO has full manual control, &
LSO lets the Micro shut it down a bit after 10 minutes or so.


Lol

Phil.
 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 03:48am 09 Jul 2017
Copy link to clipboard 
Print this post

Uh-huh, sounds familiar. I guess from the SO's point of view she has full control anyway and doesn't need automation whereas from the LSO's point of view, he is the automation - both are right of course. It's an interesting phenomena - I've noticed over the years that in general, ladies do ON/OFF control very well but have little concept of CONTROL control.

Greg
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 04:51am 09 Jul 2017
Copy link to clipboard 
Print this post

Better give full control to the SO with a remote control.
Then the LSO only have to make sure the remote has a working battery. :)

Microblocks. Build with logic.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 11:57pm 13 Jul 2017
Copy link to clipboard 
Print this post

Can' use drawing software for Sh^!...

Does this seem like a good solution though?

Think the Flu needs an "E".

Phil.



 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 12:09am 14 Jul 2017
Copy link to clipboard 
Print this post

  palcal said   Phil,
If the duct is round that has the damper in it, search for 'damper' on Ebay and
you will find plenty of motorised dampers of various sizes used for air conditioning.


Know the ones you mean Paul,

I have 6 up in the ceiling space directing hot air about.

Should probably admit that 3 are still in their boxes, but the 3 others are installed (2x200mm & 1x300mm 240V), Two are air delivery & one (300mm, is return air).
Controlled by a 28 Pin MM, along with two 2 Speed blowers. 8 DS18B20's monitor the temps for the system.

Phil
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 12:28am 14 Jul 2017
Copy link to clipboard 
Print this post

Another thought/issue,

Looking at the Specs of the Servo I've ordered,

[Code]Speed :0.20sec/60degree at(6.0V) 0.18sec/60degree at(7.2V)
Torque:36kg.cm.at(6.0V) 38kg.cm.at(7.4V)
Voltage:4.8V-6V
Size:59.5X29X55.2mm
[/code]

It has a working angle of 45°, (So 45°in 150mS), I think.
But I don't want it moving the damper that quickly.

I'd rather move it from say open to closed in around a second.

Any suggestions for a small bit of code to move a Servo at a slow speed?


Thanks

Phil.

Edit:-

I believe SO's transition it from open to closed in around 50mS;
But I'd rather not stress things.Edited by Phil23 2017-07-15
 
paceman
Guru

Joined: 07/10/2011
Location: Australia
Posts: 1329
Posted: 02:30am 14 Jul 2017
Copy link to clipboard 
Print this post

Phil - it will always run at its design speed (i.e. fast) from wherever it is now to wherever you send it next. But, you should be able to program an 'apparent' slow movement by dividing up the distance (rotation) you want it to make into smallish amounts and sending each increment (new pulse width train) at short time intervals until you're finally at the position you want to be.

This might (or not) make it buzz a bit when you make a damper position change but you should be able to minimise that with a bit of trial and error.

I think you'll need to do something like this to slow it down anyway otherwise you'll have the dog barking at it and the SO getting her cup of coffee upset.

Greg
 
PicFan
Senior Member

Joined: 18/03/2014
Location: Austria
Posts: 133
Posted: 03:53am 14 Jul 2017
Copy link to clipboard 
Print this post

Try this, run in "Background"


REM Servo Delay

option autorun on
option explicit
option default integer

const k_usOpen = 2000 'Servoposition open
const k_usClose = 1000 'Servoposition close
const k_msDelay = 50 'Delay per step (Step = 5uS, max. Resolution Servo-Command)

dim float sVal = k_usClose / 1000
dim sInt = k_usClose
dim oc_Flag = 0

servo 1, sVal

on key tasten()
settick k_msDelay, msInterrupt(),4

REM MM-Edit chat, press "o" and "return" for OPEN
REM In TeraTerm, press "o"
REM MM-Edit chat, press "c" and "return" for CLOSE
REM In TeraTerm, press "c"

DO
pause 1000
LOOP

sub tasten()
local a$
a$ = inkey$
if (left$(a$,1) = "o" and oc_Flag <> 1) then
oc_Flag = 1
timer = 0
print "Open . . . "
elseif (left$(a$,1) = "c" and oc_Flag <> 2) then
oc_Flag = 2
timer = 0
print "Close . . . "
endif
end sub


sub msInterrupt()
if (oc_Flag = 1) then
doorOpen()
elseif (oc_Flag = 2) then
doorClose()
endif
end sub

sub doorOpen()
if (sInt = k_usOpen) then
oc_Flag = 0
print "RUNTIME to open in SEC:"int(timer / 1000)
else
sInt = sInt + 5
sVal = sInt / 1000
servo 1, sVal
print sVal
endif
end sub

sub doorClose()
if (sInt = k_usClose) then
oc_Flag = 0
print "RUNTIME to close in SEC:"int(timer / 1000)
else
sInt = sInt - 5
sVal = sInt / 1000
servo 1, sVal
print sVal
endif
end sub


Your control is: oc_Flag = 1 do open, oc_Flag = 2 do close. oc_Flag = 0, no movement.Edited by PicFan 2017-07-15
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 11:58am 14 Jul 2017
Copy link to clipboard 
Print this post

You could try a linear actuator - LittleBirdElectronics have a few.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 01:44pm 14 Jul 2017
Copy link to clipboard 
Print this post

Did consider linear actuators, but have the installation constraints & need to avoid the heat.

One issue is that the enameled casing around the firebox can't be removed.
There are two sections on the top that lift off, but removing the front & side sections would require the flue to be removed & the whole thing probably pulled forward.

Plenty of room between the fire box & the casing though, with about 40mm at the top & front & 70mm down this sides.

Phil.
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025