Posts: 664
Joined: 2/26/2005 From: Perth, AUSTRALIA Status: offline
Hi All,
Not sure if anyone here is interested, or even if this is the appropriate forum, but I've been looking at the Walkera 4 (Zhen Hua) radio design.
The basic radio transmits around 8 channels. It seems compatible with my Futaba 5 channel receiver (without problems) and seems to take 36 MHz Crystals without problems. Only four channels are useable.
The transmitter is a simple device. A custom programmed 78P458 8-bit microcontroller with PCM outputs (10 bits resolution) provides the PPM signal to the transmitter secion, and is coupled via the Crystal, so as to cause a FM shift (FM modulation is pretty simple).
There are 6 LEDs to the power meter, although there are 10 bars on the display. This explains the colour range. Two red, two yellow and two green make the bar graph.
There are 2 SPST switches and a momentary button switch in the handset. These are not connected to anything. Not suprising really. After all, it is just a 4 Channel transmitter. Open the case, and they go nowhere, but feel free to use them for external reverse switches or something else. Two of them would make an interesting "Nose In" reverse signal I suppose if you really needed it, but that is more likely to cause long-term confusion than anything... OK I can't really think of a good use for the extra switches, unless you intend to rebuild the controller for a custom purpose.
The main control chip (The 78P458) has 8 analogue inputs. Four of these go to the gimbals. Four go to the top four dipswitches. So much for using the extra channels.
I'm pretty sure the additional 4 channels are an "ID" for the receiver, so it knows when the Transmitter is working. If you had an 8channel programmable transmitter, and set the other channels to minimum pulse length, I'm guessing it would work with the receiver.
That covers the transmitter. Feel free to add your own encoder chip if you want to use it as a base transmitter for that secret 14 channel computer control PDA interface project you may be working on.... (Sorry if I just blew anyone's secret).
The receiver is likewise a simple affair. Two servo channels appear, and it pre-converts the throttle / tail channels into PWM signals which it drives at full voltage out to the motors at approximately 2KHz.
It has two boards - the top contains the power converter for the radio receiver, and drives the two motors. Each is driven from a 4410 FET transistor (one per motor). Pretty much 8A max when they warm up. These take the PWM signal from the receiver processor.
I didn't ID the receiver processor. I couldn't be bothered unsoldering the top board.
The receiver on the bottom board (larger) however has a G-sensor built in... It works like a Gyro - measuring acceleration in the UP/DOWN range (which is why the receiver must be mounted on it's side, wires closer to the CoG of the heli. This is mixed into the tail motor drive as a variance of the PWM signal. So trimming the rudder for maximum stability is a must!
The "Gyro" does hold well when properly trimmed though, and drift is minimal.
I didn't check the operation of the POT, but I'm guessing it's based on the amplitude of variance to the tail PWM signal, so too much and your Heli will probably wag it's tail like a dog. But I am guessing.
The servo outputs are normal, and should work with most servo's. Ground is at the edge.
I couldn't see an easy way to get the receiver to work with another transmitter.
One nice touch to that though - if you start the transmitter at full throttle, the receiver won't fire up the PWM motor drivers until you back off to zero throttle... Mich nicer than other Zhen Hua transmitters I've seen (6 channel) which go nuts at time when you forget to set them up correctly.
Overall review:
Transmitter: Cheap, 4 Channel TX. Works OK with Futaba receiver when I tested it. I didn't do any ranged testing. Reversible channels, Works at 36MHz, and that's about it.
Receiver: Won't work with other transmitters (easily). Nice Gyro. Reasonably OK motor failsafe at start. Lacks current for larger main motor. Lacks additional Servo signal outputs.
Caveats: Hitec 55 servo's work very badly with these receivers. Seems to be a fault in the HS55. I was chasing it when I worked out the above. They go wild without any signal (I had the line on a CRO when I saw this) seems related to noise generated by the Tail motor when it gets old. I'm not sure of the actual cause. Please let me know if you've experienced this also with these servo's and this receiver. A symptom is control deflection past what is possible from transmitter signal alone.
Posts: 26
Joined: 12/25/2004 From: masten, AL, USA Status: offline
Great information!!! I had post asking for just this info. We tried a Futaba PCM TX in both PCM and PPM modes and got nothing from the RX as you sugest. We only tried a Futaba PPM RX and got nothing from that. This was all 72 MHZ. One good thing was the PCM didn't allow any interference from the another TX with the same channel. Also, the Zhen Hua site decribes the Dip's as 1-4 servo reversing, 5 Simulator mode, and 6 mixes channels 3 and 4. I have a 22D heli with shaft drive tail and FP. This unit also has a mixer between the main motor and rudder control, do I realy need that? I was thinking of swapping out everything and getting a 4 channel with a gyro and speed controller.
Posts: 664
Joined: 2/26/2005 From: Perth, AUSTRALIA Status: offline
Hi ny_racer_xxx
I should mention I was looking at the 35 MHz transmitter, not the 72. I've never seen the 72, since it can't be used in Australia...
The W22D transmitter should be different from the W4 transmitter, due to the tail servo. I suspect it's closer to the 22A transmitter, perhaps with a channel removed... How many servo sockets does it have? (If it has 6, then it is probably like the 22A).
The 22A transmitter does not work with the Futaba receiver at all, from my tests, although it does have something like 6 analogue channels and about 6 Digital channels from memory... !!! I recall that the 22A TX sends all the analogue channels seperately, and mixes at the receiver, not the transmitter. It also sends both switch channels, about 3 dipswitch channels and one channel which contains a swinging digital signal (on/off/on/off cycle) which I think it uses to authenticate the TX.
I never tried re-XTAL'ing the 22A TX so don't know if that works, but I suspect it does.
In one mode, it also connects the left-side switch on the the TX to output 5 on RX from memory... Probably so you can connect a Camera, but that option is not available on the 120* CCPM setting. It might work with the 22D?
Posts: 346
Joined: 7/6/2004 From: Flushing,
NY, USA Status: offline
I really do not think that ZH tx is 8 channels as you described. It's also confusing to describe 78P458 as 8 bit but with 10 bit resolution since 8 bit processor can by definition only have 8 bit resolution. I've not look up the specs for the 78P458, but I suspect it is 8 i/o lines with 10 bit A/D and D/A resolution from your description.
The main control chip (The 78P458) has 8 analogue inputs. Four of these go to the gimbals. Four go to the top four dipswitches. So much for using the extra channels.
Again this is just i/o, not channels. The 4 that goes to the switches are just settings that tell the 78P458 how to response/process/what program to run etc, they are not channels. The 4 that goes to the gimbals are A/D converters. The chip reads all 8 i/os and outputs all the info on 1 line only. That is it outputs the data for the 4 channels into 1 line since the info are transmitted in a time based format. This line is also connected to the simulator output. So an easy way to determine how many channels the tx transmittes, hook it up to FMS. My tx that came with walkera is 4 channels even though it looks just like the one for the 22A but has 2 push buttoms instead of toggles. My esky is 5 channels even thought it's advertised as 6. The toggle switchs here do not control additional channels, they just change how the stick responses.
Also the 78 and 36/40 etc tx/rx all work on the same principle. All the info is down converted to 755khz if I recall correctly before it is processed by the rx. Dual conversion would do 2 conversions to IF (intermediate frequency), sinle conversion does it once. But all of them ends up at a final frequency which is in the kilo hertz range.
Posts: 664
Joined: 2/26/2005 From: Perth, AUSTRALIA Status: offline
Hi TND2000,
8 bits describes the instruction set... It's really an internal thing... An 8 bit processor uses an 8 bit instruction set, and has an 8 bit ALU etc.
The PCM output has 10bit resolution... That's a little trickier... It means it has a 10 bit counter (more accurate) and this is tied to a comparitor, and this is tied to the main CPU clock in a way (plus there's usually extra divider options in the input section). Then, the PWM can wait between 1 cycle and 2^10 cycles before it changes the output pulse. This is used to make the PPM output for the radio... The program would work out how long the pulse is, and send that value to the PCM output. The 10 bits means that there are 1024 steps between the thinnest pulse and the thickest, while 8 bits would mean there were only 256 steps... The simple answer is that the 10bit PCM output gives a reasonable resolution of for the pulses that control the servo motors. Like a 1400x1050 resolution laptop is better than a 640x480 resolution one.
It takes a few instructions to load a 10 bit counter in an 8 bit MCU. First you load in the lower bits, then the upper bits. There are two PCM outputs on the MCU.
I guess that might be confusing if you don't know a lot about MCUs.
The chip has 8 Analogue to digital converters... 8!... So it just seems a shame that it just uses 4 for channels, denying the other 4, but that's not really a criticism. It was never designed to support more than 4, however since there are 2 switches and a pushbutton, it just seems a shame.
The toggle switches on the 4 channel TX only change how the stick responds, correct, but the toggle switches on the 6 channel do actually get transmitted as extra channels. True! Get a CRO and have a look yourself. The 4 channel is basic, but the 6 channel just transmits everything to the receiver, and lets the receiver figure out how to mix it all. Funny huh? They don't affect the analogue servo transmissions at all. One of the channels on the 6 channel also transmits an oscillating signal. But I didn't mention that before.
The transmitter also just pumps this as baseband into the TX Xtal to cause a frequency shift in the modulated signal... Real basic stuff.
I'm not sure if the receiver does an IF conversion. Personally, I suspect they just mix the LO with the input (Super-heterodyne) and just suck out the remaining signal, and they probably just check it in a basic chip, since it's digital in nature and not analogue, but I don't have anything to support that hypothesis. But yeah, it would be low frequency enough to analyse with a CPU... However the output from the receiver is finally digital before it goes into the chip for processing. It's messy, but it's there. There's a test-pad on the receiver board where you can tap into it with the CRO.
You can't tell how many channels there are by hooking it up to FMS. FMS doesn't work that way. Also, it's a high-level code (Zhen Hua 5-byte protocol) not the PPM output that the parallel port interfaces read. Unless you make the 6 Channel mod I put on my website.
But there are extra null channels there! True!... Again, hook up a CRO and have a look.
My Futaba Skysport 4 puts out 5 channels... 4 useable.
But there are 3 extra pulses on the output from the ZH 4 channel...
And there are about 12 pulses on the 6 channel !!!! And most of them do something... The first 6 are the analogue inputs (5 and 6 and the pots at the top). The two switches are channels, and a couple of the dipswitches are transmitted also !!! Not bad eh? A pity it doesn't work with cheap receivers.
I did write up the review from memory, and didn't take notes, so it might have a few innacuracies, but what I saw was interesting, so I thought I would post it
Posts: 346
Joined: 7/6/2004 From: Flushing,
NY, USA Status: offline
I know alot about microcontrollers/microprocessors. 8 bit does not describe the instruction set. 8 bits is the amount of bits the process can process per single cycle. It can have 10 bit resolution because it would then be split into 2 8 bits data. H/L pair. I know a whole lot about them. I know how to wire them, program them, hook it up to the ISA/PCI slot inside the computer.
FMS will tell you how many channels your tx is transmitting because it reads the source code (PPM) directly from the TX before it is modulated to 72mhz and transmitted via air.
Also the PIC doesn't use all 8 i/o as A/D converters. Those that are hooked up to the toggle switches are just used as digital i/o (1/0). They toggle what the PIC should do. Ie channel reverse 1=normal/0=reverse etc. Or they can be used to set flight mode and cause sub routine 2 to be ran instread of 1 etc.
Also now days, CCPM mixing is done on the TX. If you hooked up a ccpm tx to fms, you would then notice that as you increase the throttle/pitch 3 channels would response because ccpm requires 3 channels. Same if you applied elevator/aileron either 2 or 3 channels will change.
The nice thing about FMS is it decodes the single source stream into 8 distinct channels. If you setup FMS right and only notice 4 channels, it only transmitts 4 channels.
Posts: 664
Joined: 2/26/2005 From: Perth, AUSTRALIA Status: offline
Hi TND2000,
I'm not really sure how to reply to you... So I'll address your assertions individually.
quote:
quote:
8 bits is the amount of bits the process can process per single cycle.
TND, that's not how it works... 8 bits used to refer to the data bus. That is all. It was a reference to how many bits of data the data bus could read from memory... Check it out. From the Intel 4004 through to the Intel 8085 it was all simple. It got complex with the 8086 and the 8088, and then the "bits" of a processor lost some definition. Likewise, CISC(retro) & RISC, Pipelines and other technologies started to make instructions per cycle (or cycles per instruction) different too. Some processors (eg, Z-80) process SEVERAL parts of an instruction (eg up to 24 bits) each cycle. Yet it's still an 8 bit processor (Ref: Rodney Zaks, P69. Programming the Z-80).
8 bit microcontrollers usually now refer to an architecture that supports a legacy 8 bit instruction set (and most of the architecture) from an 8 bit microprocessor core. It's as simple as that. The manufacturer refers to it as an 8 bit architecture, so I refer to it as an 8 bit architecture.
That said, it's futile to argue about what an 8 bit processor is, because it's lost it's meaning. I really think 99% of people who the "8 bits" is relevant to will understand what I mean. This is an RC forum, not a processor forum.
quote:
quote:
FMS will tell you how many channels your tx is transmitting because it reads the source code (PPM) directly from the TX before it is modulated to 72mhz and transmitted via air.
I thought you were using the Serial output (RS-232 5 byte protocol). Maybe you are not. Have you actually used one of these transmitters or is that a generalisation of transmitters you have used in the past?
quote:
quote:
Also the PIC doesn't use all 8 i/o as A/D converters. Those that are hooked up to the toggle switches are just used as digital i/o (1/0). They toggle what the PIC should do. Ie channel reverse 1=normal/0=reverse etc. Or they can be used to set flight mode and cause sub routine 2 to be ran instread of 1 etc.
It's not a PIC. It looks more like a modified MCS51 instruction set. We did agree on this until you mentioned different subroutines... They don't do that. Not in the 4channel at least. In the 6 channel, only Dipswitch 8 changes a mode, and that's memory for channel 5 and 6. However mode control options are transmitted to the receiver RAW in the 6 channel. They don't affect mixing in the TX.
quote:
quote:
Also now days, CCPM mixing is done on the TX. If you hooked up a ccpm tx to fms, you would then notice that as you increase the throttle/pitch 3 channels would response because ccpm requires 3 channels. Same if you applied elevator/aileron either 2 or 3 channels will change.
TND, for goodness sake, pick up a CRO and a TRANSMITTER and have a look for yourself. You are just plain wrong on this one. Don't assume that all systems work exactly the same way. I know most expensive transmitters work this way. That's not what we are talking about.
The 4 channel TX doesn't mix. The 6 channel TX does not mix. The Walkera ZH6 channel receiver does the mixing. LOOK AT A CRO. changing the switches does nothing to the analogue outputs (other than reversing). BTW, I do not regard channel reversing as mixing, but perhaps you do?
quote:
quote:
The nice thing about FMS is it decodes the single source stream into 8 distinct channels. If you setup FMS right and only notice 4 channels, it only transmitts 4 channels.
I can't confirm or dispute this, except we are referring to Serial with the ZH4, so it's not relevant, or Parallel baseband with the ZH6, which I personally do through PPJOY, which recognises only four channels for some reason... BTW, you brought up the issue of FMS.
TND, I'm really not sure why you are disputing my post. The only conclusion I can come to is that if you really have looked at these transmitters and receivers before, that it's not the same models.
So, to clarify, just in case you have seen something different, these are the Zhen Hua type controllers, 4 channel and 6 channel that would come with the Walkera 4 and Walkera 22A respectively. I know that there are other models (eg, 5 channel) which I have not seen. Perhaps you are confusing one of these.
However, since from your post it is becomming clear to me you have never seen a 6 channel output, I'll post a pic from my oscilloscope that I took tonight... I think you will find it very interesting.
[image]ZH6.gif[/image]
Other than that, it's obvious that you know a fair bit about electronics... Most of your comments are more differences in points of view than objections... But it appears in other points that you are trying to make out that I am deliberately making stuff up... That's not going to help anyone on this forum... All I did was pull the stuff apart and make some observations... That's all.
And if you take a look yourself, you'll notice that what I observed *is* different from most RC equipment... Which I found interesting and thought would make an interesting post.
Let me know what you find
David
p.s. No offence taken at your posts. Please don't take offence at this. There are too few of us who know about this stuff at the component level. I regard more your email as debating my original post.... Please take this response with that intent.
Posts: 664
Joined: 2/26/2005 From: Perth, AUSTRALIA Status: offline
Oh, just adding -
Sorry about the photo in the wrong spot. My first photo upload.
Also, it's hard to tell how many digital channels there are... There are 3 for sure (two toggle and Dipswitch 7). I think either 5 or 6 is also present, but it's hard to see.
That's a lot of channels for a cheap 6 channel TX isn't it ?
Posts: 346
Joined: 7/6/2004 From: Flushing,
NY, USA Status: offline
I've been doing machine programming for 10+ yrs. Programmed a microcontroller that monitors fuel flow for oil company. Had one of the first generation computer KIT that was on a breadboard which was programmed via ML code only (yea this was almost 30+ yrs old). Done work wiring/programming an 8086 to play guess my number on another's school project. + more.
As far as FMS goes, I own 1 zhen hua tx, 1 eksy tx, 1 optic 6. I can see the 4 ch on the zhen hua. Also observe the ccpm mixing on the esky which is also the reason every1 with esky radio can't using fms with the tx because ccpm mixing throw fms completely off.
For the optic 6, there are many more switches but it's only a 6 ch radio. Take the throttle for example, I have the analog input from the stick, 2 digital trim and 2 digital sub trim buttons and another analog input for throttle adjustment. Let's forget about the trims, just from the analog inputs, it means 2 of the processor's i/o lines are used as a/d to read the pots. This does not mean it's 2 channels, or 4 if u include the trims, rather it's reading all the values of the i/o lines and combining them into 1 channel. This is what I was trying to get at earlier. All those extra i/o should not be extra channels but rather the processor combines them into 4 channels.
No offense taken, I know how it is. It is not possible, nor is this the right place, to fully describe how microcontroller and all those thing works in this forum.
I looked at your graph from the scope, it's not conclusive prove it's 12 channels. If it is indeed serializing the channels, then you forgot about the synchronizing pulse or start/stop bit. If the timing of the tx/rx was off, and rx started reading at pulse 3, it means it's reading the roll as throttle.
8 bits referring to the size of the register aka amount of data it can process per cycle. the 8088 cpu from PC/XP was a 16 bit cpu with 20 address bits but only 8 i/o lines (data bus). The i/o are muxed with the address lines. 8086 was the same but it used 16 i/o lines. Damn sorry I said we shouldn't discuss this on this forum and here I'm still doing it.
This is an extremely interesting thread as I was wanting to try and use the W4 TX on my next plane project. Do I need to look for a specific model/range of Futaba 35MHz receiver to get it to work with the TX or should any Futaba RX work?
Posts: 371
Joined: 1/8/2002 From: Boulder, CO, USA Status: offline
quote:
ORIGINAL: tnd2000 ... Also observe the ccpm mixing on the esky which is also the reason every1 with esky radio can't using fms with the tx because ccpm mixing throw fms completely off.
This interface cable www.milehighwings.com will let you use your ESky CCPM transmitter with FMS as it deciphers the CCPM mixed signal and produces the "un-mixed" signal proportional to the stick deflection.