Thursday, November 30, 2006

learning about MOSFETS and gain

Crocodile Clips only has two configurable parameters for a n-channel MOSFET: the gain factor and the threshold voltage. Since the other voltages (i.e. drain-source, gate-source, etc.) and parameters are not configurable for the sake of simulations, I'll guess that the voltage and current specs are limits for the sake of breakdown and focus on gain and threshold until I learn more. None of the data sheets that I have looked at speak of a 'gain factor', but I read that forward transconductance what Croc Clips means by gain factor.
simple circuit using IRF7101 specssimple circuit using IRF7303 specssimple circuit using IRF531 specs

In the pictures above, I have changed the MOSFET parameters in Croc Clips to use the threshold voltage and gain factor from the data sheets for the IRF7101, IRF7303, and IRF531. The IRF7101 is used in the Roctronics circuits, so I'm using that as a baseline in the simulations. The IRF7303 is more readily available now, so we're considering it in our schematics for our implementation of the Roctronics boards. The IRF531 is available locally and in the nice TO-220 package that make bread-boarding easy. In short, it appears that our requirements are basic enough that we can use any of the MOSFETs we are looking at.

In my previous post, I wonder about the resistance from gate to source... heh, I now have a better understanding of the 'field-effect' part of MOSFET (and I already know that the MOS part is obsolete). There is 'practically no input current' on the gate - you can see in this simulation that Croc Clips assumes none:
picture of my original circuit that had the unnecessary resistors

So for the most part, when we pass the voltage threshold on the gate, the MOSFET turns on. Below are some rules that I picked up on a Web site talking about the scaling effects of MOSFETs - I may have interpretted the gain part of the equations incorrectly. Even if these aren't completely accurate - they appear to be pretty decent guides based on my playing with the Crocodile Clips.

drain-source current:
cutoff: 0 when Vg < Vt (i.e. 3.8 < 4)
linear: GainFactor * ((Vg - Vt) Vd - (Vd^2 / 2)) when 0 < Vd < Vg - Vt
saturation: (GainFactor / 2) * (Vg - Vt)^2 when 0 < Vg - Vt < Vd

oops ... pop :( learning about MOSFETs

In books, the descriptions of MOSFETs are so simple; look at a MOSFET data sheet and it isn't quite so simple. The most big question in my mind is the drain current min - why is there a min. Does that mean that the MOSFET can support at least that specific current?

The IRF531 looked nice, so I bought a couple to learn with. I'm have a pretty basic multimeter and a limited set of resistors, so I bread-boarded some circuits with the intent of getting a most basic understanding. Here are my notes in preparation for bread-boarding and testing:

Specific Constraints
- 0-25 mA and 0-250 mA test ranges on multimeter
- 330 ohm and 470 ohm resistors are only small resistors available
- both types of small resistors are 1/2 watt resistors

Playing with MOSFET
- assuming no resistance at all on gate-source
- circuit: +5 ... 235ohm ... gate-source ... Gnd
- 21 mA used
- if resistance on gate-source, then current used will be smaller
- assuming negligable resistance (< 1ohm) on drain-source
- circuit: +12 ... 660ohm ... drain-source ... Gnd
- 18 mA used
- if 5V @ 20 mA isn't enough to turn MOSFET on, then current will be smaller


You know what's coming - after careful consideration of my constraints and building my circuit, I blew the fuse in my multimeter! I have no spares, so I'll have to finish testing tomorrow :( My mistake, besides doing this in real life rather than with Crocodile Clips, was that I didn't plan my volt versus amp metering locations. Live and learn - at least I lived...

3D representation of the MOSFET test using Croc Clips

Now that is the smart way to learn! The 3D view is pretty and neato, but what I'm not showing is the schematic with ammeter and voltmeters installed. Good stuff!

Tuesday, November 28, 2006

talking to the uMMC

I hooked up the uMMC to the PC tonight. I couldn't find an MMC or SD card around, so I just had to verify the connection and query the status of the system.
picture of the uMMC breadboarded and connected to a PC
The first command I used was Z which queries the system status - the return was error code E08: Card not inserted; the other command I typed was V to request the system version and serial number - the return is kinda funny: VVV.MM SN:UMM1-NNNN-NNNN is expected, but I got 101.56 SN:UMM1-OEM - I have no serial number...

Ah well - nice to have something work. In the breadboard, I have the Vcc and Gnd on the uMMC going directly to the 5V from my power supply; the G, T, and R on the uMMC connect to the TTL Gnd, TTL Tin, and TTL Rout on the MAX232 (Sipex in this case); finally, the PC Serial has Gnd (5), Tx (3), and Rx (2) connected to the Gnd, RS-232 Rin, and RS-232 Tout. The PC serial uses 8N1 w/ no flow control @ 9600 as the default.

Monday, November 27, 2006

communication with AVR established!

By a bizzare turn, I happened to get communication with the AVR established - I have uploaded my program! :) Funny how things happen - I had given up on getting the AVR programmed via the parallel port and was going to try a serial method that Michael had found; I was closing out tabs in my browser and one happened to be pointing at this post about disabling the parallel port on the VMWare site. It made me suspect that my parallel port in my VM was not set for bidirectional communication, so I manually edited my VMX file to add 3 lines... and it worked!

parallel0.present = "TRUE"
parallel0.fileName = "LPT1"
parallel0.bidirectional = "TRUE"


Assuming the same old error as before, I ran uisp and got a nice little surprise!

uisp -dlpt=/dev/parport0 --erase -dprog=dapa
Atmel AVR ATtiny2313 is found.
Erasing device ...
Reinitializing device
Atmel AVR ATtiny2313 is found.
uisp -dlpt=/dev/parport0 --upload if=avrledtest.hex -dno-poll -dprog=dapa -v=3 --hash=32
Reset inactive time (t_reset) 1000 us
AVR Direct Parallel Access succeeded after 0 retries.
Vendor Code: 0x1e
Part Family: 0x91
Part Number: 0x0a
Atmel AVR ATtiny2313 is found.
Page Write Disabled
FLASH Write Delay (t_wd_flash): 11111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Uploading: flash
#####
(total 138 bytes transferred in 1.71 s (81 bytes/s)
Now - if only my code worked right :) But that is my own bug and I can fix that!

One other great thing that I learned in this experience is that the Add / Remove Programs wizard (in Ubuntu) has an Advanced tab that allows you to select specific packages. Michael pointed out the Advanced tab and that uisp is in the package list! Good stuff.

Tuesday, November 21, 2006

mission failure - how to load AVR

I had the simple task of loading my program onto the AVR tonight to see it execute my own code for the first time; I should have suspected there was no hope. The task was too simple.
sad picture of breadboarded AVR waiting for a program to run
I found that I didn't have uisp loaded on Ubuntu already - no worries, I thought. I'll just build it... './configure --prefix=/usr/local/avr'. Boom - g++ not available on the Ubuntu install that I'm using. I checked the Applications - Add / Remove and I don't see it, but it must be added through some other process. So I resorted to my backup plan - install avrdude. No joy there, either: don't have yacc installed.

Back in the day when the whole system was compiled and you knew what was on it, installing g++ or yacc was a no-brainer. It is probably still a no-brainer, but ... all I want to do is load my program onto the AVR - why am I installing a new compiler or compiler compiler?! *sigh* Tired from Linux rot.

Saturday, November 18, 2006

no need to build boards!

picture of the last board that I madeThis is the last board that I etched myself - I don't enjoy the process at all. Michael found BatchPCB and we get etching, solder mask, silk screen, and the holes drilled! Woohoo! We haven't tried the service yet, but probably soon.

Thursday, November 16, 2006

large capacitors

We have read that 3300+ uF capacitors could be the key to reliable ejections, so here I am playing with a 4700 uF capacitor running through 430ohms for draining it to see what kind of current I get. Good stuff!

breadboarding with large caps

After that goodness, I cleared the board and build the Roctronics AVR Controller (minus the MOSFETS and EEPROM) and RS232 Interface. I found that Jameco substituted a Sipex chip for the Maxim MAX233 that I had ordered; no problem there, just figure I should link to the correct data sheet.

Friday, November 10, 2006

spicy ubuntu

Until today, my main reason for liking Ubuntu was that is was a simple multi-user system without a root / administrator account to set up. After an unsuccessful attempt to build SPICE, I looked on the forums and learned about the various repositories for Ubuntu programs. Hitting the repositories is easy - I just hadn't ever tried the Ubuntu Add / Remove Programs before :)

So here's a nice resource that I bumped into on the forums: Ubuntu Scientists It shows projects like Oregano and gEDA and what repository they are in. Good stuff.

Thursday, November 09, 2006

preparing to build rocket electronics

The Roctronics projects was active a couple years ago, but there isn't anything completely buildable there at the moment. Michael is redesigning the harness and controller boards with available parts so that we can move forward with a first implementation.

For my own reference, this is a list of parts that I have ordered and the data sheets:
39357-0002 - Eurostyle Terminal Block (for connecting power and ejection charges)
PIC16F628-20/SO - PIC Microcontroller
ATtiny2313 - AVR Microcontroller
254-PB521 - 100dB Buzzer (to mount in electronics bay of rocket for locating)
BZX79C5V6 - 5.6V Zener Diode
SN74LS00N - standard logic IC
SN74LS04N - standard logic IC
SN74LS07N - standard logic IC
SN74LS90N - standard logic IC
CD40110BE - standard logic IC
L7805ABV - 5.0V 1.0A positive voltage regulator
L7812ACV - 12V 1.0A positive voltage regulator
MAX233CPP - RS232 driver / receiver
PN2907A - standard PNP transitor

A beautiful thing about electronics is that most of the parts are in the $0.10 range, so I could order a bunch and deal with mistakes :)

first use of wikibooks

Most people are already familiar with the Wikipedia and may already be familiar with Wikibooks; however, I just ran into Wikibooks for the first time. Impressive stuff, in my opinion.

I was having a hard time finding a MAX233 chip required by a circuit, but I kept seeing a MAX232A and MAX233CPP. A Google search led me to this great serial programming book. Good stuff.

Wednesday, November 01, 2006

Ready for Recovery

The LOC/Precision Bullet came with a 12' elastic bungie cord for use as the recovery harness. Based on my reading in Modern High-Power Rocketry 2, I decided to replace the recovery harness. I already built in a U-bolt on the forward centering ring in the motor mount, so I can anchor to that rather than use the LOC SCM 1 harness mount. I picked up 3 quick-links from Home Depot and 16' of Kevlar shock cord.

The main problems with the elastic bungie are that it won't last like Kevlar since it lives in the booster airframe (because of ejection charges), it can break easily, and it is elastic and may cause the ejected nose cone to bounce back into the booster and do damage. The main risk with Kevlar is that it could result in zippers if the ejection wasn't timed well or if the shock cord was too short.

I expect to plan my flights using wRASP and RockSim, so I hope to get my timings set good enough to prevent serious damage. In addition, using the 16' of shock cord falls in the guideline of making the shock cord at least 2 to 3 times the length of the rocket so the bodies have some time to slow down before the cord gets pulled.

So anyway - the reason for this post was so I could write down somewhere the weights of the recovery harness. The chute, quick links, and shock cord weight a total of 6.7 ounces. The chute is still the original 36" rip-stop nylon.

Monday, October 30, 2006

Launch Log 2006.10.29

The first launch of the day was Mighty Mouse. We went with a B6 so we could see how the winds were affecting the flights without going too high. I put the usual amount of wadding in, but the shrouds were burned and part of the chute was melted. The next flight was Pipes, also on a B6, and the same thing happened. Pipes had a great flight exept for burning another chute.
Isaac preparing to launchPipes firing up to lift offthe upper stage of Isaac's Renegade firing up


We flew the first flight of Isaac's Renegade - we were starting with just the upper stage and flying on an A8. I should have calculated the needs of the rocket better because the A8 only lifted the upper stage about 20 feet. The second flight, we tried with both stages using B6 (the lower stage was B6-0 and the upper stage was a B6-6). The lower stage boosted the Renegate to about 35 feet and then upper stage failed to ignite and we had a nice big lawn dart.
the definition of a rocket-turned-lawn-dartthe nose of the Renegade got a little dirtied


The lower stage of the Renegade is intended for a tumble recovery. I was busy watching the upper stage crash and I didn't see if the lower stage was tumbling nicely or not. We'll need to watch for that in the future - the more they tumble, the better.
Outlaw initial thrust just before lift-off

After the troubled launches, we flew the Pencil and Outlaw on C6 motors. The wind was starting to pick up, but we still had some great flights. The Outlaw carried Isaac's parachute man and deployed him near apogee. Finally, we flew Mighty Mouse (after putting on a new parachute). Parachute man was riding in Mighty Mouse, causing me to underpower it. The flight went fine and everything recovered okay, but we had used a B6-6 and the chute opened about 15 feet above the ground :)

Friday, October 27, 2006

Prompting in Bookmarklets

Jon Udell's Library Lookup project was my introduction to Bookmarklets. That was a year or so ago and I have used bookmarklets here and there, but I haven't needed to prompt for anything in the past. The good news is, that prompting for parameters in the bookmarklet is even easier than pulling data from within the current page.

The bookmarklet that I needed today was for looking up Perforce changelist details:

javascript:{var changelist=prompt('Enter Changelist','');if(changelist)location.href='http://secretInternalPerforceHost/describe.php?change='+changelist;}


Good stuff.

Simulating the Bullet

While looking at accelerometer options, the question came up on how much acceleration the hardware needs to handle. For example, this DE-ACCM3D is a mighty tidy product but the measurement range is +/- 3G. RockSim to the rescue.

RockSim wireframe representation of my extended LOC/Precision Bullet

It was a little painful to build the extensions to the Bullet in detail, but it's in there now so I just give RockSim the launch conditions and tell it what motor to use and it performs the launch (mathematically speaking). According to RockSim, the Bullet, as I have it, will apogee around 745 feet with the G40W that I plan to use. The peak velocity will be about 200 feet / second and peak acceleration will be 175 feet / sec^2. That's about 5G.

I may want to pull off the electronics bay occasionally: the Bullet would then apogee over 1000 feet and hit nearly 250 feet / second with 6.8G. Or perhaps I'll attempt a Level 1 cert with the extended Bullet using an H55W: 2000 feet averaging 350 feet / second but only 4.5G... or burst off with an H180W: 2000 feet averaging 438 feet / second at 21G! Would be silly to fly an H without an electronics bay. With a Level 1 cert completed, I could then put an I in... too scary to even simulate. :)

Thursday, October 26, 2006

Firefox browser and plugins

I've been meaning to try out Firefox as a serious tool, but haven't taken the time yet. Mike has posted some info on Firefox that could help grunt like me get benefit - especially with the plugins.

Rockets Under Construction

The SpaceShipOne kit is still under construction. I picked up some plastic model putty, so I hope that I can get those melt points fixed and finish the paint / decal job. The big 'n scary part was getting the wings on straight, but that went well and I just need to pretty it a bit before flying it. Isaac has a parachute man that is ready for flight in SpaceShipOne - hopefully this weekend.

I've been waiting for a chance to put some sanding sealer on the wings of the dual-chute kit. The model went together well and I am excited to see it fly, but the wings primed to some serious ugliness. I have the sanding sealer, but it has been too cold at night to open the windows and put it on. There are connectors to, what looks like, boosters which each contain a chute.

Isaac's Renegade now has all 8 fins and 4 pods installed; there is no way that beast is going to fly straight! Parachute man is going to take a ride in the Renegade, but probably not with both boosters in use. We hope to take a couple flights with B6 motors this weekend (we have B6-0 for the first stage boost and then B6-6 for the upper stage).

The motor mount for the LOC Bullet is finally done. I added the U-Bolt because the kit came with the LOC SCM-1 mount kit for the shock-cord but since I intend to add an avionics or payload bay I needed a different solution. Another addition is the Aero Pack Quick-Change motor retainer; the kit uses no motor blocks and expects the user to friction fit all motors, but I'd rather have a simpler retention mechanism. The fin tabs had to be trimmed since they but up against the center ring which moved forward 3/8" with the addition of the motor retainer.

picture of rockets currently under construction

Wednesday, October 25, 2006

Look at those thin lines!

board trace for rocket harness of Roctronics That tiny line that goes between the leads on one of the connectors... I'll screw that up making my own boards. No doubt about it.

Tuesday, October 24, 2006

Hobby Constraints

I searched the local city and county (online) records and didn't find any specific local ordinance about rockets. The FAA rules apply, so I'll have to follow those constraints: a rocket weighing less than 16 ounces and having less than 113 grams of fuel can be flown at anytime in a park with appropriate dimensions; a rocket weighing between 16 and 53 ounces or having between 113 and 125 grams of fuel requires notification to nearest air-traffic control center; if the rocket weighs more than 53 ounces or contains more than 125 grams of fuel, then FAA must grant permission.

I write this here as a personal reminder to myself because I will forget.

Hybrid Power

Michael pointed out this excellent site and their info on hybrid motors. Specifically, that hybrids have similar total impulse ratings but the flights are quite a bit different. I needed to see how the difference really played out, so I 'built' my LOC/Precision Bullet using a trial version of RockSim.

For my first flight, I chose the SkyRipper Systems H124 which has a total impulse of 220Ns. I ran 3 test flights and each went a little over 1900 feet.

The second flight used the Aerotech H123W which has a total impulse of 211Ns. It is interesting, although not very important to me, that the Aerotech motor is 7.5 inches long, but the SkyRipper is 24 inches long. Again, I ran 3 test flights, but each went over 2300 feet with the solid propellant.

This is my first real simulation with RockSim, so I could be totally misunderstanding the data. I'm not throwing out the idea of hybrids, but I may think more seriously at Aerotech RMS for a while.

Launch Log 2006.10.22

This was my first time launching at a group launch. The club was the Colorado Rocketry Association of Space Hobbyists - they were pretty friendly and very helpful when I had some trouble with my ignitors.

We had a first flight of Pencil - we didn't get a launch shot of it because of the ignitor troubles. Since it was the first flight for that kit, I chose an A8-3 motor. The model flew straight and returned nicely.

The next flight was the red and yellow rocket that we have now named Mighty Mouse (which is probably a trademark for someone, so don't confuse my rocket with any companies). I love Mighty Mouse and I chose a C6-5 to give it some altitude...
Mighty Mouse leaving the pad smoke trail left from Mighty Mouse

Mighty Mouse went higher than any we have launched in recent history. In fact, it was a little breezy, so we have quite a walk to find it. There was plenty of open space and we did find it after just a couple minutes.
hunting for Mighty Mouse after a mighty launch

The last flight (because it got too windy and everyone packed up) was Pipes. I went with a B6-4 because I thought it would be too windy for a C, but I wanted to get up in the air again on something more than an A. The boost was straight, but we drifted again on the return. One of the shrouds came loose and the chute got a little banged up, so going to replace the chute on this.
Pipes leaving the launch pad