Welcome
Username or Email:

Password:


Missing Code




[ ]
[ ]
Online
  • Guests: 28
  • Members: 0
  • Newest Member: omjtest
  • Most ever online: 396
    Guests: 396, Members: 0 on 12 Jan : 12:51
Members Birthdays:
One birthday today, congrats!
lokeycmos (43)


Next birthdays
05/24 Simon Barsinister (63)
05/27 Daniel Davis (54)
05/29 Zonalklism (34)
Contact
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.
Forums
4hv.org :: Forums :: Projects
« Previous topic | Next topic »   

AVR interruptor control

Move Thread LAN_403
LithiumLord
Thu Nov 13 2008, 11:12PM Print
LithiumLord 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)
Link2

rigged
Link2

the driver with a new socket installed and the cable attached
Link2

online
Link2

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!
Link2

main menu
Link2

system setup menu
Link2

backlight drive menu (two pics above were made after I set a non-default color)
Link2

the frontend with a different backlight setting
Link2

"accept" - or you've not put your hand far enough from that thing?
Link2

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.
Link2

a failed attempt at making a full-device pic
Link2

ps firmware is 21.7kB in hex, whole ASM sourcecode is 60.1kB :)

[edit: night-time mistake: hex, not bin of course :)]
Back to top
Steve Conner
Fri Nov 14 2008, 11:11AM
Steve Conner 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.
Back to top
LithiumLord
Fri Nov 28 2008, 10:51PM
LithiumLord 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: Link2
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 ;) Link2

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".
Back to top
uzzors2k
Fri Nov 28 2008, 11:01PM
uzzors2k Registered Member #95 Joined: Thu Feb 09 2006, 04:57PM
Location: Norway
Posts: 1308
Haha, Nice! The LCD with graphics and text really set it off. The beat tracking seems pretty good, it's just the video that's out of sync right?
Back to top

Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob

Go to:

Powered by e107 Forum System
 
Legal Information
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.