Page 1 of 1

High-Technology Discussion

Posted: Sun Feb 08, 2009 6:39 pm
by SEAKING9006
I haven't seen any real High-Tech designs or concepts on the forum before (My X-ACS project comes the closest with it's fire control system, however simple it is) and I think it's time to discuss our designs as well as the few things each of us have come across that might help.

I'm gonna kick this b*tch off with my contribution, the PICAXE micro controller family.

PICAXE is a BASIC-like language that is easy to learn and is run on the PICAXE micro controllers, based off a number of Microcontroller PICs. These could very easily make high-tech projects far easier. One concept I have brings airburst technology full-circle, using a laser rangefinder and a PIC16F684 (Microcontroller PIC chip used in the PICAXE 14M set, minus PICAXE bootstrapping code. I wouldn't doubt that someone made a PICAXE-to-opcode converter to allow PICAXE code to be used on a vanilla PIC) chip to sent settings to a 555-timer on the rear of a shell in the launcher. The overall design would be similar to the ERYX A/T launcher, with the secondary function of using non-airburst ammo, where all it does is moce a red dot sight to correct for ballistic drop. The development o this device would require around a year, mostly for building a PIC compatable rangefinder. Once this is done, I would likely actually market this to paintball teams as a 2-in-1 LAW for infantry squads.


Feel free to reply with your own high-tech concepts as well as tidbits of info on potentially helpful hardware.

Posted: Sun Feb 08, 2009 6:52 pm
by TurboSuper
I've been using an 8051-based MCU for a robotics project. It's extremely versatile, but I don't think there's a BASIC compiler available for it. So you either need to know embedded C or x51 assembly.

Just out of curiosity, why a 555 timer? Usually a microcontroller will take care of any functions a 555 timer can provide using one of its I/O or timer/counter pins.

Posted: Sun Feb 08, 2009 7:37 pm
by SEAKING9006
They're smaller and likely cheaper. The PIC 14M costs just under $5, while the chip itself, the PIC16F684, costs 67 cents. I might use just another PIC16F, but a 555 just sounds like it ought to be used in that situation.

Posted: Sun Feb 08, 2009 8:07 pm
by TurboSuper
But the microcontroller can perform a 555's functions along with any other functions you need. So you really only need one IC for the whole shebang.

Posted: Sun Feb 08, 2009 8:47 pm
by SEAKING9006
Not really. I need two chips because one part has to stay behind, while another goes downrange with the shell.

One stays in the Controller/Rangefinder/Button, one pulls the pin on the shell. It's wireless.

Posted: Sun Feb 08, 2009 9:45 pm
by TurboSuper
Oh, I see. Cool.

So what does the 555 do exactly?

Oh, and a forum member by the name of Singularity built a PICAXE-based propane cannon.

Posted: Mon Feb 09, 2009 12:17 pm
by jimmy101
A 555 won't do what you want since they aren't programmable. A 555 isn't really a timer, it's an oscillator which can be wired to oscillate indefinitely (bistable) or to oscillate only once (monostable, aka "one shot"). A resistor and a capacitor wired to the 555 determine the timing period. How the 555 is wired determines if it is astable or monostable. The PIC (or other microcontroller) could trigger the 555 but it can't change the timing characteristics of the 555 circuit since that involves changing the value of the resistor or the cap.

It would take pretty sophisticated circuitry on the shell to allow the uP to change the timing of the 555. I suspect it would end up being more expensive to add what is needed to get a 555 to do the job than it would be to find the cheapest possible (and basically expendable) uP for the shell.

To do it with the 555 I suspect you would need a counter circuit and a latch. Have the uP load a number into the latch. The counter counts the pulses from the 555 (the launcher uP starts the 555 at launch). When the counter's count exceeds the value in the latch you trigger whatever it is the shell is supposed to do.

With an octal latch you could adjust the time period from 0 to 255 cycles of the 555. If the 555 is wired to oscillate at 10 Hz (0.1second/cycle) then the total timing cycle could be varied from 0 to 25.5 seconds in 0.1 second steps.

An octal latch is probably about $0.10, the counter perhaps $0.50, the 555 perhaps $50, couple resistors and caps and a battery (IIRC a 555 requires at least 9V) ... your up to several bucks at least for one shell.

To latch the number you would need at least 8 wires connecting the uP to the shell … or add another chip so it can be done serially with 2 wires … things are starting to get way to complicated.

You could also use a latch and a MUX (or DEMUX, MUX=multiplexer). A MUX selects one of several possible paths through what is essentially a multiposition analog switch based on a 3-bit binary address. The latch (set by the launcher's uP) would select a path through the MUX that changes the timing resistor (or cap) that the 555 uses. An octal MUX (thee digital input lines, selects one of 8 analog inputs to route to a single output) is perhaps $0.50. The octal MUX would only give you 8 choices of time length. It's pretty easy to add more MUXs to get more choices but again you're getting into something that seems awful complex for a shell.

Just brainstorming here, but the simplest "timer" might be to just use a cap, resistor and comparator circuit in the shell. The launcher's uP charges up the cap prior to launch. When launched the cap discharges through the resistor. The rate the cap discharges is easily calculable (but non-linear). For a long delay the uP charges the cap to a high initial voltage, for short delays the cap is charged to a low initial voltage.

Posted: Mon Feb 09, 2009 8:54 pm
by TurboSuper
Oh, I think I get it now: The 555 causes an airburst in front of the target based on how far away you are from it.

Well, Jimmy explained that quite well: It would be extremely difficult to vary the on-time of the 555 in monostable mode. Even if you variably charge a control capacitor, you'd have to also discharge it when the range shortens.

I think a very small, 8-pin MCU would do the job very well. PICAXE seems to make just such an MCU. It even has a serial interface; all you'd need is an oscillator, a small battery, and mabye a bypass cap. It would be able to be programmed and fired in a matter of microseconds.

I was experimenting with a very small receiver/transmitter today, but I'm having some issues with it so I'd have a hard time reccomending it.

Posted: Sun Feb 15, 2009 4:19 pm
by SEAKING9006
Thanks for explaining all that. I thought what I'd do is use a few logic gates to basically build the number in binary. But now that you lay it all out, it does seem a simple 8-pin would work better. Also, I think I'll just use another PIC16F684 for the shell, since I'll be using it for the launcher, commonality of parts and programming language is probably a good thing.


Still need to find if there's a PICAXE to opcode converter, I can save a significant amount by using default Microcontroller PICs rather than PICACE PICs. Save's me around $4 per PIC. $10 Gets me around 2~3 PICAXE 14Ms, or 12 PIC16F684s.

Posted: Sun Feb 15, 2009 5:08 pm
by john bunsenburner
I am thinking of a liquid nitrogen gun but that is future project... The idea is undevelopedan and crude but could be made into something very high tech, i ahve beenin thinking of a AP accuted piston...but the above was jsut a dream which i dont think ill build...

Posted: Sun Feb 15, 2009 5:45 pm
by TurboSuper
If you get a blank PIC chip, you'd need to program it with a bootstrap similar to the one PICAXE uses. If you're planning to do alot of this sort of thing, I'd reccomend a cheap universal programmer like this one:

http://cgi.ebay.com/USB-Universal-Progr ... 7C294%3A50

I have this exact model- it has a couple of issues here and there, but overall it works well. Plus it's not $1000. You could probably even build one yourself...based on the PICAXE :roll:

Posted: Mon Feb 16, 2009 2:03 pm
by SEAKING9006
I'm going to use the PICAXE controllers at first, seeing as those are the ones were using in my engineering class next year. After it's all working, I'm going to find a converter and change the PICAXE code into standard Opcodes so I DON'T need the bootstrapping code (I know about the bootcode, I've researched these things a lot for my teacher.) The bootstrapping code in the PICAXE chips makes the chips cost a bit more.


And yeah, I (will) know how to program these things in a few months, we're using these things next year. So, I'll learn about the PICAXE ones there, test code on the computers, and test out the use of whatever converter I find on our projects there to see if there is any difference, Because PICAXE is a hell of a lot easier to use than opcode. And I do NOT want to program something with opcodes if I'm gonna be selling it. (Yes, selling it. This thing shouldn't cost much to build, but I might be able to crank em out for around $300 retail and sell em to scenario junkies as a LAW.)

Posted: Mon Feb 16, 2009 3:16 pm
by TurboSuper
Pardon my ignorance here, but how do you get the opcodes onto a blank PIC without the bootstrap or a chip burner?

EDIT: Oh, I see now, the datasheet mentions a serial programming feature. I'm surprised it doesn't make you initialize the serial port or anything...

Still, that's pretty neat.

As for getting the opcodes, can you get the compiler to output an .LST file or something? I guess you could also connect the serial port to another PC running HyperTerminal instead of the PIC, and have it download whatever it gets to a raw data file.

Posted: Tue Feb 17, 2009 7:17 pm
by SEAKING9006
I really don't know yet. I haven't even got my hands on one, I'll be working with these in the fall. As for PICAXE vs opcodes; Opcodes are simply the instructions used by factory default Microcontroller(tm) PICs. PICAXE is the language used by PICAXE PICs, which are simply Microcontroller PICs loaded with bootstrapping code to run PICAXE programs. I want to find a way to convert PICAXE code into opcode so it runs the same, except it doesn't need the bootstrapping code. And by blank PIC, I mean a PIC without any code on it yet, as in blank memory. These things are literally tiny computers, in their entirety. Which makes them endlessly useful.

Posted: Wed Feb 18, 2009 6:56 am
by TurboSuper
PICAXE BASIC/Assembler/C compiler will all generate the same opcodes. Any processor can only understand a specific set of hex operands; the various languages just make them easier to program.

The PICAXE software may exchange some handshaking information with the bootstrap though.

Btw: PIC is made my Microchip(tm) :wink: