Difference between revisions of "MeekPE PPM Encoder Board"

From PaparazziUAV
Jump to navigation Jump to search
(adding a nice photo of an assembled MeekPE)
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<span style="color:red">'''(PRELIMINARY)'''</span><br>
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 encode the PPM signal from the R/C receiver servo outputs without using any microcontroller.<br>
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>
Any type of R/C receiver is directly usable without any hardware modification.
[[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/2007||0603/TSSOP PCB design
|v1.00 (current)||08/2010||0603/TSSOP PCB design
|-
|-
|v0.10||08/2007||0805/SOIC Single layer test PCB design
|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|Connections]]
:* see ''[[#Connections|Connection instructions]]'' below


== Block Diagram ==
== Block Diagram ==
[[Image:MeekPE_block_diagram.png|600px]]
[[Image:MeekPE_block_diagram.png|600px]]


== Prototypes ==
== Overview ==
<gallery>
<gallery>
Image:MeekPE v0-00 ugly test.jpg|First ugly test (this is note a joke)
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 47: 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 61: 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 a 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]) or 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.
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 ====
=== 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 R/C receiver servo output to any MeekPE servo input and servo R/C receiver servo output #5 on "LAST SERVO" MeekPE input. You can leave #6 unconnected.
::=> 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 R/C receiver servo output to any MeekPE servo input and servo R/C receiver servo output #7 on "LAST SERVO" MeekPE input. You can leave #8 unconnected.
::=> 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 105: 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, format = 2:5
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 114: 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.DRI (NC XY coordinates & Drill tools sizes)
:*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 131: Line 154:
|colspan="10" align="left"|''Resistors''
|colspan="10" align="left"|''Resistors''
|-
|-
|8||RMCF0603FT1K00||1K||R1-R8||1/10W 1%||Stackpole||0603||||RMCF0603FT1K00CT-ND||
|9||RMCF0603FT10K0||10K||R1-R8,R11||1/10W 1%||Stackpole||0603||||RMCF0603FT10K0CT-ND||
|-
|1||RMCF0603FT10K0||10K||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 139: Line 160:
|colspan="10" align="left"|''Capacitors''
|colspan="10" align="left"|''Capacitors''
|-
|-
|1||GRM188R71H103KA01D||10nF||C11||50V 10% X7R||Murata||0603||||490-1512-1-ND||
|9||CC0603KRX7R8BB103||10nF||C1-C8,C11||25V X7R||Yageo||0603||||311-1360-1-ND||
|-
|-
|8||CC0603ZRY5V9BB104||100nF||C1-C8||50V Y5V||Yageo||0603||||311-1343-1-ND||
|2||JMK107BJ475KA-T||4.7uF||C9,C10||6.3V X5R ''(see [[#Note1|Note1]])''||Taiyo Yuden||0603||||587-1785-1-ND||
|-
|2||JMK107BJ475KA-T||4.7uF||C9,C10||6.3V X5R ''(see 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 162: 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 ==
== 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 11: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.

MeekPE v1.00 3D top view

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:

Block Diagram

MeekPE block diagram.png

Overview

Pinout

MeekPE v1.00 Pinout


RECEIVER
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


AUTOPILOT
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.

R/C receiver to MeekPE

You can use:

  • classic 0.1" pitch break away header and female/female jumper wires (like SparkFun's PRT-08430)
  • cut in half SparkFun's PRT-08430 female/female jumper wires and solder it directly to the MeekPe.

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)

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

MeekPE v1.00 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.

Source files