Servo always buzzing


 

Dale Ward

TVWBB Fan
Since last software update I have noticed on all three of my HM that the servo always make a buzzing sound. Is this going to shorten the life of my servo. I Keep my HM powered up all the time.
 
Last edited:
Are you using the towerpro? I noticed that I have a bit of buzzing when I use the Hi-tec HS-645MG but that thing is a beast of a servo (no brown outs on the raspberry pi during quick testing though).

Does anyone know what the pulse output looks like from the heatermeter (I don't have an oscilloscope). I believe most are expecting a 3-5v peak to peak square wave with a 20ms cycle.

Anyone know if there is a config file somewhere where this could be edited?
 
Yes using the tower pro ms and mg 90's. they are buzzing even when not trying to move like in full closed or full open or anywhere in between.
 
I seem to recall this being reported before and the issue was the main power supply. Perhaps try a different 12v power supply.
 
Servos buzzing when stopped with three different HM's 1- 4.1 and 2 - 4.2 and three different manufactures of power supplies and two types of supply switching and transformer, two different different servos. Did not do it on the 4.1 until last software update. Both 4.2 buzzing as soon as first test today when I calibrated the servo times.
 
Last edited:
Does anyone know what the pulse output looks like from the heatermeter (I don't have an oscilloscope). I believe most are expecting a 3-5v peak to peak square wave with a 20ms cycle.

Anyone know if there is a config file somewhere where this could be edited?
It is a 50Hz ~4.7V (depends on the current draw of the signal pin) square wave on v4.2 boards, 50Hz 3.3V square wave on v4.1. The frequency is hard coded in the firmware, and the voltage is in hardware.

As far as the buzzing, not sure what's up with that, I don't get it. I do get an occasional chatter though.
 
Chatter may be a better word for it, I guess it is not constant but is very frequent at least every 5 to 10 seconds I will try and time it tonight after work. I can hear it chattering from across the room.
 
For my HM 4.2.4, running software as current as when I built it last month. If there was a software update this month, I don't have it. When I was dialing in the servo, I would get a buzzing or chatter noise in the fully closed position but I think that was from the servo settings being too high. I had them set for 800 - 2400 but when I changed it to 800 - 2050, the servo still closed fully but no buzz/chatter. My servo is the Tower Pro MG90 with metal gear.

Dave
 
My theory is that it chatters like that because the servo pulses are done in software so there's really minor variations to the pulse width and the servo actually moves a teeny bit every so often. If will definitely buzz if it is hitting the endstop, that's definitely something you'd fix in the config though.
 
For my HM 4.2.4, running software as current as when I built it last month. If there was a software update this month, I don't have it. When I was dialing in the servo, I would get a buzzing or chatter noise in the fully closed position but I think that was from the servo settings being too high. I had them set for 800 - 2400 but when I changed it to 800 - 2050, the servo still closed fully but no buzz/chatter. My servo is the Tower Pro MG90 with metal gear.

Dave

I have carefully set my the the servo times and am no where near the servo limits and servos are not in a bind.
 
Just finished building my first HM 4.2.4 and also encounter the buzzing/ chatter of the servo. The frequency is about once per second. This happens, even if I set min and max to the neutral position (1500). I am using a DYMOND DS 5100 MG digital Servo (I intend to not use a blower, just the servo to open the vents on a Weber kettle).
Is there any news regarding the buzzing?

btw: Very cool project!
 
I'm not familiar with the Dymond DS 5100 servo, but if the vents are stiff at a mini servo is going to struggle to move them, they don't have all that much torque.
 
Just finished building my first HM 4.2.4 and also encounter the buzzing/ chatter of the servo. The frequency is about once per second. This happens, even if I set min and max to the neutral position (1500). I am using a DYMOND DS 5100 MG digital Servo (I intend to not use a blower, just the servo to open the vents on a Weber kettle).
Is there any news regarding the buzzing?

btw: Very cool project!

I wouldn't worry about the chattering, I have been using the same mini servo for a couple years and it is still working. It is a little annoying as it can be heard when sitting on deck having a beer and cigar enjoying the afternoon. I also do R/C helicopters and airplanes and these servos will also chatter in those applications, especially the helicopters. I am not sure anything can be done about it as far as the heatermeter electronics/software is concerned.
 
Yah, I agree, not a controller issue... If you've ever dissected one of these servo's you will see they have a miniature potentiometer on the end of the shaft that gives feedback on the servo position to the electronics inside the servo. The controller sends out a pulse to the servo, the servo's electronics translates that to a position and maintains that position though feedback from this tiny pot. Physical drag on the servo will make it chatter as will any variance in the feedback from that internal pot or degradation of the pulse signal being delivered to the servo. Have you ever turned a volume knob and heard that scratchy sound? That's what we are talking about here....
 
Thanks for the replies!
_the servo is standard sized and I did try it in a test setup with a servo tester and it was capable of moving the vent, I may post some pics, once it is installed at the kettle again
_the servo did not chatter when used with the servo tester
_while testing with the HM the servo was sitting on the table with nothing attached to it
 
I bought a new quarter sized servo (Modelcraft VS11-AMP), which is a analogue type servo. I have the same buzzing, as with the digital Dymond servo, even a little bit stronger. I understood, that it not should be an issue regarding operation and lifetime of the servo, but I agree with Dan, that it is annoying.
Would it be an option for servo only applications, to only have the servo turned on (5V), if there is a change in the PID output? Maybe even only, if there is a change of 5%? Is this possible w/o modifying the hardware?
I guess, I don't need to many adjustments at the vents while doing a pulled pork.
 
Yeah the servo always buzzes, it's because the interrupt handler doesn't fire at regular intervals. There's usually about a +/-us variance in the timing, but it can be a lot more if the servo interrupt happens during the ADC interrupt on period completion. Disconnecting the servo a period of time after it reaches the target would silence it, but in normal operation the PID output changes every second or two anyway so I'm not sure it would make much practical difference in the noise.

EDIT: But I do really like the idea of holding all servo changes until it has to move at least a certain amount, and disconnecting/reconnecting between those times. It's somewhat complicated internally but I think it can be done.
 
Last edited:
I find some of the Tower Pro MG90s servo's buzz a lot more than others. I've got a couple here that really don't buzz at all, they will kinda "twitch" every so often but don't sit there and rattle and buzz.... I've had other MG90s that will just buzz away for no good reason...
 
Yeah I have some that just sit there and buzz too, they also twitch which I think is what happens when the ADC period happens on a servo refresh. OH! I think I grabbed a screenshot of it when I did testing on it a while back. Hey what do you know?
JMJtiix.png
 
I couldn't stop thinking about this so I had to implement it so I could get back to work work. Online repository heatermeter.hex version 20150903B now has this built in please test and report back. I am not including it in the big firmware until I hear that it is working all around (at least a week or two).

The logic goes: Only pulse the servo for the full second following a change of at least 100uS in position, or if there is any change and it has been 10 seconds since the last servo move. The down side to this is that if the PID output doesn't change at all and you grab the servo and rotate it, it will never return to where it is supposed to be. In practice the only times I can think it would do this is at 100% and 0%, because in normal operation it will change a percent here and there. Solution? Don't do that! I could code against this and set a second long timeout but then the servo would still buzz every long timeout and people would say "It still buzzes and it isn't supposed to be moving!" and it is cleaner this way.
 

 

Back
Top