Mall 2 Coilgun

Allikas: Digilabor

Vahur disainis uue coilguni. Hetkel on see kokku joodetud ja testimata.

Sisukord

Tähelepanu

IGBT läbilaskmise vältimiseks tuleks R17 ja R7 +12V asemel +5V ühendada, vastasel juhul võib IGBT teatud tingimustel (laetakse kondensaatorit ja +5V kaob ära + ilmselt veel mingeid variante). Kuna plaadid sellega ei arvesta, siis tuleb veidi improviseerida (näiteks vastavad takistid joota 90 kraadise nurga alla ning siis juhe teisest otsast +5V või siis R17 annab ka kuidagi diagonaali keerata).

Lisaks võiks optroni ja IGBT paisu vahel olla takisti (20-500 ohm näiteks).

Veel on variant kasutada IGBT asemel türistori, aga see ei ole antud juhul juhitav, st tühjendab kogu kondensaatori ühe löögiga.

Tähelepanu2

Spi pistikul on skeemis ja layoutis erinev järjekord. Layoutil on +5 esimene ja GND teine, skeemis vastupidi. Skeem ja layout on siiski üksteisega kooskõlas, lihtsalt kaablit tehes tuleb väga tähelepanelik olla, et õige saab.

Funktsioonid

  • 12V -> 250V step-up konverter
  • Pinge mõõtmine kondensaatori peal
  • IGBTga kondensaatori tühjaks laadimine
  • SPI suhtlus

Muudatused eelmise aastaga võrreldes:

  • TVS dioodid trafo ja IGBT peale
  • Laadimiseks kasutada SMD mosfetit
  • IGBT draiveri kontrollimiseks transistor
  • Bypass kondensaatoreid toitejalgadele (IGBT draiver, atmega)
  • Mõned takistid, mis vea korral kontrollerit kaitseksid
  • Atmega ADCga kondensaatori pinge mõõtmiseks pingejagur
  • Lihtsam CHARGE jalalt 5V->12V
  • Layout nullist uuesti

Kasutamine

  1. CHARGE ja KICK pinid väljunditeks
  2. CHARGE kõrgeks, et vältida laadimist
  3. MEASURE, DONE ja PLUNGER sisenditeks
  4. Seadistada external interruptid DONE või PLUNGERi paremaks kasutamiseks
  5. Alternatiivina võib kasutada ADCd ja sellega mõõta sellega MEASURE jala pealt kondensaatori pinget
  6. Seadistada SPI
  7. Laadimiseks panna CHARGE jalg madalaks ning vastavalt soovile kas siis jälgida ADC lugemeid või DONE pini madalaks minemise ajal laadimine lõpetada (CHARGE pin kõrgeks)
  8. Tulistamine toimub KICK piniga, sellele lühikest impulssi andes
  9. Katse-eksitusmeetodil tuleb vastavalt kasutatavale mähisele ja plungerile määrata sobiv impulsi pikkus VÕI
  10. Jälgida PLUNGER pini ning vastavalt löögipea liikumisele optokatkesti ette KICK madalaks seada
  11. GOTO 6


Näidiskood (Hetkel veel põhjalikult testimata)

#include <avr/io.h>
#include <avr/interrupt.h>
 
#define F_CPU 1000000L
#include <util/delay.h>
 
#define CMD_KICK 0x0A //turn off charge: turn on kick
#define CMD_ENDKICK 0xF0 //turn off kick
#define CMD_CHARGE 0x05 //turn off kick: turn on charge
#define CMD_STOP 0x0C //turn off kick & charge
 
//pin definitions
#define CHARGE PD4
#define DONE PD3
#define KICK PD1
 
//external interrupt
ISR (INT1_vect)
{
    //capasitor is full, turn off charge
    PORTD|=_BV(CHARGE);
}
 
//SPI interrupt
ISR (SPI_STC_vect)
{
    //read data
    uint8_t data=SPDR;
    //choose what to do, check CMD_* definitions for meaning
    switch (data)
    {
    case CMD_STOP:
        PORTD|=_BV(CHARGE);//charge off
        PORTD&=~_BV(KICK);//kick off
        break;
    case CMD_ENDKICK:
        PORTD&=~_BV(KICK);//kick off
        break;
    case CMD_KICK:
        PORTD|=_BV(CHARGE);//charge off
        PORTD|=_BV(KICK);//kick on
    break;
    case CMD_CHARGE:
        PORTD&=~_BV(KICK);//kick off
        PORTD&=~_BV(CHARGE);//charge on
    break;
    default:
        return;
    }
    SPDR=data;
}
int main(void)
{
    //clear interrupts
    cli();
    //set ports as output
    DDRD|=_BV(KICK)|_BV(CHARGE);
    //turn off charging
    PORTD|=_BV(CHARGE);
    //turn internal pullup resistor on
    PORTD|=_BV(DONE);
    //set MISO to output
    DDRB = _BV(PB4);
    //initialize SPI
    SPCR = _BV(SPE)|_BV(SPIE);
    //set up external interrupt on falling edge
    EICRA|=_BV(ISC11);
    //enable external intterupt INT1
    EIMSK|=_BV(INT1);
    //enable global interrupts
    sei();
    //infinite loop
    for (;;);
}

Eagle joonised

Skeemide vaatamiseks kasuta Eagle-it.

Vajalikud jupid

Farnell Komponent Vajalik Kogus Hind Summa
1698296 MOSFET IRFS4620PBF 1 1 1.34 1.34
1826008 N-channel MOSFET BSS123 1 5 0.081 0.405
8650527 IRG4PC40FDPBF - IGBT 1 1 3.89 3.89
1798073 NPN transistor BC846A 1 5 0.046 0.23
1578985 TVS SMAJ33CA primaarile 1 5 0.196 0.98
1459162RL TVS P6SMB15AT3G gatele 1 1 0.36 0.36
1858633 MURS160 diood 1 1 0.41 0.41
1715490 ATMEGA88 1 1 3.10 3.10
1689337 STTH20R04W diood 1 1 3.65 3.65
8549940 HCPL3180 1 1 3.75 3.75
DA2034-AL 1
1273500 LT3750 1 1 7.52 7.52
1611919 CAP 47u 16V 4 4 1.19 4.76
9753893 CAP 10u 16V tantaal 1 1 0.34 0.34
1855321 CAP 100n 250V 1206 1 5 0.38 1.9
1833825 CAP 10u 25V 1206 2 10 0.196 1.96
1759017 CAP 100n 16V 0603 7 100 0.007 0.7
CAP 100p 0603 1
CAP 10u 0603 1
CAP 10n 0603 1
1621974 takisti 8m 1206 1 5 0.38 1.9
takisti 2.49k 0805 1
takisti 43k 0805 1
takisti 49k9 0805 1
takisti 330 0603 1
takisti 1k 0603 4
takisti 4k7 0603 2
takisti 10k 0603 3
takisti 100k 0603 1
takisti 249k 0603 1
kruviterminal 3
Pinheader 1.27mm 10

Vaata ka

Personaalsed tööriistad
Navigeerimine
Käsitöö