Lama V3/V4 electronic inner life - EK2-0705B - RC Groups
Thread Tools
Mar 02, 2009, 04:54 PM
How does it work? How did it?
mareklew's Avatar
Mini-HowTo

Lama V3/V4 electronic inner life - EK2-0705B


Hi All!
I'm new here and got into micro-sized coaxial helis just a few weeks ago.
Since I'm an electronic engineer in my daily life, it didn't take me long to start wondering how this little helis work and what is compatible with what and why not. I have put together an article, a summary of bits and pieces of information scattered all around the Network, verified, and backed with reverse-engineered schematic of a stock EK2-0705B.

I know, that the first part of this description is more-or-less common knowledge to all Lama users, but I'd like this post to be as complete as possible, so to minimize the work for any newbie tinkerer coming across a Lama heli. Unless otherwise noted, all references to radio electronics are related to the "MHz" versions rather than "GHz", as I'm not familiar with the 2.4GHz model. This is not an article on how to put the screws together or how to fly your heli. It is rather an analysis of the inner life of an EK2-0705B.

Basic facts:
Lama V3 and V4 (further: simply Lama) are controlled using 4 channels: 2 mapped directly to swashplate servos (nick and roll) and two mixed to motor RPMs (throttle and tail).
This is not to be mistaken with toy-helicopters sometimes marketed as Lama V3, using only 3 channels and a third, small, horizontal tail rotor - these are completely different story.

A Lama transmitter (model 0404 in current design) is ,,dumb'', i.e. it has 4 direct channels with no mixing applied. Any Futaba-compatible transmitter can be used.
Channel assignment for Tx:
1: roll (channel reversed)
2: nick (channel reversed)
3: throttle
4: tail
Nick and Roll can be exchanged (you can swap servo plugs on Rx), Thr and Tail are fixed. Receiver won't arm if throttle can't/doesn't reach zero (exact pulse length TBD) after power up.

Trivia
E-Sky uses the same XX-MHz band Tx electronics on all its helis (different bands differ only in the RF board, and even ther it's only tuning). The transmitter has following options:
1. as it's delivered it is a 5 channel transmitter with no input connected to the 5th channel (in ppm output 5 channels are transmitted, however 5th is locked at 0%). One can connect a 4.7k potentiometer to the exposed pads on input PCB and use the 5th proportional channel with no further modifications to the receiver. This is an interesting option as E-Sky 4in1 can process the extra channel without any problems.

2. after changing dipswitch setting the same transmitter can provide 120░-swashplate mixing used with CCPM helis. Said dipswitch sits below a hole in the back of the battery compartment. In newer Tx units this dipswitch is not populated, there's a 0-Ohm resistor (a jumper) mounted instead, but a switch can be retrofitted easily. This is of little importance to 0404 users, as besides flipping that dipswitch one has to retrofit all the switches and knobs that ESky 0406 stock transmitter has before it's possible to control a ccpm heli with a 0404, but the reverse conversion is quite useful: using 0406 with NO mixing makes simulator use easy.
Now, back to business, i.e. the four-in-one guts.
Following refers to the most up-to-date version of Lamas (V3 and V4) equipped with EK2-0705B four-in-one (4in1) unit running in the XX MHz band (35, 40, 41 or 72MHz). I believe this can also be applied to the new 2.4GHz version, as I was given to understand, that it's only the receiver block that's different in the 2.4GHz version.

EK2-0705B consists of two boards: the receiver board and the 3-in-1 motor controller (making together a 4-in-1).
Further in the text, when discussing adjustments, I will refer to the adjusted unit as 3-in-1 and not 4-in-1, as the receiver board does not take any user adjustments and all pots sit on the 3-in-1. This does not mean that one has to disassemble anything, it's just naming convention for the sake of clearness.

The receiver is pretty much a generic 7-channel single conversion Rx based on the TA31136G receiver chip and 74164 shift register as a decoder. No intelligence, filtering, whatever. This receiver is slightly customized for use in EK2-0705B, namely header connectors for channels 3 and 4 are put on the bottom of the board and go directly to the 3-in-1 board; channels 5,6 and 7 don't have connectors soldered in at all, but else the Rx PCB is standard. All the signals for all 7 channels are present and there's place for three more standard servo connectors, so all you need is a soldering iron and 3 headers and you can get all 7 channels working.

The 3-in-1 board takes the already decoded signals for tail and throttle from the receiver and mixes them together with internal gyro signal into motor PWM. This board uses an EMC brand OTP uC EM78P458 (similar to PIC family) running at 4MHz as "brains" and a Murata ENC-3 class yaw rate piezoelectric gyro sensor to sense rotation. To this board we'll pay more attention a bit later, as all the adjustments are related to it.

This modular approach has some advantages and some drawbacks. Modular structure means more elasticity, one can keep the 3-in-1 board and replace the Rx with different band or brand. Or keep the receiver and put a separate gyro, tail mixer and ESC in.
The main drawback is, again, the same modularity: the nick & roll servo channels are not fed through the uC in the 3-in-1 unit at all, which means they are as smart (or, rather, as dumb), as the receiver: there's no failsafe, no filtering and all the bad things happen if you swith the Rx on without having your Tx on first.

It is worth noting, that e.g. Walkera's Rx-404 (the 4-in-1 mounted in e.g. Walkera 5#8) takes a different approach here, there's only one board with the FM-receiver chip (also TA31136G) and a uC (ATTiny26L), and all ppm decoding is done within that uC. In that case uC can not only filter invalid signals (and lock servos and motors till something reasonable comes thru), but also apply scaling to the cyclic (adjusting responsivity of the heli) and provide some failsafe features. On the downside, you can't change the Rx, so if your Rx-404 is 35MHz and you want 72MHz, you need a whole new 4-in-1.

But I digress.

The 3-in-1 board has 3 adjustments vaguely described in the manual and misleadingly labeled on the unit. 2 pots are readily accessible (GAIN and PROPORTIONAL). 3rd pot is hidden under the plastic housing and has no label. I'll call it ZERO for reasons explained later.

There are many rumours going around The Net as to how the #$%&^ should one adjust these pots shall the 3-in-1 misbehave. The main reason behind these - mostly dubious - rumours is bad engineering and lack of documentation on the E-Sky side. Sorry, you may bash me whatever you wish for being smartass, but I am working in the field of small signal and power electronics for quite long now and this thing is just bad engineering, or, rather, patching up a failed attempt at good engineering. Yes, it works fine once tuned, but it has cross-dependent adjustments and, at same or less component cost it could be made fine one-way-forward-adjustment routine. Again, to support my opinion, I will quote the said Rx-404 from Walkera, which uses the very same sensor type and has better design for analog front-end, resulting in requiring only ONE analog adjustment and using just two op-amps instead of four. I will back these statements further up, keep reading.

Now, if my Lama flew fine from the day 0, I wouldn't even touch the 4in1 and, consequently, never written this article, but after finding so much contradictory info on the net and not being able to tune my Lama to stay put in the air I took my time and reverse-engineered the gyro circuit. You will find the preliminary schematic attached to this post. Note: this is not a complete diagram, just gyro signal path and the power stage.

Understanding the gyro circuit:
LM324 is a simple, cheap operational amplifier that (powered from 5V) can take voltages ranging from 0 to ca. 3.5V on input and deliver 0 .. 3.5V at output.
Murata piezo gyro sensor has two output pins: Reference and Signal.
Reference is (about) constant at (about) 1.35V.
Signal is (Reference + 0.67mV / [deg/s])
So at +300deg/s (maximal yaw clockwise) the signal output reads Reference+0.2V, ca. 1.55V, and at -300deg/s (maximal yaw counter-clockwise) it will output Reference-0.2V, or ca. 1.15V. The reference voltage is not absolutely constant, so to get the actual yaw rate one has to measure both outputs and take the difference. This is what Part 1 does.

Part 1 (signal preconditioning) is your basic differential amplifier with unity gain. It takes its input signals form the yaw rate sensor and subtracts them. It also adds some offset to the result. This is necessary, as our signal range is 0 to 3.5V, and the difference of Ref to Sig could be negative. So ,,zero'' gets moved to ca. 1.9V, full positive yaw rate is 1.7V and full negative is 2.1V (note: sensor signal is fed into inverting input).

To add 1.9V one needs a reference of 1.9V. This is implemented using Part 2. Part 2 is a unity-gain buffer fed from a resistor divider set at ca. 1.9V. This circuit is actually a patch to a some design idea of compensating temperature drift. Original design has only a resistor (R16) going from Pin 6 of the CPU to non-inverting input of the opamp buffer and a few-uF sized tantal capacitor (C13) to ground (basically forming an R-C filter). This is how the PCB is designed. CPU was meant to generate some PWM wave on pin 6 and thus adjust voltage on the capacitor and effectively - sensor offset. It must have proven ineffective or maybe the CPU ran out of processing time, hard to say. Now pin 6 is set at constant "1" and in place of said C13 there sit in parallel 1.5k resistor and some 100nF-range ceramic capacitor. Since pin 6 can't hold full 5V the effective voltage on this divider isn't 2.0V, but more like 1.9V, and is ca. constant.

It is worth noting, that this same PCB board (different component population though) is used in a Honey Bee and, at least in some versions, C13 is populated with a 22uF capacitor, so, as the layout suggests. This would mean, that some signal must be generated by the CPU on PIN6 in these board versions

The resulting signal leaving Part 1 is still rather small, it needs amplification. Part 3 is a simple inverting gain stage. The GAIN potentiometer adjust this stage. At its minimum setting, signal gets amplified ca. k=1.75x (47k/27k = 1.75x). At maximal setting the amplification is ca. k=9x (247k/27k = 9.15x). What is amplified however, is not the yaw rate signal alone, but the difference: output = k*(Sig-Ref+1.9-ZERO)+ZERO. This ZERO voltage comes from Part 4, where it's derived from a voltage divider including the hidden adjustment pot. Turning that pot it's possible to change the ZERO voltage between ca. 1.8 and 2.25V. It would seem reasonable to set the ZERO so, that it's at exactly 1.9V, resulting in a simple output equation of yaw = k*(sig-ref) + 1.9V, removing thus the necessity to reset 3-in-1 after each adjustment. That would be the perfect solution, if only E-Sky didn't foul things up further down the stream: this amplified signal is fed into an ADC, that has a processing range of 0 .. 2.7V. This range is set with another patch on Vref input of our uC using two resistors (R17) & (D4). Wait. D4? I said it was a patch! something like a Zener diode was supposed to go there, but cost optimization, you know. The result is, that if ZERO is at 1.9V and you turn the GAIN up, there's much more range for spinnning in one direction than in the other. Result is, that if you move your tail control a bit too far in the wrong direction heli will start spinning totally wild. The solution, or, rather, a workaround is, to adjust ZERO so, that yaw sits at ca. 1.35V once you figured out what the proper GAIN is. There's even an exposed testpoint on the 3-in-1 PCB to do that.
Now, once GAIN is set and ZERO trimmed you just need to remove residual tail drift with PROPORTIONAL. This pot goes directly to CPU and is sampled at power-up, it does not influence the analog signal processing at all. Value of this pot is subtracted from your stick input and works similarly, as the trim slider on your Tx.

The CPU in 3-in-1 will read PROPORTIONAL and the signal at YAW RATE output at start-up. It will assume the helicopter is stationary at the moment and use the read value of YAW RATE as reference for ,,not spinning''. That's why you need to cycle power after each adjustment.

Power limits

ESC power stage can handle 30V 9A per channel continuous, 12A peak, without taking any damage. However, shall 12V be exceeded one has to remove the on-board 5V regulator (CX1117-5.0) and connect an external BEC or Rx battery to any free receiver socket (channels 5,6,7 are free, see above).

ESC channel 1 can be upgraded to 15A (20A peak) by putting a second IRF7413 (Q5) in. Not much use unless as an attempt to mod this 4in1 for use in a single rotor FP heli.

At 7.4V the onboard BEC can provide ca. 0.4A to both servos, this is a sufficient power output for Lama's micro-size servos.
At 11.1V total power dissipation will limit current output to 1W/(11.1V-5V)= ca. 150mA. This is too little for anything exceeding hover, as the servos will draw more power.

Summed up: 2 cells OK, 3 cells with no servos OK, 4 - 6 cells with external BEC possible. 9Amp per motor, 12A peak.

History of this article
Edit: added 3in1 photos and info on PROPORTIONAL pot signal.
Edit 04.03.09: updated schematic, it should be now complete and more readable. Component numbering kept consistent with the board as far as possible (not all ref. designators can be read w/o removing components, but that should not matter). Written notes on power limits.
Last edited by mareklew; Mar 03, 2009 at 07:13 PM.
Sign up now
to remove ads between posts
Mar 02, 2009, 06:22 PM
Resident Skeptican
Barak1001's Avatar
I'm glad you've taken such an interest in the choppers, but it seems to me that most people just can't do much of anything with the explanations you've provided.

I can sum up adjusting a chopper more than likely into two sentences (and have done so before.)

Turn the gain up till the tail just starts to wag, then turn it down a bit. If the chopper yaws clockwise turn the proportional clockwise, counter clockwise for the opposite.

I just don't see the need for a huge technical manual to complicate those two sentences?
Mar 02, 2009, 10:04 PM
Fly Runaway Fans
I've been looking for just such a thing. I'm the "needs to know how it works" type, and also electronic engineer, specialty, servos. I'd just like to say, that's wiggedy-wiggedy whack. No wonder it does what it does. Seems such a straightforward application. But from experience, I'd say you can send a Chinese to Stanford, but you can't make a practical engineer out of him.

Gonna open the PDF when I get home. Thanks.
Mar 03, 2009, 01:12 AM
Fly Runaway Fans
What I don't see, is where the tag 'proportional' ends up. An ADC? Maybe it's in the text, but this stuff is VERY hard to trace through text, even if you know what to look for.

It's not a simple proposition, getting the yaw TX input to respond to deltas WITH a fixed centerpoint when the control returns to nominal. If you limited TX deltas to say, several seconds, not so hard. Just slap a long time constant on the centerpoint. But the result would be gradually decelerating pirouettes if held longer than that.

Far as calibration, we had an equally-confusing setup procedure for the Ampex ACR25 reel servos. As written, it was almost impossible to achieve. There were two pots, offset and gain. The instructions called for jiggering both of them. But after a couple days chasing the instructions and scarcely getting any closer, I dug out the schematic and found that 'offset' was really dark (blocked optical sensor) and gain was peak (completely unblocked sensor). Once I found that out, I never had to touch offset again, and just tweaked gain to adapt to changes in the emissivity of the lamps.

That's real accessable and applicable to flying helis, isn't it? Meanwhile, my V4 has gone mental, from one battery cycle to the next, within a half hour. Yaw trim is slammed left, and not quite enough, whereas the day before it wandered from some right to some left as flight time progressed.

Even with the schematic, I can't figure out why that would change within 30 minutes and stay that way 10 hours later after everything cooled and settled down.
Last edited by arbilab; Mar 03, 2009 at 01:54 AM.
Mar 03, 2009, 02:04 AM
How does it work? How did it?
mareklew's Avatar
Barak1001: These two sentences are all over the web and anybody looking for them will find them, so I don't need to repeat them. This lenghty explanation (and more is to come) is not just a how-to adjust this 3 in 1, it's an attept on explaining how it works and how its built and why it's built this way for people who either want to hack it for another project or repair it when it breaks.

Also note, that if the ZERO pot is either misadjusted from the factory or has moved due to a crash you won't be able to trim the heli with just GAIN and PROPORTIONAL and monkeying with all trims blind will get you frustrated. Short version of this would be:

if you CAN'T get your heli to fly right with GAIN and PROPORTIONAL:

1. Open shrinkwrap of your EK2-0705B (I have now attached a second pdf with photos to my first post)
2. Disconnect motors and servos, put your EK2-0705B at rest. Power it up.
2. Put GAIN at 50%
3. Put PROPORTIONAL at 50%
4. measure voltage at YAW testpoint. It should be somewhere between 0.5 and 2.2V. This is yaw signal, so make sure the board is not moving while taking measurements.
5. If YAW is out of the specified range, adjust ZERO so, that YAW sits at 1.35V
6. put heli together (no need to wrap the 4in1 yet, just attach it with a rubber band), make sure that the 3in1 sensor is absolutely vertical (parallel to shaft).
7. Fly heli, if the tail wags quickly left-right, land, disconnect battery, decrease gain, retry.
8. If the tail wanders slowly left and right (not a consistent spin), power off, increase gain, retry.
9. once GAIN is OK readjust ZERO so that YAW TESTPOINT is again at 1.35V. You should not need to touch this pot again ever.
9. proportional is same, as trim on your Tx, it corrects constant, fixed rate of spining. Adjust as last.

Arbilab: I haven't traced the PROPORTIONAL signal at the time I drew the schematic yet, that's why it goes nowheree in the PDF. I'm going to update it today. This signal goes directly to an ADC and is sampled by the CPU at powerup.
I'm sorry, the article is somewhat chaotic, I'm not very good at writing such stuff in a clear way. I will review and extend this article, but I know myself and if I waited till it's ready it would never be shared.

Edit:
as to your problem of intermitent YAW wandering: check the voltage at YAW testpoint and check the ZERO pot. I had exactly your problem and couldn't figure out, what the problem was and hence rev-engineered it all. In my case the ZERO pot was sitting at its end, this pot does not have a mechanical turn limiter and it's possible to put the slider even past the end of its resistive track. This way vibration was influencing the contact and moving the zero yaw point up and down the scale randomly (and this is a sensitive adjustment as it is already.
Last edited by mareklew; Mar 03, 2009 at 02:16 AM.
Mar 03, 2009, 04:21 PM
Fly Runaway Fans
Geez, how much more would it have cost to put endstops? It's just a zigzag in the die that stamps the case. Oh, lemme guess, no case.

Lemme see if it responds to the accessable pots before I tear it apart. It WAS working perfectly, and there's a chance that the more I futz with it may make it worse. Could be motors/mechanical too, MTBF on these parts isn't exactly a pinpoint value.
Mar 03, 2009, 05:38 PM
How does it work? How did it?
mareklew's Avatar
Updated the schematic, it should be complete now.
There are no end stops, there's no case and there's nothing to prevent these pots from vibrating happily away...
Mar 05, 2009, 03:57 PM
Registered User
Hi to all! I have similar problem detailed here, but with different hardware:
https://www.rcgroups.com/forums/showthread.php?t=685214

I am de-attached the original 4-in-1 unit and soldered two servo cables to channel 3 and 4 to the mixer unit instead of the pins.
This mod makes possible to assign these channels in any order to any custom Rx.

I have a Corona RS610II dual conversion 6ch Rx and a Graupner MX-12(JR) Tx. This combo worked for me in many planes, so wanted to use use them to my Lama 4 with the modded mixer.
Powering on the system results the same throttle problems as Slowhand_47 described on his post.
If I move the rudder right then the lower blades accelerates, but still do not runs on the same rpm like with the original Rx/Tx.

Has anyone any idea what should cause this issue?
Mar 05, 2009, 07:22 PM
How does it work? How did it?
mareklew's Avatar
Not knowing where did you connect these wires on said Corona receiver I could only guess:
1) you did not use consecutive channels exactly in the original order (throttle=3 tail=4 or throttle=2 and tail=3), so same reason as mentioned in the other post.
2) Corona has some intelligent processing that afterwards outputs all channels at once or in some other order than expected
Mar 06, 2009, 02:51 AM
Registered User
Hello! At first, thanks for the fast reply!

Basically my MX-12 is a JR compatible transmitter, which means it is use different channel mapping than a Futaba.
In that case I am using it in Mode 4, where channel 1 is the throttle and channel 2 is the rudder (tail).
Channel 4 is the aileron (roll) and channel 3 is the elevator (pitch).

The channel mapping between Futaba and JR in this case:
original channel 3 (esky) -> channel 1 (Corona) [throttle]
original channel 4 (esky) -> channel 2 (Corona) [tail]

So the physical channel mapping:
channel 1 (Corona) -> mixer throttle channel
channel 2 (Corona) -> mixer tail channel

The Corona Rx is a generic dual conversion receiver which is able to detect phase shift (which is different between Futaba and JR transmitters), so it is compatible with both standard. It is also do not contains any mix between channels.
There is also no configured mixes on my transmitter.

Based on your second idea, should it be a timing issue?
Mar 06, 2009, 03:49 AM
How does it work? How did it?
mareklew's Avatar
From what you write, this setup SHALL work. I will make a test on similar setup at home today evening and will tell you what came out.
Mar 06, 2009, 01:23 PM
How does it work? How did it?
mareklew's Avatar
So I have done a test:
1. Took the 3-in-1 from my Lama V3 (EK2-0705B)
2. Plugged it directly into a cheap GuanLi receiver that I know has no smart electronics inside. I didn't modify the board, rather just plugged the new Rx into the existing connectors that the original Lama receiver used to sit in.
3. Powered it up.
4. It worked. Any two consecutive channels worked. RPM and power delivered seemed normal and equal for both motors. I couldn't fly this setup, as 3in1 covered the servo slots on my Rx, but the 3in1 worked just fine.

Check your channel order again - else I have no clue...
Mar 07, 2009, 01:12 AM
Registered User
Thank you for your feedback!
I am tried another Corona dual-conv. receiver (a synthetised one now) and I expected the same. I am tested the receiver with a Futaba and a JR transmitter also - it is still not work correctly.
I assume it is the fault of the receiver. Maybe it has lower/higher signal output, I do not known.
I will try with other receivers later.

Thanks again!
Apr 07, 2009, 11:00 AM
Registered User
Quote:
Originally Posted by sfoldi
I assume it is the fault of the receiver. Maybe it has lower/higher signal output, I do not known.
I will try with other receivers later.
What I found out is, that some 3in1 units (Graupner, esky Lama V3, BMI...) need very strait pulses for CH3 and 4. Falling edge of CH3 pulse needs to be the rising edge of CH4 pulse. Therefor the most simple receivers using a TTL shift register (74AHC164 as used in Esky receivers) work better here than rcvs using ÁC for decoding PPM.

The Eflite CX2 3in1 is different, does not need strait pulse timing. I guess, because it is build to work with other 3rd party receivers like spectrum 2.4Ghz.
It was reported in a German forum, that newer Versions of the Esky 3in1 (Big lama, but also 2.4Ghz 4in1 units for dauphin etc) work with spectrum rcvs too.
Apr 07, 2009, 11:58 AM
Registered User
@mareklew: Thanks a lot for the excellent wotk!!!

I did this in a German Forum a while ago.
My hint on setting the 3rd offset Trimmer is:

Offset should be adjusted to minimize the influence of "GAIN" trimmer on the rotor speed.

1. Start the motors until slowly rotation of both rotors.
2. Try to turn "GAIN" in both directions and notice whether there is any change in speed.
3. If so: adjust "Offset" in small steps until a change of "GAIN" does not change the speed of any motor.
There is no need of disconnecting the battery while this adjustment.

A second method is to observe the voltage at "JP", and minimize the change while moving turning the GAIN pot.
I found the first method (without DVM) to be very simple and most effective.

The PROP trimmer has to be readjusted after Offset calibration. In most cases the center position for the PROP trimmer worked fine!!!

I can only encourage the view one the unfinished thermal compensation. I think, the ÁC would have not enough recources (2 PWM outputs for the motors + 1 for thermal compensation, lack of time...).


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Link WTT - My King V2 for a CX2 or Lama V3/V4 Dragonfish Coaxial Helicopters 1 Sep 22, 2007 05:45 PM
For Sale ESKY LAMA v3 v4 CNC alloy upgrade kits SPECIAL PRICE gnul Aircraft - Electric - Helis (FS/W) 1 Sep 02, 2007 11:17 AM
Discussion fuse mod for esky lama v3 v4 xeth Coaxial Helicopters 2 Sep 01, 2007 10:52 PM
Discussion Lama v3, v4 or v5 helliefan Mini Helis 3 Jul 31, 2007 03:50 AM
Discussion Lama V3/V4 differences? billm555 Coaxial Helicopters 6 Apr 16, 2007 04:17 PM