Difference between revisions of "MeekPE PPM Encoder Board"
(adding a nice photo of an assembled MeekPE) |
|||
(24 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
MeekPE is a low cost MCUless PPM Encoder.<br> | |||
MeekPE is a MCUless PPM Encoder.<br> | This small board encodes and combines the separate PWM servo signals output from the R/C receiver without using a microcontroller. The combined signal is input into the PPM input on the Paparazzi controller.<br> | ||
This small board | Using common, inexpensive, components this board is a simple, affordable way to connect almost any type of R/C receiver to the Autopilot without modifications.<br> | ||
[[Image:MeekPE_v1-00_3D_top.png|right|500px|MeekPE v1.00 3D top view ]] | [[Image:MeekPE_v1-00_3D_top.png|right|500px|MeekPE v1.00 3D top view ]] | ||
Line 10: | Line 9: | ||
!''Version #''!!''Release Date''!!''Release Notes'' | !''Version #''!!''Release Date''!!''Release Notes'' | ||
|- | |- | ||
|v1.00 (current)||08/ | |v1.00 (current)||08/2010||0603/TSSOP PCB design | ||
|- | |- | ||
|v0.10||08/ | |v0.10||08/2010||0805/SOIC Single layer test PCB design | ||
|- | |- | ||
|v0.00||07/2010||Ugly Prototype | |v0.00||07/2010||Ugly Prototype | ||
Line 19: | Line 18: | ||
== Features == | == Features == | ||
* no hardware modification of the R/C receiver | :* no hardware modification of the R/C receiver | ||
* no MCU => no software | :* no MCU => no software or firmware req. | ||
* up to 8 servo encoding inputs | :* up to 8 servo encoding inputs | ||
* 25.4 x 15.6mm (1.0 x 0.6") | :* 25.4 x 15.6mm (1.0 x 0.6") | ||
* ..g (..oz) | :* ..g (..oz) | ||
:* inexpensive | |||
:* works with most types of receivers (has been tested with Spektrum for example) | |||
==== Restrictions: ==== | ==== Restrictions: ==== | ||
* see [[#Connections| | :* see ''[[#Connections|Connection instructions]]'' below | ||
== Block Diagram == | == Block Diagram == | ||
[[Image:MeekPE_block_diagram.png|600px]] | |||
== | == Overview == | ||
<gallery> | <gallery> | ||
Image:MeekPE v0-00 ugly test.jpg|First ugly test (this is | Image:MeekPE v0-00 ugly test.jpg|First ugly test (this is not a joke) | ||
Image:MeekPE v0-10 proto.jpg|Test board 0805/SOIC components | Image:MeekPE v0-10 proto.jpg|Test board 0805/SOIC components | ||
File:MeekPE01.jpg|Assembled board | |||
</gallery> | </gallery> | ||
Line 46: | Line 49: | ||
|1||GND||PWR||Common ground||style="background:black; color:white"|Black | |1||GND||PWR||Common ground||style="background:black; color:white"|Black | ||
|- | |- | ||
|2|| +5V||PWR||5V to R/C receiver supply (optional, see connection instructions below)||style="background:Red; color:white"|Red or Orange | |2|| +5V||PWR||5V to R/C receiver supply<br>''(optional, see [[#Powering the R/C receiver|connection instructions]] below)''||style="background:Red; color:white"|Red or Orange | ||
|- | |- | ||
|3 to 9||SERVO||IN||From R/C receiver servo output (see connection instructions below)||style="background:Yellow; color:black"|Yellow | |3 to 9||SERVO||IN||From R/C receiver servo output<br>''(see [[#R/C receiver to MeekPE|connection instructions]] below)''||style="background:Yellow; color:black"|Yellow | ||
|- | |- | ||
|10||LAST SERVO||IN||From R/C receiver servo output. Last channel to be encoded (see connection instructions below)||style="background:White; color:Black"|White | |10||LAST SERVO||IN||From R/C receiver servo output. Last channel to be encoded<br>''(see [[#R/C receiver to MeekPE|connection instructions]] below)''||style="background:White; color:Black"|White | ||
|} | |} | ||
<br> | <br> | ||
Line 60: | Line 63: | ||
|1||GND||PWR||Common ground||style="background:black; color:white"|Black | |1||GND||PWR||Common ground||style="background:black; color:white"|Black | ||
|- | |- | ||
|2|| +5V||PWR||5V rail from autopilot (see connection instructions below)||style="background:Red; color:white"|Red or Orange | |2|| +5V||PWR||5V rail from autopilot<br>''(see [[#MeekPE to Autopilot|connection instructions]] below)''||style="background:Red; color:white"|Red or Orange | ||
|- | |- | ||
|3||PPM||OUT||Positive logic PPM output||style="background:Blue; color:white"|Blue | |3||PPM||OUT||Positive logic PPM output||style="background:Blue; color:white"|Blue | ||
|} | |} | ||
<br> | |||
== Connections == | == Connections == | ||
=== MeekPE to Autopilot === | === MeekPE to Autopilot === | ||
Ground, Power ("+5V") and PPM signal must be connected to the autopilot.<br> | :* Ground, Power ("+5V") and PPM signal must be connected to the autopilot.<br> | ||
Power ("+5V") pin is used to supply the MeekPE board (+3.5V to +16V or C9 rated voltage if below, ''see [[#Note1|Note1]]'') and can also supply your receiver. In this case, MeekPE supply voltage must match your R/C receiver power supply voltage (around +5V in general).<br> | :* Power ("+5V") pin is used to supply the MeekPE board (+3.5V to +16V or C9 rated voltage if below, ''see [[#Note1|Note1]]'') and can also supply your receiver. In this case, MeekPE supply voltage must match your R/C receiver power supply voltage (around +5V in general).<br> | ||
You can use a classic Molex 3 pin connector or solder wires directly on board: 3 additional bigger thru-hole pads are provided for this purpose.<br> | :* You can use a classic Molex 3 pin connector or solder wires directly on board: 3 additional bigger thru-hole pads are provided for this purpose.<br> | ||
=== R/C receiver to MeekPE === | === R/C receiver to MeekPE === | ||
You can use | You can use: | ||
:* classic 0.1" pitch break away header and female/female jumper wires (like SparkFun's [http://www.sparkfun.com/commerce/product_info.php?products_id=8430 PRT-08430]) | |||
:* cut in half SparkFun's [http://www.sparkfun.com/commerce/product_info.php?products_id=8430 PRT-08430] female/female jumper wires and solder it directly to the MeekPe. | |||
==== Powering the R/C receiver ==== | ==== Powering the R/C receiver ==== | ||
* Ground connection is mandatory (voltage reference between the R/C receiver and the MeekPE encoder)<br> | :* Ground connection is mandatory (voltage reference between the R/C receiver and the MeekPE encoder)<br> | ||
* Power output pin ("+5V") is used only if you decide to supply your receiver with the autopilot. In this case, MeekPE supply voltage from the A/P must match your R/C receiver power supply voltage (around +5V in general) | :* Power output pin ("+5V") is used only if you decide to supply your receiver with the autopilot. In this case, MeekPE supply voltage from the A/P must match your R/C receiver power supply voltage (around +5V in general) | ||
==== Servo connections rules ==== | ==== Servo connections rules ==== | ||
To get a correct PPM encoded signal, you must follow some (simple) rules: | To get a correct PPM encoded signal, you must follow some (simple) rules: | ||
* You must know the channel number of the first and the last servo signal you want to encode. | :* You must know the channel number of the first and the last servo signal you want to encode. | ||
* All servo connection between the first and last channel you want to encode must exist: on some (stupid?) R/C receiver there is a "hole" in available channels. For example, on Hitec HFS-05MS you can get only CH1, 2, 3, 4, and 6. Channel #5 doesn't exist (outside the receiver box...) | :* All servo connection between the first and last channel you want to encode must exist: on some (stupid?) R/C receiver there is a "hole" in available channels. For example, on Hitec HFS-05MS you can get only CH1, 2, 3, 4, and 6. Channel #5 doesn't exist (outside the receiver box...) | ||
* All servo connection between the first and last channel you want to encode must be connected, even if you don't use it in the autopilot code. | :* All servo connection between the first and last channel you want to encode must be connected, even if you don't use it in the autopilot code. | ||
* The last channel number servo signal you want to encode must be connected to the "LAST-SERVO" input pin of the MeekPE encoder. Other servos connections can be in any order because the channel encoding number is given by the transmitter, not by the MeekPE encoder. | :* The last channel number servo signal you want to encode must be connected to the "LAST-SERVO" input pin of the MeekPE encoder. Other servos connections can be in any order because the channel encoding number is given by the transmitter, not by the MeekPE encoder. | ||
=== Servo connection example === | |||
Ok, finally, servo connection rules are not so simple. So perhaps will it be better understandable with some examples. | Ok, finally, servo connection rules are not so simple. So perhaps will it be better understandable with some examples. | ||
* 6 channel receiver, you want to encode Throttle (channel#1), Pitch (channel#2), Roll (channel#3), and Mode Switch (channel#5): | :* 6 channel R/C receiver, you want to encode Throttle (channel#1), Pitch (channel#2), Roll (channel#3), and Mode Switch (channel#5): | ||
=> connect #1, 2, 3, 4 | ::=> connect #1, 2, 3, 4 receiver servo output to any MeekPE servo input and channel #5 on "LAST SERVO" MeekPE input. You can leave #6 unconnected. | ||
* 8 channel receiver, you want to encode channel#2 to channel#5 and channel#7: | :* 8 channel R/C receiver, you want to encode channel#2 to channel#5 and channel#7: | ||
=> connect #2, 3, 4, 5, 6 | ::=> connect #2, 3, 4, 5, 6 receiver servo output to any MeekPE servo input and channel #7 on "LAST SERVO" MeekPE input. You can leave #8 unconnected. | ||
== Schematic == | == Schematic == | ||
Line 104: | Line 111: | ||
=== Gerber & Drill Files === | === Gerber & Drill Files === | ||
====Olimex Compliant Gerber Files==== | |||
''Download [[Media:Gerber_for_MeekPE_v1-00.zip|MeekPE v1.00 gerber & drill files (zip)]]'' | ''Download [[Media:Gerber_for_MeekPE_v1-00.zip|MeekPE v1.00 gerber & drill files (zip)]]'' | ||
RS274X, units = Inches | Gerber RS274X format = 2:5, units = Inches | ||
:*MeekPE_v1-00.GTO (Top Component Print Layer) | |||
:*MeekPE_v1-00.GTS (Top Solder Mask) | |||
:*MeekPE_v1-00.GTL (Top Copper Layer) | |||
:*MeekPE_v1-00.GBL (Bottom Copper Layer) | |||
:*MeekPE_v1-00.GBS (Bottom Solder Mask) | |||
NC Drill format = 2:5, units = Inches | |||
:*MeekPE_v1-00.DRI (NC XY coordinates & Drill tools sizes) | |||
====BatchPCB Compliant Gerber Files==== | |||
Now you can buy the PCB directly for $2.50 [http://batchpcb.com/index.php/Products/43035 here] | |||
''Download [[Media:Gerber_for_MeekPE_v1-00_BatchPCB.zip|BatchPCB Compliant MeekPE v1.00 gerber & drill files (zip)]]'' | |||
Gerber RS274X format = 2:5, units = Inches | |||
:*MeekPE_v1-00.GTO (Top Component Print Layer) | :*MeekPE_v1-00.GTO (Top Component Print Layer) | ||
:*MeekPE_v1-00.GTS (Top Solder Mask) | :*MeekPE_v1-00.GTS (Top Solder Mask) | ||
Line 113: | Line 135: | ||
:*MeekPE_v1-00.GBL (Bottom Copper Layer) | :*MeekPE_v1-00.GBL (Bottom Copper Layer) | ||
:*MeekPE_v1-00.GBS (Bottom Solder Mask) | :*MeekPE_v1-00.GBS (Bottom Solder Mask) | ||
:*MeekPE_v1-00. | :*MeekPE_v1-00.GBO (Bottom Component Print Layer) | ||
NC Drill format = 2:4, units = Inches | |||
:*MeekPE_v1-00.DRL (NC XY coordinates & Drill tools sizes) | |||
== Assembly == | == Assembly == | ||
Line 130: | Line 154: | ||
|colspan="10" align="left"|''Resistors'' | |colspan="10" align="left"|''Resistors'' | ||
|- | |- | ||
| | |9||RMCF0603FT10K0||10K||R1-R8,R11||1/10W 1%||Stackpole||0603||||RMCF0603FT10K0CT-ND|| | ||
|- | |- | ||
|2||RMCF0603FT100K||100K||R9,R10||1/10W 1%||Stackpole||0603||||RMCF0603FT100KCT-ND|| | |2||RMCF0603FT100K||100K||R9,R10||1/10W 1%||Stackpole||0603||||RMCF0603FT100KCT-ND|| | ||
Line 138: | Line 160: | ||
|colspan="10" align="left"|''Capacitors'' | |colspan="10" align="left"|''Capacitors'' | ||
|- | |- | ||
| | |9||CC0603KRX7R8BB103||10nF||C1-C8,C11||25V X7R||Yageo||0603||||311-1360-1-ND|| | ||
|- | |- | ||
|2||JMK107BJ475KA-T||4.7uF||C9,C10||6.3V X5R ''(see Note1)''||Taiyo Yuden||0603||||587-1785-1-ND|| | |2||JMK107BJ475KA-T||4.7uF||C9,C10||6.3V X5R ''(see [[#Note1|Note1]])''||Taiyo Yuden||0603||||587-1785-1-ND|| | ||
|- style="background:WhiteSmoke; color:black" | |- style="background:WhiteSmoke; color:black" | ||
|colspan="10" align="left"|Semiconductors | |colspan="10" align="left"|Semiconductors | ||
Line 161: | Line 181: | ||
|} | |} | ||
<br> | <br> | ||
* ''<span id="Note1">Note1</span> : If below 16v, rated voltage of C9 will be the upper limit for MeekPE supply voltage.'' | :* ''<span id="Note1">Note1</span> : If below 16v, rated voltage of C9 will be the upper limit for MeekPE supply voltage.'' | ||
== | == Source files == | ||
:*download ''[[Media:MeekPE_v100_Protel_Design.zip|MeekPE v1.00 Protel 99SE SP6 design (zipped Protel 99 ddb file)]]'' | |||
[[Category:Hardware]] | |||
Latest revision as of 10:55, 14 December 2012
MeekPE is a low cost MCUless PPM Encoder.
This small board encodes and combines the separate PWM servo signals output from the R/C receiver without using a microcontroller. The combined signal is input into the PPM input on the Paparazzi controller.
Using common, inexpensive, components this board is a simple, affordable way to connect almost any type of R/C receiver to the Autopilot without modifications.
Hardware Revision History
Version # | Release Date | Release Notes |
---|---|---|
v1.00 (current) | 08/2010 | 0603/TSSOP PCB design |
v0.10 | 08/2010 | 0805/SOIC Single layer test PCB design |
v0.00 | 07/2010 | Ugly Prototype |
Features
- no hardware modification of the R/C receiver
- no MCU => no software or firmware req.
- up to 8 servo encoding inputs
- 25.4 x 15.6mm (1.0 x 0.6")
- ..g (..oz)
- inexpensive
- works with most types of receivers (has been tested with Spektrum for example)
Restrictions:
- see Connection instructions below
Block Diagram
Overview
Pinout
Pin # | Name | Type | Description | Suggested Color |
---|---|---|---|---|
1 | GND | PWR | Common ground | Black |
2 | +5V | PWR | 5V to R/C receiver supply (optional, see connection instructions below) |
Red or Orange |
3 to 9 | SERVO | IN | From R/C receiver servo output (see connection instructions below) |
Yellow |
10 | LAST SERVO | IN | From R/C receiver servo output. Last channel to be encoded (see connection instructions below) |
White |
Pin # | Name | Type | Description | Suggested Color |
---|---|---|---|---|
1 | GND | PWR | Common ground | Black |
2 | +5V | PWR | 5V rail from autopilot (see connection instructions below) |
Red or Orange |
3 | PPM | OUT | Positive logic PPM output | Blue |
Connections
MeekPE to Autopilot
- Ground, Power ("+5V") and PPM signal must be connected to the autopilot.
- Power ("+5V") pin is used to supply the MeekPE board (+3.5V to +16V or C9 rated voltage if below, see Note1) and can also supply your receiver. In this case, MeekPE supply voltage must match your R/C receiver power supply voltage (around +5V in general).
- You can use a classic Molex 3 pin connector or solder wires directly on board: 3 additional bigger thru-hole pads are provided for this purpose.
- Ground, Power ("+5V") and PPM signal must be connected to the autopilot.
R/C receiver to MeekPE
You can use:
Powering the R/C receiver
- Ground connection is mandatory (voltage reference between the R/C receiver and the MeekPE encoder)
- Power output pin ("+5V") is used only if you decide to supply your receiver with the autopilot. In this case, MeekPE supply voltage from the A/P must match your R/C receiver power supply voltage (around +5V in general)
- Ground connection is mandatory (voltage reference between the R/C receiver and the MeekPE encoder)
Servo connections rules
To get a correct PPM encoded signal, you must follow some (simple) rules:
- You must know the channel number of the first and the last servo signal you want to encode.
- All servo connection between the first and last channel you want to encode must exist: on some (stupid?) R/C receiver there is a "hole" in available channels. For example, on Hitec HFS-05MS you can get only CH1, 2, 3, 4, and 6. Channel #5 doesn't exist (outside the receiver box...)
- All servo connection between the first and last channel you want to encode must be connected, even if you don't use it in the autopilot code.
- The last channel number servo signal you want to encode must be connected to the "LAST-SERVO" input pin of the MeekPE encoder. Other servos connections can be in any order because the channel encoding number is given by the transmitter, not by the MeekPE encoder.
Servo connection example
Ok, finally, servo connection rules are not so simple. So perhaps will it be better understandable with some examples.
- 6 channel R/C receiver, you want to encode Throttle (channel#1), Pitch (channel#2), Roll (channel#3), and Mode Switch (channel#5):
- => connect #1, 2, 3, 4 receiver servo output to any MeekPE servo input and channel #5 on "LAST SERVO" MeekPE input. You can leave #6 unconnected.
- 8 channel R/C receiver, you want to encode channel#2 to channel#5 and channel#7:
- => connect #2, 3, 4, 5, 6 receiver servo output to any MeekPE servo input and channel #7 on "LAST SERVO" MeekPE input. You can leave #8 unconnected.
Schematic
PCB
Gerber & Drill Files
Olimex Compliant Gerber Files
Download MeekPE v1.00 gerber & drill files (zip)
Gerber RS274X format = 2:5, units = Inches
- MeekPE_v1-00.GTO (Top Component Print Layer)
- MeekPE_v1-00.GTS (Top Solder Mask)
- MeekPE_v1-00.GTL (Top Copper Layer)
- MeekPE_v1-00.GBL (Bottom Copper Layer)
- MeekPE_v1-00.GBS (Bottom Solder Mask)
NC Drill format = 2:5, units = Inches
- MeekPE_v1-00.DRI (NC XY coordinates & Drill tools sizes)
BatchPCB Compliant Gerber Files
Now you can buy the PCB directly for $2.50 here
Download BatchPCB Compliant MeekPE v1.00 gerber & drill files (zip)
Gerber RS274X format = 2:5, units = Inches
- MeekPE_v1-00.GTO (Top Component Print Layer)
- MeekPE_v1-00.GTS (Top Solder Mask)
- MeekPE_v1-00.GTL (Top Copper Layer)
- MeekPE_v1-00.GBL (Bottom Copper Layer)
- MeekPE_v1-00.GBS (Bottom Solder Mask)
- MeekPE_v1-00.GBO (Bottom Component Print Layer)
NC Drill format = 2:4, units = Inches
- MeekPE_v1-00.DRL (NC XY coordinates & Drill tools sizes)
Assembly
Components Layout
Bill Of Material
Qty | Manufacturer part # | Schematic part name / value | Designator | Description | Manufacturer | Package | Optional | Digikey.com | Other distributor |
---|---|---|---|---|---|---|---|---|---|
Resistors | |||||||||
9 | RMCF0603FT10K0 | 10K | R1-R8,R11 | 1/10W 1% | Stackpole | 0603 | RMCF0603FT10K0CT-ND | ||
2 | RMCF0603FT100K | 100K | R9,R10 | 1/10W 1% | Stackpole | 0603 | RMCF0603FT100KCT-ND | ||
Capacitors | |||||||||
9 | CC0603KRX7R8BB103 | 10nF | C1-C8,C11 | 25V X7R | Yageo | 0603 | 311-1360-1-ND | ||
2 | JMK107BJ475KA-T | 4.7uF | C9,C10 | 6.3V X5R (see Note1) | Taiyo Yuden | 0603 | 587-1785-1-ND | ||
Semiconductors | |||||||||
10 | 1PS79SB10 | 1PS79SB10 | D1-D10 | Schottky diode 0.2A/30v | NXP | SOD523 (EIA SC79) | 1PS79SB10,115-ND | ||
1 | BC847B,215 | BC847 | T1 | NPN general purpose transistor 100mA/45V | NXP | SOT23 | BC847B,215 | ||
1 | 74HC14DTR2G | 74HC14PW | IC1 | Hex Schmitt Trigger Inverter | ON | TSSOP14 | 74HC14DTR2GOSCT-ND | ||
1 | LP2985-33DBVR | LP2985-33 | IC2 | 3.3V/150mA LDO regulator | Texas Instruments | SOT23-5 | 296-18476-1-ND | ||
Connectors | |||||||||
1 | 53047-0310 | PPM | J2 | Picoblade 3 pins 1.25mm straight header | Molex | specific | yes | WM1732-ND | |
10pins | 22-28-4363 | SRV | J1 | 0.1" Header 36Pos. Vertical Gold | Molex | specific | yes | WM6536-ND |
- Note1 : If below 16v, rated voltage of C9 will be the upper limit for MeekPE supply voltage.