donderdag 17 juli 2014

De power supply

De Power supply



De ene kant van een transformator levert een bepaalde spanning en aan de andere kant (de aansluiting van de laptop, bijvoorbeeld) levert de transformator een omlaaggetransformeerde uitgangsspanning. Om te zien hoe een transformator dat zo precies doet, moeten we eerst even kijken naar het principe van inductie.
De middenaftakking is nodig om balanced power te kunnen realiseren zodat common mode storing in tegenfase op de twee aders kan opheffen. Om van beide secundaire aansluitingen 1 DC uitgang te krijgen wordt er gebruik gemaakt van de middenaftakking.
Inductie
Het principe van inductie is eigenlijk heel simpel: wanneer een elektrische geleider (zoals een stuk draad) zich in een veranderend magnetisch veld bevindt, gaat er in die geleider een stroom lopen. Dit principe werkt niet als het elektrische veld stilstaat. Pas als het elektrische veld beweegt (bijvoorbeeld doordat de magneet die het opwekt ronddraait), gaat er een stroom lopen.
Het werkingsprincipe van de transformator. De rode pijlen geven de magnetische veldlijnen aan. De secundaire spoel heeft hier maarhalf zo veel windingen als de primaire. De uitgangsspanning is dus tweekeer zo klein ofs zelfs kleiner bijvoorbeeld 12V.
In een transformator wordt mooi gebruik gemaakt van beide principes. Zoals in het figuur te zien is, loopt de stroom aan de primaire zijde (dat is dus de 'ingang') door een spoel met een bepaald aantal windingen om een stuk metaal (de kern) heen. De stroom door die spoel wekt een magnetisch veld op. De kern raakt daardoor zelf gemagnetiseerd en leidt zo de veldlijnen door een tweede spoel aan de secundaire zijde (de 'uitgang'). Door inductie wordt er in deze tweede spoel weer een stroom opgewekt. Op die manier wordt de stroom dus van de ingang naar de uitgang doorgegeven, zonder dat er een rechtstreekse elektrische verbinding is.

Wisselstroom
Zoals eerder al gezegd werd: stroom wordt alleen opgewekt door een veranderend magnetisch veld. Een transformator kan dus alleen werken met wisselstroom, oftewel stroom die voortdurend van richting wisselt (de stroom uit het stopcontact wisselt 50 keer per seconde van richting). Daardoor verandert het magnetische veld ook steeds van richting en blijft zo dus een stroom opwekken.
Maar hoe verandert de spanning dan? Dat is heel simpel: als het aantal windingen van de secundaire spoel kleiner is dan dat van de primaire spoel, is de spanning daar ook lager. Dat is ook logisch: door elke winding van de primaire spoel loopt dezelfde hoeveelheid stroom, zodat elke winding evenveel bijdraagt aan het magnetische veld. Hoe meer windingen, des te sterker is het magnetische veld. In de secundaire spoel wordt de energie van dat veld ‘verdeeld’ over minder windingen, zodat er in elke winding juist méér stroom opgewekt kan worden dan in een winding van de primaire spoel. Tegelijkertijd kost het voor een elektron minder moeite om door de spoel heen te bewegen, zodat de spanning daalt.
Bij middel van een oscilloscoop zien we een en ander. De eerste golfvorm vertoont de primaire of secundaire spanning van de transformator. Over de belasting zien we een andere soort spanning staan.

Sinusvormige uitgangsspanning van de transformator
Vermogen
In een transformator met minder windingen in de secundaire spoel is de uitgangsspanning dus lager dan de ingangsspanning, terwijl de stroomsterkte aan de uitgang juist hoger is. Sterker nog:

Als het aantal windingen twee keer zo klein is, wordt de spanning ook twee keer zo klein, terwijl de stroomsterkte twee keer zo groot wordt. Het product van stroomsterkte en spanning, oftewel het vermogen, verandert dus niet bij een transformator.

 





§ 1.2 Het power supply project

Als opdracht voor ons groep kregen wij het maken van een power supply met als input 127V uit het net en als output van 5V DC. Deze power supply werd gebouwd van oude componenten van oude chips en apparaten. Daaruit werden een transformator, diodes, transistors, een koelplaat en een housing.
                         
De diode 1N5404                                       Condensator, 15000uF, 16V
 
Regulator LM7805CT                                 De transformator
de principe schema van de trafo van input 127V en output 12V en 5V in Multisim
De praktische meting van de power supply

Eind resultaat van het power supply “top”

Eind resultaat van het power supply “side”

De specificities van de power supply unit
meetpunten
Spanning
stroom
notes
Input
127 volt AC
0.5A
Utility power
Output 1
5V DC
1.5A

Common




§ 1.2 De power supply in “C”


Capacitor calculator

/* program: powersupply */

#include <stdio.h>
#include <math.h>
#include <tgmath.h>

main()
{
    int var;
    int serie();
    int parallel();


    while (var != 0)
    {
        var = menu();
        if (var == 1)
            serie();
        if (var == 2)
            parallel();
        else
            printf("Menu opties 0,1 of 2 \n\n");
    }
    return 0;
}

menu()
{
    int var;

    printf("\n\n");
    printf("*************************************************\n");
    printf("************* Capacitor calculator **************\n");
    printf("*************************************************\n");
    printf("* 0 - Beeindig programma                        *\n");
    printf("* 1 - Capaciteit en lading in serie berekenen   *\n");
    printf("* 2 - Capaciteit en lading in parallel berekenen*\n");
    printf("\nKies een menu optie: ");
    scanf("%1d", &var);
    return(var);
}

serie()
{
    /*function componenten */
    /* --- INVOER VAN DE GEGEVENS --- */

    float Qt,
          Q1,
          Q2,
          Q3,
          C1,
          C2,
          C3,
          Ct,
          Vt,
          V1,
          V2,
          V3;

    printf("\n\n");
    printf("CAPACITEIT EN LADING IN SERIE BEREKENEN*\n");
    printf("****************************************\n");
    printf("V1 IN HZ:  "); scanf("%f", &V1);
    printf("V2 IN HZ:  "); scanf("%f", &V2);
    printf("V3 IN HZ:  "); scanf("%f", &V3);
    printf("C1 IN F:  "); scanf("%f", &C1);
    printf("C2 IN F:  "); scanf("%f", &C2);
    printf("C3 IN F:  "); scanf("%f", &C3);
    printf("\n");

    /* --- BEREKENING --- */

    Vt = V1 + V2 + V3;
    Ct = ((1/C1) + (1/C2) + (1/C3))/1;
    Q1 = C1 * V1;
    Q2 = C2 * V2;
    Q3 = C3 * V3;
    Qt = Ct * Vt;

    /* --- UITVOER VAN DE GEGEVENS --- */
    printf("TOTALE LADING Qt IN COULOMB = %.2f C\n", Qt);
    printf("Q1 IN Coulomb = %.2f C\n", Q1);
    printf("Q2 IN Coulomb = %.2f C\n", Q2);
    printf("Q3 IN Coulomb = %.2f C\n", Q3);
    printf("TOTALE CAPACITEIT Ct IN F = %.2f F\n", Ct);
    printf("C1 IN F = %.2f F\n", C1);
    printf("C2 IN F = %.2f F\n", C2);
    printf("C3 IN F = %.2f F\n", C3);
    printf("TOTALE SPANNING Vt IN V = %.2f V\n", Vt);

    return 0;
}

parallel()
{
    /*function componenten */
    /* --- INVOER VAN DE GEGEVENS --- */

    float Qt,
          Q1,
          Q2,
          Q3,
          C1,
          C2,
          C3,
          Ct,
          Vt,
          V1,
          V2,
          V3;

    printf("\n\n");
    printf("CAPACITEIT EN LADING IN PARALLEL BEREKENEN*\n");
    printf("****************************************\n");
    printf("V1 IN HZ:  "); scanf("%f", &V1);
    printf("V2 IN HZ:  "); scanf("%f", &V2);
    printf("V3 IN HZ:  "); scanf("%f", &V3);
    printf("C1 IN F:  "); scanf("%f", &C1);
    printf("C2 IN F:  "); scanf("%f", &C2);
    printf("C3 IN F:  "); scanf("%f", &C3);
    printf("\n");

    /* --- BEREKENING --- */

    Qt = Q1 + Q2 + Q3;
    Vt = V1 = V2 = V3;
    (Ct) = (C1) + (C2) + (C3);
    Q1 = C1 * V1;
    Q2 = C2 * V2;
    Q3 = C3 * V3;
    Qt = Ct * Vt;

    /* --- UITVOER VAN DE GEGEVENS --- */
    printf("TOTALE LADING Qt IN COULOMB = %.2f C\n", Qt);
    printf("Q1 IN Coulomb = %.2f C\n", Q1);
    printf("Q2 IN Coulomb = %.2f C\n", Q2);
    printf("Q3 IN Coulomb = %.2f C\n", Q3);
    printf("TOTALE CAPACITEIT Ct IN F = %.2f F\n", Ct);
    printf("C1 IN F = %.2f F\n", C1);
    printf("C2 IN F = %.2f F\n", C2);
    printf("C3 IN F = %.2f F\n", C3);
    printf("TOTALE SPANNING Vt IN V = %.2f V\n", Vt);

    return 0;
}


§ 1.3 De power supply in Fortran


Capacitor Calculator

 

    ! OS
    ! INTEGRATED COMPUTER SERVICES N.V.
    ! June 2014
    !
      PROGRAM OS
      INTEGER IVAR
      REAL QTOT, Q1, Q2, Q3, CTOT, C1, C2, C3, VTOT, V1, V2, V3

      IVAR = 99

      CALL SYSTEM('clear')
  100 CALL MENU(IVAR)
      IF(IVAR .EQ. 0) then
        WRITE(UNIT=*, FMT=*)'THANK YOU'
        stop
      ELSE IF (IVAR .EQ. 1) then
        CALL SERIE
      ELSE IF (IVAR .EQ. 2) then
        CALL PARALLEL
      ELSE
        WRITE(UNIT=*, FMT=*)''
        WRITE(UNIT=*, FMT=*)'MENU OPTIES 0,1,3 OF 4', IVAR
      END if
      GO TO 100
      end

      SUBROUTINE MENU(IVAR)
      WRITE(UNIT=*, FMT=*)''
      WRITE(UNIT=*, FMT=*)''
      WRITE(UNIT=*, FMT=*)'***************************************************************'
      WRITE(UNIT=*, FMT=*)'******************** CAPACITOR CALCULATOR *********************'
      WRITE(UNIT=*, FMT=*)'***************************************************************'
      WRITE(UNIT=*, FMT=*)'* 0 - Beeindig programma                        *'
      WRITE(UNIT=*, FMT=*)'* 1 - Capaciteit en lading in serie berekenen   *'
      WRITE(UNIT=*, FMT=*)'* 2 - Capaciteit en lading in parallel berekenen*'
      WRITE(*, 200, ADVANCE='NO')' Kies een menu optie: '
  200 FORMAT(A)
      READ(UNIT=*, FMT=*) IVAR
      return
      end


      SUBROUTINE SERIE

    ! --- INVOER VAN DE GEGEVENS ---
  210 FORMAT(A)
      WRITE(UNIT=*, FMT=*)''
      WRITE(UNIT=*, FMT=*)'CAPACITEIT EN LADING IN SERIE BEREKENEN*'
      WRITE(UNIT=*, FMT=*)'*******************************'
      WRITE(*, 210, ADVANCE='NO')'V1 IN V: '
      READ(UNIT=*, FMT=*) V1
      WRITE(*, 210, ADVANCE='NO')'V2 IN V: '
      READ(UNIT=*, FMT=*) V2
      WRITE(*, 210, ADVANCE='NO')'V3 IN V: '
      READ(UNIT=*, FMT=*) V3
      WRITE(*, 210, ADVANCE='NO')'C1 IN F: '
      READ(UNIT=*, FMT=*) C1
      WRITE(*, 210, ADVANCE='NO')'C2 IN F: '
      READ(UNIT=*, FMT=*) C2
      WRITE(*, 210, ADVANCE='NO')'C3 IN F: '
      READ(UNIT=*, FMT=*) C3
      WRITE(UNIT=*, FMT=*)''

    ! --- BEREKENING ---
      VTOT = V1 + V2 + V3
      CTOT = ((1/C1) + (1/C2) + (1/C3))/1
      Q1 = C1 * V1
      Q2 = C2 * V2
      Q3 = C3 * V3
      QTOT = CTOT * VTOT

    ! --- UITVOER VAN DE GEGEVENS ---
  215 FORMAT(A,F12.2,A)
      WRITE(*, 215)'TOTALE LADING Qt IN COULOMB = ',QTOT,'C'
      WRITE(*, 215)'Q1 IN Coulomb = ',Q1,'C'
      WRITE(*, 215)'Q2 IN Coulomb = ',Q2,'C'
      WRITE(*, 215)'Q3 IN Coulomb = ',Q3,'C'
      WRITE(*, 215)'TOTALE CAPACITEIT Ct IN F = ',CTOT,'F'
      WRITE(*, 215)'C1 IN F = ',C1,'F'
      WRITE(*, 215)'C2 IN F = ',C2,'F'
      WRITE(*, 215)'C3 IN F = ',C3,'F'
      WRITE(*, 215)'TOTALE SPANNING Vt IN V = ',VTOT,'V'
      return
      end

      SUBROUTINE PARALLEL

    ! --- INVOER VAN DE GEGEVENS ---
  220 FORMAT(A)
      WRITE(UNIT=*, FMT=*)''
      WRITE(UNIT=*, FMT=*)'CAPACITEIT EN LADING IN SERIE BEREKENEN*'
      WRITE(UNIT=*, FMT=*)'*******************************'
      WRITE(*, 220, ADVANCE='NO')'V1 IN V: '
      READ(UNIT=*, FMT=*) V1
      WRITE(*, 220, ADVANCE='NO')'V2 IN V: '
      READ(UNIT=*, FMT=*) V2
      WRITE(*, 220, ADVANCE='NO')'V3 IN V: '
      READ(UNIT=*, FMT=*) V3
      WRITE(*, 220, ADVANCE='NO')'C1 IN F: '
      READ(UNIT=*, FMT=*) C1
      WRITE(*, 220, ADVANCE='NO')'C2 IN F: '
      READ(UNIT=*, FMT=*) C2
      WRITE(*, 220, ADVANCE='NO')'C3 IN F: '
      READ(UNIT=*, FMT=*) C3
      WRITE(UNIT=*, FMT=*)''

    ! --- BEREKENING ---
      QTOT = Q1 + Q2 + Q3
      VTOT = V1
      VTOT = V2
      VTOT = V3
      CTOT = (C1) + (C2) + (C3)
      Q1 = C1 * V1
      Q2 = C2 * V2
      Q3 = C3 * V3
      QTOT = CTOT * VTOT


    ! --- UITVOER VAN DE GEGEVENS ---
  225 FORMAT(A,F12.2,A)
      WRITE(*, 225)'TOTALE LADING Qt IN COULOMB = ',QTOT,'C'
      WRITE(*, 225)'Q1 IN Coulomb = ',Q1,'C'
      WRITE(*, 225)'Q2 IN Coulomb = ',Q2,'C'
      WRITE(*, 225)'Q3 IN Coulomb = ',Q3,'C'
      WRITE(*, 225)'TOTALE CAPACITEIT Ct IN F = ',CTOT,'F'
      WRITE(*, 225)'C1 IN F = ',C1,'F'
      WRITE(*, 225)'C2 IN F = ',C2,'F'
      WRITE(*, 225)'C3 IN F = ',C3,'F'
      WRITE(*, 225)'TOTALE SPANNING Vt IN V = ',VTOT,'V'
      return
      end





Litteratuurlijst


Het internet:
http://www.sciencespace.nl/article/view.do?supportId=4280
verslag:
Electronic Circuit Analysis

Auteur: dhr. Ricardo L. Chin

Geen opmerkingen:

Een reactie posten