OpenServo.com Forum Index OpenServo.com
Discussion of the OpenServo project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Inside the Hitec HSR-5995TG
Goto page 1, 2  Next
 
Post new topic   Reply to topic    OpenServo.com Forum Index -> Hardware
View previous topic :: View next topic  
Author Message
DKNguyen
Guest





PostPosted: Sat May 27, 2006 6:15 pm    Post subject: Inside the Hitec HSR-5995TG Reply with quote

The Hitec manual recommends against handling the coreless motor because the ""brushbase"" (whatever that is) can become very easily separated from the PCB.

If this happens, does this mean that the motor has just become separated from the PCB? Or does it mean something inside the motor has come apart and that the motor is destroyed?

For Hitec, servos, what configurations has everyone seen (please refer to the image links below).

1. Pot & Motor direct connected to PCB (I so hope this is not the case):
http://www.seattlerobotics.org/guide/images/servo3d.jpg
2. Pot & Motor connected to PCB via wires:
http://www.lynxmotion.com/images/howto/smodh209.jpg

Do all Hitec servos that everyone has seen have the exact same setup as 2 (ie. motor/pot connected via wires, pot held in place by fixture)? I would really appreciate any mention of any variation from 2 that anyone has seen in Hitec servos.

In case 1, that the pot is direct connected to the PCB, how did you ensure that the pot leads were still the correct length so that the pot would still be properly mated to the gear train?

About the servo case itself, I noticed in the two pictures above
1. The servo lid was at the front (removing it would reveal the geartrain, so you had to dig through the gears to get to the PCB)
2. The servo lid was at the back (removing it would reveal the PCB.
Do all Hitec servos have the lid at the back?

If at all possible, I would really appreciate it if someone could provide me a photo of the HSR-5995TG PCB (ie. of the inside PCB with just the back lid removed) would be great.

Thanks.
Back to top
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Sun May 28, 2006 5:54 pm    Post subject: Reply with quote

Using Google I found the following pictures of the internals of an HSR-5995TG servo:







These images are from a Japanese web page at the following URL:

http://aitech.ac.jp/~furuhasi/robo/tetujin3/technical.html

I'm collecting images and information on servo hardware targetted by the OpenServo at the following link:

http://www.openservo.com/moin.cgi/Servo_Hardware

The motors of the HiTec HS-311 and HS-475HB are soldered directly to the PCB. It would appear the motor in the HSR-5995TG is soldered to the PCB as well. This is not the case for the HS-645MG which has wires between the motor and the PCB. Something to keep in mind is that HiTec seems to use hot glue to hold the motor in place it it would be easy to use a half-size OpenServo board and use wires to connect the motor on any of these servos.

If you get information on other servos I would be happy to post the information on our Wiki so others could benefit.

I hope this helps.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
DKNguyen
Guest





PostPosted: Sun May 28, 2006 6:23 pm    Post subject: PDF Reply with quote

Wow I dont know how yo found those but my searches didn't turn up anything.

Here is an internal servo schematic of the regular HSR-5995TG servo provided by another tinkerer, Richard Ibbotson. I don't know if he worked it out himself or if he got it from HITEC...I think he traced the circuits himself.

Uhh...how do I attach a PDF? Nvm. TUrns out Adobe Acrobat can save a PDF as a JPEG!.

Back to top
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Mon May 29, 2006 4:53 am    Post subject: Reply with quote

Terrific. Thanks for the schematic of the commercial HSR-5995TG servo. This could have saved me a bunch of work figuring out a workable H-Bridge circuit. Perhaps a future version of the OpenServo will use some of the ideas that can be gleaned from this circuit.

BTW, I found the images using Google's image search. A pretty nifty tool at times.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
ribbotson



Joined: 04 Jun 2006
Posts: 1

PostPosted: Sun Jun 04, 2006 10:18 am    Post subject: Reply with quote

The HSR5995 schematic is worked from the servo itself, no help from Hitec.

I was dissapointed to find no current monitoring in the HSR, and pleased to see it on the Open Servo.

The motor in the HSR has a DC resistance of 1.4 ohms, which confirms the Hitec spec. of 5.2A at 7.4 Volts. There is no way that the servo can safely work at full load for any period of time. The H Bridge devices are only specified at 3.5A continuous. The H bridge gets hot very quick when stalled.

For the H bridge drive, I prefer the HSR mode with two additional transistors, but only if there are four drives from the processor. I would like to be able to turn off all four H bridge FET, since both the HSR and Open Servo brake the motor when off. This makes it hard to turn for mechanical training from position feedback.

Some further detail on the existing Hitec Digtital Servo serial programming protocol is here.
http://www.basicmicro.com/downloads/docs/Hitec%20Digital%20Servo.pdf

While the 5995 uses the ATMega8 it is not clear if the frimware is upgradable,

The HSR 8498HB is claimed to be firmware upgradable, but has very different mechanics and electrical interface
Back to top
View user's profile Send private message
DKNguyen
Guest





PostPosted: Sun Jun 04, 2006 7:07 pm    Post subject: Wonder Reply with quote

I wonder if it's the electronics or the motor that place the upper limit on the current? I am used to working with big motors where the electronics usually burn out before the motor does. This is the first time where the motors may give out before the electronics do...

I am using the ST VNH2SP30-E which has a rating of 30A with heatsinking traces. But I'm actually trying to not heatsink it so that it will overheat at the same rate everything else does at a much lower current so that the thermal protection will kick in around when the motor starts to overheat...sort of hard to do though without knowing the motor's max temperature. I just assume it's relatively low because it's a coreless motor. It's a pretty big IC, but it should fit in the servo case.
Back to top
Zeddicus



Joined: 21 May 2006
Posts: 109

PostPosted: Sun Jun 04, 2006 7:17 pm    Post subject: Reply with quote

Either one. Basically, the lowest allowed current, considering all elements in your circuit, is the maximum limit, and you should take that conservatively.

Care should be taken to not just take the maximum current as the rated current for the H-bridge, for example, if you have a sensing resistor that can take much less. This is the current (ehem... no pun intended) case in the openservo, where the sense resistor can take up to about 1.8A, but the FETS are rated at 3.5A, and I don't even know what the motor ratings are.

In any case, this is exactly the reason why a current limiter has to be implemented, in our case in software, either with a simple comparison and a PWM limiter, or via a current control loop. If not, something will eventually burn Confused you shouldn't depend on the overheat protection, that's a last resort.

ZZZ
Back to top
View user's profile Send private message
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Sun Jun 04, 2006 9:04 pm    Post subject: Reply with quote

Ribbotson, I came across the document you wrote regarding the Hitec Digital Servos on the Lynxmotion site and if you don't mind I'll add the link you provided to the resources section of the OpenServo Wiki. Great job on putting the information together. It could be valuable as we look to make improvements in the OpenServo.

For the H bridge drive, I prefer the HSR mode with two additional transistors, but only if there are four drives from the processor. I would like to be able to turn off all four H bridge FET, since both the HSR and Open Servo brake the motor when off. This makes it hard to turn for mechanical training from position feedback.

I'm fairly certain the OpenServo does not brake the motor when both control lines (PWM_A and PWM_B) are off. This is because all P channel and N channel FETs should be turned off and current generated by the motor can't flow to break the motor. Perhaps I'm overlooking something.

The H-Bridge was originally designed for the AVR ATtiny45 MCU which only had 8 pins -- two of which could be used for control of the H-Bridge. The circuit seems to work fairly well and I kept it intact when we transitioned to the ATmega8/168 even though more control lines would be available. I try to keep the PCB so it can work as a half-size PCB so adding more components such as transistors to control the FETs would be a challenge.

An interesting hack would be to reprogram or replace the ATmega8 on the HSR-5995TG so it ran a varient of the OpenServo code. It may not run better (at least for now), but it would be more open for hacking.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
DKNguyen
Guest





PostPosted: Sun Jun 04, 2006 9:20 pm    Post subject: Yeah Reply with quote

Yeah, the H-bridge IC has voltage, thermal, and current overload built-in, but for all intents and purposes it is far too high for the motor. The motor will give out long before the chip does. I'm going to use the current sense output from the H-bridge IC and a temperature IC to have ""feedback"" so I will be able to stay within limits. BUt feedback isn't the same thing as protection because if the MCU code malfunctions it could lead to the servo ""willfully"" operating beyond acceptable limits.

But it's always nice (and safer) to also have a thermal/current protection circuit that works on a physical basis independent of the MCU, which is why I'm trying to ""de-heatsink"" the H-bridge IC so it heats up faster than it normally would so that it would be more effective at protecting from thermal overload. Not much I can do to artificially lower the current limit rating though. Should the worst happen, at least the PCB will be okay.
Back to top
Zeddicus



Joined: 21 May 2006
Posts: 109

PostPosted: Sun Jun 04, 2006 10:38 pm    Post subject: Reply with quote

After carefully looking at the schematic, I agree that if both PWM lines are switched off, all four fets are switched off as well. However, if current was flowing through the motor at the time the lines were turned off, well:
v=Ldi/dt

basically this means that, due to the motor winding inductance, the current will oppose change. In an ideal world, this could destroy the electronics, or the motor. A sudden turn off of all Qs implies a step to the current (circuit interruption), and the derivative of a step is an infinite impulse, which means that the voltage at the motor windings will spike badly.

But since the MOSFETs have a parasitic diode in parallel, then there is still a path for the current to expend itself against the voltage source, by flowing against the MOSFETs through te diodes. Therefore, no damage should occur, since these diodes are usually fast enough to turn on, which will reduce the voltage spike.

whew! long-winded, aren't I?

Cheers,
ZZZ
Back to top
View user's profile Send private message
Zeddicus



Joined: 21 May 2006
Posts: 109

PostPosted: Sun Jun 04, 2006 10:45 pm    Post subject: Reply with quote

DKNguyen, you're right of course, that's allways the pitfall of implementing safeties in software.

What I would do is implement a direct security in the ISR for the current sense, so that if the current is limit is exceeded, the PWM output is set to a minimum. This, of course, in addition to the current control loop.

This way, if the controller goes wrong for some reason, the ISR will at least offer protection.

It's still code, but it should be an improvement...

ZZZ
Back to top
View user's profile Send private message
DKNguyen
Guest





PostPosted: Mon Jun 05, 2006 12:03 am    Post subject: Reply with quote

Excuse me? ISR?
Back to top
Zeddicus



Joined: 21 May 2006
Posts: 109

PostPosted: Mon Jun 05, 2006 12:59 am    Post subject: Reply with quote

Interrupt Service Routine of the AVR, the function that gets executed when the ADC finishes a conversion.

Z
Back to top
View user's profile Send private message
m_kanter



Joined: 19 Apr 2006
Posts: 31

PostPosted: Sat Jun 10, 2006 7:50 pm    Post subject: safety in uC isn't as hard to do as it seams - if ... Reply with quote

... you let the watchdog enabled.
since the avr uses flash and all addresses and jump locations are (or can be) hard-coded in this project. so the program counter keeps in locations where code is - solving many problems.
then ... enable the watchdog, write an (watchdog-)reset routine, which handles the current limit (maybe simply by shutting off all fets, or go to an well defined initial state)
this will make the servo act weird only some ms until the wtd overflows and an reset occours then the servo goes back to and defined state.

maybe we will find and place to put an diode and an resistor next to the bridge ics to measure the temp. next to them and provide an overhead protection ( - its just an idea - maybe we can use the parasidic diodes)

(Im working in an automotive firm and here they have to grant for some security stages - there are some industrial norms about that - they do things like that.)
Back to top
View user's profile Send private message
guru



Joined: 03 Jan 2006
Posts: 128
Location: St Pete Beach, FL

PostPosted: Wed Jun 14, 2006 6:05 pm    Post subject: Reply with quote

Did anyone notice anything peculiar about the RX/TX line. It has a transistor on it. It seems to me that this transistor would be for transmitting (holding the line to ground). Therefor this RX/TX data line should go directly into RX and the TX should be using the transistor when it wants to bring it to ground.

Am I wrong?

C
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    OpenServo.com Forum Index -> Hardware All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group