Transmissor/Receptor R/C proporcional(servo)

 

Neste artigo irei descrever como montar um Transmissor/receptor para rádio-controle de automodelismo, que facilmente poderá ser adaptado para aeromodelismo.

Os módulos de RF (Telecontrole) são muito baratos e pequenos, e são facilmente encontrados a venda na internet por cerca de R$10,00 cada.

Eles não são muito confiáveis sozinhos, pois tem muito erro, porém se trabalhar em conjunto com um micro-controlador, e fazer um “CRC” , este problema será facilmente contornado, tornando um módulo confiável.

Primeiro, consegui uma carcaça de transmissor velho e com defeito:

O Transmissor ficou tão pequeno que coube facilmente nesta carcaça:

Veja como ficou o receptor:

Neste receptor eu segui o mesmo padrão de encaixe da bateria e dos servos, ficou bem pequeno e cabe em qualquer Auto/Aero.

Segue os esquemáticos:

TX:

Rx:

 

Layout´s:

 TX:

 

RX:

 

Segue os programas feito em Picbasic (utilizei 2 pic´s 12F683):

'modulo TX

 

include "modedefs.bas"

DEFINE ADC_BITS 8       ' Set number of bits in result

DEFINE ADC_CLOCK 3     ' Set clock source (rc = 3)

DEFINE ADC_SAMPLEUS 50

 

trisio =%00011111 'input=mclr,pot´s , output= serial

ansel = %00111111

 

b0 var byte

b1 var byte

b2 var byte

b3 var byte

b4 var byte

w0 var word

w1 var word

 

'------------------------------------------------------------

loop:

'Potenciometros:

'Aceleração:5k4

'

'acel=2k14, meio=2k73, desac.=3k14

'405          512        594     '10bit´s

'101          128        148     '8bit´s

'Direção: 5k

'

'esquerda=1k82, meio=2k54, direita=3k3

' 368           512         675   '10bit´s

' 92            128         168    '8bit´s

'

'Trimmer´s = pot´s de 10k (8k real)       

pause 5        ' estava 5

adcin 0,b0 'acel '101 a 148

adcin 1,b1  'direcao  '92 a 168

adcin 2,b2  'trimmer acel  '0 a 255  (/5 = 51)

adcin 3,b3  'trimmer direcao  '0 a 255  (/6 = 42)

 

w0 = b0 + (b2/5)

b0 = w0

 

w1 = b1 + (b3/6)

b1 = w1

 

gosub limites

 

b4 = b0+b1'valor truncado

 

SEROUT gpio.5,N2400,[204,B0,b1,b4]   '20.8ms a 2400bps    '204 = 11001100

 

goto loop

'--------------------------------------------------

limites:

if b0 < 100 then

b0 = 100

endif

 

if b1 < 100 then

b1 = 100

endif

 

if b0 > 200 then

b0 = 200

endif

 

if b1 > 200 then

b1 = 200

endif

 

return

'---------------------------------------------------

 

'modulo RX    

 

include "modedefs.bas"

 

trisio =%00001001 'serin,mclr

ansel = 0

cmcon0 = 7

 

b0 var byte

b1 var byte

b4 var byte

soma var byte

c1 var byte

c2 var byte

 

 

'------------------------------------------------------------

loop:

 

SERIN gpio.0,N2400,20,continua,[204],B0,b1,b4  '204 = 11001100

 

continua: 

soma = b0+b1 'valor truncado

if soma <> b4 then

gosub saida

goto loop

endif

 

c1 = b0

c2 = b1

gosub saida

 

goto loop

 

'----------------------------------------------------------------

saida:

high gpio.4

pauseus c1*10

low gpio.4

 

high gpio.5

pauseus c2*10

low gpio.5

 

return

'-----------------------------------------------------------------

 

 

OBS:

Os módulos eu comprei no site: http://www.soldafria.com.br/ e funcionaram muito bem por cerca de 150 metros.

Mas no Ebay tem desses módulos com alcance de 4km por apenas U$2.50

 Tem também melhores módulos de RF no site da sure:

http://www.sureelectronics.net/

Segue os arquivos .hex para pic 12F683:

HTTP://fzanoto.zzl.org/modulos.hex.zip