My self designed RC plane and Remote control system

Started by pradeep_K_B, July 07, 2012, 11:06:02 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pradeep_K_B

hi...its my self designed RC plane..Each and every parts are home made..used corrugated plastic sheet for body...and substituted the ready made remote control system with a home made one....for more details pls contact me....

spitfire

Nice plane!

It would be great if you could post more details about your remote control system.

pradeep_K_B

the remote control is a microcontroller based one...used PIC 16F628 microcontroller and 433Mhz RF module.......the pics shows the ground section and the UAV section...ie the transmitter and reciever..

VC

Nice. If you hadn't mentioned 'self designed', I would have mistaken it for an Extra 300 S.
Growing old is mandatory, growing up is optional!

rcpilotacro

pradeep KB, you control setup has a lot of flaws

(a) connecting aileron like that (At this severe angle) will result in different throws with the same servo angle movement, resolution will suffer if you correct it with your Homemade radio (that is if you can with your radio)

(b) you control horns are connected way off on the control surface :giggle: it should be on the hinge line, else you servo will be overloaded else you horn anchor point will rip right off (depending on who is powerful of the two).

(c) the rudder doesn't look connected on this your own designed Extra 300 looking plane. how do you plan to do that with the way your servos are place. if you move it to the fuse axis, you can make it a pull-pull

(d) in the present condition your plane wont fly, at best you can check your Home Made radio works or not (Not with the servos connected of course)

My humble submission to you buddy, will be read up a little more, looking at the mess behind the PCB, looks like you are as confused. Just a friendly fellow aeromodellors advice. Right between your brows ;)
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

pradeep_K_B

ok....thats not the only things i used the control the plane..thats only th Rf transmitter and receiver....there is also 4 control circuits for the servos and also a driver circuit for the ESC.....and ya rudder is not connected in the pic..thats because if i connect rudder i cant place in ground and take photographs....ok???

rcpilotacro

i dont think you have heard me in rep#4. what is the point ?
Gusty's Hangar and Introduction.

A Good pilot will practice until he gets it right,
A Great pilot will practice until he can't get it wrong.

lastRites

Is that an ASK module? If so would you get proportional control with that? I am only a beginner but I do not think you will be able to fly a plane with push-buttons..
Best of luck with your maiden :)
Trishit
It is the pervading law of all things organic and inorganic,
Of all things physical and metaphysical,
Of all things human and all things super-human,
Of all true manifestations of the head,
Of the heart, of the soul,
That the life is recognizable in its expression,
That form ever follows function. This is the law.

KALYANPRODHAN

ASK modules will suffer from noise generated by ESC if not eliminated with Filters of good quality. Moreover BL ESCs generate much higher noise than servos too.

Proportional control can be achieved with ASK modules, but as they are not very narrow band receivers, they prone to RANGE problem.
http://myweb.tiscali.co.uk/norcimradiocontrol/Radio6.htm
You have to add an extra Tx Amplifier to enhance range. But better use 2.4 GHz modules.

You can use these
http://www.giantcod.co.uk/frsky-24ghz-conversion-hack-module-p-405206.html

http://www.giantcod.co.uk/24ghz-frsky-receiver-v8frhv-p-405319.html
We have to unite and to prove ourself to make indigenous products as well as marketing / Canvasing them. I'm sure we must achieve success if we try unitedly.

naveen1

 :help: can you give me all of the circuit diagrams you have used in this plane

pradeep_K_B


Verma

Naveen, where do you fly in jodhpur? PM me if required, we can fly together.

naveen1


naveen1

i want to make a 3 channel reciever and transmitter for rc plane, if you have circuit diagram of it  give the images of it

VMaliakal

google is your friend try google, sir.



see this it may be helpful

KALYANPRODHAN

We have to unite and to prove ourself to make indigenous products as well as marketing / Canvasing them. I'm sure we must achieve success if we try unitedly.

lastRites

Quote from: lastRites on July 07, 2012, 11:34:03 PM
I am only a beginner but I do not think you will be able to fly a plane with push-buttons..
I take my words back now that I know better :P
https://www.youtube.com/watch?v=aRfyNfpjoLk&feature=g-user-u
It is the pervading law of all things organic and inorganic,
Of all things physical and metaphysical,
Of all things human and all things super-human,
Of all true manifestations of the head,
Of the heart, of the soul,
That the life is recognizable in its expression,
That form ever follows function. This is the law.

girishsarwal

Trivia trivia, Mode 1 is an outcome of flying a plane with push buttons. Practically, there was no way of controlling four push buttons for the two primary control surfaces (elevator and aileron) using a single hand which is why they were separated for the left and right hand respectively.

Haven't seen the video yet, but I guess Bruce talks about it somewhere.
gs

naveen1


Anne

Plz ,how is it possible to connect a motor to a normal radio set which is a reciever and how do u control it with a transmitter

sanjayrai55

Anne: you use an Electronic Speed Controller between the battery & motor, with an additional wire going into your radio receiver

pradeep_K_B

Dear friends,Sorry for the late response...especially @naveen1..And for a remote control its better to use some circuit with microcontrollers.You can use some PIC based circuits.

pradeep_K_B

program for Receiver
;**********************************************************************
;                                                                     *
;    Filename:     decoder.asm                                       *
;    Date:                                                            *
;    File Version:                                                    *
;                                                                     *
;    Author:        pradeep kumar                                     *
;**********************************************************************
;NOTES
;
; PA0-PA3-> outputs
; PA4    -> valid reception
; PA5    <- RX input
; PB0-PB3<- address bits
; PB4-PB7-> outputs
;
;
;**********************************************************************
;HISTORY
;
; 043-20050214 based on mrx-042
;              4/8-channel remote control decoder
;              outputs are latched or momentary (selectable)
;
; 043b-20120316 correct a bug with channel 4 interfering with the VALID led
;**********************************************************************

list      p=16f628

__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _LVP_OFF & _MCLRE_OFF & _BODEN_ON

#include <p16f628.inc>
#include "mrxv4.inc"

EXPIRE_TIMER EQU 0x12
LATCH_MASK EQU B'11110000'
VALID_BIT EQU 4

.mainda UDATA 0x20

savew1 res 1
savestatus res 1
savepclath res 1
savefsr res 1
bt res 1
expire_cnt res 1
cur_seq res 1
cur_ch res 1
cur_state res 1

vectors CODE 0
  goto    main ; go to beginning of program
nop
nop
nop
; interrupt vector location
goto itr

prog CODE 5

channel_lookup  andlw 0x07
addwf PCL, F
dt 0x1, 0x2, 0x4, 0x8
dt 0x10, 0x20, 0x40, 0x80

itr
movwf savew1
movf STATUS,w
clrf STATUS
movwf savestatus
movf PCLATH,w
movwf savepclath
clrf PCLATH

movf FSR,w
movwf savefsr

btfsc INTCON, T0IF
call t0_int_handler

movf savefsr,w
movwf FSR

movf savepclath,w
movwf PCLATH

movf savestatus,w
movwf STATUS

swapf savew1,f
swapf savew1,w

retfie

main
;HARDWARE INIT
movlw 7
movwf CMCON

movlw (1<<VALID_BIT)
MOVWF PORTA
clrf PORTB

BANKSEL TRISA

movlw 0x20 ; A5=input
movwf TRISA

MOVLW 0x0f ; B0-B3=input
movwf TRISB

; setup TMR0 interrupt
clrwdt ; changing default presc. assignment
movlw 0x03 ; prescaler 1:16 assigned to TMR0
movwf OPTION_REG ; T0CS selects internal CLK
bsf INTCON, T0IE ; enable TMR0 int

BANKSEL TMR0

clrf TMR0

clrf expire_cnt
call mrx_init
bsf INTCON, GIE

warm clrf cur_state
clrf cur_seq
incf cur_seq, F

loop call mrx_receive
andlw 0xff
bnz loop
call mrx_chk_buf
andlw 0xff
bnz loop

movf PORTB, W
andlw 0x0f
subwf (mrx_buffer), W
bnz loop

rx_ok movlw EXPIRE_TIMER ; indicate packet reception
movwf expire_cnt

movf (mrx_buffer+1), W ; if (seq==cur_seq) skip (only expire timer is updated)
andlw 0xc0
subwf cur_seq, W
bz loop

movf (mrx_buffer+1), W
andlw 0xc0
movwf cur_seq

movf (mrx_buffer+1), W
andlw 0x3f
bz loop ; illegal channel data
addlw 0xff
andlw 0x0f
movwf bt
btfsc bt, 3
goto loop ; ch>=8: illegal with this model
call channel_lookup
movwf cur_ch

bcf INTCON, GIE
btfsc (mrx_buffer+1), 5
goto state_on_off

; 00-0f: toggle or momentary ON
movf cur_ch, W
andlw LATCH_MASK
bz state_on_off ; momentary ON

state_toggle movf cur_ch, W
xorwf cur_state, F
goto state_done

state_on_off movf cur_ch, W
xorlw 0xff
andwf cur_state, F ; 20-2f: latch ON
movf cur_ch, W
btfss (mrx_buffer+1), 4 ; 30-3f: latch OFF
iorwf cur_state, F
goto state_done

state_done bsf STATUS, C ; set valid led ON
call state_out
bsf INTCON, GIE
goto loop

t0_int_handler bcf INTCON, T0IF
movf expire_cnt, F
bnz valid_on

movlw LATCH_MASK ; clear momentary outputs
andwf cur_state, F
bcf STATUS, C ; set valid led OFF

state_out ; C: turn valid bit on or off?
movlw ~(1<<VALID_BIT)
andwf cur_state, W ; set valid led ON
btfss STATUS, C
iorlw (1<<VALID_BIT) ; set valid led OFF
movwf PORTA
movf cur_state, W
movwf PORTB
return

valid_on decf expire_cnt, F
;;bsf RX_LED
return

end


pradeep_K_B

Program for transmitter
;**********************************************************************
;                                                                     *
;    Filename:     encoder.asm                                       *
;    Date:                                                            *
;    File Version:                                                    *
;    Author      :Pradeep kumar                                                                 *
;**********************************************************************
;NOTES
;encoder v4.2
;
;**********************************************************************
;HISTORY
;
; 040-20050131 4/8-channel encoder for 16F630
; 041-20050213
; 042-20050217 modify transmission repetition algorithm
; 043-20050227 use IR medium with irmtxv4 library
; 044-20090531 adapt 042-20050227 to the pic16f628
;
;**********************************************************************
list p=16f628
__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF & _MCLRE_OFF & _BODEN_OFF


; toggle or momentary mode, 8 channels
#define MODE_CH8

; ON/OFF latched mode, 4 channels
;#define MODE_CH4

#include <p16F628.inc>
#include <mtxv4.inc>

variables UDATA
; RAM registers
tcnt RES 1
rcnt RES 1
cod RES 1
prevcod RES 1
cod0 RES 1
rowstate RES 1

startup CODE 0
  goto main
nop
nop
nop
retfie

prog CODE

main ; program starts here
clrf PORTA
clrf PORTB
clrf TMR0

BANKSEL TRISA
movlw 0
movwf TRISA
movlw 0xf0
movwf TRISB

bcf OPTION_REG, PSA
clrwdt
clrf OPTION_REG
clrwdt

BANKSEL PORTA
movlw 7
movwf CMCON
movlw (1<<RBIE); RB4-7 int on change enable
movwf INTCON

call mtx_init
clrf mtx_buffer
clrf tcnt

loop0 clrf (mtx_buffer+1)
movlw 0xff
movwf prevcod ; no button was pressed in the previous scan
movlw 0xfc ;ca,cb=0,cj=1
movwf PORTB
movlw 0xf0
tris PORTB
movf PORTB, W
bcf INTCON, RBIF
sleep

loop clrf cod
movlw 0xfe
tris PORTB ; select colA (RB0)
clrf PORTB
#ifdef MODE_CH8
clrw
#endif
#ifdef MODE_CH4
movlw 0x20
#endif
call scan
movlw 0xfd
tris PORTB ; select colB (RB1)
#ifdef MODE_CH8
movlw 0x04
#endif
#ifdef MODE_CH4
movlw 0x30
#endif
call scan
movf cod, W
bz loop2 ; if no buton is pressed, skip

subwf prevcod, W ; if the same button is pressed, skip
bz loop2

movf cod, W
movwf prevcod ; a new button is pressed - rcnt=3
movwf (mtx_buffer+1)
movlw 3
movwf rcnt

movlw 0x40 ; new button - new transmission
addwf tcnt, F

loop2 movlw 0xf7
tris PORTB ; select ID (RB3)
call scanid
movf cod0, W
movwf (mtx_buffer)

loop3 movf (mtx_buffer+1), W
andlw 0x3f
iorwf tcnt, W
movwf (mtx_buffer+1)

call mtx_send

movf rcnt, W
bz loop_done
decfsz rcnt, F
goto loop

loop_done movf cod, W
btfsc STATUS, Z
goto loop0 ; no button was pressed, go sleep
; if the same button is being hold, repeat the transmission
goto loop

scan movwf cod0
;movlw 0xc0
scandelay ;addlw 1
;bnz scandelay
movlw 0xf0
andwf PORTB, W
movwf rowstate

incf cod0, F
btfss rowstate, 4
goto pressed

incf cod0, F
btfss rowstate, 5
goto pressed

incf cod0, F
btfss rowstate, 6
goto pressed

incf cod0, F
btfss rowstate, 7
goto pressed
retlw 0

pressed movf cod0, W
movwf cod
return

scanid clrf cod0
clrw
scandelay2 addlw 1
bnz scandelay2
movlw 0xf0
andwf PORTB, W
movwf rowstate

btfss rowstate, 7
bsf cod0, 3
btfss rowstate, 6
bsf cod0, 2
btfss rowstate, 5
bsf cod0, 1
btfss rowstate, 4
bsf cod0, 0
return

end

pradeep_K_B

Programming is not an easy job,first its required to take the hex code from this,for that you can use the software MPLAB IDE.....then you need a PIC burner for to write this program in to PIC m/y,its available in the market....Or as a short cut you can approach some project center,and give this program to them may be they can do all of this for you..:)

@Naveen1...I think its better to use some ready made radio system....thats readily available in the market.