If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.
Special Thanks To:
Aaron Holmes
Aaron Wheeler
Adam Horden
Alan Scrimgeour
Andre
Andrew Haynes
Anonymous000
asabase
Austin Weil
barney
Barry
Bert Hickman
Bill Kukowski
Blitzorn
Brandon Paradelas
Bruce Bowling
BubeeMike
Byong Park
Cesiumsponge
Chris F.
Chris Hooper
Corey Worthington
Derek Woodroffe
Dalus
Dan Strother
Daniel Davis
Daniel Uhrenholt
datasheetarchive
Dave Billington
Dave Marshall
David F.
Dennis Rogers
drelectrix
Dr. John Gudenas
Dr. Spark
E.TexasTesla
eastvoltresearch
Eirik Taylor
Erik Dyakov
Erlend^SE
Finn Hammer
Firebug24k
GalliumMan
Gary Peterson
George Slade
GhostNull
Gordon Mcknight
Graham Armitage
Grant
GreySoul
Henry H
IamSmooth
In memory of Leo Powning
Jacob Cash
James Howells
James Pawson
Jeff Greenfield
Jeff Thomas
Jesse Frost
Jim Mitchell
jlr134
Joe Mastroianni
John Forcina
John Oberg
John Willcutt
Jon Newcomb
klugesmith
Leslie Wright
Lutz Hoffman
Mads Barnkob
Martin King
Mats Karlsson
Matt Gibson
Matthew Guidry
mbd
Michael D'Angelo
Mikkel
mileswaldron
mister_rf
Neil Foster
Nick de Smith
Nick Soroka
nicklenorp
Nik
Norman Stanley
Patrick Coleman
Paul Brodie
Paul Jordan
Paul Montgomery
Ped
Peter Krogen
Peter Terren
PhilGood
Richard Feldman
Robert Bush
Royce Bailey
Scott Fusare
Scott Newman
smiffy
Stella
Steven Busic
Steve Conner
Steve Jones
Steve Ward
Sulaiman
Thomas Coyle
Thomas A. Wallace
Thomas W
Timo
Torch
Ulf Jonsson
vasil
Vaxian
vladi mazzilli
wastehl
Weston
William Kim
William N.
William Stehl
Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Registered Member #1739
Joined: Fri Oct 03 2008, 10:05AM
Location: Moscow, Russia
Posts: 261
Well, got this babe running at last. Was a hell to code it, especially for the firmware being both my first firmware and my first asm program :) Decided to write it from scratch as I dislike rip-offs. No point in schematic - it's just an AVR core (used the Olimex AVR-H-128-C header board for it has mostly only the atMega itself - and I was lazy to make anything :) ) rigged to the input encoders and trigger button, input board with 7805, SOIC UCC37322 (useless - but what had I to do if I needed something small with only one line? ;) ) as an output buffer along with bypass caps for both - and two other boards I made for the CoG LCD with the backlight module and for the ENTER/ESC buttons along with the LED strobelight with it's driving transistor. The firmware is pretty useless, but is a real fun to use - functionality-wise it's nearly a good old 556, but with a counter mode for burst-length calculation and osc-swap button for better control. However it's nice - features an i2c emulation to use PORTA for full LCD control (integrates write-mode i2c and additional firmware-controlled RESET strobe), some nice GUI with frontend screen, launch warning dialog, menu-based setup and graphical sliders. The menu system itself is pretty distributed - it allows you to tweak encoder sensitivity that has effect during the runtime, the LCD backlight color (hehe 24 bits!), LED strobe intensity, separately set the timebase for the burst calculation for both oscillator modes and simulate a run with an internal interface where you slowly and accurately can tweak each delay before the actual run. The menu navigation is done with the same encoders as used during a run as the "resistors", tweaking the parameters can be accelerated if you need to make a long scroll - if you hold the ENTER button, the encoder increments each line by 15, not by 1. Each tweakable parameter is rendered as a "slider bar" interface, so needs way less attention which is really necessary - the screen is only 8x25mm, and displays 4 lines of text in the menu mode. During the runtime, you can change the BPS, burst length, burst repeat rate (one more advantage over the 556 - the burst refire rate is independant of the burst length) using the two encoders (the left encoder acts as a burst refire rate control unless you hold the ENTER button - otherwise it affects the BPS) based on the increments you've set up during the configuration part via the menus. The side "trigger" button resets the burst oscillator and applies a different bps-length-refire delay configuration to it for the time it's being held, therefore can be used for the "machinegun effect", for firing single bangs whenever you want, or some other cool things like running a generic 5bps loop suddenly jumping to a high-power burst mode and then reverting back. Also the breakrate-based timing option allows for the accurate burst setup when needed (in this case, the burst length is BPS-locked, so changing the breakrate also changes the burst length), so allows for a cool soft transition from a slow 5bps mode into a nearly constant high-rate burst (slowly adding breaks one by one into the burst looks really nice). I'll make some video of all that - those tricks are pretty interesting and fun, just I didn't get used to this control yet so didn't figure out all the nice things it's capable off. Now, the pics! :) here it is :) (along with the new double-FQ-14 cable)
rigged
the driver with a new socket installed and the cable attached
online
the intro screen (macro photo) - the dust is not on the LCD, this is just the shield that got dusty after being put in the box. The edge looks scary - but huh, the hole is only 1cm high, don't forget it!
main menu
system setup menu
backlight drive menu (two pics above were made after I set a non-default color)
the frontend with a different backlight setting
"accept" - or you've not put your hand far enough from that thing?
here we go - the "BPS:" text highlights whenever we hold the button to be able to change the breakrate, to the right is the indicator that shows we are using a different oscillator - and burst rate and length indicators below.
a failed attempt at making a full-device pic
ps firmware is 21.7kB in hex, whole ASM sourcecode is 60.1kB :)
[edit: night-time mistake: hex, not bin of course :)]
Registered Member #30
Joined: Fri Feb 03 2006, 10:52AM
Location: Glasgow, Scotland
Posts: 6706
Very nice :) I can't think of anything else to say, it doesn't do anything that a 556 won't, but it's so much cooler.
How about a pseudo-random delay between bursts to simulate a static gap? You can't do that easily with analog circuitry, but it's really easy with digital, and it's a cool effect. The spark hisses and snarls instead of buzzing.
Registered Member #1739
Joined: Fri Oct 03 2008, 10:05AM
Location: Moscow, Russia
Posts: 261
TY! By the time I finished the new upgrade - I added an additional BNC port to the controller acting as a strobe input. Whenever it's terminal is grounded, an optocoupler emmiter and an additional signal LED (btw cleaning up the mess in my room I found three mice' entrails where got the new red LEDs for the coil dutycycle strobelight and the one for this indicator) are activated and the AVR counts it as a trigger strobe. The corresponding module was added into the firmware, allowing for externally triggered burst mode. The schematic I drew earlier was added into the headphone amp box (had to add an additional capacitor across the output however), I made a wire to connect it to the controller so it feels like this new upgrade is finished completely. Btw I also cleaned up some earlier problems - besides replacing those LEDs (one had some weird failure causing it to stop working after a little shock, most likely it's one of the reasons why the flashlight I got it from was removed from stock as a malfunctional one) I also fixed a little bug in the firmware, which was pretty hard to activate by accident however - it was due to the input update procedure updating the whole input register in case of any of the controls is activated, so, if, for example, you hit the ESC button to exit a menu and, without releasing it, would turn an encoder, it would also count it as a second ESC button press (whyever could you do that) - however now the routine affects only the bits of the controls that were actually activated, thus this problem is no more (could affect the strobetracking mode as the strobe input counts as any other control here, so I just fixed it without having much additional commands involved). The whole thing looks like this now: Here's a demo clip on YT, it's a bit out of sync and is too damn dark so even can't make the feel of the size of the sparks nor of their actual brightness, however at least it can show what it looks like ;)
ps yes, I've been changing the burst length in progress of shooting this video, that feature of intercatively variable triggered bursts (both length and breakrate) sometimes really comes in handy as it allows you to make some nice effects for different song parts "on the flight".
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.