I can't believe we blew threw 100 posts. Wow.
First, the current sensor:
http://www.pololu.com/catalog/product/1187
I'm using the ADC's on the Arduino's to convert the analog signal to a 10-bit number.
I've yet to see an AEG take more than 30amps, using a multi-meter with a peak hold function. Let me amend that: I've yet to see a HEALTHY AEG take more than 30amps. There may be surges and spikes, but I think a consistent 30amps is plenty. Case in point, my P90 mechbox seized and blew and only registered 25amps.
There are tons of people out there claiming that their AEG's push more than 30amps, routinely. I'm going to bet they're basing this off of blown fuses. Slow blow fuses are what's needed in these systems. Too often, folks are putting in "fast fuses", and wondering why they're blowing at 50 amps. The initial spike of current when the motor engages the piston can be massive, but is incredibly brief (milliseconds or less).
The breakout board that I'm using is spec'd to 5x over-current conditions, for under one second.
Even holding the trigger down, it looks like the majority of the time the gearbox is drawing less than 20amps. Granted, this was started on an indoor gun firing at less than 250fps. Now, the last round of tests included an AEG at 400+ fps (My friend can't remember the spring in it, but I'm pretty sure it's a 130).
The P-90 that I first test was around 28 rounds per second (I think), test with Audacity (I think I mentioned that earlier somewhere). I need to check the current test beds with Audacity, but I don't currently have a battery (It's on the way.... just VERY slowly).
On the very first post of this article there's a schematic. I've got a couple of pictures tossed in throughout. I've had a tough week (I'll get into that in a bit), but I don't have the originals right now. If the photos aren't there, let me know. I see them when I look at the board, but perhaps Google+ isn't letting me share pictures that way.
Originally, the Hall Effect Sensor was going to be used to determine when the gearbox had completed a firing cycle. This would then tell the Arduino to stop powering the motor during single shot operation, or increment a counter for burst fire. It became an engineering nightmare, and the parts from Pololu arrived, allowing me to look at current sensing. After poking around for a bit, I was able to resolve the times when the motor was under load. When that load ceased, I knew the gearbox had cycled, and I could turn off the power. I was working on implementing burst fire when I left the LiPo plugged into the Arduino for the weekend, ruining the battery.
However, I am still looking at using Hall Effect Sensors and magnets to identify the type of magazine in the P90 (Eventually this is all going to be built into a P90). Using rare earth/neodymium magnets, I'm going to put one magnet into each magazine that I have, all in the same place. My standard capacity magazines will only have that one magazine. My medium capacity (Mid-caps) and high capacity (High-Caps) magazines will get an additional magnet in another location. Finally, the High-Caps will get a third magnet in a third location. This will allow me to not just detect the presence of a magazine in the AEG, but also to tell what kind of magazine it is. I'll also have "admin" room to add additional magazine types in the future, all without significantly modifying the magazine or increasing the cost too much (I have a dozen magnets right now, so that helps).
Mee_n_Mac, good luck. Big time good luck.
One of my original projects was to build an electrically controlled airsoft gas rifle, for range. I ran in to too many hurdles. First was the ammo. I wanted to use custom made ammo, and that wouldn't have worked on the fields I typically played on. For my team, it would have been great, but that's about as far as that would have gone. Second was the gas control system. I found a great looking valve (good flow rate, 12v electrically controlled, max PSI of 300, etc) for $70. Then when I finally had the money, I couldn't find it anymore. Tragic. I still eyeball pneumatic control valves every once in awhile, but the issues just kept stacking up against the project.
The final issue was one that I can't fix: The sport relies on people feeling their hits and registering them. I had a really nice spring rifle that could put rounds down range. When everything was right, I could get a round to go almost 100 yards (250 feet being the longest, paced out hit on the field). I actually had "gun cam" footage of a guy being repeatedly hit, but not realizing that he was being hit. Every couple of seconds this poor guy stopped, or slapped at his clothes, or something. Seven hits over the space of a minute and a half. Maybe he was shrugging, but I'll give him the benefit of the doubt, and believe that he wasn't "feeling the hit".
Hop-up is the death of the long range shot. I used to give safety lectures on this topic (You can also find me on YouTube, talking about other safety aspects). With no wind at all, an airsoft pellet can go one hundred yards, according to physics. Hop-up doesn't really help with range (don't yell yet), it helps make the round move in a flatter trajectory, thanks to something called the Magnus Effect or Magnus Lift.
When these little BB's get out there, they're sacrificing velocity for lift. They run out of velocity, they literally fall out of the sky over an incredibly short distance. It's also really hard to see it, from the shooter's point of view (Your eye tries to "follow" the round in a flat path, but misses the sudden drop).
During this terminal "drop" period, the round is almost floating in air (it only weighs around .2grams). Wind, foliage, even a thought bubble (ok, maybe not that last one) will alter an airsoft pellet's trajectory, but during this terminal period, they're exponentially more influential.
Finally, during that terminal period, the round has almost no forward energy. Even if it does hit the target, they're going to have to be working real hard to feel it (.2gram projectile moving at under 5-10meters per second. At that speed, your clothing will stop it before it hits skin, never mind all the gear they're wearing). Couple it with the issue that these shots are fired very slowly, a couple of rounds per minute, and they're easy to write off.
If you don't believe the "terminal period" premise, go out, and have your friend shoot you (wear the safety gear!!!). It should be easy to find this friend, all of mine just line right up for the opportunity. Then go out PAST the range when they have any chance of tagging you, and start walking in as they shoot. You'll get to a spot where you can leisurely watch the rounds coming in, and fall in front of you. It stunned us when we saw it, but you don't really hear my guys saying "Call your hit" anymore.
All that being said, if you get a long range system working, PLEASE post up about it. I personally think hop-up is the devil, and learning the ballistic drop will get you where you need to go. A spin stabilized round would straighten the trajectory, but also introduces some very real safety concerns. I'll try to find my old tests and documentation, but I think they all went away in the big hard drive crash of 2010 (My computer blew a gasket DURING the backup process. Two drives entered.... none left. Twenty years of data...)
OK, progress on my end:
This week sucked. I pretty much shouldn't touch electronics. When I first injured my foot, a friend gave me an XBox, so that I would stay on the couch (I have awesome friends. Jim-Jim, if you ever read this, you saved my sanity). This week, after committing to having an XBox (I paid the fee for XBox live), I got the dreaded Red Ring Of Death.
While researching how to fix that, my laptop just stopped. No BSOD, no warnings. Full stop. THE SAME NIGHT the XBox went down.
I still tried to fix the XBox (Someone else had already cracked it open. The insides were a little comical), but to no avail.
Now we come to the current issue on the AEG Computer... I can't get this display and the Arduino to talk to each other. I can get either one to talk and respond over my desktop's terminal program, but I can't get them to recognize serial communications to each other. I've tried different baud rates, different communications methods (Decimal, Hex, etc). I've started from a clean slate three times now. Nothing.
Frustrating to say the least. If the battery gets here, I'm going to go back to the firing control system. I'm hitting a brick wall with the display, and I need to step back from it.
In the meantime, as a distraction, I built a cool "Pulse Laser" add-on. I don't really like laser sights, but a pulsed laser just looks cooler. Eventually I may give up an Arduino pin to drive one on the final build. Again, not horribly functional, but they look cool.
I'm not defeated, I'm just going to have to work on another part of the project. More updates as they come, and thanks for tuning in!