donderdag 17 juli 2014

Voorwoord

Ter afronding van ons studie Elektrotechniek- Energieoverdracht op het Natin moest er een afstudeerproject uitgevoerd worden in een bedrijf dat betrekking heeft op mijn studierichting. Dit wordt gedaan aan het eind van het vierde leerjaar om de theoretische kennis die de studenten hebben opgedaan op het Natin ook in de praktijk te kunnen toetsen. Tevens het bedrijfsleven makkelijk in te gaan na te zijn afgestudeerd. Het afstudeerproject bestaat uit het uitvoeren van een onderzoek, het verslaan van het onderzoek in de vorm van het schrijven van een verslag en ten slotte vindt er een presentatie plaats van dit onderzoek. Wij hebben ons afstudeerproject mogen uitvoeren bij Integrated Computer Services N.V. dit wel in de periode van 15 mei 2014 tot en met 31 juli 2014. Als opdrachten kregen wij het schrijven van programma’s in de programmeertalen GW Basic, Fortran en C, het maken van schakelingen met behulp van arduino’s, maken van een Power Supply en een huisinstallatie. 

Samenstellers:
  • Hanoeman Xhanyl
  • Jadi Joshua
  • Manger Amiet
  • Tanoeleksono Rael

Video Projecten


Arduino Tone Project


Arduino Knightrider Project


Arduino Fader project


De power Supply Project

Arduino Projecten

Arduino Projecten

Voor het bouwen van het circuit, sluit een weerstand van 220 ohm naar pin 13. Bevestig daarna de lange been van een LED (de positieve been, genaamd de anode) naar de weerstand. Bevestig het korte been (de negatieve been, genaamd de kathode) aan de grond. Dan stop je de Arduino board in uw computer, start het Arduino-programma en voer onderstaande code.

De meeste Arduino boards heb al een LED aangesloten op pin 13 op het bord. Als u dit voorbeeld wilt uitvoeren met geen hardware aangesloten, zul je zien dat de LED zal knipperen.

Normaal Blink
Source code voor blink
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);    
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second

}


Knightrider Project
Source code voor For loop
/*
  For Loop Iteration
 
 Demonstrates the use of a for() loop. 
 Lights multiple LEDs in sequence, then in reverse.
 
 The circuit:
 * LEDs from pins 2 through 7 to ground
 
 created 2006
 by David A. Mellis
 modified 30 Aug 2011
 by Tom Igoe 
 
This example code is in the public domain.
 
 http://www.arduino.cc/en/Tutorial/ForLoop
 */
 
int timer = 100;           // The higher the number, the slower the timing.
 
void setup() {
  // use a for loop to initialize each pin as an output:
  for (int thisPin = 2; thisPin < 8; thisPin++)  {
    pinMode(thisPin, OUTPUT);      
  }
}
 
void loop() {
  // loop from the lowest pin to the highest:
  for (int thisPin = 2; thisPin < 8; thisPin++) { 
    // turn the pin on:
    digitalWrite(thisPin, HIGH);   
    delay(timer);                  
    // turn the pin off:
    digitalWrite(thisPin, LOW);    
  }
 
  // loop from the highest pin to the lowest:
  for (int thisPin = 7; thisPin >= 2; thisPin--) { 
    // turn the pin on:
    digitalWrite(thisPin, HIGH);
    delay(timer);
    // turn the pin off:
    digitalWrite(thisPin, LOW);
  }

}

Fader project
Source code voor fading
/*
 Fade
 
 This example shows how to fade an LED on pin 9
 using the analogWrite() function.
 
 This example code is in the public domain.
 */
 
int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by
 
// the setup routine runs once when you press reset:
void setup()  { 
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
} 
 
// the loop routine runs over and over again forever:
void loop()  { 
  // set the brightness of pin 9:
  analogWrite(led, brightness);    
 
  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;
 
  // reverse the direction of the fading at the ends of the fade: 
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  // wait for 30 milliseconds to see the dimming effect    
  delay(30);                            
}


Kantoorinstallatie ICS

Kantoorinstallatie ICS



Opbouw van een huisinstallatie tevens een kantoorinstallatie

Het ontwerpen van een elektrische installatie in een woonhuis wordt in het algemeen door een adviseur of installateur gedaan. Hij maakt hierbij gebruik van een bestek, dat hem door de architect ter beschikking is gesteld.  Het bestek geeft een omschrijving van de elektrische installatie, met de gegevens over de te gebruiken materialen, wijze van leiding aanleg, plaats en methode van montage enz. Behalve kwaliteitseisen vermeldt het bestek ook de bepalingen en voorschriften, waaraan de installatie moet voldoen. Al deze gegevens worden verwerkt in een ontwerptekening.
Veiligheidsbepalingen voor laagspanningsinstallaties NEN 1010
·         Het voorkomen van aanrakingsgevaar voor mens en dier van onderspanning staande delen.
·         Het voorkomen van brandgevaar
·         Het bevorderen van deugdelijkheid, doelmatigheid en overzichtelijkheid van installaties
·         Het voorkomen van storingen in de elektriciteitsvoorziening
De nominale spanning van een laagspanningsinstallatie mag tussen de lijnen niet meet dan 1000V en tussen een lijn en aarde meer dan 600V bedragen.
Aansluitvoorwaarden
Om een aansluiting op het net van een elektriciteitsbedrijf te verkrijgen, moet voldaan worden aan een aantal door dit bedrijf gestelde voorwaarden. Deze voorwaarden zijn:
·         Algemene bepalingen
·         Hierin wordt o.a. een overzicht gegeven van de diverse soorten netten zoals wisselstroom, driefasenwisselstroom, laagspanning, hoogspanning waarop kan worden aangesloten. In deze bepalingen wordt ook vermeld dat het installatiewerk door een erkende installateur moet zijn uitgevoerd
·         Aangifte en ondrzoek van installaties
Geeft richtlijnen voor aanvragen van toestemming voor installatiewerk en keuring daarvan.
·         Aansluiten van instalaties.
Hierin komen bepalingen voor omtrent grootte en omvang van een installatie met betrekking tot het type net waarop moet worden aangesloten
·         Uitvoering van installaties.
Aan de orde komen hierin de geldende voorschriften, eisen van materiaalkeuring, en voorgeschreven veiligheidsmiddelen.

Algemene opbouw cen kenmerkende gegevens van een installatie

Alhoewel er tussen gelijkgelijksoortige installaties aanzienelijke verschillen, in opbouw en uitvoering, kunnen bestaan, is het principe van de opbouw steeds gelijk. We kunnen deze als volgt indelen:
·         Beveiligde aansluiting op het laagspanningsnet van het elektriciteitsbedrijf,
·         kWh- meter voor het meten van het energieverbruik
·         verdeelinrichting, waar de installatie wordt beveiligd, geschakeld en in groepen ingedeeld
·         leidingnet voor het aansluiten van verbruikende toestellen
·         aansluitpunten ten behoeve van toestellen en apparaten
eenfase- aansluiting
hierbij wordt de verbruiker aangesloten tussen een fase en de nulleider van een draaistroomnet. De netspanning voor huisinstallaties is meestal 127V, 60Hz

verdeelinrichting
de algemene opbouw van een aansluit- en verdeelinrichting van een elektrische installatie in een woonhuis bestaat uit de volgende delen:
·         voedingskabel met hoofdbeveiliging
·         kWh- meter met meterleiding
·         hoofdschakelaar
·         verdeelkast met eindgroepen
·         aardingsinstallatie
aardingsinstallatie
in de meterkast komt de voedingskabel binnen, waarmee de verbruiker door middel van een breaker wordt aangesloten op het distributienet. De nominale stroomsterkte van de beveiligingen wordt door het elektriciteitsbedrijf bepaald en is afhankelijk van het verwachten gelijktijdige schijnbare vermogen van de installatie
omdat in huisinstallaties de eindgroepen mogen worden beveiligd met breakers of installatie- automaten met een nominale stroom van ten hoogste 16A, moet de hoofdbeveiliging i.v.m. selectiviteit hoogstens 25A zijn.
kWh- metrer
na de hoofdbeveioligingen wordt de kWh- meter aangesloten. Deze is gemonteerd op het meterbord en meet de energie welke de verbruiker opneemt. Een telwerk in de meter registreert de opgenomen energie in kilowattuur (kWh)
hoofdschakelaar
na de kWh- meter wordt de installatie gemonteerd en aangesloten door de installteur. Aansluitend aan het meterbord wordt de hoofdschakelaar aangebracht, waarmee de verdeelinrichting spanningsloos gemaakt kan worden.

Eindgroepen
In de groepenkast worden de aansluitpunten over verschillende eindgroepen verdeeld. Een eindgroep is een groep waarin geen verdeelinrichtingen voorkomen. Bij een huisinstallatie betekent dit dat de eindgroep tenminste bestaat uit een fase en een nul. De eindgroepen van een huisinstallatie bevatten een groepsbeveiliging tegen overbelasting en een groepsschakelaar om de groep spanningsloos te maken.
Aansluitpunten
Voor het bepalen van het aantal eindgroepen speelt het aantal aansluitpunten een belangrijke rol. Als aansluitpunt wordt gerekend een punt van aansluiting voor een of meer lampen, verbruikende toestellen en wandcontactdozen. Lichtaansluitpunten in dezelfde ruimte, die uitsluitend tezamen door dezelfde schakelaars worden in- en uitgeschakeld, worden als een aansluitpunt gerekend.
Wandcontactdozen
Vooral in woonkamers en hobbykamersen dergelijke moet rekening gehouden worden met de ansluiting van een groot aantal verplaatsbare toestellen. Wandcontactdozen moeten doelmatig worden aangebracht. Gebruikelijk is plaatsing in de hoeken van de kamers en naast deur- en raamkozijnen. Midden op grote muurvlakken wordt afgeraden. De kans is groot dat door het ervoor plaatsen van meubels de wandcontactdozen onbereikbaar worden. Het aanbrengen direct naast kranen of grootstenen vergroot het aanrakingsgevaar.
Wandcontactdozen worden dorgans op een grote van 1m boven de vloer aangebracht. Plaatsing op plinthoogte biedt etnisch voordelen. Een nadeel is echter dat de contactdozen zich binnen het bereik van zeer kleine kinderen bevinden. In woningen moeten de wandcontactdozen van een beschermingscontact worden voorzien in keukens, schuurtjes, garages en dergelijke.
Praktish uitvoering van een huisinstallatie
De installateur begint zijn werkzaamheden met het aanbrengen van het zogenaamde buisleidingnet. De buizen naar de verdeelpunten worden bij betonmuren in de muren gelegd. Tijdens montage van de centraaldozen moeten we erop letten dat deze recht aansluiten op de afwerklaag van de wanden en het plafond. Dit voorkomt moeilijkheden (of extra werk) bij het afwerken van de installatie. In bouwsystemen waarbij gebruik worden gemaak van vloer en/ of muurelementen zijn de leidingen reeds in de elementen aangebracht. Het niet aansluiten van de horizontale op de vertikale leidingen kan hierbij problemen geven.
Na het gereedkomen van het buisleidingnet en de bouwkundige afwerking van vloeren en wanden volgt de Afmontage. Onder het fmonteren verstaat men het aanbrengen van bedrading, verdeelkast, schakelmateriaal, wandcontactdozen enz. deze werkzaamheden moeten zeer zorgvuldig gebeuren om later storingen te voorkomen. Moderne constructies te vergemakkelijken het aansluiten van de draden waardoor het afmonteren minder tijdrovend is. Als de installatie voltooid is wordt deze door het stroomleveringsbedrijf gekeurd, waarbij geled wordt op veiligheid en deugelijkheid van de installatie en toetsing aan de veiligheidsbepalingen voor laagspanningsinstallaties plaatsvindt.

Het centraaldozensysteem
Een centraaldozensysteem is een systeem waarbij alle lasverbindingen centraal per ruimte zijn ondergebracht in een of meer daartoe bestemde en gemakkelijk toegankelijke dozen. In de doos mogen niet meer lassen worden aangebracht dan met het ook op een gemakkelijk sluiten van de doos mogelijk is. Centraaldozen zijn meestal in het plafond aangebracht en bevind zich achter een lichtpunt. De leidingen naar schakelaars en wandcontactdozen worden afzonderlijk vanuit deze centraaldozen gelegd. De centraaldozen worden vanaf de meterkast per groep met elkaar verbonden.
















§ 6.2 Project installatie: Kantoor gebouw ICS N.V.

Plattegrond installatie
Kantoorgebouw
Huis nr. 7
EBS nr. W9205



Plattegrond gebouw

       



Achterpand van het kantoorgebouw
Huis nr. 7

EBS nr. 57344

De licht meter

De lichtmeter



Een lichtmeter, fotometer of luxmeter is een apparaat voor het meten van de verlichtingssterkte veelal in lux. Het meten van de verlichtingssterkte is van belang voor bijvoorbeeld werkplekken, in de sport, in de fotografie (belichtingsmeter) en in de astronomie.
Naarmate de afstand van de lichtbron tot het te verlichten voorwerp groter wordt, neemt de verlichtingssterkte in het kwadraat af. Daarom moet voor een juiste meting van de verlichtingssterkte de luxmeter op werkhoogte worden geplaatst.
In de sport wordt een lichtmeter gebruikt bij sommige takken van sport (zoals tennis en cricket) waarbij de spelers tijdens wedstrijden de bal zeer goed moeten kunnen zien.
Luxmeters worden in foto- en filmcamera's gebruikt voor het goed instellen van de belichtingstijd en het diafragma.
In de astronomie wordt een lichtmeter gebruikt om de helderheid van sterren, melkwegstelsels, planeten en andere hemellichamen te meten.

De werking
In een fotometer zoals gebruikt voor werkplekken, in de sport en in de fotografie verandert in een lichtgevoelige weerstand de weerstand tegen een elektrisch stroompje afhankelijk van de hoeveelheid licht die erdoor wordt opgevangen. Het resultaat wordt zichtbaar op een schaalverdeling of op een lcd-scherm.
De luxmeter kan met een interne sensor of een losse externe lichtsensor uitgevoerd zijn, en zijn zowel analoog als digitaal verkrijgbaar.
Een fotometer in de astronomie is op andere principes gebaseerd omdat de lichtsterkte die gemeten moet worden veel geringer is.

De eenvoudigste manier om licht te meten met een Arduino is met een LDR.
LDR's (Light dependend sensors) hebben een lage weerstand in fel licht en een hoge weerstand het donker (duisternis).
Als u de LDR als het onderste deel van een spanningsdeler zou gebruiken, dan zou in het donker een hoge spanning via LDR vloeien, terwijl in helder licht, zou er een lage spanning over die weerstand zijn.
Natuurlijk als je het zou gebruiken als het bovenste deel van een spanningsdeler, zou het omgekeerde zijn: lage spanning in de duisternis, hoogspanning in fel licht.
Principe van de LDR voor de lichtmeter


Programma van de lichtmeter voor arduino
int LDR_Pin = A0; //analog pin 0

void setup(){
  Serial.begin(9600);
}

void loop(){
  int LDRReading = analogRead(LDR_Pin);

  Serial.println(LDRReading);
  delay(250); //just here to slow down the output for easier reading

}

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