Mac McGarrigle's Lifting Body
Model Rocket Technology
The Basic Stamp Auto-Pilot

Home

 This is the Basic Stamp II microcontroller produced by Parallax.  A microcontroller is a computer on a chip.  In this case a 24 pin chip and is approximately the size of a postage stamp (hence the name).  It has 16 I/O points and 2 dedicated serial connections.  They can even be networked together.

The Basic Stamp II serves as the brains inside my lifting body projects.  It is able to control and monitor R/C receiver outputs, drive servos, monitor sensors, keypads, measure resistance (photo cells, thermistors), switches, relays, lights, and more. Programming is performed in an easy-to-learn language called PBASIC.  Parallax also produce a huge amount of sensors that talk directly with the Basic Stamp such as a GPS, tri-axis accelerometer, gyros, LCD panels etc.  I will be using these to set up my auto-pilot for the self controlled version of the RLBV II configuration.

This is the printer circuit board I created (shown here full size) to interface the Basic Stamp to my R/C receiver and output to the control surface servos.  Each of the 16 I/O pins are connected with a 3 pin connector that accepts the standard R/C servo and power packs connectors.  The Basic Stamp and all inputs and outputs can be powered from the standard 5 volt R/C battery.

The program is downloaded from your computer and stored in on-board memory and is not lost when you power off.  Powering on reboots the controller and re-runs the program.

Story so Far...
My Models
Lifting Bodies
Basic Stamp
Books
 


What I am doing...

Here is only an example of a old program of a Basic Stamp I that I created way back.  I will post the full Basic Stamp 2 program when I convert it.  It takes the 4 signals out of the R/C receiver and does mixing for elevon control and uses the power stick control to set the trim position.  This takes the 'white knuckle' out of the glide landing.  Again this is only an example.  More to come... 

' BODY.BAS
'
' "Lifting Body" Glide Landing Rocket Remote Control Program
'
' ========================================================================
'
Symbol x_axis = 0 ' X Axis RC Receiver Signal
Symbol y_axis = 1 ' Y Axis RC Receiver Signal
Symbol yaw = 2 ' Rudder RC Receiver Signal
Symbol trim = 3 ' Power RC Receiver Signal
Symbol left_servo = 4 ' Port Drag Surface Servo
Symbol right_servo = 5 ' Starboard Drag Surface Servo
Symbol x = b2 ' Left/Right action variable
Symbol y = b3 ' Up/Down action varriable
Symbol r = b4 ' Rudder Left/Right variable
Symbol t = b5 ' Trim Up/Down variable
Symbol A = b6 ' Port servo variable
Symbol B = b7 ' Starbord servo variable
Symbol ht = w5 ' Height variable
'
let dirs = %00001110 ' Set I/O directions
'
loop : ' Loop through functions
pulsin x_axis,1,x ' Read X Axis RC Signal
pulsin y_axis,1,y ' Read Y Axis RC Signal
pulsin yaw,1,r ' Read Rudder RC Signal
pulsin trim,1,t ' Read Trim RC Signal
'
w5 = 1000 ' Infra-red Variable
ht = 1500 ' Height variable
'
x = x - 100 MIN 0 ' Normalize x variable
y = y - 100 MIN 0 ' Normalize y variable
t = t - 100 MIN 0 ' Normalize t variable
r = r - 100 MIN 0 ' Normalize r variable
'
A = 100 - x + y + t MAX 200
B = x + y - t + 100 - 1 MAX 200
'
pulsout left_servo,A ' Send signal to port servo
pulsout right_servo,B ' Send signal to starboard servo
'
pause 10 ' wait 50th of a Second
goto loop ' return to loop

More to come...