LithiumCore - ISSTC project rundown

LithiumLord, Wed May 13 2009, 09:16PM

Well, finally got some lashup on the project to post some rundown on the work done. Got no schematics where I post from, unfortunately - so would be nice if anyone who downloaded the archive a while ago would post it here.
Anyway, the project :) The original goal was to get closer to the results seen on tc.net coils, it wasn't achieved however as I chose a different topology, therefore the limit of the present coil (38cm tall with flowerpot cone primary spaced only like 5cm off-coil at the top turn, 8 turns total) is 65cm strike, the top primary turn already starts shooting minor sparks along the former, no matter that heavy insulative measures have been taken. But anyway, I'm pretty satisfied with the result as the meantiones spark length is maintained on 84bps ~30%d/c max without any major heating excepting the secondary base that gets a bit hot after longer runs, and that's with those switches I got for only $1.5 each :) . The coil itself is pretty small, 38cm winding with two 18cm x 8cm toroidal toploads spaced 1-2cm. The supply is an H-bridge of IXFH30n50 MOSFETs bypassed with 40CTQ045 Schottky diodes and 30ETH06 UF diodes. The bridge is bypassed with a like 5uF MMC of small filter caps and the output is driven via a 0.9uF film cap DC-blocking MMC. There is no PFC so far, and the 3mF rectifier cap array draws pretty much peak current off the variac. The driver is something I'd call "Steve's mini SSTC on steroids": the basic idea is the same - an antenna with a 555 startup and bridge driver rigged to it's output - but the difference is that instead of GDT driving UCs I used a simple deadtime gen (RC-delays + AND gates) to delay the turn-on point by ~400nS, later on the signal is passed through a 74hc112 trigger IC utilizing it's third state in RS-trigger mode that makes the trigger act as a synchronized turn-off circuit. The signal is passed onto the LEDs of the four 6n137 optocouplers (there's a downside as the couplers are inverted, and I didn't invert the signal later on - also this seems to highly improve the CMR due to the polarity of the interference strobes according to the datasheet). The couplers trigger the IXDD408 drivers with 20v supply and -8v displacement for an improved turn off.
Another interesting trick used there was an on-board triggered interruptor. The generic 555 astable circuit having it's RESET pin rigged to the output of an OR gate acts as a triggered repeater which gives a pulse after receiving an input strobe via the second input of the OR gate and, unlike a 555 in the monostable mode, ignores any trigger strobes later on until the timing capacitor gets back to the timer's off state - this guaranties the system to ignore any cable interference and never enter CW mode in case there is any fault in the external controller circuits. The only downside of this concept is that you can not control the pulse length dynamically, but in the present setup that was not required.
The remote control took more time to finish then the coil itself :) The core of it is an atMega128 MCU on AVR-128-H header board rigged to the controls and input opto coupler for external trigger support, I can post the firmware and port mapping if anyone needs it. For the feedback purpose the control box is equipped with a 128x32 TIC-48 COG LCD with RGB backlight module and a strobe light to both act as a running indicator and simulate the coil breakouts in calibration mode. The firmware is a long work, nearly 4000 lines in ASM + internal GFX and font table. Functionality-wise, it either acts as a 556-style burst-mode interruptor with burst length timed by either time delay or breakout number, which is very usefull for accurate burst timing, or an externally-triggered burst generator. In "556-mode" the device uses a trigger button to quickly switch from the so-called background oscillator setting that runs all the time to a different one that runs as long as the trigger is held down, with the proper control swap and visual feedback on-screen. In external control mode, the device uses the trigger button to quickly cut off and restore the link with the coil driver. The video subsystem is made up by emulated I2C routines that allow the screen to be attached via a single port with both I2C wires and the reset pin; I made the display driver work with the screen in 4-line pseudographic mode, meaning you can address a column in one of the four on-screen lines and fill the screen space there with either text or graphic data coming in 8x# format. The driver routines are designed to either print a stored text string, a number stored in the MCU's register in DEC system format, a bitmap or a visual bargraph representation of a certain number. The system also allows to modify it's default settings, storing one or more system configuration setting groups, e.g. encoder increment values, oscillator settings, backlight colors, oscillator timing and strobeight brightness setting in EEPROM to use it on the system boot later on, and quickly reset some of those settings during the runtime as well. For the safety reasons, all the critical conditions are highlighted by smoothly crossfading between the screen backlight color to a different one, both can be manually reconfigured.
As the external trigger, the coil's controller has a powered-up input. In order to use it as the beat tracker, the amplifier hardware requires an additional npn transistor to be rigged to the output via a diode, a ballasting resistor, a capacitor and a falloff bypass connected in series with the cap, those acting as a fast attack filter.
pix :)
AVR controller (disconnected):
Th IMG 0076
Driver box:
Th IMG 0077
Controller intro screen:
Th IMG 0083
Driver in armed mode, the LED bar shows the bus voltage and the red lights indicate that variac is online and bus voltage is present (read: above ~2v):
Th IMG 0096
Some sparks ;)
Th IMG 0104
Th IMG 0097
Th IMG 0108
recent pics:
clicky
Re: LithiumCore - ISSTC project rundown
Arcstarter, Thu May 14 2009, 12:47AM

Wow. Hehe, here is MY way of explaining my thoughts. Your sstc's remind me of some metal/rock songs, on the parts they play a really meaty riff. Strange, yes. But the sparks just seem meaty and thick and stuff. Your coils amaze me, have some really neat pics on photobucket, i have looked through all of them XD.

I am getting over some sorta sickness, i cannot make sense if i tried :D.

EDIT: A strange thought just occurred. I would like to see you in the army, if you where provided all the materials you needed. Idk why, your sstc box just looks really... Mean }:)
Re: LithiumCore - ISSTC project rundown
101111, Thu May 14 2009, 07:11AM

Arcstarter wrote ...

I am getting over some sorta sickness, i cannot make sense if i tried :D.

SWINE FLU!


A neat looking tesla coil you got there :)
Re: LithiumCore - ISSTC project rundown
LithiumLord, Mon May 18 2009, 02:03PM

Got back home, now some more clear info
Deadtime generator/triggered interruptor board schematic: Link2
Drivers: Link2
Bridge and HV circuitry: Link2
HV voltage gauge: Link2
AVR stuff: Link2

For those who want to take a look and probably use the AVR interruptor, here's some more clear data as well. The first part, port mapping (bits from 7 to 0):
Port C (strobed output, PWM): green backlight LED, blue, red, LED strobe (transistor base), TC control (to UCC input)
Port D (controls): strobe input (to coupler), trigger button, encoder pins (4), ESC key, ENTER key.
Port A (LCD): (5 unused pins), clock, data, reset (uses PCF8531)

The firmware I wrote for this: Link2

The files come as follows:
core.asm - core routines: PWM, strobe generators, UI driver, LCD driver, boot, EEPROM stuff - everything that isn't much of a tweakable stuff once it's written ;)
loop.asm - start of the main loop
tracker.asm - whatever is made for the interruptor GUI alone
strobe.asm - the triggered interruptor mode code
EEPROM.asm - EEPROM dump/reset GUI
res.asm - whatever never runs ;) - font table (DreamCodex font cnverted by me using some own VB6 software), GFX, text strings - just the resource file.
dump_EEPROM.hex - saved EEPROM image from a fully configured controller
controller.hex - for those who want it but are too lazy to compile ;)
Re: LithiumCore - ISSTC project rundown
GeordieBoy, Mon May 18 2009, 02:47PM

That's an impressive coil, and even more impressive Embedded control programming! smile

-Richie,