Kracht-weg-model van het dieptrekproces
Citation for published version (APA):Hartong, R. B. N. (1993). Kracht-weg-model van het dieptrekproces. (TH Eindhoven. Afd. Werktuigbouwkunde,Vakgroep Produktietechnologie : WPB; Vol. WPA1536,WPA1541). Technische Universiteit Eindhoven.
Document status and date:Gepubliceerd: 01/01/1993
Document Version:Uitgevers PDF, ook bekend als Version of Record
Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne
Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.
Download date: 05. Aug. 2021
Technische Universiteit Eindhoven, Faculteit Werktuigbouwkunde, Vakgroep Produktietechnologie en -automatisering, Laboratotium voor Omvormtechniek.
Kracht-Weg-Model van het dieptrekproces
Auteur
Studie
Stageperiode
Stageplaats
Stagebegeleider
Handtekening
Deel 1
R.B.N. Hartong
HS-Venlo Stage verslag Juni 1993 VF-D2D3
naam R.B.N. Hartong HS-Venlo nr.: WD 12 verslag III 1
H.T.S. Werktuigbouwkunde
01-03-1993 tim 15 06-1993
WPA 1536
Technische Universiteit Eindhoven
Dr.lr. J.A.H. Ramaekers Ir. M. Kessels
samenvatting:
Dit is een stageverslag over de berekening van de theore tisch maximaal benodigde kracht bij een rotatie symmetrisch dieptrekproces. De stage werd gelopen bij de Technische Universiteit te Eindhoven (TUE).
Doel van de stage is het schrijven van een (pascal )programrna waarmee de maximaal benodigde vermogens, en eventueel deelvermogens, van een bepaald dieptrekproces berekend kunnen worden. Er is reeds eerder een programma geschreven, deze voldeed echter niet aan de verwachtingen.
Het verslag begint met een korte inleiding, waarin de achtergronden van de stage uit de doeken worden gedaan. De stage-opdracht komt voort uit een onderzoek dat is uitgevoerd door de TOE.
Vervolgens wordt behandeld wat dit onderzoek inhoudt. Er wordt uitgelegd wat het doel van het onderzoek is, n.l. te onderzoeken wat de invloed van de gereedschapsgeometrie is op de maximaal benodigde en de maximaal toelaatbare of te weI kritische dieptrekkracht.
Als derde wordt behandeld hoe het vorige programma werkt. Er wordt gekeken naar de opbouw en de formules die erin verwerkt zijn am de berekeningen uit te voeren. Ook zal worden gekeken wat de behaalde resultaten zijn van dit programma.
Voordat zal worden overgegaan op het nieuw te schrijven pascal-programma, zal er eerst worden gekeken wat er in het oude programma voor verbetering vatbaar is.
Tenslotte komt het nieuwe programma aan bod. De nadruk ligt daarbij op de formules die erin verwerkt zullen worden. Het programma-technische gedeelte blijft hierbij achterwegen. Hiervoor voIgt namelijk nag een tweede verslag waarin de werking van het nieuwe programma aan bod komt. In het laatste gedeelte worden dus de formules afgeleid, en worden de resul taten van de nieuwe berekeningen op papier gezet.
INHOUD:
Titelblad
Samenvatting
Inhoud
1: Inleiding
2: TUE onderzoek:
2.1: De invloed van de gereedschapsgeometrie op de maximaal benodigde en kritische dieptrekkracht.
2.2: De maximaal benodigde dieptrekkracht.
2.3: De kritische dieptrekkracht in de wand.
3: Het vorige pascal-programma:
3.1: Inleiding.
3.2: Het programma.
3.3: De funktie en procedures.
3.4: De VARUNIT en het hoofdprogramma
3.5: De berekenings-resultaten
4: Wat te wijzigen in het nieuwe programma.
Pag.
5
7
12
14
15
17
18
21
31
33
INHOUD:
5: De afleiding van de nieuwe formules.
5.1: Inleiding.
5.2: Deformatie van de blank.
5.2.1: Deformat -model.
5.2.2: Krachten-evenwicht.
5.2.3: Bijdrage van de flensdeformatie aan de benodigde dieptrekkracht.
5.3: Bijdrage van de wrijving tussen flens[ matrijs en plooihouder aan de benodigde dieptrekkracht.
5.4: Bijdrage van de wrlJvlng over de matrijs-
35
36
36
39
43
45
afronding aan de benodigde dieptrekkracht. 47
5.5: Bijdrage van de dubbele buiging over de matrijsafronding aan de benodigde dieptrekkracht.
5.6: De totaal benodigde dieptrekkracht.
5.7: De berekenings-resultaten van het nieuwe programma
6: Literatuurlijst
7: Bij lagen
49
51
52
56
57-78
pascal-programma Kracht_Weg_Model
1: Inleiding
Dit is een stageverslag over de berekening van de theoretisch maximaal benodigde kracht bij een dieptrekproces. De stage werd gelopen bij de Technische Universiteit te Eindhoven (TUE).
Doel van de stage is het schrijven van een (pascal-)programrna waarmee de maximaal benodigde vermogens, en eventueel deelvermogens, van een bepaald dieptrekproces berekend kunnen worden. Deze opdracht komt voort uit een onderzoek naar de invloed van de gereedschapsgeometrie op de maximaal benodigde kracht en kritische kracht bij een dieptrekproces. In het kader van dit onderzoek was reeds een programma geschreven, dat echter niet aan de verwachtingen voldeed. Het nieuwe programma:
-maakt gebruik van andere formules, waarmee de praktijk beter benaderd moet worden,
-moet gebruikersvriendelijker zijn, met name het invoeren van de procesparameters
-moet op een dusdanige manier worden opgebouwd, dat duidelijk blijkt welke, en hoe de formules worden toegepast (b.v. een juiste benaming van de gebruikte variabelen vergroot de leesbaarheid en maakt het eenvoudiger de gebruikte formules eruit te halen) .
Het uiteindelijke programma moet als voIgt werken: a) eerst wordt om invoer van de procesparameters gevraagd b) dan wordt om bevestiging van de juistheid van de
parameters gevraagd c) er wordt gevraagd welke (deel-)vermogens te berekenen d) na berekening voIgt een overzicht van de resultaten e) ten slotte bestaat er de mogelijkheid het resultaat
grafisch weer te geven.
-5
pascal-programma Kracht_weg_Model
In dit verslag zullen de volgende aspecten aan de orde komen: -Om te beginnen voIgt er een globale beschrijving van het onderzoek naar de invloed van de gereedschapsgeometrie op het dieptrekproces. De uitkomsten van het programma zullen worden getoetst aan de resultaten van dit onderzoek. Ten tweede voIgt er een beschrijving van het oude programma, met als hoofdpunt de formules die daarin verwerkt zijn.
-Ten derde voIgt een opsomming van de punten die in het nieuwe programma anders uitgevoerd zullen worden.
-Als laatste komt het nieuwe programma aan bod. Ook hier ligt de nadruk weer op de toegepaste formules. Er zal verder niet worden ingegaan op het programma zelf en de programma-technische aspecten. Daarvoor voIgt een tweede verslag waarin het nieuwe programma verder zal worden uitgewerkt.
-6-
pascal-programma Kracht_Weg_Model
2: TUE-onderzoek 2.1: De invloed van de gereedschapsgeometrie op de maximaal
benodigde en kritische dieptrekkracht.
Zoals de kop van deze tekst al vermeld is het onderzoek erop gericht te onderzoeken welke invloed de gereedschaps geometrie uitoefent op de benodigde en de maximaal toelaat bare of te weI de kritische kracht van het rotatiesymmetrische dieptrekproces.
Onder de gereedschapsgeometrie wordt verstaan: 1: de straal van de stempel rp 2: de afrondingsstraal van de stempel Pp 3: de straal van de dieptrekmatrijs rd 4: de afrondingsstraal van de matrijs Pd (zie fig.1)
•
Fig. 1
-7
pascal-programma Kracht_Weg_Model
De benodigde kracht is de gedefinieerd als de som van de deel-krachten, die benodigd zijn voor de omvorming van de blank tot een cup. Er zijn 4 deelkrachten te onderscheiden:
1: de kracht benodigd voor het deformeren van de flens 2: de kracht benodigd voor het overwinnen van de
wrijving tussen de dieptrekmatrijs, blank en plooihouder
3: de kracht benodigd voor het buigen en terugbuigen om de matrijsafronding
4: de kracht benodigd voor het overwinnen van de wrijving over de matrijsafronding.
(zie fig.2)
Fig. 2
De maximaal toelaatbare of te weI kritische kracht is gedefinieerd als de kracht waarbij, bij overschrijding, insnoering optreedt in de wand van het produkt.
-8-
pascal-programma Kracht_Weg_Model
V~~r een aantal materialen zlJn dieptrekproeven op de Erichsen testbank uitgevoerd. De maximaal benodigde dieptrekkracht en de kritische dieptrekkracht in de wand zijn bepaald.
De maximaal benodigde kracht wordt als voIgt bepaald: Er wordt een strook materiaal aangevoerd, voorzien van een smeermiddel. De machine snijdt uit deze strook een blank. Deze blank wordt diepgetrokken tot de kracht, nodig voor het vervormen van het materiaal, gaat afnemen. De maximaal benodigde kracht is dan bereikt.
De kritische kracht wordt bepaald door het materiaal diep te trekken tot de maximaal benodigde dieptrekkracht is bereikt. Daarna wordt de matrijs vervangen voor een plooihouderring met rillen die de flens vasthoudt. Er wordt nu verder diepgetrokken tot de kracht waarbij insnoering optreedt in de wand. Dit is de maximaal toelaatbare of te weI kritische kracht.
Het doel van deze experimenten is te onderzoeken wat de invloed van de gereedschapsgeometrie is op deze krachten. De proeven zijn daarom een aantal malen uitgevoerd met verschillende gereedschapsgeometrieen:
- De maximaal benodigde dieptrekkracht is een funktie van de matrijsafronding Pd' Bij het bepalen van deze kracht is de matrijsafronding gevarieerd van 2 tot 10mm met een stapgrootte van 2mm (2, 4, 6, 8 en 10mm). De stempelafronding blijft hierbij constant, namelijk 4mm. De kritische dieptrekkracht in de wand is een funktie van de stempelafronding Pp ' Bij het bepalen van deze kracht is ook de stempelafronding gevarieerd van 2 tot 10 mm met een stapgrootte van 2mm. De matrijsafronding blijft hierbij constant, namelijk 4mm.
-9
pascal-programma Kracht_weg_Model
De volgende proeven zijn dus uitgevoerd:
matrijsafronding Pp
0 IQ:
4
stempelafrondingen Pd in mm
2 4 6 8 10
*
* * * * *
~ * 8 *
10 * ----=--
De proeven zlJn uitgevoerd met 4 verschillende materialen waarbij talk als smeermiddel werd gebruikt. V~~r de proeven zijn materialen gebruikt met uiteenlopende eigenschappen.
De gebruikte materialen zijn:
1. Een beklede staalsoort, materiaalbenaming: Sidmar-Ocas. materiaalcode TUE: mat. 2 So 0.90 mm C 500 N/mm 2
n 0.247 Eo 0.001 Ra = 1.64
2. Een onbeklede staalsoort, materiaalbenaming: St 15 onbekleed, code Hoogovens: 8921; materiaalcode TUE: mat. 11 So = 0.80 mm C 516 N/mm 2
n == 0.273 Eo 0.001 R", 1. 62
-10-
pascal-programma Kracht_Weg_Model
3. Een aluminiumsoort, materiaalbenaming: Fokkeri Aluminium Pechiney/Rhenalu/Issoirei materiaalcode TUE: mat. 6 So = 1. 00 mm C = 241 N/mm 2
n = 0.267 Eo = 0.00 Ra 0.55
4. Een aluminiumsoort, materiaalbenaming: Hunter Douglasi Aluminium C45 bekleed met lak, code H18\48; materiaalcode TUE mat. 23 So = 0.66 mm C = 189 N/mm 2
nO.038 Eo 0.00 Ra 0.60
-11-
pascal-programma Kracht_Weg_Model
2.2 De maximaal benodigde dieptrekkracht:
Bij verschillende matrijsgeometrieen en een constante stempelgeometrie worden aIle materialen diepgetrokken tot de maximaal benodigde dieptrekkracht is bereikt. De gebruikte matrijsafrondingsstralen zijn 2, 4, 6, 8 en 10 mm. De gebruikte stempelafrondingsstraal is 4 mm. De resterende gereedschap- en blankafmetingen zijn als voIgt genomen:
binnenstraal matrijs : stempelstraal initiele straal blank:
r Di 17.50 mm rp 16.25 mm ruo = 30.00 mm
De plooihouderkracht wordt constant gehouden (voor staal en aluminium 5,99 kN c.q. 0,50 kN). Dit houdt in dat de plooihouderdruk Pp1 (kracht gedeeld door oppervlak) niet bij aIle experimenten gelijk is omdat het oppervlak onder de plooihouder bij toenemende matrijsafrondingsstraal kleiner wordt.
De resultaten van de proeven worden uitgedrukt in dimensie loze eenheden. Een dimensieloze kracht wordt aangeduid met een '*' als super-schrift en is als voIgt gedefinieerd:
F*= ___ F __ _ 21t *r p*So
De resultaten van de dieptrekproeven om de maximaal benodigde dieptrekkracht te bepalen zijn voor de 4 verschillende materialen als voIgt:
Materiaal 2· . Pd [mm] Ppl [N/mm2 ] F*max
2 3.67 0.58
4 4.36 0.52
6 5.49 0.48
8 7.64 0.45
10 13.27 0.37
-12-
pascal-programma Kracht_Weg_Model
Materiaal 6--Pd [mm] Pp1 [N!mm2 ] F" max
2 0.31 0.46
4 0.36 0.42
6 0.46 0.40
8 0.64 0.38
10 1.11 0.39
Materiaal 11-. Pd [mm] Pp1 [N!mm2 ] F* max
2 3.67 0.52
4 4.36 0.50
6 5.49 0.46
8 7.64 0.43
10 13.27 0.37
Materiaal 23--Pd [mm] Pp1 [N!mm2 ] F* max
2 0.31 0.70
4 0.36 0.64
6 0.46 0.62
8 0.64 0.59
10 1.11 0.51
Dit zijn tevens de resultaten die door het te schrijven pascal-programma benaderd moeten worden.
13-
pascal-programma Kracht_Weg_Model
2.3 De kritische dieptrekkracht in de wand:
Bij verschillende stempelgeometrieen en een constante matrijsgeometrie worden aile material en diepgetrokken tot de maximaal benodigde dieptrekkracht is bereikt. Hierna wordt de matrijs verwisseld voor een plooihouderring met rillen die de flens vasthoudt. Er wordt nu verder getrokken tot de kracht waarbij insnoering in de wand optreedt. De gebruikte stempelafrondingsstralen zijn 2, 4, 6, 8 en 10 mm. De gebruikte matrijsafrondingsstraal bij deze proef is 4 mm. De resterende gereedschap- en blankafmetingen zijn als voigt genomen:
binnenstraal matrijs stempelstraal : initiele straal blank:
materiaal stempel-[TUB code] afronding
[mm]
2 2
2 4
2 6
2 8
2 10
6 2
6 4
6 6
6 8
6 10
11 2
II 4
11 6
11 8
11 10
23 2
23 4
23 6
23 8
23 10
r Di
rp ruo
= = =
17.50 mm 16.25 mm 30.00 mm
matriJs-afr~n ing
mm]
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
14-
kritische
k[k~~t
32.75
34.67
34.63
34.75
35.25
ll.33
12.46
12.25
12.48
12.81
28.88
30.63
29.75
30.00
30.13
9.50
10.63
10.82
10.63
9.88
pascal-programma Kracht_Weg_Model
3: Het vorige pascal-programma:
3.1 In1eiding:
Het vorige programma werd geschreven door A. de Winter. De programmeertaal is Turbo-Pascal (versie 6.0).
Om een indruk te krijgen, hoe het programma werkt, voIgt nu een korte beschrijving:
Nadat het programma is opgestart, krijgt men eerst een intro te zien. Hier wordt vermeld wie de verantwoordelijke personen zijn, wat de verantwoordelijke afdeling op de TUE is, wat het onderwerp van het programma is enz ..
Hierna wordt gevraagd de proces-parameters in te geven. Deze bestaan uit:
- de materiaalgegevens de blankgeometrie - de gereedschapsgeometrie
de wrijvingscoefficient - de plooihouderdruk
Bij het berekenen van de maximaal benodigde kracht kunnen verschillende deel-krachten ' meegenomen' worden in de ui teindelijke resultaten. Als volgende moet dan ook worden ingegeven welke deel-vermogens mee te nemen in de berekeningen. De volgende deel-vermogens worden onderscheiden:
- het vermogen t.b.v. het stuiken en rekken van de flens (F1 )
het vermogen t.b.v. de wrijving tussen plooihouder, matrijs en flens (F) het vermogen t.b.v. de wrijving rond de matrijsafronding (F3 )
- het vermogen t.b.v. het buigen en terugbuigen om de matrijsafronding ( ).
Zijn de deel-vermogens ingegeven, dan begint het rekenwerk. Eerst wordt de kritische kracht berekend. Deze is, het materiaal buiten beschouwing gelaten, hoofdzakelijk afhankelijk van de stempelgeometrie.
-15-
pascal-programma Kracht_Weg_Model
Dan wordt de maximaal benodigde dieptrekkracht bepaald. Hiervoor wordt het dieptrekproces opgedeeld in een reeks van 100 elementaire dieptrekprocesjes waarbij de dieptrekverhouding afneemt van een bepaalde beginwaarde ~o tot de eindwaarde ~eind=l (hier wordt gerekend met ~o=ruo/ri' ri=M (rp+rDJ . V~~r iedere ~ worden dan de opgegeven deelkrachten uitgerekend. De deelkrachten worden samen met de ~, waarbij zij optreden, opgeslagen in verschillende files. Met behulp van deze files kan dan straks een grafische voorstelling van het verloop van de krachten gemaakt worden (kracht weg model) . De som van de deelkrachten, dit is de totale benodIgde kracht, wordt ook opgeslagen. Tevens wordt bepaald bij welke ~ de benodigde kracht het grootst is. Dit is dan de maximaal benodigde dieptrekkracht van proces.
Als laatste voIgt dan de uitvoer van de resultaten. Deze bestaat uit: - de maximaal benodigde dimensieloze dieptrek
kracht - de dieptrekverhouding waarbij deze optreedt
(~fm) de deelvermogens waaruit de maximaal benodigde dieptrekkracht is opgebouwd de bestandsnamen van de files waarin de gegevens zijn opgeslagen
-16
pascal-programma Kracht_Weg_Model
3.2 Het programma:
Als het programma als geheel bekeken wordt, valt als eerste op dat het is opgebouwd uit 5 blokken:
1. de VARUNIT: hierin worden de variabelen gedeclareerd, die in de rest van het programma gebruikt zullen worden.
2. de FUNKTIE Ja Nee: dit is een programma-deel dat bepaald hoe er geantwoord werd op een vraag die met 'Ja l (J) of 'Nee' (N) beantwoord kon worden.
3. de procedure Make Window: dit is een programma-deel dat enkel dient om de uitvoer van het programma overzichtelijker te maken. Hiermee is het mogelijk een venster te creeren met een titel erboven. In het venster komt dan de uitvoer te staan.
4. de procedure GRAFREAL: dit is het programma-deel dat de resultaten van het programma grafisch weergeeft op het scherm l
in de vorm van een grafiek.
5. het hoofdprogramma Kracht Weg model: dit is het eigenlijke programma. Hierin worden de berekeningen uitgevoerd.
Om de basis-werking van het programma te kunnen volgen zijn enkel 2 delen echt van belang. Dit zijn de VARUNIT en het hoofdprogramma. Deze zullen dan ook wat uitgebreider aan de orde komen. Volledigheidshalve zullen eerst de funktie en de procedures even worden toegelicht.
-17
pascal-programma Kracht_Weg_Model
3.3 De funktie en procedures:
1. De funktie 'Ja Nee' Achterin in de biIlagen is de listing te zien van deze funktie. De werking is als volgt:
a} Nadat er een vraag gesteld is die enkel met 'ja' of 'nee' te beantwoorden is, wordt de funktie aangeroepen in de vorm:
* Writeln(/ .... [vraag] .... (J!N) ') i * IF Ja Nee THEN ...... (1) * - ELSE ...... (2)
b) Als er bevestigend geantwoord wordt zal Ja Nee TRUE zijn, en zal weg 1 gevolgd worden. Als er niet bevestigend geantwoord wordt zal Ja_Nee FALSE zijn, en zal weg 2 gevolgd worden. De funktie zal zich net zolang herhalen tot er, of een bevestigend, of een ontkennend antwoord is gegeven, iets anders is niet mogelijk.
2. De procedure Make Window Achterin in de bijlagen is de listing te zien van deze procedure. De werking is s volgt:
a) Voordat er iets op het scherm geschreven wordt (writecommando) bestaat er de mogelijkheid een venster te creeren met een titel. Bij het aanroepen van de procedure dienen er 9 parameters gegeven te worden: - xl x-coordinaat linkerbovenhoek
y1
- x2
- y2
- titel - kleur background1 (klb1): - kleur background2 (klb2): - kleur text1 (klt1) - kleur text2 (klt2)
-18
venster y-coordinaat linkerbovenhoek venster x coordinaat rechteronder-hoek venster y-coordinaat rechteronderhoek venster tekst boven het venster achtergrondkleur titel achtergrondkleur venster textkleur titel textkleur venster
pascal-programma Kracht_weg_Model
De aanroep ziet er dan als volgt uit:
* Make_Window(xl,yl,x2,y2,titel,klbl,klb2,kltl,klt2) ; * Clrscr; * Writeln{' ....... [uitvoerj
b) Het resultaat van de aanroep ziet er als volgt uit:
~[titel]
I I [display vensterl II 3. De procedure Grafreal Omdat deze procedure een vrij uitgebreid en een, in feite, op zich staand programma is, is de listing niet in de bijlage opgenomen. Deze procedure is namelijk ook weer opgebouwd uit verschillende funkties en procedures en het opnemen van de listing in de bijlage zou het doel van dit verslag voorbij schieten. Het gaat tenslotte voornamelijk om het hoofdprogramma.
a) In het hoofdprogramma bestaat, na het doorlopen van het rekengedeelte, de opt het resultaat van het rekenwerk in grafiek-vorm op het scherm weer te geven. Hiervoor wordt dan de procedure , Grafreal , aangeroepen. Bij het aanroepen dienen de volgende parameters gegeven te worden: - Bo - B eind - fgroot - fmin - Fkritish:
maximale x-waarde grafiek minimale x-waarde graf maximale y-waarde grafiek minimale y-waarde grafiek kritische kracht
- filenaam: de namen van de files waaronder de data v/d deelvermogens staan weggeschreven.
path
pa
(Deze worden bij het doorlopen van het hoofdprogramma aangemaakt.) het pad waaronder de files staan weg geschreven. een boolean die de waarde true heeft als een bepaald deelvermogen in de grafiek afgebeeld dient te worden.
-19-
pascal-programma Kracht_Weg_Model
De aanroep ziet er dan als voIgt uit:
* Graf_real(Bo,B_eind,fgroot,fmin,Fkritish,filenaam,path,pa)i
b) Het resultaat is dat er op het scherm een grafiek te zien is waarbij de dieptrekverhouding tegen de dimensieloze (deel)vermogens is uitgezet.
10"1 =
8
7 I
6 I
5 p. 4
3
..------_ ..... _--!-----1/ v
I
~
~ /~ \!
2
1
./ ! \ /
/' I
0 I I I
10 11 12 13 14 15 16 17 18
Dieptrekverhouding
Fig. 3
-20-
pascal-programma Kracht_Weg_Model
3.4 De VARUNIT en het hoofdprogramma
1. VARUNIT Achterin de bijlagen is een listing opgenomen van de VARUNIT. Hierin worden aIle variabelen gedeclareerd. Dit houdt in dat: a) de variabelen een naam krijgen
b) er wordt vermeld van welk type de variabelen zijn (real, integer enz.)
c) er een korte uitleg van de toepassing van de variabele wordt gegeven.
De VARUNIT is belangrijk omdat de keuze van de benaming van de variabelen de leesbaarheid en begrijpbaarheid van het hoofdprogramma voor een groot deel bepaald.
De belangrijkste variabelen die in het hoofdprogramma gebruikt worden bij de berekeningen zijn:
so : REAL; { plaatdikte } ruo :REAL; { flens } Rp : REAL; { rp
initiele buitenstraal v/d Stempelstraal R-punch} Matrijsstraal R_die} Gemiddelde radius }
Rd : REAL; { rd ri :REAL; { r i
ru : REAL; {ru momentane buitenstraal v/d flens Pp :REAL;{ Pp afrondingsstraal v/d stempel} Pd :REAL;{ Pd afrondingsstraal v/d matrijs } Eo :REAL;{ Eo voordeformatie} Fkritish:REAL;{ F*e: kritische dimensieloze kracht } Ra :REAL;{ Ra : Anisotropiefactor} n :REAL;{ n verstevigingsexponent u : REAL; { C : REAL; { Ppl : REAL; { B : REAL; { Bo : REAL; { BO : REAL; { B eind : REAL; { maxB : REAL; { gamma : REAL; { Ez : REAL; { Efi u : REAL; { Efi i : REAL; { Ef u : REAL; { Ef i : REAL; { sigmaf_u:REAL;{ sigmaf_i : REAL; { AA : REAL; {
~ : wrijvingscoefficient versie 1} C : karakteistieke deformatieweerstand} Pp1 : plooihouderdruk } P momentane dieptrekverhouding ruo/ru } Po : initiele dieptrekverhouding ruo/rp } Po : werkelijke betaO} laatste dieptrekverhouding } Pfm: de waarde van P bij Fmax s/so} Ez
E4J :
E4J :
E eff:
epsilon, epsilon, epsilon, epsilon,
rek in z-richting} rek in fi-richting voor r=ru} rek in fi richting voor r=ri} plastische deformatie voor r=ru}
Eeff : epsilon, plastische deformatie voor r=ri} u f : vloeivoorwaarde voor r=ru } u f : vloeivoorwaarde voor r=ri } parameter A uit benadering voor sigmaf }
-21-
BB : REALi { F1 : REALi { F2 : REAL; { F3 : REAL; { F4 : REAL; { Ftot : REALi { Fmin : REALi {
Fmax : REALi {
pascal-programma Kracht_Weg_Model
parameter B uit benabering voor sigmaf } dimensieloze kracht t.b.v. stuiken/rekken v/d flens } dimensieloze kracht t.b.v. wrijving flens/plooihouder } dimensieloze kracht t.b.v. dubbele buiging} dimensieloze kracht t.b.v. wrijving om matrijsafronding} totaal dimensieloze kracht } de min. waarde van de dimensieloze krachten of dimensielose kritische kracht }
Fgroot : REALi { de max. waarde v/d totale dimensielose kracht } de max. waarde v/h totale dimsieloos vermogen of dimensieloze kritische kracht }
2. Het hoofdprogramma Achterin de bijlagen is eveneens een listing opgenomen van het hoofdprogramma. Het hoofdprogramma kan ook weer opgedeeld worden in belangrijke en minder belangrijke delen:
1. Opbouw beginscher.m: Na het opstarten van het programma krijgt men een scherm te zien waarop melding wordt gemaakt van onderwerp, auteur, verantwoordelijke begeleider, copyright enz.
2. Het ingeef- en initialisatie gedeelte: In dit gedeelte wordt de gebruiker van het programma gevraagd alle proces-parameters in te geven. De proces-parameters bestaan uit de materiaalconstanten, de geometriegegevens en de wrijvinggegevens. Ook wordt de gebruiker gevraagd in te geven welke vermogens berekend moeten worden. Verder worden in dit gedeelte de data-bestanden aangemaakt waarin de uitkomsten van de berekeningen worden opgeslagen. Met behulp van deze bestanden is het straks mogelijk het proces grafisch weer te geven (kracht-wegkromme) .
22-
pascal-programma Kracht_Weg_Model
3. Het berekeninq/verwerkinqs-qedeelte: In dit gedeelte vinden de eigenlijke berekeningen plaats. Hier worden, met behulp van een aantal hulpvariabelen, formules toegepast om die zaken te berekenen waar om in het ingeef-gedeelte gevraagd is. Tijdens deze berekeningen worden ook de data-bestanden 'gevuld' om straks de kracht-weg-krommen op te zetten. Dit gedeelte is in feite de kern van het programma. Hier moeten, mits er in het ingeef-gedeelte geen fouten gemaakt zijn, die waarden uit rollen die bij de proeven gemeten zijn. Dit is aIleen mogelijk als de toegepaste formules juist zijn. Welke dat zijn komt later aan de orde.
4. Het output-gedeelte: Hier worden de resultaten meegedeeld. Deze bestaan uit de maximaal benodigde dimensieloze kracht met bijbehorende dieptrekverhouding, de kritische kracht en de eventueel meegenomen deelvermogens. Tevens is het mogelijk een grafische voorstelling van het proces te krijgen.
De punten die onderstreept Z1Jn, zlJn de punten die de (voort) gang van het programma bepalen. Wordt er daar een fout gemaakt dan heeft dat verstrekkende gevolgen voor het verloop van de rest van het programma ..
-23-
pascal-programma Kracht_Weg_Model
Ret ingeef- en initialisatie gedeelte: Bij het ingeef en initialisatie gedeelte ligt de mogelijkheid dat er fouten worden gemaakt hoofdzakelijk bij de gebruiker. De gebruiker van het programma moet hier de volgende proces-parameters ingeven:
Geometrie: - de plaatdikte - de initiele buitenstraal van de blank: - de straal van de stempel - de straal van de matrijs - de afrondingsstraal van de stempel - de afrondingsstraal van de matrijs
Materiaalconstanten: - de voordeformatiegraad - de verstevigingsfactor
de anisotropiefactor - de karakteristieke
deformatieweerstand Wrijvinggegevens: - wrijvingcoefficient
plooihouder/materiaal Procesgegevens: - plooihouderdruk
c
Programma-technisch gebeurt het inlezen van deze parameters door een eenvoudige readln-opdracht, bv:
* Write (' Geef de plaatdikte (so) [mm] : '); * Readln(so)i
De kans dat hier een verkeerde waarde wordt ingegeven is relatief groot. Er vindt namelijk helemaal geen controle plaats op de ingegeven waarde. Verder bestaat er ook geen mogelijkheid een eventuele fout te verbeteren. Is er een fout gemaakt dan moet het programma onderbroken en opnieuw gestart worden.
-24
pascal-programma Kracht_Weg_Model
Het berekening/verwerkings-gedeelte: Zoals reeds in de beschrijving van het programma is vermeld, wordt eerst de kritische kracht berekend. In het programma gaat dit als voIgt (zie voor verklaring v/d variabelen de VARUNIT in de bijlagen of bIz 19):
* Fkrl:= exp(n*ln«(Ra+l)*n)/sqrt(2*Ra+l») * SQRT«Ra+l)/(Ra+5» i
* Fkr2:= So/pp + SO/Rp + exp(n-sqrt(2*Ra+l)/(Ra+l) * Eo); * Fkritish:=2* Fkrl * (1/Fkr2);
De kritische kracht F*c wordt dus berekend met behulp van 2 hulp-variabelen:
== So + +e[n-( ~)*eo] Pd Ip
-25
pascal-programma Kracht_Weg_Model
Bij berekening van de maximaal benodigde kracht wordt het dieptrekproces opgedeeld in 100 elementaire delen waarbij de dieptrekverhouding afneemt van f30 tot f3eind. In het programma gebeurt dit als volgt:
* Bo:= ruo/ri; * B:= Bo; * B_eind:=li * stap_l:=(Bo-B_eind)/looi * WHILE B>= B eind DO * BEGIN
* I * I * *
B:=B-stap_l; END;
V~~r ieder deel worden de opgegeven deel-krachten berekend: - De kracht t.b.v. het stuiken en rekken van de flens F 1 :
In het programma gaat dit als volgt:
* rU:=B*ri;{dit is de momentane buitenkant van de platine} * d:= sqrt(Bo/B) i
* g:= In(Bo/B) + Eo; * IF g=O THEN h:=O * ELSE h:= exp(ln(g) * n); * IF ru=ruo THEN Fl:=O else * BEGIN * a2: (Ra+l)/(2*Ra+l)i {hulp variabele voor Ef}; * gamma:=exp(ln(ruo/ru)*(l/(l+Ra»)i * Ez:=ln(gamma)i *{Als r=ru dan geldt het volgende } * Efi_u:= l*ln(ruo/ru);
* * * *{Als
* * * * *
a3_u:=Ez/Efi_u; Ef_u:=abs(Efi_u)*(sqrt(a2*(2+2*a3_u+(Ra+l)*sqr(a3_u»)); sigmaf_u:=C*exp(Ln(Eo+Ef_u)*n) ; r=ri dan geldt het volgende a4:=ru/rij {drie hulpvariabelen voor Efi i} a5:=sqr(ruo/ru) ; a6: (l-sqr (ri/ru) ) ; Efi :=-1*ln(a4*sqrt(a5-a6*gamma»; a3 i:=Ez/Efi_i;
* :=abs(Efi_i)*sqrt(a2*(2+2*a3_i+(Ra+l)*sqr(a3_i»); * sigmaf_i:=C*exp(ln(Eo+Ef_i)*n); *{Voor A en B geldt dan :
* * * *
a7:=ru/rii AA: (l/(l a7})*{sigmaf_u-a7*sigmaf_i) j
BB:=(a7/(1-a7})*(sigmaf_i-sigmaf_u)i END;
-26
* IF pa[l.] THEN * BEGIN * IF ruo<>ru then
pascal-programma Kracht_Weg_Model
* Fl:= 1.1*gamma*«AA/C)*ln(B)+(BB/C)*(1-(1/B»)i * IF Fl > ad then ad:=Flj * writeln(fa,B," ,Fl); * IF Fl < Fmin THEN Fmin:= Fl; * END;
Het vergt enige moeite om hier precies te achterhalen hoe Pi nu berekend wordt. Alles op een rijtje gezet komt het hierop neer:
BB=
27-
pascal-programma Kracht_Weg_Model
e = Ln (gamma) = Ln(_r_Uo 1 * _1_ = Ln (_P_o ) * _1_ z Xu l+Ra P Ra+1
e~,o -hLn[ ~* (~r +-(-d'J.( :: 1 ':R.]
-Ln[~*~ ~~-[1-( ~)']*( ~o )R."']
-28
pascal-programma Kracht_Weg_Model
- De kracht t.b.v. de wrijving tussen plooihouder/ flens en matrij s F2 :
In het programma gaat dit als voIgt:
* IF pa[2] THEN * BEGIN * F2:= 2*u*Rp/So*(B-l)*Ppl/Ci * Writeln(fb,B,' ',F2)i * IF F2 < Froin then Fmin:=F2: * END;
F2 wordt dus s voIgt berekend:
- De kracht t.b.v. de wrl]ving om de matrijsafronding F3:
In het programma gaat dit als voIgt:
* IF pa[3] THEN
* * * * * *
BEGIN F2:= 2*u*Rp/So*(B-l)*Ppl/C; F3:= (F1+F2)*u*pi; Writeln(fc/B,' ',F3); IF F3 < Fmin THEN Fmin:= F3i
END:
F3 wordt dus als voIgt berekend:
- De kracht t.b.v. de buiging om de matrijsafronding F4 :
In het programma gaat dit als voIgt:
* IF pa[4] THEN
* * * * *
BEGIN F4:= «h-l)*1/B+l)*1/sqrt(3)*Bo/B*EXP(ln({pd/So)+(1/2*d»* -1): Writeln(fd,B,' ',F4) i
IF F4 < Fmin THEN Fmin:= F4; END:
-29
pascal-programma Kracht_Weg_Model
F4 wordt dus als voIgt berekend:
d=~ ~o
30-
pascal-programma Kracht_Weg_Model
3.5 De berekenings-resultaten van het programma:
,
Worden de gemeten waarden van de maximaal benodigde diep-trekkracht voor de verschillende materialen en matrijsgeometriem vergeleken met de berekende waarden dan krijg je het volgende beeld:
Materiaal 2-. Pd [mm] SO/Pd F* max
F* max
berekend gemeten
2 0.45 0.58 0.58
4 0.255 0.50 0.52
6 0.15 0.48 0.48
8 0.113 0.47 0.45
10 0.09 0.47 0.37
Materiaal 6· . Pd [mm] SO/Pd F* max
F* max
berekend gemeten
2 0.50 0.59 0.46
4 0.25 0.50 0.42
6 0.17 0.47 0.40
8 0.125 0.45 0.38
10 0.10 0.44 0.39
31-
pascal-programma Kracht_Weg_Model
Materiaa1 11-. Pd [mm] SO/Pd F* max F* max
berekend gemeten
2 0.40 0.55 0.52
4 0.20 0.48 0.50
6 0.13 0.45 0.46
8 0.10 0.45 0.43
10 0.08 0.45 0.37
Materiaa1 23-. Pd [mm] SO/Pd F* max F" max
berekend gemeten
2 0.33 0.79 0.70
4 0.165 0.72 0.64
6 0.11 0.69 0.62
8 0.083 0.68 0.59
10 0.07 0.68 0.51
De bovenstaande tabellen ZlJn in de bijlagen grafisch weergegeven. Hier valt duidelijk te zien dat de berekende waarden een spreiding vertonen met de gemeten waarden. Dit houdt in dat de formules die in het huidige programma toegepast worden niet geheel voldoen endus herzien moeten worden. Dit is een van de redenen een nieuw programma te schrijven.
-32
pascal-programma Kracht_Weg_Model
4: Wat te wijzigen in het I n1euwe programma:
Er is niet zomaar besloten een nieuw programma te schrijven. Daar zijn een aantal redenen voor:
1. De belangrijkste reden is weI het feit dat de resultaten van de berekeningen uitgevoerd door het oude programma niet geheel in overeenstemming met de praktijk zijn (zie tabellen bIz. 26 en 27 en bijlagen 5) . De resultaten vertonen een bepaalde spreiding t.o.v. de waarden gemeten bij het TUE onderzoek naar de invloed van de gereedschapsgeometrie op de maximaal benodigde en kritische kracht. De formules gebruikt in het oude programma moeten dus herzien of zelfs vervangen worden. De formules die in het nieuwe programma gebruikt zullen worden, worden in het laatste hoofdstuk afgeleid.
2. Een andere reden het oude programma te herzien is dat het gebruikers-gemak verbeterd kon worden. Ret feit dat het programma onderbroken moet worden als er verkeerde parameters zijn ingegeven werkt niet erg prettig. Er wordt verder ook niets gedaan eventuele fouten te voorkomen, door te controleren wat er ingevoerd is. Als er bij het oude programma een verkeerde toets gedrukt wordt, b.v. een letter i.p.v. een cijfer, slaat het programma vast. Dit zijn allemaal punten die voor verbetering vatbaar zijn, en waarop wordt gelet bij schrijven van nieuwe programma.
-33-
pascal-programma Kracht_Weg_Model
3. Een laatste reden die aangevoerd kan worden om het programma te wijzigen is dat het moeilijk te lezen is. Er moet ver gezocht worden om de structuur van de formules te achterhalen.
Door de benaming van de variabelen te veranderen kan het geheel een stuk inzichtelijker opgebouwd worden, b.v.:
De volgende twee regels uit het oude programa,
* ab:=Oj * ac:=Oi
zeggen niet zoveel als:
* maxF_fl:=O; ~ maximale Kracht (Eorce) deformatie flens
* maxFfr_fl:=O; ~ ~imale Kracht (F) wrijving (Friction) flens
Hoe het wijzigen van de variabelen de leesbaarheid vergroot komt in het tweede verslag aan de orde, waar het nieuwe programma verder uitgewerkt wordt.
34-
pascal-programma Kracht_Weg_Model
5: De afleiding van de nieuwe fer.mules veer de benedigde
dieptrekkracht:
5.1 Inleiding:
De volgende definit van de formules:
worden gehanteerd bij de afleiding
Fig. 4
initHHe straal momentane straal trekspleet gemiddelde straal init dieptrekverhouding ~o
momentane dieptrekverhouding: ~
tot ale benodigde kracht FD
r D
rp = ruo
ru = Fl
- rp + ~so
/ r i
/ r i
+ F2 + +
F1 : kracht voor de deformatie van de flens (FDfl )
(1 )
(2 )
F4
F2 : kracht voor de wrijving tussen plooihouder, flens en matrij s (Fpr fl)
kracht voor het buigen en terugbuigen om de matrij safronding (FD_P)
F4 : kracht voor de wrijving om de matrijsafronding (F Fr_p)
-35-
pascal-programma Kracht_Weg_Model
5.2 Defor.matie van de flens:
Eerst moet een model voor de rekken en de deformatieweerstand a f afgeleid worden.
5.2.1 Defor.matie-model:
Uitgangspunten: - de flens blij ft planparallel ....,. s #- S (r)
- voor r = ru lijnspanning ....,. ar = 0, az = a - anisotropie:
Volumeinvariantie voor een ringelement:
s
•
ecJ> (r) [ 2 (2 ) 1 r 1 r uO r u 8 ecjl::::Ln- =--Ln --- ---1 -
ro 2 r2 r2 8 0
Volumeinvariantie voor r=ru:
-36-
pascal-programma Kracht_weg_Model
(3) 8 =(~) 8 0 ~
~Ol ~ zie (1) , (2)
(4) 1 ~o (5 ) Iu JL € =--Ln- € Ln-- =Ln z R+l p cPr=r u Iuo ~o
(6 ) € cPr=r i -~Ln[p~ (PL1)( ~o) R;,]
Met anisotropie-model volgens Backofen, Hosford en Kals:
1
e [R+l (€2+€2+R€2)]2 2R+l 1 2 3
€1 = €r = - (€cJ>+€z)
€2 = €Q>
Dimensieloze spanning:
(9 ) a' = a C
-37
pascal-programma Kracht_Weg_Model
0'
I- 0' lu ~ I
(10)
N.B.
(11)
(12)
I I
1
-a' ) fu
Aangenomen wordt een lineaire verdeling van a' f volgens:
1-
Bij de berekening van de effectieve rek is uitgegaan van een rechte rekweg. Dit is niet exact: afwijking t.o.v.
is ongeveer 2%, fout in a f < ~%.
e = In Po u P
e = _l_Ln Po Zj R+1 P
-38-
pascal-programma Kracht_Weg_Model
5.2.2 Krachten-evenwicht:
a) wrijvingsloos § 5.2.2
r---- r b) wrijvingsinvloed § 5.3
Evenwicht op de schil:
(13) dr do + (0 -O.lJ - ==0 r r '¥ r
Benadering met gecorrigeerde vloeivoorwaarde volgens Tresca:
(14)
( \l." .. _ ...... _ .. ..
1 s K' f S 1.1
...... ~ ...... -.... --~--..
/- or Flens: -2 s 0<p s 0
39
o r= trek
ocIJ=stuik
in het IV e
kwadrant
pascal-programma Kracht_Weg_Model
Uit (14) voIgt:
(15)
Vloeivoorwaarde voor anisotroop materiaal:
(16) met Oz 0
a 2 2 Or f aT
+ 1 - 2R K 2 + 1 2R K$ = --
a 2 a 2 R+I O(jl (jl R+1
$ $
Of = ~ K$2 + 1 - 2R
K$ 0$ R+l -m.b. v. (IS) K'
- 1 - - f
~ K<f>2 + 1 - 2R K(jl
R+1
(17) K' - I) 2
f 2R K2 + 1 - Kcp cp R+l
Kif is maximaal als de term onder het wortelteken maximaal is. Aangenomen wordt dat R constant is.
--
(K<f>-1)2
(K",2 + 1 - -- K<f>l 2 't' R+I
KcJ! -1
4R 2 2R -- K<f> - 2 K", + -- K<jl + 2 K .... R+ 1 'I' R+1 'I'
2R R+1
o
40-
2R R+I
o v
pascal-programma Kracht_Weg_Model
K' R- 2*N- I4.R:4 - f2R:2 fmax 2+~ - 2+~ -~~-~""2R+1 R+1 R+1
Toegepast wordt een gemiddelde Kf waarvoor geldt:
(18)
(19)
(20 )
1 + l: (K' f - 1) 3
K =~ +l: f2};2 f 3 3~~
Oplossen van de differentiaalvergelijking (13) met behulp van vergelijking (10) en (20):
=>- Ka =
, ( (a'f. = Kf a fu 1 + a' f~
a' f u
"K,o' ,"(1 + (K.
-41-
pascal-programma Kracht_Weg_Model
=> d(J I = _ ( (J , (J ',..) dI x x 'I' I
=> d(J I
x - K (J I [1 + (K - 1) 1-t 1 dI f fu 0 I
1-Iu
- d(J' x 1 dI _ (Ko - 1) _-=-1_ dI)
I I4 Iu 1--·
Iu 1-
(21)
1-
pascal-programma Kracht_Weg_Model
5.2.3 Bijdrage van de flensdeformatie aan de benodigde dieptrekkraoht:
F =0' *A
(22 ) FD =0' *21tI·S rl r(r=Xi) ~
(23 ) F*= F ,... ==
21t IpSoC Dn 21tIp S oC
0' 21t S Ii F* ==
r (r=xi) , S =0' --
Drl C 21tIp S o Ip So
I·
(K.-l) 1 Iu (
1--~
(24) 0" =K 0" [1 + 1) Ln- - K
I(x-Xi) f fu I. (J
1- ~ 1 Iu Iu
=KfO' f"[[l + (K. - 1) lLn p 1-~
P K. + 1]
~ =( ~o) Ii
1+ 1 So
Ip 2 Ip
(25) · ,[[ ~-1 1 P K. + 1] * ( PpO ) *( 1 + F D == KfO' f 1 + Ln rl u 1
1--P
Hierin (25) zijn dus de volgende factoren verwerkt:
(19) K =~+~ ~ f 3 3~~
-43
1 ~) 2 Ip
(26)
(27 )
(12)
K = o 0
fu
O'f = __ 1
0'
1 ~o e =--Ln-z R+1 ~
pascal-programma Kracht_Weg_Model
(11) co Ln ~o ""u ~
(volgens Nadai)
-44-
pascal-programma Kracht_Weg_Model
5.3 Bijdrage van de wrijving tussen flens, matrijs en plooihouder aan de benodigde dieptrekkracht:
I ~I Ilfl ~_.~'-
_,..,...-___ ,..,...-~::-.... -- ~r fl Plooihouderdruk wordt ingesteld bij t=O (ruo ) en dus : Fpl
(30) FFIfl::;; 21lflFpl
(31) Fpl =PPl1t[Iu~ - (ID+PD)2]
( 32 ) P pl ::;; 0 . 0022 s[ ( Po - 1) 2 + 0 • 005 Po ( 2 ~ p ) 1 nne eo -n
Benadering van de plooihouderdruk Pp1 volgens Siebel.
ui t (30), (31) I (3 2) en (23) voIgt:
F* ::;; __ -=_ = 21ln F pl FIn 21tIp S oC 21tIp S oC
2IlnPPl1t[I2uo - (I D+PD)2]
21tIp S oC
-45
const.
pascal-programma Kracht_Weg_Model
F'" Frfl
{33A}
(33B)
= IJ.fl
Formule (33A) wordt toegepast als er een andere plooihouderdruk, als de berekende plooihouderdruk volgens Siebel, formule (33B), wordt ingesteld.
46-
pascal-programma Kracht_Weg_Model
5.4 Bijdrage van de wrijving over de matrijsafronding aan de benodigde dieptrekkracht:
Fa ....... -
/ touw-model: Fb = FaelH~
~ p
F* = F' * + F* + 1:. F* a Dn PIn 2 Dp
(34) F* PIp::: 1.6I..1.p F * a
=1.6I..1. p (F'*D +F*PI +1:. F *D) fl fl 2 p
Fb::: Fa (1 + JUt)
1t F=FIIQ;=FII-a ar- ar- 2
In formule (34) verdienen de volgende termen een extra uitleg:
- de term F*DP is de kracht voor de dubbele buiging (buigen en terug-buigen) om de matrijsafronding. Deze term wordt in §S.S afgeleid. Hier is het terug-buigen echter niet van belang. Vandaar dat de helft van deze term genomen wordt I ~F* Dp
F /,, . d - D_fl 1S e
flens. Deze kracht voor de deformatie, stuiken, van de kracht treedt op tot r = r D + PD:
e (22)
-47-
pascal-programma Kracht_Weg_Model
F* = --=--:::; Dfl 21t r pSo
1-""'£ a' r (r) e (21)
- Fr* a' r(r=rD+PD) * r D+ PD *( Po ) R!l
Dfl rp P
- e (33) Frfl
- F* zie §5. 5 Dp
-48-
pascal-programma Kracht_weg_Model
5.5 Bijdrage van de dubbele buiging over de matrijsafronding aan de benodigde dieptrekkracht
Ret buigen (en terug buigen) wordt gezien als een stationair proces, met ideaal plastisch materiaal.
(35)
Met ansiotropie l vergelijking (7), en vlakke deformatie:
€ buig = \€11
(R + 1) :2
2R+l
S at *K -
i P PD = --------~------------------
=K ~ P PD
=K S P PD
(R+1) 2 S at -'-_--'-_ * * * __ i
R+l Ip So C
(R + 1 ) 2 (1 1 So) (~o) R! 1 • -'------'-- * + -- - * - * a t 2R+1 2 Ip P i
-49-
pascal-programma Kracht_weg_Model
Sar ~ )-.h F*D =K
p p PD
(R + 1) 2 (1 + 1 ~) (1E.) 2R+1 2 Ip P
K :0: 1 p 2
(36 )
(12)
F* =K SO (Po) 2R2+1
Dp P PD P
€ =€ = _l_Ln Po zi z R+1 P
(R+1)2 (1+~ So) a' 2R+1 2 I fj
P
-50
pascal-programma Kracht_Weg_Model
5.6 De totaal benodigde dieptrekkracht
De totaal benodigde dieptrekkracht is de som van aIle deel vermogens:
(37)
-F* Dn
-F* FIn
-F* Fr p
F* = F* +F* +F* +F* D DEl FIn Frp Dp
zie § 5.2.3, bIz 37
zie § 5.3, bIz 39
zie § 5.4, bIz 40
zie § 5.5, bIz 43
V~~r de totaal benodigde dieptrekkracht in Newton's moet de dimensieloze dieptrekkracht worden omgezet:
(39) FD=F*D*21tTp S oC
-51-
pascal-programma Kracht_Weg_Model
5.7 De berekenings-resultaten van het nieuwe programma:
Worden de gemeten waarden van de maximaal benodigde diep trekkracht voor de verschillende materialen en matrijsgeometriem vergeleken met de berekende waarden van het nieuwe programma dan krijg je het volgende beeld:
Materiaal 2· . Pd [mm] SO/Pd F*max nieuw F* max Afwijking
berekend gemeten [%]
2 0.45 0.660 0.58 13.80
4 0.255 0.533 0.52 2.50
6 0.15 0.478 0.48 -0.42
8 0.113 0.440 0.45 2.56
10 0.09 0.422 0.37 4.20
Materiaal 6· . Pd [mm] SO/Pd F*max nieuw F* max Afwijking
berekend gemeten [%]
2 0.50 0.654 0.46 42.17
4 0.25 0.517 0.42 23.10
6 0.17 0.458 0.40 14.50
8 0.125 0.416 0.38 9.47
10 0.10 0.397 0.39 1. 79
-52
pascal-programma Kracht_Weg_Model
Materiaa1 11--Pd [mm] SO/Pd F* max nieuw F* max Afwijking
berekend gemeten [%]
2 0.40 0.619 0.52 19.04
4 0.20 0.506 0.50 1.20
6 0.13 0.456 0.46 -0.87
8 0.10 0.421 0.43 -2.09
10 0.08 0.407 0.37 10.00
Materiaa1 23--Pd [mm] SO/Pd F'" max nieuw F'" max Afwijking
berekend gemeten [%]
2 0.33 0.838 0.70 19.71
4 0.165 0.741 0.64 15.78
6 0.11 0.693 0.62 11.77
8 0.083 0.657 0.59 11.36
10 0.07 0.625 0.51 22.55
Uit de resultaten blijkt dat voor de materialen 2 en 11 de afwijkingen acceptabel zijn zolang de matrijsafronding tussen de 4 en 8mm liggen. De afwijking blijft dan onder de 3%.
V~~r de materialen 6 en 23, dit zlJn de aluminiumsoorten, blijkt echter dat de afwijkingen aanzienlijk hoger liggen. De gemiddelde afwijking ligt rond de 17%. Dit is te hoog.
-53-
pascal-programma Kracht_Weg_Model
Het blijkt echter ook dat als de factor Kp in vergelijking (36) I dit is de vergelijking voor de berekening van de buigkracht om de matrijsafronding l op 0 wordt gesteld, dat de afwijkingen voor aluminiumsoorten weI accept abel zijn. Hieruit valt dan af te leiden dat het aandeel van de buigkracht in de totaal benodigde dieptrekkracht voor aluminium, zoals die voorheen berekend werd, waarschijnlijk overschat wordt.
Wordt er voor aluminium doorgerekend met de factor Kp=O dan zijn de resultaten als voIgt:
Materiaal 6' . Pd [mm] sO/Pd. F*
lIIIiIX nieuw F* max Afwijking
berekend gemeten [%]
2 0.50 0.437 0.46 -5.00
4 0.25 0.416 0.42 -0.95
6 0.17 0.393 0.40 -1. 75
8 0.125 0.369 0.38 -2.89
10 0.10 0.355 0.39 -8.97
Materiaal 23· . Pd [mm] SO/Pd F*
lIIIiIX nieuw F* max Afwijking· berekend gemeten [%]
2 0.33 0.684 0.70 2.29
4 0.165 0.664 0.64 3.75
6 0.11 0.643 0.62 3.71
8 0.083 0.619 0.59 4.92
10 0.07 0.595 0.51 16.67
-54
pascal-programma Kracht_weg_Model
Achterin de bijlagen is een grafische voorstelling opgenomen van bovenstaande tabellen. Hierin is voor aluminium gerekend met Kp=O. In de grafische voorstelling komt duidelijk naar voren dat zolang de afrondingsstraal van de matrijs tussen de 4 en 8mm ligt de resulaten van het programma acceptabel zijn.
-55
pascal-programma Kracht_Weg_Model
6: Literatuurlijst:
* Plastisch bewerken van metalen:
* Instruktiehandleiding voor student-assistenten in de omvormtechniek:
* stencils afleiding formules:
* Handleiding Turbo-Pascal 6.0:
-56-
dr. ir. J.A.H. Ramaekers ir. L.J.A. Houtackers ir. P.B.G. Peeters
M.Th. de Groot
dr. ir. J.A.H. Ramaekers ir. M. Kessels
Bijlagen
8: Bijlagen:
1. De VARUNIT:
Unit varuniti {***********************************************************************
* * * UNIT * Versie * Datum * Taal * Systeem * Programmeur
* * Informatie
* * * * Tel
*
Varunit 2.00 April 1993 turbopascal 6.0 (Borland) Crip-AT J.G.E. van Lieshout R.B.N. Hartong (stagair HTS-Venlo) Technische Universiteit Eindhoven Faculteit der werktuigbouwkunde Vakgroep Productietechnologie en Automatisering Laboratorium voor Omvormtechnologie 040-472874 (dr. ir. J.A.H. Ramaekers)
* * * * * * * * * * * * *
***********************************************************************}
INTERFACE
TYPE Naam= ARRAY[1 .. 5] of STRINGi
Waar= ARRAY[l .. 6] of BOOLEAN; inter=ARRAY[l .. 9] of INTEGER;
VAR
so : REAL; { ruo : REALi { Rp :REALj { Rd : REALi { ri : REAL; { ro : REAL; {
ru : REAL; { Pp : REAL; { pd : REAL; { Eo : REAL; {
plaatdikte } initiele buitenstraal v/d flens } Stempelstraal R-punch} Matrijsstraal R_die} Gemiddelde radius } raduis van hart stempel tot begin bocht flens{ro=Rp+so+pdl} momentane buitenstraal v/d flens } afrondingsstraal v/d stempel } afrondingsstraal v/d matrijs } voordeformatie EO}
Fkr1 : REAL i { huplvariabele voor kritische dimensieloze kracht } Fkr2 : REAL; { Fkritish:REALi { Ra : REAL; { n : REAL j {
u : REAL; { C : REAL; { Ppl : REAL i {
, I I ,
kritische dimensieloze kracht } Anisotropiefactor} verstevigingsexponent } wrijvingscoefficient versie 1} karakteistieke deformatieweerstand } plooihouderdruk }
-57-
I , }
Bijlagen
G
h d
:REALi{ hulpvariabele voor Fl }
: REALi { II " "}
: REAL; {hulpvariabelevoor Fl en F4}
B : REALi {
Bo : REAL; {
BO :Real;{ B eind : REAL; { stap_l : REALi { maxB : REAL i {
gamma :real;{ Ez :real;{ Efi u :real;{ Efi i :real; { Ef u :realj { Ef i :realj { sigmaf_u:real;{ sigmaf_i:real;{ AA :real; { BB :real; { al :rea1i{ a2 :rea1i a3 u :real; a3 i :reali a4 :real; as :real; a6 :real; a7 : real i int : inter; intl :real;
momentane dieptrekverhouding ruo/ru (vaak in de praktijk toegepast>} initiele dieptrekverhouding ruo/rp {vaak in de praktijk toegepast>} werkelijke betao} dieptrekverhouding } stapgrootte van B } de waarde van B bij Fmax } s/so} epsilon, rek in z-richting} epsilon, rek in fi-richting voor r=ru} epsilon, rek in fi-richting voor r=ri} epsilon, plastische deformatie voor r=ru} epsilon, plastische deformatie voor r=ri} vloeivoorwaarde voor r=ru } vloeivoorwaarde voor r=ri } parameter A uit benadering v~~r sigmaf } parameter B uit benabering voor sigmaf } hulpvariabele }
int2 : integer; int3 :integeri iksl :real; ikslO :rea1i{ veranderd } ikslOO :real;{ } iks2 : real ; parameter:reali
Fl : REAL; { dimensieloze kracht t.b.v. stuiken/rekken v/d flens } F2 : REALi { , I I'
, , wrijving flens/plooihouder} F3 : REALi { F4 : REAL; { Ftot : REAL; { Fmin : REAL; {
Fmax : REALi { Fgroot : REAL; {
, , , , dubbele buiging } , I "
wrijving matrijsafronding totaal dimensieloze kracht } de min. waarde van de dimensieloze krachten of dimensielose kritische kracht } de max. waarde v/h totale dimensielose kracht de max. waarde v/h totale dimsielose vermogen of dimensieloze kritische kracht }
-58
}
fa : TEXT; {
fb :TEXTi {
fc :TEXTi {
fd :TEXTi {
fto : TEXT ; {
f :TEXTi {
pa :Waar; {
Bijlagen
file waarin de dimensieloze kracht weg-data t.b.v stuiken/rekken wordt weggeschreven } file waarin de dimensieloze kracht weg-data t.b.v. wrijving plooihouder/flens wordt weggeschreven } file waarin de dimensieloze kracht weg-data t.b.v. dubbele buiging wordt weggeschreven } file waarin de dimensieloze kracht weg-data t.b.v. wrijving matrijsafronding } file waarin de totale dimensieloze kracht weg data wordt weggeschreven } file voor het inlezen van de dimensieloze kracht-weg data} geeft aan of een bepaalde dimensieloze kracht weI (true) of niet(false) meegenomen moet worden}
filenaam:Naami{ namen waaronder de dimensieloze kracht-weg data worden weggeschreven}
Xl X2 Yl Y2
titel
klbl klb2 kltl klt2 path
{enkele
ab ac ad ae
:REALi{ x-coordinaat linkerbovenhoek van de window} :REALi{ x-coordinaat rechteronderhoek van de window} :REALi{ y-coordinaat linkerbovenhoek van de window} :REALi{ y-coordinaat rechteronderhoek van de window} :STRINGi{ tekst om op de eerste regel van de grootste window
te plaatsen } :WORDi{ kleur van de grootste window} :WORDi{ kleur van de kleinste window} :WORDi{ tekstkleur van de titel } :WORDi{ kleur van de tekst in de kleinste window} :STRINGi{ path voor het wegschrijven van de f-s kromme }
extra variabelen }
:realj :reali :reali : real j
IMPLEMENTATION BEGIN END.
59-
Bijlagen
2. De funktie Ja Nee:
FUNCTION Ja_Nee:booleani {***********************************************************************
* * * * input
* output -true ala met ja (j of J) en false als er met nee (n of N) * * geantwoord is * * * * funktie: -vraagt of er bepaalde opdrachten weI of niet uitgevoerd * * moe ten worden * * * * * * * **********************************************************************}
VAR vervolg: BOOLEAN; antwoord: CHAR; {variabele voor het antwoord van de vraag}
BEGIN Readln(antwoord) ; vervolg:=(antwoord='n') OR (antwoord='N') OR (antwoord='j') OR
(antwoord='J') i
WHILE NOT vervolg DO BEGIN
Write{/Geef een j in v~~r ja en n in voor nee: '); Readln(antwoord}; vervolg:=(antwoord='n / ) OR (antwoord=/N/ ) OR (antwoord='j/) OR
<antwoord=/J') ; E~i
Ja_Nee:=(antwoord='j/)or(antwoord='J / ); Writelni E~i
-60-
Bijlagen
3. De procedure Make_Window:
Procedure Make_window(xl,yl,x2,y2:integerititel:stringiklbl,klb2,kItl, klt2:word);
{*********************************************************************
* * *input:- xl: x-coordinaat Iinkerbovenhoek window * - yl: y-coordinaat linkerbovenhoek window
* * * * * * *
- x2: x-coordinaat rechteronderhoek window - y2: y-coordinaat rechteronderhoek window - titel: tekst om op de eerste regel van de grootste window
te plaatsen klbl: kleur grootste window klb2: kleur van de kleinste window
- kItl: textkIeur van de titel * - kIt2: kleur van de text in de kleinste window *output: een window waarin een kleiner window geplaatst wordt
* *funktie: het plaatsen van twee gekleurde windows in elkaar. * Op de eerste regel van de grote window wordt de tekst * geplaats van de variabele * titel. De kleur van de tekst is ook in te geven.
*
* * * * * * * * * * * * * * * * *
********************************************************************}
BEGIN Window(xl,yl,x2,y2)i Textbackground(klbl)i Textcolor(kltl)i CIrscri GotoXY(round«(x2-xl)/2)-length(titel)/2),l)i Write (titel) i
Window(xl+l,yl+l,x2-1,y2-1)i Textbackground(klb2) ; Textcolor(klt2) i
Clrscr; END;
61-
Bijlagen
4. Het hoofdprogramma:
Program Kracht_weg_model (input,output)i {*********************************************************************** * * * Program * versie * Datum * Taal * Systeem
Kracht_weg_model 1.00 Juli 1992 Turbo-Pascal 6.0 Cirp-AT
* Programmeur A. de Winter * Informatie Technische Universiteit Eindhoven * Faculteit der Werktuigbouwkunde * Vakgroep Productietechnologie en automatisering * Labaratorium voor Omvormtechnologie * Tel 040 - 472874 (dr. ir. J.A.H. Ramaekers) * Omschrijving: Dit programma kan de data van dimensieloos
* * * *
vermogen wegkromme wegschrijven van een axisymmetrisch dieptrekprodukt. Dit alles gebeurt d.m.v. benaderingsformules.
* * * * * * * * * * * * * * * *
***********************************************************************} uses Crt, Graph, Varunit, Grafreali
{********************************************************************** * * * HOOFDPROGRAMMA * * * *********************************************************************}
BEGIN Textbackground(black) ; Clrscri Ftot:=Oi pa[l] :=falsei pa [2] : =falsei pa[3] :=falsei pa[4] :=falsei pa[5] :=falsei
Make_window(l,l,80,25,' , ,red,blue,white,white} i
GotoXY(34,13} i
Writeln('Version 1.00'); GotoXY{2,2) i
GotoXY(l, 16) i
Writeln(' Copyright 1992. lab. voor Omvormtechnologie TUE') i
Writeln(' Info tel. 040 - 472874'); GotoXY(54,19)i Writeln('dr. ir. J.A.H. Ramaekers') i
GotoXY(54,20) ;
-62
Writeln('A. de Winter'); GotoXY(~,22) j
Bijlagen
Write('============================================================='); Writeln('================='); Textcolor(black) i
GotoXY(20,22) i
Write('Druk op return om het programma te vervolgen')i Textbackground(magenta) ; Window(34,8,48,lO)i Clrscri GotoXY(3,3)i Writeln('DIEPTREKKEN') i
Readlni
Make_window(l,~,80125,'Voer in' ,blue,lightcyanlblack,white)i Writelnj Write(' Geef de plaatdikte (so) [mm] : l) i
Readln(so)i Write (' Initiele buitenstraal van de flens Readln(ruo)i Write (, Radius van de stempel (Rp) [mm) Readln (Rp) ; Write (, Radius van de matrijs (Rd) [mm) Readln(Rd) i
(ruo) [mm)
, ) ;
, ) i
Write(' Afrondingsstraal van de stempel [mm) ') i
Readln (Pp) i
Write{' Afrondingsstraal van de matrijs [mm) '); Readln(pd) i
ro:=rp+pd+soj WHILE ro>ruo DO
BEGIN
, ) i
write (' ruo moet groter zijn dan so+rp+afrondingsstraal van de') i
Writeln(' matrijs')i Write(' Geef de plaatdikte (so) [mm) : '); Readln (so) i
write(' Initiele buitenstraal van de flens (ruo) [mm] ,) i
Readln (ruo) i
write(' Radius van de stempel (Rp) [mm] : ,) i
Readln(Rp); Write(' Afrondingsstraal van de matrijs [mm] ') i
Readln(pd)i ro:=Rp+so+pdi
END; Write(' Voordeformatie van het materiaal (eo) : ') i
Readln(Eo)i write(' Verstevigingsfactor van het materiaal (n) l) i
Readln (n) ; Write(' Anisotropiefactor van het materiaal (Ra) l);
Readln (Ra) i
Write(l Wrijvingscoefficient tussen plooihouder en materiaal (~) ');
-63-
Bijlagen
Readln (u) : Write(' Karakteristieke deformatieweerstand van het materiaal (e)') i
Write (' [N!mm"2] : '); Readln(e): Write(' Plooihouderdruk (PPI) [N!mm"2] I);
Readln (Ppl) ; Textcolor(black) i
GotoXY(l,2l) i
Write('===========================================================') i
Writeln('==================='); GotoXY(34,22) ; Write('Druk op enter') i
Readln:
Window(1,1,80,25): Textbackground(yellow); elrscr; Window(1,2,80,24) ; Textbackground(black); Textcolor(white)i Clrscri Write('Dit programma kan de data van de dimensieloze'); writeln(' vermogen-wegkromme wegschrijven.'); Write('Geef een path voor data uitvoer (bv. c:\tp\) : '); Readln(path); Writelni Writeln('Het totale vermogen kan opgesplitst worden in vier delen:'); Writeln('* Vermogen t.b.v. stuiken en rekken van de flens'): Writeln('* Vermogen t.b.v. wrijving tussen plooihouder en flens'); Writeln('* Vermogen t.b.v. wrijving rond de matrijsafronding'); Writeln('* Vermogen t.b.v. buigen en terugbuigen'}; Textcolor(red} ; GotoXY(30,lO} i
Write('Druk op enter'); Readln; Writelni Textcolor(white) ; Write('U kunt de verschillende deelvermogens weI of niet'); Writeln(' meenemen in het totale '}; Writeln('benodigde vermogen.'); Write('Het vermogen t.b.v. stuiken en rekken ? (J!N) ,) i
IF Ja Nee THEN pa[l]:= TRUE; Write('Het vermogen t.b.v. wrijving tussen plooihouder en') Write(' flens ? (J/N) '); If Ja Nee THEN pa[2]: TRUE; Write ('Het vermogen t.b.v. wrijving rond de'); Write(' matrijsafronding ? (J/N) '); If Ja Nee THEN pa[3] := TRUE; Write('Het vermogen t.b.v. buigen en terugbuigen ? (J/N) ,) i
If Ja Nee THEN pa[4]: TRUE;
64
Texteolor (red) ; Gotoxy(30,22); Writeln('Druk op enter') i
Readln;
filenaam[l]:= 'P_s_l.dat'; filenaam[2]:= 'P_s_2.dat'; filenaam[3]:= 'P_s_3.dat'; filenaam[4]:= 'P_s_4.dat'i filenaam[S]:= 'P_s_tot.dat';
IF pa[l] THEN BEGIN
Assign(fa/path+filenaam[1})i Rewrite{fa)i
END;
IF pa[2} THEN BEGIN
Assign(fb,path+filenaam[2]); rewrite (fb) i
END;
IF pa[3] THEN BEGIN
Assign{fe,path+filenaam[3]) ; Rewrite (fe) ;
END;
IF pa[4] THEN BEGIN
Assign(fd,path+filenaam[4]) ; Rewrite (fd) ;
END;
IF pa[l] or pa[2] or pa[3] or pa[4] THEN BEGIN
ri:=(Rp+Rd)/2; BO:=ruo/Ri {dit is de eehte BO}i
Bijlagen
{ }Fkrl:= exp{n*ln({(Ra+l)*n)/sqrt(2*Ra+l») * SQRT({Ra+l)/(Ra+S»; { }Fkr2: So/pp + So/Rp + exp(n-sqrt(2*Ra+l)/(Ra+l) * Eo) i
{ }Fkritish:={2*3.l4*ri*so*C*}2* Fkrl * (1/Fkr2); pa[S]:= TRUE; {dit had ook in de grafunit gesteld kunnen worden} Assign(fto,path+filenaam[S]) i
Rewrite(fto)i Fmin:= 1000i
Fmax: Oi
ab:=Oi ae:=O; ad: =0;
-65-
ru:= rUOi Bo:= ruo/Rii B:= BOi B_eind:=l.; stap_l.:=(Bo-B_eind)/lOO;
WHILE B>= B eind DO BEGIN
Bijlagen
ru:=B*rii {dit is de momentane buitenkant van de platine} d:= sqrt(Bo/B) i
g:= In(Bo/B) + Eo; h:= exp(ln(g) * n); if ru=ruo then Fl:=O else
BEGIN a2:=(Ra+1.)/(2*Ra+1.); {hulp variabele voor Ef}; gamma:=exp(ln(ruo/ru)*(l./(l.+Ra»): Ez: =In (gamma) :
{Als r=ru dan geldt het volgende } Efi_u:=-l*ln(ruo/ru); a3_u:=Ez/Efi_uj , Ef_u:=abs{Efi_u)*(sqrt(a2*(2+2*a3_u+(Ra+l)*sqr(a3_u»» ; sigmaf_u:=C*exp(Ln(Eo+Ef_u)*n) :
het volgende : } {Als r=ri dan geldt a4:=ru/rij as:=sqr(ruo/ru) ; a6:={1-sqr(ri/ru» :
{drie hulpvariabelen voor Efi_i}
Efi_i:=-1*ln(a4*sqrt(aS-a6*gamma» ; a3_i:=Ez/Efi_i: Ef_i:=abs(Efi_i)*sqrt(a2*(2+2*a3_i+(Ra+1.)*sqr(a3_i») ; sigmaf_i:=C*exp(ln(Eo+Ef_i)*n);
{Voor A en B geldt dan : } a7:=ru/ri; AA:= (1/{1.-a7»*(sigmaf_u-a7*sigmaf_i); BB:=(a7/{1.-a7»*(sigmaf_i-sigmaf_u) :
end;
IF pa[l.] THEN BEGIN
IF ruo<>ru THEN Fl:= 1..1*gamma*«AA/C)*ln(B)+(BB/C)*{1-(1/B»);
ab:=l.l*d*«h-l)*(l-l/B)+ln(B»; if ab > ac then
BEGIN ac:=ab:
END: if Fl. > ad then
BEGIN
-66
ad:=F1i end;
writeln{fa,B,' ',F1); IF F1 < Fmin THEN Fmin:= Fl;
END;
IF pa[2] THEN BEGIN
F2:= 2*u*Rp!So*{B-l)*Ppl/C; Writeln(fb,B,' ',F2)j IF F2 < Fmin then Fmin:=F2;
END;
IF pa [3] THEN BEGIN
{Fl:= 1.1*d*«h-l)*(1 l!B)+ln{B»; } F2:= 2*u*Rp!So*{B-1)*Ppl!Cj F3:= (Fl+F2)*u*pij Writeln{fc,B,' ',F3); IF F3 < Fmin THEN Fmin: = F3;
END;
IF pa[4] THEN
Bijlagen
BEGIN F4:=«h-l)*1!B+l}*1!sqrt(3}*BO/B*EXP(ln{(pd!So}+(1!2*d})*
-1) i
Writeln(fd,B,' ',F4); IF F4 < Fmin THEN Fmin:= F3j
ENDj
Ftot:= OJ
IF pa [1] THEN Ftot:= F1; If pa [2] THEN Ftot:= Ftot+F2j If pa [3] THEN Ftot:= Ftot+F3j If pa [4] THEN Ftot:= Ftot+F4j Writeln(fto,B~' ',Ftot); IF Ftot>Fmax THEN
BEGIN Fmax: = Ftotj maxB:= B;
END; b:= b-stap_1j
END;
67-
Bijlagen
fgroot:= fmax; IF (pa[1] AND pa[2] AND pa[3] AND pa[4]) AND (Fkritish < fmax) THEN
BEGIN Window(1,1,80,25); Textbackground(black) ; Clrscri Make_window(1,lO,80,19," ,red,whitetred,red) i
GotoXY(8,3) ; Write ('De kritische kracht is groter dan de totale') i
Writeln(' optredende kracht'); GotoXY(8,4) ; Write ('Dit produkt met deze geometrie is niet diep'); Writeln(' te trekken'); GotoXY(l,6) i
Textcolor(black);
Writeln('------------ ------------------- ---------------') j
Write (I Druk op return om het programma te vervolgen'); Readln;
E~;
IF Fkritish > Fgroot THEN Fgroot:= Fkritishi {informatie voor maximale waarde grafiek}
IF Fkritish < Fmin THEN Fmin:= Fkritish; IF pa[l] THEN close(fa) ; IF pa[2] THEN close(fb) j
IF pa[3] THEN close (fc) ; IF pa[4] THEN close (fd) j
IF pa[l] OR pa[2] OR pa[3] OR pa[4] THEN Close(fto)j E~i
Window(l,l,80 t 25) i
Textbackground(black)i Clrscri Window(l,l,80,25)i Textbackground(blue) i
Textcolor(white)i Clrscrj Writeln(' Window(1,2,80,24) i
Textbackground(white); Textcolor(black) i
Clrscrj
Voor aIle duidelijkheid') j
IF pa[l] OR pa[2] OR pa[3] OR pa[4] THEN BEGIN
writelnj Writeln(' De data van de vermogen-weg-kromme is weggeschreven.') i
Writeln; Textcolor(yellow)i write(' Het maximaal dimensieloos vermogen is ' ,Fmax:l:2) i
Write(' bij een dieptrekverhouding van I ,maxB:1:2);
68-
Bijlagen
Writeln(' Kritisch dimensiloos vermogen is ' ,Fkritish:l:2); write(' flmax oud = ',ac:l:2,' flmax nieuw = I ,ad:l:2 / '. '); Writeln('Het verschil is ' ,ad-ac:l:2); writeln(' procetueel verschil is ' I l-ad/ac:l:2); writeln(' maximale kracht is ',2*3.14*Rp*so*C*Fmax:4:4): Textcolor(black); writeln; write(' Het totale dimensieloze vermogen is opgebouwd'); Writeln(' uit de volgende deelvermogens:'); IF pa[l] THEN
Writeln(' * Het gedeelte stuiken/rekken van de flens') i
IF pa[2] THEN Writeln(' * Het gedeelte wrijving tussen plooihouder en flens') i
IF pa[3] THEN Writeln(' * Het gedeelte buigen en terugbuigen');
IF pa[4] THEN Writeln(' * Het gedeelte wrijving rond de matrijsafronding');
Writeln; Writeln;
Writeln(' Onder de volgende filenames zijn de data weggeschreven'); IF pa[l] THEN
Write{' Het gedeelte stuiken/rekken v/d flens'); Writeln(' onder' ,path/'P_s_l.dat') i
IF pa[2] THEN Write(' Het gedeelte wrijving tussen plooihouder en flens') i
Writeln(' onder ',path,'P_s_2.dat / ); IF pa[3] THEN
Write(' Het gedeelte rond de matrijsafronding'); Writeln(' onder' ,path / 'P_s_3.dat');
IF pa[4] THEN Write (, Het gedeelte buigen en terugbuigen onder '); writeln(path,'P_s_4.dat');
Write(' De totale dimensieloos vermogen-weg data'); Writeln(' onder ',path,'p_s_tot.dat / ) i
GotoXY(l,22) i
Write ('=============================================== ====='); Writeln('==========================='); Textcolor(red); GotoXY(20,23) ; Write(' Druk op enter om het programma te vervolgen'); Readlni Window(l,l,80,25); Textbackground(black) j
Clrscrj Make_window(l,6,80,20,' , ,blue,lightgray,red,white); GotoXY(l,7); Write('Wilt u de dimensieloze vermogen-wegkrommes opt); Writeln(' het scherm afbeelden (j/n) ? t) i
IF Ja Nee THEN
69-
Bijlagen
graf_real(Bo,B_eind,Fgroot,Fmin,Fkritish,filenaam,path,pal; END
ELSE BEGIN
Write(' Doordat u geen deelvermogens meegenomen heeft,') i
Writeln(' is er oak geen totaal vermogen.') i
Writeln ( , Er is dus niets weggeschreven.') ; GotoXY(1,22) i
Write ('=============================================== ======='); Writeln('==========================') ; Textcolor(red) i
GotoXY(20,23)i Write('Druk op enter am het programmma te beeindigen.') i
Readln; Window(1,1,80,25) i
Textbackground(black) ; Clrscrj
END; END.
-70-
5. Grafische voorstelling van de vergelijking van gemeten en berekende waarden van de maximaal benodigde dieptrekkracht bij het oude programma.
o
~
C\I . . \~ 18 ..., as ~l.'!
c: 0
E 0> -I-0> E :c 0>
0 C)
« \ + 0:: 0
U)
~ T'""
ci
W -0 0 c: (!l ~ - 0> 0 i...
0>
0 .0
f (')
z 0 ....
- .... W
ci
al
0 g ci
55 ~ 0 ~ ~ ~ U')
ci 0 ci ci ci d
:~
-71-
Bijlagen
c 0---0
en
I
....:J tv I
BENODIGDE KRACHT mat: 6 0.60
o berekend + gemeten
0.55
0.50
0.45
0.40
0.35 -+~---- --··1------,--------,----------,
0.100 0.125 0.170 0.250 0.500
0.55
0.50
iC ~ I u.E
...J w 0.45 I
0.40 -i
0.35
0.08
BENODIGDE KRACHT mat: 11
o berekend + gemeten
--------------,------·······,-1 ---------,
0.10 0.13 0.20 0.40
ttl 1-" u. I-' PJ
LQ (I)
::s
BENODIGDE KRACHT mat: 23 0.80
o berekend + gemeten
0.75
0.70
-Ie ~ I
LLE 0.65
...J ~ I
0.60
0.55
0.50 --1---------,-----------,--------.,--------,
0.070 0.083 0.110 0.165 0.330
6. Grafische voorstelling van de vergelijking van gemeten en berekende waarden van de maximaal benodigde dieptrekkracht bij het nieuwe programma.
~ ci
C\I • • ca ~\ E
c: ~~ Q) ....
I-Q)
J: E Q)
0 0)
<C 1 a: ~ \ .~ .,..
c:i
w "'C Cl c:
C!l ~3: - ~::l Cl Q).Q)
0 .cc: Z D
W \~ 1M
I~ OJ
0> 0
I J-~ c:i 0 It) 0 It) ..... co co It)
c:i c:i c:i c:i
-75-
Bijlagen
~ ......... 0
en
0.48
0.46
0.44
ofC~ 0.42 l
I -..J 0'\ u!= 0.40 I
0.38
0.36
0.34
0.100
BENODIGDE KRACHT mat: 6
D berekend nieuw
0.125 0.170
+ gemeten
0.250 0.500
I
...J
...J I
BENODIGDE KRACHT mat: 11
0.60
0.55
I
0.50 ---, ,
0.45
LJ ---~- ---~ 0.40
0.35
0.080 I
0.100
berekend nieuw
1
0.130
+ gemeten
T
0.200 0.400
I --.J OJ I
0.70
0.65
-Ie ~ I • E L.L.. 0.60
0.55
BENODIGDE KRACHT mat: 23
/
o berekend nieuw
+ gemeten
0.50 -\---------,--------,-----------.------
0.070 0.083 0.110 0.165 0.330
Technische Universiteit Eindhoven, Faculteit Werktuigbouwkunde, Vakgroep Produktietechnologie en -automatisering, Laboratotium voor Omvormtechniek.
Kracht-Weg-Model van het dieptrekproces
Deel 2, het programma
R.B.N. Hartong
HS-Venlo Stage verslag Juni 1993 VF-D2D3
Auteur naam R.B.N. Hartong HS-Venlo nr.: WD-12 verslag 111-2
Studie H.T.S. Werktuigbouwkunde
Stageperiode : 01-03-1993 tim 15-06-1993
WPA 1541
Stageplaats : Technische Universiteit Eindhoven
Stagebegeleider Dr.1r. J.A.H. Ramaekers 1r. M. Kessels
Handtekening
SAMENVATTING:
Dit is het tweede deel van een stageverslag over de berekening van de theoretisch maximaal benodigde kracht bij een dieptrekproces. V~~r de uitvoering van de berekeningen is een pascalprogramma geschreven. Dit programma stelt een kracht-wegdiagram op van een willekeurig rotatie-symmetrisch dieptrekproces. Hier zijn dan de maximaal benodigde dieptrekkracht en eventuele deelkrachten uit af te leiden. In het eerste deel van het stageverslag werden reeds de formules afgeleid die in het programma gebruikt worden voor de berekening van de maximaal benodigde kracht. In dit verslag wordt verder ingegaan op de programmatechnische aspecten van het geheel.
De nadruk in dit verslag ligt op de definiering van de variabelen die in het programma gebruikt worden en in het opzetten van de programma-stroom-diagrammen (PSD's) van de programma-onderdelen. Er zal per onderdeel worden bekenen welke variabelen ingevoerd moeten worden om het programma vorm te geven. Er zijn 3 onderdelen te onderscheiden: - variabelen voor de procesparameters - variabelen voor de formules - hulpvariabelen ter vereenvoudiging van de formules - variabelen voor de bepaling van de extremen waarden
(maxima en minima) in het verloop van het kracht-wegdiagram.
Zijn aIle variabelen geintroduceerd dan kunnen de PSD's opgezet worden.
In de bijlagen is een print-out opgenomen van het uiteindelijke pascal-programma met al zijn funkties en procedures.
Titelblad
samenvatting
Inhoud
1: Inleiding
2: Het Programma
2.1 Inleiding
2.2 De werking:
INHOUD:
- de procesparameters - de funktie en procedues - de berekeningsmethode
2.3 De formules:
- algemeen - formules in het programma
2.4 De programma-stroom-diagrammen
- funktie Ja Nee - procedure Schrijf - procedure Make Window - procedure Char Getal - procedure Geef Parameters - hoofdprogramma
:3: Literatuurlijst
~: Bijlagen (print-out)
- Varunit - Schrijf - Make window - Char_getal - Geef-parameters - Hoofdprogramma
Pag.
4
5
5
5
5
6
9
10
10 13
16
17 17 18 19 21 28
39
40
pascal-programma Kracht_ Weg_ Model
1: Inleiding
Dit is het tweede deel van een stageverslag over de berekening van de theoretisch maximaal benodigde kracht bij een dieptrekproces. V~~r de uitvoering van de berekeningen is een pascalprogramma geschreven. In het eerste deel van het stageverslag werden reeds de formules afgeleid die in het programma gebruikt worden voor de berekening van de maximaal benodigde kracht. Deze zullen straks nog even worden opgesomd.
In dit verslag wordt verder ingegaan op de programmatechnische aspecten van het geheel. Eerst wordt beschreven hoe het programma te werk gaat om tot zijn eindwaarden te komen en welke procedures en funkties hierbij gebruikt worden. Hierbij zal iedere keer gekeken worden welke variabelen er in het programma toegepast worden. Tevens zullen de gebruikte forrnules ook nog even aan bod komen. Vervolgens zal worden verklaard hoe, en met behulp van welke variabelen, de formules in het programma worden verwerkt. Tenslotte volgen de programma-stroom-diagrammen (PSD's) van de verschillende programma-onderdelen. Hieruit blijkt dan nog eens hoe het programma is opgebouwd. In de bijlagen is een print-out van het uiteindelijke pascal-programma opgenomen.
-4-
pascal-programma Kracht_ Weg_ Model
2: Het programma
2.1 Inleiding
In het eerste deel van het verslag werd o.a. ingegaan op het vorige programma dat is geschreven voor de berekening van de maximaal benodigde dieptrekkracht. Dit programma werkt met andere formules. De formules die in het nieuwe programma gebruikt worden, werden ook reeds in het eerste deel afgeleid.
Het nieuwe programma heeft een soortgelijke opbouw en werking als het oude, enkel de formules, de gebruikte variabelen en de wijze van invoering van de parameters zijn gewijzigd.
2.2 De werking
De procesparameters:
Voordat er ook maar iets berekend kan worden moeten eerst bepaalde aspecten van het proces bekend zijn, de zogenaamde proces-parameters. Op de volgende bladzijde voIgt een opsomming van de vereiste proces-parameters met hun symbool en hun be naming zoals die in het programma is toegepast, de zogenaamde variabele benaming: (dit zijn niet aIle variabelen, de rest voIgt 11)
-5-
pascal-programma Kracht_ Weg_ Model
Proces-paramaters
BENAMING SYMBOOL BENAMING VARIABELE
Geometrie-gegevens "
de plaatdikte So so initiele buitenstraal flens ruo ruo straal van de stempel rp Rp straal van de matrijs ro Rd afrondingsstraal stempel Pp rhoy afrondingsstraal matrijs Po rho d -minimaal vereiste initiele ro = ro buitenstraal flens :r:R+so+Po
Materiaal-gegevens
de voordeformatie materiaal Eo Eo de verstevigingsfaktor n n de anisotropiefaktor R R alfa -de deformatieweerstand C C
Wrijving-gegevens
wrijvingscoefficient J.Lfl mu fl -plooihouder/materiaal wrijvingscoeffient over J.Lr mu r -
afrondingsstraal
Procesgegevens
plooihouderdruk Ppl Ppl
De funkties en procedures:
V~~r het ingeven van de parameters, het verwerken van de gegevens en uitvoeren van de resultaten zijn verschillende funkties en procedures in het hoofdprogramma gecombineerd. Wordt de werking van het programma in zijn totaal bekeken, met aIle van belang zijnde funkties en procedures, dan kan het geheel als voIgt schematisch worden weergegeven: (zie afbeelding 1)
-6-
pascal-programma Kracht_ Weg_ Model
Hoofdprogramma
I verklaring van de toegepaste variabelen en constanten in het programma:
LVARUNIT
input van de procesparameters:
procedure GEEF _PARAMETERS
in/ezen van de getal-waarden van de parameters:
procedure
Ir"'nlh~ •• ~ maken welke deelvermogens mee te nemen in het eindresultaat: i
i funktie JA_NEE
Het verwerken van de gegevens, het berekenen van de deelvermogens. het sommeren van de deelvermogens en het bepalen van de maximaal benodigde dieptrekkracht met bijbehorende dieptrekverhouding en deelvermogens gebeurt in het hoofdprogramma zonder extra funkties of procedures.
r-:----~ 1-----------, • uitvoer van de resultaten, zoals ze voorheen berekend zijn:
procedure SCHRIJF en procedure GRAF _REAL
Afbeelding 1
In het hoofdprogramma wordt dus, zoals hierboven te zien is, gewerkt met 4 procedures, 1 funktie en de VARUNIT: procedures: Geef-parameters, Char getal, Schrijf
en Graf real funktie Ja Nee
-7-
pascal-programma Kracht_ Weg_ Model
1. de VARUNIT: Hierin zijn aIle variabelen gedeclareerd, waarmee het programma werkt. In de bijlagen voIgt nog een complete lijst van variabelen (vervolg van blz.6,13 en 14) .
2. de procedure GEEF_PARAMETERS: Met deze procedure worden aIle proces-parameters ingegeven, gecontroleerd en eventueel opnieuw ingegeven. Deze procedure maakt verder nog gebruik van de volgende procedure:
3. de procedure CHAR_GETAL: Met deze procedure kan een getal worden ingelezen. Hetgeen ingegeven wordt, wordt gecontroleerd en, mocht er iets niet kloppen, wordt er gevraagd een nieuwe waarde in te geven.
4. de procedure SCHRIJF: Deze procedure dient om de uitvoer van een getal te accentueren door het betreffende getal een andere textkIeur te geven dan de rest.
5. de procedure GRAF_REAL: Deze procedure kan, indien daar om gevraagd wordt, de berekende kracht-weg-kromme grafisch weergeven op het scherm.
6. de funktie JA NEE: Met deze funktie kan worden bepaald of er met 'ja' dan weI met 'nee' op een vraag geantwoord wordt en er kan dan, afhankeIijk van de uitkomst van Ja_Nee ('ja' dan Ja_Nee=true), gehandeld worden. Deze funktie wordt voornamelijk gebruikt voor het bepalen of een bepaald deelvermogen weI of niet moet worden meegenomen in het eindresultaat.
Later in dit verslag volgen van aIle programmadelen, behalve van de procedure GRAF_REAL, de programma-stroomdiagrammen en in de bijIagen de print-out. De procedure GRAF REAL is te uitgebreid om hier behandeld te worden.
-8-
pascal-programma Kracht_ Weg_ Model
De berekenings-methode:
Dit programma beschouwt het beschreven dieptrekproces als een opeenvolging van 100 elementaire dieptrekprocesjes, waarbij de buitenstraal van de flens afneemt van ruo tot r i •
V~~r ieder elementair dieptrekprocesje wordt de benodigde kracht bepaald en samen met de bijbehorende dieptrekverhouding (rjr i ) op schij f bewaard. Zo kan later een krachtweg-kromme met behulp van GRAF_REAL op het scherm worden weergegeven. Bij het doorlopen van de 100 dieptrekprocesjes wordt bijgehouden bij welke dieptrekverhouding de benodigde kracht het grootst is. Zo wordt de maximaal benodigde dieptrekkracht bepaald.
Bij de berekening van de maximaal benodigde kracht wordt dus het dieptrekproces opgedeeld in 100 elementaire delen waarbij de dieptrekverhouding afneemt van f30 (= ruO/ri) tot f3eind (= ri/ri= 1). In het programma gebeurt dit als volgt:
* Bo:: ruo/ri; * B:= Bo; * B_eind::li * stap_l:=(Bo-B_eind)/lOO; * WHILE B>= B eind DO * BEGIN
* I * I {berekenigen} * I * *
B:=B-stap_1 i END;
V~~r de verklaring van de variabelen zie blz. 13.
-9-
pascal-programma Kracht_ Weg_ Model
2.3 De formules
Algemeen:
De afleiding is, zoals gezegd[ in het eerste deel te vinden. Hier voIgt slechts een korte opsomming, en volgorde van toepassing, van de formules zoals die in het nieuwe programma zijn verwerkt.
Zoals in het eerste deel te lezen iS I is de maximaal benodigde dieptrekkracht als voIgt gedefinieerd:
De benodigde kracht is gedefinieerd als de som van de deel-krachten, die benodigd zijn voor de omvorming van de blank tot een cup. Er zijn 4 deelkrachten te onderscheiden: 1: de kracht benodigd voor het deformeren van de flens 2: de kracht benodigd voor het overwinnen van de wrijving
tussen de dieptrekmatrijs, blank en plooihouder 3: de kracht benodigd voor het buigen en terugbuigen om de
matrijsafronding 4: de kracht benodigd voor het overwinnen van de wrijving
over de matrijsafronding.
De formules voor de berekening van de verschillende deelkrachten zijn als voIgt:
1: de kracht benodigd voor het deformeren van de f1ens:
Hierin zijn de volgende faktoren verwerkt:
K =.£ + ~ \2"R:2 f 3 3~2.R+1
-10-
pascal-programma Kracht_ Weg_ Model
o 0' K=~=~
(J rr ' Vf 0 f u u
0' f. = (e i +eo)n ~
e·= ~ R+l [2e2 .... + 2e .... e + (R+l) e2 Z1] 2R+l '1'1 '1'1 Zi
_l_Ln Po R+l P
r B - Uo 0---
Ii
1 I· =r +-8
~ p 2 0
2: de kracht benodigd voor het overwinnen van de wrijving tussen de dieptrekmatrijs, blank en plooihouder:
r2 - (r + p ) 2 P F* - Uo D D pi
Frn - I-Lfl I 8 C p 0
-11-
pascal-programma Kracht_ Weg_ Model
3: de kracht benodigd voor het buigen en terugbuigen om de matrijsafronding:
(R + 1) 2 (1 +.l:. So) a' 2R+1 2 r fi p
4: de kracht benodigd voor het overwinnen van de wrijving over de matrijsafronding:
( )
1 •. r + R+l
F * = a (r = I + P ) * D PD * Po D~l I D D rp P
5. De totale benodigde dieptrekkracht:
F* =F* +F* +F* +F* D Dfl FIfl FIp Dp
-12-
pascal-programma Kracht_ Weg_Model
For.mulas in hat programma:
Voordat de formules kunnen worden toegepast in het programma, moeten voor de nog niet benoemde krachten en faktoren variabelen worden gedefinieerd. Een deel van de variabelen zijn reeds op bIz § gedefinieerd. De variabelen die nog ontbreken/ gezien de bovenstaande formules, worden als voIgt gedefinieerd:
BENAMING
gemiddelde straal initiele dieptrek verhouding momentane dieptrekverhouding dimensieloze kracht voor het
deformeren van de flens . K-faktor vloeivoorwaarde K-faktor vloeivoorwaarde effectieve rek rek in phi-richting rek in z-richting dimensieloze kracht voor
wrijving flens/plooihouder wrijvingscoefficient flens/
plooihouder dimensieloze kracht voor
bubbele buiging Dimensieloze kracht v~~r
wrijving over matrijsafronding
wrijvingscoefficient afronding dimensieloze kracht voor het
deformeren van de flens van r=ruo tot r=ro+Po (enkel voor berekening van F* fr_p)
tot ale dimensieloze kracht
-13-
SYMBOOL
F* o
VARIABELE BENAMING
ri Beta 0
Beta F fl
Kf sigmaf_u Ks sigmaf i Eps_eff_i Eps_fi Eps_z
Ffr fl
mu fl
F rho
Ffr rho mu r
Ffr F fl
Ftot
pascal-programma Kracht_ Wag_Model
Nu is het in principe mogelijk de formules in het programma te implementeren, gebruik makende van de nu gedefinieerde variabelen. Wordt dit echter gedaan, dan worden de vergelijkingen in het programma zeer onoverzichtelijk en slecht leesbaar. Vandaar dat er een aantal hulpvariabelen worden gebruikt om het geheel een beetje overzichtelijk te houden:
Extra hulpvariabelen bij toepassing formules
BENAMING SYMBOOL / BENAMING DEFINITIE VARIABELE
praktische dieptrekverhouding f3p Betay hulpvariabele anisotropie R1=R alfa+1 R1 -hulpvariabele anisotropie R2=2R alfa+1 R2 -hulpvariabele dieptrek- B1=Beta-1 verhouding Bl
quotient dieptrekverhouding Quot_Beta = Quot Beta -Beta_o/Beta
quotient plaatdikte Quot s =s/so Quot s - -quotient stralen Quot r= Quot r - -
(Rd+PD) /ru
Met de nu gedifinieerde variabelen kunnen de formules goed toegepast worden. Met andere woordeni de deelkrachten kunnen uitgerekend en gesommeerd worden ter bepaling van de benodigde dieptrekkracht.
-14-
pascal-programma Kracht_ Weg_ Model
Hetgeen nu nog rest is het bepalen van de maximaal benodigde dieptrekkracht. Hiervoor zijn dan nog een aantal extra variabelen nodig:
Extra variabelen ter bepaling van de extremen
BENAMING
maximum FO_fl maximum F fr_fl maximum Ffr_p maximum Fo_p maximaal benodigde kracht kleinst voorkomende kracht
(nodig voor grafische voorstelling op scherm)
grootst voorkomende kracht (nodig voor grafische voorstelling op scherm)
SYMBOOL
maxFO_fl maxFfr_fl maxFfr_p
maxFo p
Fmax Fmin
Fgroot
BENAMING VARIABELE
maxF fl -maxFfr fl -maxFfr rho -maxF rho -Fmax Fmin
Fgroot
De voornaamste variabelen die in het hoofdprogramma voorkomen zijn nu behandeld. Hoe alles nu uiteindelijk in het programma tot uitdrukking komt, is verderop in dit verslag te zien in het programma-stroom-diagram van het hoofdprogramma.
Voor de funktie en procedures worden nog enkele andere variabelen toegepast. V~~r een complete lijst van aIle variabelen zie de VARUNIT in de bijlagen.
-15-
pascal·programma Kracht_ Weg_ Model
2.4 De Proqramma-Stroom-Diaqrammen (PSD's)
Om duidelijk te maken hoe de structuur van een programma eruit ziet en hoe het werkt, is een PSD een goed hulpmiddel. Een PSD kent in principe 3 eenheden om het vervolg van een programma vast te leggen:
~~
•
Geeft enkele voorwaarde aan. b.v. een 'IF· THEN' statement
Geeft een enkel commando aan. b.v. een WRITE' - commando
Geeft een terug-komede voorwaarde aan, b.v. een 'WHILE - DO' - statement
Met deze 3 eenheden kan elk programma schematisch worden weergegeven. Nu volgen de PSD's van aIle programmadelen. Om het uiteindelijke pascal-programma te verkrijgen zoals het in de bijlagen terug te vinden is, moet men enkel de PSD's omzetten in een voor TURBO-PASCAL begrijpbare taal.
-16-
PSD: Ja_Nee, Schrijf pascal-programma Kracht_ Weg_ Model
Begonnen wordt met de kleinere delen, en geeindigd met het hoofdprogramma:
FUNKTION JA_NEE
read (antwoord)
vervolg = (antwoord='n1 of (antwoord='N') of (antwoord-'j') of (antwoord·'J')
zolang vervolg "false" is doe
write (" Geef een 'j' in voor ja en een 'n' voor nee: ")
read (antwoord) ~" ..
vervolg = (antwoord-'n') of (antwoord='N1 of (antwoord-'j') of (antwoord-'J')
Ja_Nee ... (antwoord "" 'j') of (antwoord ... 'J')
PROCEDURE SCHRIJF
textkleur (zwart) -~----------------------------~---I
write (getal :1 :komma) /----------- --------------~~~--~~-textkleur (geel)
-17-
i
PSD: Make_window pascal-programma Kracht_ Weg_ Model
PROCEDURE MAKE_WINDOW
window (x1, y1, x2, y2) I textachtergrond (klb1)
textkleur (klt1)
schoon scherm (clear screen)
ga naar schermpositie XV { round ( (x2 - xl) _ length (titel» I 1 )
2 2 r----.. --..
schrijf ltite!l)
window (x1 +1, y1 +1, x2-1, y2-1)
textachtergrond (klb2) .. -~ .. --...
textkleur (klt2)
schoon scherm (clear screen)
-18-
PSD: Char .. getal pascal-programma Kracht_ Weg .. Model
PROCEDURE CHAR_GETAL
retrun ... false
zOlang_1 - true
zolang_2 - true
zolang zolan9-1=true doe
write (' #')
getal '" 0
d-1
komma - false
read (a)
~o~ ( ord(a)-44 ) v ( ord(a)-46 ) THEN ELSE
~ 1\ ord(a)~57 else th~CHR~i then
getal-ord(a) - 48 I ( regel afsluiten met) ( regel afslulten met) read In readln
~V~ rIetum - true write (' GEEN then else GETAL II')
komma - true .. I . . zolang .. 1 - false
getal" -1 zolang_1 = true zolang zolan9-2-true en nlet hat elnde van de regel bereikt is, doe zolang 2 .. true
read(a)
b"a . __ ... __ .-
~V~ th !\ komma'" true en else
.. . .. __ ... -zolang_2 - false
~"""-----
( ord{a).,48!\ ord(a)~57)
~44V~ then else
~ma .. ~ zolang_2" false then else
d- d*10 I ord(a)=44 V !
ord{a)-46 !\ ~ma-false then else:
komma-I i true
ord(a):!:48 1\ ~(a)~
getaJ - I getal·10 + ard(ll) -48
( regel afsluiten met) readln
-19-
PSD: Char _getal pascal-programma Kracht_ Weg_ Model
I !
( regel afsluiten met) readln
~2~ then - else
getal _ getal write (' G EEN d GETAL II')
zolang_1 - false zolang_1 - true
zolang 2 - true I
-20-
PSD: Geef_parameters pascal-programma Kracht_ Weg_ Model
CHAR_GETAL (hulpvar, retrun)
then return .. true 1\ Rp ~ 0 -else
Rp-Rp Rp - hulpvar
write (' Straal van de matrijs (Rd) [mm] ')
then Rd ",·1 -else
textkleur (zwart) writeln
write (' (was',ruo:1 :2,' ) , )
textkleur (wit)
writeln
CHAR_GETAL (hulpvar, retrun)
then retum .. true A Rd <!: 0 -else
Rd- Rd Rd - hulpvar --
text achtergrond (zwart)
writeln (' Voor de trekspleet voigt: ',Rd:1 :2,' - ',Rp:1 :2,' - ',(Rd-Rp):1:2)
write (' Afrondingsstraal van de stempel [mm1 ')
then rho...,p '" -1 - else
• textkleur (zwart) writeln write (' (was ',rho_p:1:2,')')
textkleur {wit} I--------~---
writeln CHAR_GETAL (hulpvar, retrun)
then return - true A rho...,p <!: 0 - else
rho...,p - rho...,p rho...,p" hulpvar
write (' Afrondingsstraal van de matrijs [mm]: ')
then rho_d "'-1 else
textkleur (zwart) writeln
write (' (was ',rho_d:1 :2,')')
textkleur (wit)
writeln - ...
CHAR_GETAL (hulpvar, return)
then return - true A rho_d <!: 0 else
rho_d - rho_d rho_d - hulpvar
ro· Rp + rho_d + so
-22-
PSD: Geef_parameters pascal-programma Kracht_ Weg_ModeJ
ro· Rp + rho_d + so
zoJang fO> ruo, doe
textkleur (rood)
text achtergrond (zwart)
writeln (' ruo moet groter zijn dan so+Rp+afrondingsstraai van de matrljs ')
textkleur (wit)
text achtergrond (licht cyan)
write (' Geef de pJaatdikte (so) [mm]: ')
writeln (' (was',so:1:2,')')
CHAR_GETAL (hulpvar,retum) 1----== . .. -then return - true else·
so-so I so - hulpvar ~ ... .-.-~ .. -~ ..
write (' Inltiele buitenstraal van de flens (ruo) [mm]: ')
r~.l"it~was',ruo:1 :2,')' ) CHAR GETAL (hulpvar,retum)
then return - true else
ruo - ruo .. --~--..
I ruo - hulpvar
~rite (Straal van de stempel CRp) [mm]: ')
writeln (' (was',Rp:1 :2,'fl CHAR_GETAL (hulpvar,return) 1-. ...
then return - true else
Rp-Rp I Rp - hulpvar
write (' Afrondingsstraal van de matrijs [mm]: ') I writeln (' (was',rho_d:1:2,')') I
f------- .
CHAR_GET AL (hulpvar,return)
then return - true else f--------
I rho"...d - hulpvar rho d - rho_d ~.
ro= Rp + so + rho_d
MAKE_WINDOW (1,1,80,25, 'Voer in' ,yellow,lichtcyan,black,black)
writeln (' Materiaalgegevens: (2*return voor handhaven vorige waarde)l) ~ ..
writeln (' Wordt er mat aluminium diepgetrokken (J/N) ?')
then JA NEE -true else
aluminium - true I else I then aluminium - true
K_rho-O JKJhO-0.4
write (I Voordeformatie van het materiaal (€o): ') .
-23-
PSD: Geef_parameters pascal-programma Kracht_ Weg_ Model
write r Voordetormatie van het materiaal (€o): ') -then €o ,. -1 else
textkleur (zwart) writeln
write r (was',Eo:1 :2,')')
textkleur (wit)
writeln
CHAA GETAL (hulpvar,retum)
then retum - true 1\ Eo ~ 0 else
Eo-Eo Eo - hulpvar ~ ....
write r Verstevigingsfactor van het materiaal (n): ')
n .. -1 -then else
textkleur (zwart) writeln ~
write (' (was',n:l :2,' )' )
textkleur (wit)
writeln
CHAA_GETAL (hulpvar,retum)
then retum ... treu 1\ n ~ 0 - else
n-n n .. hulpvar
write r Anisotropiefactor van het materiaal (A_IX): ')
A_alfa,. ·1 -then else
textkleur (zwart) wrlteln
write r (was ',A_alfa:l:2,')')
textkleur (wit)
writeln
CHAA_GETAL (huJpvar,retum)
retum true 1\ A_alta ~ 0 - else then
A alta - A_alfa A_alta" hulpvar
write (' Karakteristieke daformatieweerstand materiaal (C) [N/mm2]:')
C ,. -1 -then else
textkleur (zwart) writeln ._-
write (' (was,C:l :2,')')
textkleur (wit)
writeln ~ ...
-24-
PSD: Geef_parameters pascal-programma Kracht_ Weg_ Model
writeln I CHAR_GETAL (hulpvar,retum)
then return - true A C ~ 0 else
C==C C - hulpvar
MAKE_WINDOW (1,1,80,25, 'Vaer in' .yellow,lichtcyan,black.black)
• writeln (' Wrijvlnggegevens: (2*return voor handhaven vorige waarde) ')
I textkleur (wit)
write (' Wrijvingscoefficient tussen plooihouder en materiaal (mu_fI): ')
then mu_fl ¢ -1 else I textkleur (zwart) writeln
~rite (' (was',mu_fl:1:2,')') ---I textkleur (wit)
writeln
CHAR_GETAL (hulpvar,return) r----~------- -then return - true A mu fl ~O else
IITlU_fl - mu_fl mu_fl - hulpvar
write (' Wrijvingscoefficient over de afrondingsstraal (mu_r): ')
then mU3 ¢-1 else
textkleur (zwart) writeln
write (' (was' ,mu_r:1 :2,' )' )
textkleur (wit)
writeln
CHAR GETAL (hulpvar,return)
return - true A mu r ~ 0 -then else
mu_r= mu_r mu_r - hulpvar
MAKE_WINDOW (1,1,80.25, 'Voer in' ,yellow,lichtcyan,black,black) -----~----.. --...
writeln (' Procesgegevens: (2*retum voor handhaven vorige waarde) ') ~.
ri'" Rp + 1hso
8eta_o-ruo n
then so-O else
hulp - 0 hulp ... (8eta_o - 1 )2+ 0.005*8eta_o,. 2 Rp so
PpLh ... 0.OO225*hulp*C*e(n*Ln(n) + Eo - n)
textkleur (wit)
write (' De berekende theoretische plooihouderdruk is: PPUh - '.PpLh:4:2,' [N/mm2]')
-25-
PSD: Geef_parameters pascal-programma Kracht_ Weg_ Model
write (' De berekende theoretische ploolhouderdruk Is: PpUh '" ',PpLh:4:2,' [N/mm21') wrlteln
write (' Ploolhouderdruk (Ppl) [N/mm2]: ')
then Ppl ¢ -1 - else
textkleur (zwart) wrlteln
write (' (was' .Ppl:1 :2: )' )
textkleur (wit)
I writeln
CHAR_GETAL (hulpvar.retum)
then retum '" true - else
t~PI--~e Ppl - hulpvar
Ppl = PpLh ... I PPI"'PPI --.. /---
writeln
then aluminium true else
MAKE_WINDOW (1,1,80,25. 'Materiaal MAKE_WINDOW (1,1,80,25, 'Materlaal aluminium' .yellow,lightcyan.black.black) staal' .yellow,lightcyan,black,black)
writeln (' geometriegegeven5 ')
textkleur (wit)
writeln (' plaatdikte: so [mm] '.50:7:3)
writeln (' initiele buitenstraal flens: ruoJrn~
writeln (' straal van de stempel: Rp [mm]' ,Rp:7:3)
wrlteln (' straal van de matrijs: Rd [mml'.Rd:7:3)
writeln (' afrondingsstraal van de stempel: rho-p [mm]"rho-p:7:3)
wrlteln (' afrondingsstraal van de matrijs: rho_d [mm]' ,rho_d:7:3)
writeln
textkleur (zwart)
writeln (' matariaalgegevens ')
textkleur (wit)
writeln (' karakteristieke deformatieweerstand: C [N/mm2 ]"C:7:3)
wrlteln (' verstevigingsfaktor: n '.n:7:3)
wrlteln (' voordeformatle-graad:€0',Eo:7:3)
writeln (' anisotropiefaktor: R_IX',R_alfa:7:3)
writeln
textkleur (zwart)
writeln (' wrijvinggegevens ')
-26-
PSD: Geef_parameters pascal-programma Kracht_ Weg_Model
writeln (' wrij';;;, ";:0; ') i
textkleur (wit)
writeln (' wrijvingsfaktor plooihouder I materiaal: mu_fl',mu_fl:7:3)
writeln (' wrljvingsfaktor over de ... :;"",,':::; '''' .............. mu_r ',mu_r:7:3)
wrlteln I textkleur (zwart)
writeln (' procesgegevens ')
textkleur (wit)
writeln {' plooihouderdruk: Ppl [~Lmrn2]',rp';I;~}
textkleur (zwart)
ga naar scherposltle XV (1 ,21)
writeln (' -" . J
ga naar schermposltle XV (34,22)
write (' Alles goad ingevoerd (J/N) 7')
then JA NEE = true else
zolang - false I zOI~g - true
-27-
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
HOOFDPROGRAMMA:KRACHT_WEG_MODEL
declaratie van extra varlabelen: VAR zolan9-1: boolean Const fero - 1.60
text achtergrond (zwart)
schoon scherm (clear screen)
MAKE WINDOW (1,1,80,25: ',red,blue,whlte,whlte)
ga naar schermposltie XV (34,13) (gotoXY(. »
writeln (' Version 2.00,)
ga naar schermpositle XV (1,16) (gotoXY ( • » writeln (' Copyright 1993. lab voor Omvormtechnologie TUE ')
writeln (' Info tel. 040·472874 ')
ga naar schermposltie XV (54,19) (gotoXY ( • »
writeln (' dr. ir. J.A.H. Ramaekers ')
ga naar schermposltie XV (54,20) (gotoXY{ • » writeln (' Ir. M. Kessels ')
ga naar schermpositle XV (54,21)
writeln (' R. Hartong ') I
ga naar schermpositle XV (1.22) writeln (' ____ ... ____________________________________________________ I)
ga naar schermpositie XV (20,22)
write (' Druk op return om hat programma te vervolgen ') I
textkleur (zwart) I
text achtergrond (magenta)
window (34.8,48,10) I
schoon scherm (clear screen)
ga naar schermpositie XV (3,3)
writeln (' DIEPTREKKEN ')
readln
pat 1 } - false
pal 2 } - false
par 3} - false
pal 4 } - false
pal 5 } - false
C- -1
n --1
Eo--1
R_alta- -1
-28-
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
80 --1
ruo --1
Rp--1
Rd--1
rho-p --1
Ppl- -1
ro -·1
Ftot-o
zolan~ 1 - true
:¥.~ng::~~~911::~~f;j;:::~<?Jj:::::::::::::::::;:::::::::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:::::::::::;:::
::::::: GEEF _PARAMETERS <tCrho.C.n.Eo.R_a1fa,mu_fl.mu_r.so.ruo,Rp.Rd.rho-p. rho_d,Ppl)
::{: window (1.1.80.25)
::}: text achtergrond (geel)
:::> schoon seIlerm (clear screen)
>::: window (1.2.80.24)
:>:: text achtergrond (zwart)
: <:: textkleur (wit) writeln (' Dit programma kan de data van de dlmensieloze vermogen - weg - kromme
wegschrljven ')
. . .. write (' Geef een path voor de data ultvoer ( b.v. c:\tp\) : ') ;::;::: read In (path)
::::::: writeln (' Het totale vermogen kan opgesplitst worden In vier delen: ••••••• !
• Vermogen t.b.v. stuiken en rekken van de flens ... '1 - Vermogen t.b.v. wrijving tUSlen plooihouder en flens
- Vermogen t.b.v. wrijving rond de matrijsafronding - Vermogen t.b.v. bulgen en terugbulgen over de matrljsafrondlng ')
i----------------~~------~------~~----------~------~---1 :::> textkleur (rood) « 9a naar schermpositle XV (30,10)
\{ write (' Druk op enter ')
}:::: readln
::::::: textkleur (wit)
}\ wrlteln f U kunt de verschillende deelvermogens wei of nlet meenemen In het totaal ')
-29-
PSD: Hoofdprogramma
writeln (' U kunt de verschillende deelvermogens wei of niet meenemen In het totaal benodlgde vermogen. ?
write (' Hat vermogen t.b.v. stuiken en rekken van de fJens ? (J/N) ')
then JA NEE-true else
par 11- true
write (' Het vermogen Lb.v. wrijving tussen ptooihouder en flens ? (J/N)')
I then JA NEE -true else
pal 2 ] .. true
write (' Het vermogen Lb.v. wrljving rond de matrijsafronding ? (J/N) ')
.. { then - JA.-NEE ... true else
>; pal 3]- true
)\ write (' Hat vermogen t.b.v. bulgen en terugbulgen ? (J/N) ') :::. - JA.-NEE - true
<.: then else
::> pal 4]- true « textkleur (rood)
ga naar schermposltie XV (30,22)
<::: write (' Oruk op enter ')
:{: readln
filenaam(1 ] - I P _s_1.dat '
filenaam( 2 ) ... , P _s_2.dat '
.::-:.:- filenaam( 3 ] - I P _li_3.dat '
:-: filenaam[ 4 ] - I P _s_ 4.dat I
1:- filenaam[ 5 ] ... ' P _li_tot.dat' - pal 1 ] - true then else
assign ( fa,path+filenaam[ 1 J) rewrite (fa)
then - pa[2] -true else
:} assign ( fb,path+fllenaam[ 2 J )
::: rewrite (fb)
1(: then - pal 3] -true else
;:;: assign ( fc,path+filenaam(3 ] )
-30-
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
assign ( fc,path+fllenaam[ 3 ] )
rewrite (fc)
then pal 4] -true else
::: assign (fd,path+fllenaam[ 4 ] )
':-: rewrite (fd)
:' maxF _fl - 0
maxFfUI-O
maxFfr_rho - 0 ;:;
I::: maxF_rho- 0 I>:
~31/-par 4]-true then else
pa[5]-true
assign (fto,path+fllenaam[ 5 ] ) I
I-<fto) Fmln-1000
;:::: Fmax-O
<::- ru - ruo
. R 1 rJ - P +-. so ;., 2 I
Bet8.-P _ ruo Rp
::;:: ruo Beta 0- -
<~: - rI
Beta - Beta_o
Beta_e= 1
t ( Beta_o • Beta..e ) stap_1 -
100 I (R_a1fa+1). n
::: Fkr1 - exp(n*Ln V I )* R alfa+1 I
2*R_alfa+1 R_alfa+5
so so + exp(n-
2 • R_alfa+1 I
• Eo) Fkr2- -- + -rho-p Rp R_alfa+1
-31-
PSD: Hoofdprogramma
« Ks-1 1+ 8eta* --)-
81
Ln(Beta) - Ks + 1 ) -
«1+8eta- Ks-1)_ 81
Ln(Beta) - Ks + 1) * Bela.-P ----"';;.. - QuoLs 8eta_o
pascal-programma Kracht_ Weg_Model
-32-
PSO: Hoofdprogramma
F rho-K rho*~* - - rho_d
slgmaU ... (QuOLS)2 *
( R1) 2 ... (1+ !!L ) R2 2Rp
QuoLr " 1 A ruo '" ru
( Ln (au!'U) ... • (1+ (Ka _l).Beta )_
B1
(Ks - 1). (1 • auoer) * B1 )
Beta
Rd+rho d Rp - • QuoLs
else
( FfeF _fl + FfUI + Y2F _rho)
writeln
then
Frho-Krho .. ~ .. - - rho_d
slgmaU. (QuOLS)2 ...
J( R1) 2"'(1+!!L ) i
R2 2Rp
writeln (fd,Beta,1 I,F _rho)
pascal-programma Kracht_ Weg_ Model
pal 1 ] - true ~ __ --el
-33-
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_ Model
else
Fmax- Ftot
maxBeta - Beta pa[ 1] - true
maxFfUI - FfUI Beta - Beta - stap_1
Fgroot .. Fmax
Fmin - Fkritisch
then
close (fa)
then
close (fb)
close (fc)
then
close (fd)
-34-
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
th~[4]-~ close (fd) I
~I-~ pa [4] -true ~M ~e
close (fto) I 1:-: window (1.1,80,25) 1<:
text achtergrond (blauw)
;:;:; textkleur (wit) :::: schoon scherm (clear screen)
writeln (' Voor aile duidelijkheid ')
{;:: window (1.2,80.24)
text achtergrond (wit)
:-:: textkleur (zwart) .:-:
schoon scherm (clear screen) ::> ::::
~I-~ then pa [ 4 J - true else
textkleur (wit) I writeln (' Doordat U geen text achtergrond (blauw) deelvermogens meegenomen
write (' De data van de vermogen-weg· heeft is er ook geen totaal -vermogen. ')
kromme Is weggeschreven. ') textkleur (geel) wrlteln (' Er Is dus nlets weg -
write (' Praktische dieptrekverhouding: geschreven. ')
ga naar schermpositie XV (1,22) ruo/Rp - ')
1\ schtijf ( Beta....P.2 ) wrlteln ('-----------------')
:::; write (' Theoretische dleptrekverhouding: textkleur (rood) :::: ruO/(Rp+'hSo) - ,
ga naar schermpositie XV (20,23) :<.. sOOtijf (Beta_o.2)
:::: write (' Het maximaal dimensieloos totaal-write (' Druk op enter om het
I vermogen is ') programma te beeindlgen. ')
:::: schrljf ( Fmax,3 ) readln
>~:: write (' Deze treedt op bij een dieptrek- window (1.1.80.25) ::::;.: verhouding van ') text achtergrond (zwart) ::::: sOOrijf ( max8eta.2 ) schoon scherm (clear screen) I:::::::~-t~ I::: then else
I::: write (' Het dlmensleloos vermo-
gen benodigd voor hat I:> stulken en rekken van de I::: flens is ')
H schrljf ( maxF _fl,3 ) I
-35-
PSD: Hoofdprogramma
'::::: write (' Hat aandeelin hat totaal-;:;:: vermogen Is,' ::;:; «maxF _fl/ Fmax) 100):1:2 /: :%')
____ paI2]-true / then ____ /else
write (' Hat dimensieloos ver-mogen benodlgd voor de wrijvlng tussen matrijs /
I:::::: ploolhouder en materlaal 1-:.:.; is ')
::::: ----. pa [3] - true ./ 1 ::: then -----=--::..... /else
write (' Hat dimensleloos vermogen benodigd voor de wrijving om de afrondingsstraal Is ')
sOOrljf (maxFfr_rho.3)
I::: I----- pa [4]- true ./ ithen ~ Alse
:::: write C Hat dimensleloos ver-
\:: d~~g:~ ~~~~81.v.)r de
schrijf ( maxF _rho,3 )
;:::; write C Hat kritisOO dimensieloos vermogen Is ')
::: sOOrljf ( Fkrltlsch,3 )
.;. write (' Het krltisch dlmenslevol vermogen . ~') I
:::;: schrijf «Fkritisch .. 2"pi .. Rp"so"C /1000),3) I
t;~;} writeln (' [kNJ ')
1:::-'. write (' Het maximaal benodigd :;:;::; dimensieloos vermogen is ')
::::::: schrljf ( fmax,3 )
write C Het maximaal benodigd i
dimensievol vermogen is ')
f::: schrijf {(2 .. pI .. Rp.so..C .. Fmax/10oo).3)
writeln (' [kN] ') I:>:: ____ Fmax>Fkrltlsch ~ ;}:: then ____ ~ else
write C De benodigde kracht is groter dan de krltlsOOe kracht II ')
ga naar schermpositie XV (1.21)
writel" (' ------------------------') ga naar schermpositle XV (20,22)
-36-
pascal-programma Kracht_ Weg_ Model
PSD: Hoofdprogramma
ga naar schermposltle XV (20,22)
write r Oruk op enter om het programma te vervolgen ')
readln
schoon scherm (clear screen)
textkleur (zwart)
write r Hat totale dlmensleloze vermogen Is opgebouwd ult de volgende deelvermogens:')
writeln (' Het gedeeJte wrijving tussen plooihouder en liens ')
write r Het gedeelte bulgen en terugbuigen ')
write (' Onder de volgende filenames zijn de data weggeschreven: ')
pa[1 I-true
write (' Hat gedeelte stulken en rekken van de flens onder',path,'P _s_1.dat ')
write (' Het gedeelte wrljvlng over de matrlJsafronding
onder ',path,'P _s_3.dat ')
-37-
pascal-programma Kracht_ Weg_ Model
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
::::::r-:-:----__ pa [ 3] - true ~ ::::::1 then ______ ~Ise
write (' Het gedeelte wrijving :::::: over de matriJsafronding : : : onder ',path.'P _s_3.dat ') >:: .. ~ pa[4)-true.~ ::;}I then ~ ~else
:::::: write (' Het gedeelte buigen en terugbulgen onder ',path,
:::::: 'P s_4.dat ') -:.:-: f----=-=::....--....:-----.L.-----f ... :::::: write (' De totale dimensleloze vermogen-:::::: weg data onder' ,path,'P _s_tot.dat ') i
· .. .. ga near schermposltle Xf (1,22)
: : .. 1-'--------'------'---'-----1 ~. ~':'. write'n C-------------------------') ','.: .:: ga naar schermpositie XV (20,23) · . ;:::::\. write (' Oruk op enter om het programma J :::::: te vervolgen ')
;:-:::readln :~;)i window (1,1,80,25)
;}; schoon scherm (clear screen)
<:~ I MAKE_WINDOW (1,6,80,20,' ',blue, :;:::; I Ilghtgray,red,whlte)
:;::-: ga near schermpositie >rf (1,7)
:;:;:: write (' Wilt U de dimensleloze vermogenweg-krommes op het scherm afbeelden (J/N) 1 ')
------ JA.-NEE - true / ::: then ~ /else ...
: :: GRAF _REAL (8eta_o,Beta_e, ...... Fgroot,Fmin,Fkritisch, : : : filenaam,path,pa) · ····f------......:.:..-~...:..----l ::: readln ... ...... MAKE_WINDOW (1,6,80,20,' ',blue,lIghtgraY,red,whlte)
.:.:.: ga naar schermposltle >rf (15,7)
"':'. write (' Opnieuw 11 (J/N): ')
:.:-:- then
>:',' 201n89-1 - true ...
JA NEE-true
zolan9-1 - false
-38-
- else
PSD: Hoofdprogramma pascal-programma Kracht_ Weg_Model
3: Literatuurlijst:
* Handleiding Turbo-Pascal 6.0:
* verslag Kracht-Weg-Model van het dieptrekproces; deel 1:
-39-
R.B.N. Hartong.
VARUNIT bijlagen
4: BIJLAGEN:
1. de VARUNI~: Deze versie van de VARUNIT is zowel geschikt voor de oude als de nieuwe versie van het programma.
unit Varunit; {*********************************************************************** * * * UNIT * Versie * Datum * Taal * Systeem * Programmeur * * Informatie * * * * Tel *
Varunit 2.00 April 1993 turbopascal 6.0 (Borland) Crip-AT J.G.E. van Lieshout R.B.N. Hartong (stagair HTS-Venlo) Technische Universiteit Eindhoven Faculteit der Werktuigbouwkunde Vakgroep Productietechnologie en Automatisering Laboratorium voor Omvormtechnologie 040-472874 (dr. ir. J.A.H. Ramaekers)
* * * * * * * * * * * * *
************************************************************************}
INTERFACE
TYPE Naam= ARRAY[1 •• 5] of STRING; Waar= ARRAY[1 •• 6) of BOOLEAN; inter=ARRAY[1 •• 9] of INTEGER;
VAR
so : REAL; { ruo : REALi { Rp : REALi { Rd : REAL; { ri : REAL; { ro : REAL; {
ru : REAL; { Pp : REALi { pd : REALi { Eo : REALi { Fkr1 : REAL; { Fkr2 : REAL; { Fkritish:REAL;{ Ra : REAL 1 { n : REAL; { u : REAL; { C : REAL; { Ppl : REAL; {
plaatdikte } initiele buitenstraal v/d flens } Stempelstraal R punch} Matrijsstraal R-die} Gemiddelde radius } raduis van hart stempel tot begin bocht flens(ro=Rp+so+pd)} momentane buitenstraal v/d flens } afrondingsstraal v/d stempel } afrondingsstraal v/d matrijs } voordeformatie eo} huplvariabele voor kritische dimensieloze kracht }
I' I, II , , , , } kritische dimensieloze kracht } Anisotropiefactor} verstevigingsexponent } wrijvingscoefficient versie I} karakteistieke deformatieweerstand } plooihouderdruk }
G :REAL1{ hulpvariabele voor Fl } h : REAL; {" " ,,} d :REAL;{hulpvariabelevoor Fl en F4} B :REAL;{ momentane dieptrekverhouding ruo/ru (vaak in de praktijk
toegepast)}
-40-
VARUNIT bijlagen
Bo :REAL;{ initiale dieptrekverhouding ruo/rp (vaak in de praktijk toegepast)}
BO :Real;{ werkelijke betaO} B eind :REALi{ dieptrekverhouding } stap 1 :REAL;{ stapgrootte van B } maxB- :REAL;{ de waarde van B bij Fmax } gamma :real;{ s/so} Ez :real;{ epsilon, rek in z-richting} Efi u :real;{ epsilon, rek in fi-richting voor r=ru} Efi-i :real;{ epsilon, rek in fi-richting voor r=ri} Ef u :real;{ epsilon, plastische deformatie voor r=ru} Ef i :real;{ epsilon, plastische deformatie voor r=ri} sigmaf u:real;{ vloeivoorwaarde voor r=ru } sigmaf-i:real;{ vloeivoorwaarde voor r=ri } AA - :reali{ parameter A uit benadering voor sigmaf } BB :reali{ parameter B uit benabering voor sigmaf } al :real;{ hulpvariabele } a2 :real; a3 u :real; a3-i :real; a4- :real; as :real; a6 :real; a7 :real; int : inter; intI :real; int2 :integerj int3 : integer; iksl :real; ikslO :real;{ veranderd } ikslOO :real;{ } iks2 : real; parameter: real;
Fl : REAL; { dimensieloze kracht t.b.v. stuiken/rekken v/d flens } F2 : REAL; { , , , , , , wrijving flens/plooihouder F3 :REAL;{ F4 : REAL; { Ftot :REALi{
Fmin : REAL; {
Fmax : REALi { Fgroot : REAL; {
fa : TEXT; {
fb : TEXT; {
, , , , , , dubbele buiging } , , , , , , wrijving matrijsafronding
totaal dimensieloze kracht }
de min. waarde van de dimensieloze krachten of dimensielose kritische kracht } de max. waarde v/h totale dimensielose kracht } de max. waarde v/h totale dimsielose vermogen of dimensieloze kritische kracht } file waarin de dimensieloze kracht weg-data t.b.v stuiken/rekken wordt weggeschreven } file waarin de dimensieloze kracht weg-data t.b.v. wrijving plooihouder/flens wordt weggeschreven }
}
}
fc : TEXT; { file waarin de dimensieloze kracht weg-data t.b.v. dubbele buiging wordt weggeschreven }
fd : TEXT; {
fto : TEXT; {
f :TEXTj{ pa :Waar;{
file waarin de dimensieloze kracht weg-data t.b.v. wrijving matrijsafronding } file waarin de totale dimensieloze kracht weg data wordt weggeschreven } file voor het inlezen van de dimensieloze kracht-weg data} geeft aan of een bepaalde dimensieloze kracht wel(true) of niet(false) meegenomen moet worden}
-41-
VARUNIT bijlagen
filenaam:Naam;{ namen waaronder de dimensieloze kracht-weg data worden weggeschreven}
Xl X2 YI Y2 titel
klbl kIb2 kitl klt2 path
:REAL;{ x-coordinaat linkerbovenhoek van de window} :REAL;{ x-coordinaat rechteronderhoek van de window} :REAL;{ y-coordinaat linkerbovenhoek van de window} :REAL;{ y-coordinaat rechteronderhoek van de window} :STRINGi{ tekst om op de eerste regel van de grootste window
te plaatsen } :WORD;{ kleur van de grootste window} :WORD;{ kleur van de kleinste window} :WORD:{ tekstkleur van de titel } :WORD;{ kleur van de tekst in de kleinste window} :STRING;{ path voor het wegschrijven van de f-s kromme }
{enkele extra variabelen }
ab :real; ac :real; ad :real; ae :reali
{SPECEFIEKE VARIABELEN GEBRUIKT BIJ KRACHT WEG MODEL VERSIE 3} rho_p :REAL;{ afrondingsstraal v/d stempel} rho_d :REAL;{ afrondingsstraal v/d matrijs } R_alfa :REAL;{ Anisotropiefactor } mu fl :REAL;{ wrijvingscoefficient plooihouder/flens/matrijs } mu r :REALi{ wrijvingscoefficient over afronding } hurp :REAL;{ hulpvariabele } Beta :REALi{ momentane dieptrekverhouding ru/ri (vaak in de praktijk
Beta 0
Beta p Beta-e Quot-Beta B1 -Rl R2 Quot s Quot=r
sigma r Eps fT i Eps-z T Eps-et i Ks - -Kf K rho
aluminium
fr ro
Ffl maxF fl
toegepast) } :REAL;{ theoretische initiele dieptrekverhouding ruo/ri
: REAL; { :REAL;{ : REAL; { : REAL; { : REAL; { :REAL; { :REAL;{ : REAL; {
: REAL; { : REAL; { : REAL; { : REAL; { : REAL; : REAL; : REALi {
(vaak in de praktijk toegepast) } praktische dieptrekverhouding: werkelijke beta_o=ruo/Rp} eindwaarde beta na door loping proces } hulpvariabele quotient Beta o/Beta } hulpvariabele Bl=Beta-l} -hulpvariabele Rl= R a+1 } hulpvariabele R2=2R-a+l } hulpvariabele quoti~nt s/so=(Bo/B)A(1/Ra+1) } hulpvariabele quotient (Rd+rho d)/ru= (Rd+rho d)/(Beta*ri) } -hulpvarTabele o'r(Rd+rho d) } rek in fi-richting} -rek in z-richting } effectieve rek }
constante bij de berekening van de kracht voor de buiging om afrondingsstraal }
:BOOLEAN;{ Geeft aan of gebruikte materiaal staal dan wel aluminium is; voor aluminium aluminium = TRUE voor staal aluminium = False. Deze boolean is bepalend voor de waarde van K rho }
:REAL;{ constante bij de berekening van de kracht voor de wijving om de afrondingsstraal }
:REALi{ dimensieloze kracht t.b.v. stuiken/rekken v/d flens } : REAL;
-42-
VARUNIT bijlagen
Ffr fl maxFfr fl F rho maxF rho Ffr rho Ffr-F fl
: REAL; { : REAL; : REAL; { : REAL;
, , , , , I wrijving flensjplooihouder }
: REAL; { : REAL; {
maxFfr rho:REAL;
, I I I , , dubbele buiging }
, I I I , I wrijving matrijsafronding } dimensieloze kracht t.b.v. stuiken en rekken over de matrijsafronding bij de berekening van Ffr_rho }
maxBeta :REAL;{ diepterkverhouding waarbij Fmax optreedt}
IMPLEMENTATION BEGIN END.
2. de funktie JA NEE:
FUNCTION Ja Nee:boolean; {************************************************************************** * * * input * output *
: --true ala met ja (j of
geantwoord is J) en false als er met nee (n of N)
* * *
*funktie: *
-vraagt of er bepaalde worden
opdrachten weI of niet uitgevoerd moeten * *
**************************************************************************} VAR vervolg: BOOLEAN;
antwoord: CHAR; {variabele voor het antwoord van de vraag}
BEGIN Readln(antwoord); vervolg:=(antwoord='n') OR (antwoord='N') OR (antwoord='j') OR
(antwoord='JI); WHILE NOT vervoig DO
BEGIN Write('Geef een J ~n voor ja en n in voor nee: '); Readln(antwoord); vervolg:=(antwoord='n') OR (antwoord='N') OR
(antwoord='j')OR(antwoord='J')i END;
Ja_Nee:=(antwoord='j')or(antwoord='J'); WriteIn;
END;
-43-
Schrijf, Make_window bijlagen
3. de procedure SCHRIJF:
Procedure Schrijf(getal:real;komma:integer); {********************************************************************** **********************************************************************}
BEGIN textcolor(black); write(getal:l:komma); textcolor(yellow);
END;
4. de procedure MAKE WINDOW:
Procedure Make window(xl,yl,x2,y2:integer;titel:string; - klbl,klb2,kltl,klt2:word);
{********************************************************************** * * * input:- xl: x-coordinaat linkerbovenhoek window * * - yl: y-coordinaat linkerbovenhoek window * * - x2: x-coordinaat rechteronderhoek window * * - y2: y-coordinaat rechteronderhoek window * * titel: tekst om op de eerste regel van de * * grootste window te plaatsen * * klbl: kleur grootste window * * - klb2: kleur van de kleinste window * * - kltl: textkleur van de titel * * - klt2: kleur van de text in de kleinste window * * output: een window waarin een kleiner window geplaatst wordt * * * * funktie: het plaatsen van twee gekleurde windows in elkaar. * * Op de eerste regel van de grote window wordt de tekst * * geplaatst van de variabele titel. * * De kleur van de tekst is ook in te geven. * ***********************************************************************} BEGIN
Window(xl,yl,x2,y2); Textbackground(klbl); Textcolor(kltl); Clrscr; GotoXY(round«(x2-xl)/2)-length(titel)/2),1); Write(titel); Window(xl+l,yl+l,x2-l,y2-1); Textbackground(klb2); Textcolor(klt2)i Clrscr;
END;
-44-
4. de procedure CHAR_GETAL:
Procedure Char Getal (var getal:real;var return:boolean); {******************************************************************** * Deze procedure leest een getal in als een set van characters en * * zet deze dan om in een 'real'-getal. Decimalen achter de komma * * kunnen zowel door een komma als een punt worden geschelden. * * Er bestaat ook de mogelljkheid een 'lege return' te geven. * * In plaate van een getal wordt dan een boolean de output van deze * * procedure. * * * * Input : - * * Output: -een 'real' getal * * -een boolean = TRUE ale een 'lege return' ie gegeven *
bijlagen
********************************************************************}
var a:char;{variabele voor 't inlezen van het getal} b:char;{hulpvariabele bij 't inlezen van het getal} d:real;{deler voor decimalen achter de komma c.q. punt} komma:boolean;{= TRUE ale een komma c.q. punt is gegeven} zolang l:boolean;{= FALSE ale getal of 'lege retrun' ie gegeven,
- waardoor procedure wordt afgeeloten} zolang_2:boolean;{= FALSE ale een letter l.p.v. een getal wordt
gegeven, waardoor de procedure opnieuw doorlopen wordt }
BEGIN return:=falee; zolang l:=true; zolang-2:=true; While zolang_l do
BEGIN write(' I'); getal:=O; d:=l;{zolang geen komma of punt gelezen blijft de deler 1, m.a.w. als
d=l dan is het een geheel getal} komma:=falee; read(a); IF «ORD(a»=48) AND (ORD(a)<=S7» OR (ORD(a)=44) OR (ORD(a)=46)
{ingelezen 'char' moet een cijfer, punt of komma zijn} THEN
BEGIN IF «ORD(a»=48) AND (ORD(a)<=S7» THEN getal:=ORD(a)-48;{cijfer
gelezen ?}
IF (ORD(a)=44) OR (ORD(a)=46) THEN komma:=true;{komma of punt gelezen ?}
WHILE not eoln AND zolang_2 DO
BEGIN read(a) ; b:=a; IF «ORD(a)=44) OR (ORD(a)=46» AND komma THEN 'zolang_2:=false;
-45-
Char_getal bijlagen
END
IF «ORD(a»=48) AND (ORD(a)<=S7» OR (ORD(a)=44) OR (ORD(a)=46) {ingelezen 'char' moet een cijfer, punr of komma zijn}
THEN BEGIN
IF komma THEN d:=d*10;{als reeds een komma of punt gelezen dan deler factor 10 vergroten}
IF «ORD(a)=44) OR (ORD(a)=46» AND not komma THEN komma:=true;
IF «ORD(a»=48) AND (ORD(a)<=S7» THEN getal:=getal*10+ORD(a)-48;
END
ELSE zolang 2:=false; END; -
readln;{afsluiten regel} IF zolang 2 THEN -
BEGIN getal:=getal/d; zolang l:=false;
END -
ELSE BEGIN
writeln('GEEN GETAL 11')1 writeln; zOlang 1:=true; zolang-2:=truei
END; -
-46-
Char _getal bijlagen
ELSE BEGIN
IF a=chr(13) {als a=return} THEN
BEGIN
END
readln;{afsluiten regel} return:=true; zolang l:=false; getal:;-l
ELSE BEGIN
writeln('GEEN GETAL 11'); readln;{afsluiten regel} zolang l:=true; zolang-2:=true;
END; -
END; END;
END;
-47-
Geef _parameters bijlagen
5. de procedure GEEF PARAMETERS:
Procedure Geef parameters(var K rho,C,n,Eo,R alfa,mu fl,mu r,so, - ruo,Rp,Rd,rho p,rho d,Ppl:-REAL);
{************************************************************************** * Input: * * -materiaalgegevens: * * -K rho: konstante bij de berekening van de kracht benodigd voor de * * buiging om de matrijsafronding. Oeze is 0.4 voor staal en * * 0 voor aluminium * * -C karakteristieke deformatieweerstand van het materiaal [N/mm2] * * -n verstevigingsfactor van het materiaal * -Eo voordeformatie-graad van het materiaal * -R a anisotropiefactor van het materiaal * -wrijvinggegevens: * -mu f1 : wrijvingsfactor tussen p100ihouder en materiaa1 * -mu r : wrijvingsfactor over de afrondingsstraa1 * -geometriegegevens: * -so p1aatdikte [mm) * -ruo initiale buitenstraal van de flens [mm] * -Rp straal van de stempel [mm] * -Rd straal van de matrijs [mm] * -rho p afrondingsstraal van de stempel ([mm] * -rho-d afrondingsstraal van de matrijs [mm] * -procesgegevens: * -Pp1 : p100ihouderdruk [N/mm2 )
* (eventueel, is n.l. ook te berekenen) * output Parameters dieptrekproces *
* * * * * * * * * * * * * * * * * * * Funktie het ingeven van de parameters die bepalend z1Jn voor een *
* dieptrekproces en het eventueel opnieuw invoeren als * * blijkt dat verkeerde waarden zijn ingevuld * *************************************************************************}
Var hulpvar:REAL;{hulpvariabele nodig voor ongewijzigd laten ingegeven waarde}
zolang:BOOLEANj{hu1pvariabele, zolang = true invoeren herhalen} return: boolean; {hulpvariabele voor ongewijzigd 1aten ingegeven waarde} Pp1_h:realj{variabele bij berekening theoretische plooihouderdruk}
BEGIN aluminium:=FALSEj{ er wordt in eerste instantie vanuit gegaan dat er met
staal gewerkt wordt } zolang:=true; Writeln;
-48-
Geef _parameters
WHILE zolang DO
BEGIN Make window(1,1,80,25,'Voer in',yellow,lightcyan,black,black); Writeln('GEOMETRIEGEGEVENS: (2 * return voor handhaven vorige
waarde)'); textcolor(white); Write(' Geef de plaatdikte (so) [mm]: '); If so<>-1 then
BEGIN textcolor(black) 1 write('(was ',so:1:2,') '); textcolor(white); writeln;
END
else writeln,
Char getal(hulpvar,return); If return AND (so>=O) then so:=so
else so:=hulpvar; Write(' Initiele buitenstraal van de flens (ruo) [mm): ')1 If ruo<>-l then
BEGIN textcolor(black); write('(was ',ruo:l:2,') '); textcolor(white); writelnl
END
else writeln,
Char getal(hulpvar,return); If return AND (ruo>=O) then ruo:=ruo
else ruo:=hulpvar; Write(' Straal van de stempel (Rp) [mm]: '); If Rp<>-l then
BEGIN textcolor(black); wr i te ( , (was ',Rp: 1: 2, ') '); textcolor(white); writeln;
END
else writeln;
Char getal(hulpvar,return); If return AND (Rp>=O) then Rp:=Rp
else Rp:=hulpvar; Write(' Straal van de matrijs (Rd) [mm): ');
-49-
bijlagen
Geef _parameters
If Rd<>-l then
BEGIN textcolor(black); write('(was ',Rd:l:2,') '); textcolor(white); writeln;
END
else write In;
Char getal(hulpvar,return); If return AND (Rd>=O) then Rd:=Rd
else Rd:=hulpvar; Write (' '); textbackground(black); Writeln('Voor de trekspeet voIgt: ',Rd:l:2,'-',Rp:l:2,'=',
(Rd-Rp):1:2); textbackground(lightcyan); Write(' Afrondingsstraal van de stempel [rom]: ')1 If rho p<>-l then -
BEGIN textcolor(black); write('(was ',rho p:l:2,') ',; textcolor(white);-writeln;
END
else writeln;
Char_getal(hulpvar,return); If return AND (rho p>=O) then rho p:=rho p
- else rho p:=hulpvar; Write(' Afrondingsstraal van de matrijs (rom): ')i If rho d<>-l then
BEGIN textcolor(black); write ( , (was' ,rho d:l:2,') '); textcolor(white);-writeln;
END
else writeln;
Char getal(hulpvar,return); If return AND (rho d>=O) then rho d:=rho d
- else rho_d:=hulpvari
-50-
bijlagen
GeeCparameters
ro:=Rp+rho d+so; WHILE ro>ruo DO
BEGIN Textcolor(red)i Textbackground(black)i Writeln; Write(' ruo moet groter zijn dan so+Rp+afrondingsstraal'); Writeln(' van de matrijs '}; Textcolor(white}; Textbackground(lightcyan); Writeln; Write(' Geef de plaatdikte (so) [mm]: '); textcolor(black); Write('(was ',so:1:2,') '}i textcolor(white); writeln; Char getal(hulpvar,return}; If return then so:=so
else sO:=hulpvar; Write(' Initiele buitenstraal van de flens (ruo) [mm]: ')i textcolor(black); Write('(was ',ruo:l:2,') ')i textcolor(white); writelnj Char getal(hulpvar,return); If return then ruo:=ruo
else ruo:=hulpvar; Write(' Straal van de stempel (Rp) [mm]: '); textcolor(black); Write('(was ',Rp:l:2,') ')i textcolor(white); writelni Char_getal(hulpvar,return); If return then Rp:=Rp
else Rp:=hulpvari Write(' Afrondingsstraal van de matrijs [mm]: ')i textcolor(black); Write('(was ',rho d:l:2,') ')i textcolor(white);-writeln; Char_getal(hulpvar,return); If return then rho d:=rho d
else rho-d:=hulpvar; ro:=Rp+so+rho d; -
END; -
Make window(1,1,80,25,'Voer in',yellow,lightcyan,black,black); Writeln('MATERIAALGEGEVENS: (2 * return voor handhaven vorige
waarde) , ); textcolor(white); Write(' Wordt er met aluminium diepgetrokken IF JA NEE THEN aluminium:=TRUE; IF aluminium THEN K rho:=O
Writeln; ELSE K:rho:=O.4;
-51-
(J/N) ? : , ) ;
bijlagen
Geef _parameters
Write(' Voordeformatie van het materiaal (EO): '); If Eo<>-l then
BEGIN textcolor(black); write('(was ',Eo:1:3,') '); textcolor(white); writeln;
END
else writelnj
Char getal(hulpvar,return); If return AND (Eo>=O) then Eo:=Eo
else Eo:=hulpvar; Write(' Verstevigingsfactor van het materiaal (n): '); If n<>-1 then
BEGIN textcolor(black)j write('(was ',n:1:3,') ')i textcolor(white); writeln;
END
else writeln;
Char getal(hulpvar,return); If return AND (n>=O) then n:=n
else n:=hulpvar; Write(' Anisotropiefactor van het materiaal (R_a): '); If R alfa<>-l then-
BEGIN textcolor(black); write('(was ',R alfa:1:2,') '); textcolor(white): writeln;
END
else writeln;
Char getal(hulpvar,return); If return AND (R alfa>=O) then R alfa:=R alfa
- else R alfa:=hulpvar; Write(' Karakteristieke deformatieweerstand'}: write(' materiaal (C) [N/mmA2): ')i If C<>-l then
BEGIN textcolor(black); wr i te ( , (was ' I C: 1: 2 I ') ');
textcolor(white); writeln;
END
-52-
bijlagen
Geef _parameters
else writelni
Char getal(hu1pvar,return); If return AND (C>O) then C:=C
else C:=hulpvar; Make window(l,l,80,2S,'Voer in',yellow,lightcyan,black,black); Writeln('WRIJVINGGEGEVENS: (2 * return voor handhaven vorige
waarde)'); textcolor(white); Write(' Wrijvingscoefficient tussen p1ooihouder en materiaal
(mu fl): '); If mu fl<>=1 then
BEGIN textco1or(black); write('(was ',mu f1:1:2,') '); textco1or(white); writeln;
END
else writeln;
Char getal(hulpvar,return); If return AND (mu f1>=0) then mu fl:=mu fl
- else mu fl:=hulpvari
bijlagen
Write(' Wrijvingscoefficient over de afrondingssraa1 (mu_r): ')i If mu r<>-l then
BEGIN textcolor(black)i write ( , (was' ,mu r:1:2,') '); textcolor(white); write1ni
END
else writeln;
Char_getal(hulpvar,return); If return AND (mu r>=O) then mu r:=mu r
- else mu r:~hulpvar; Make_window(l,l,80,25,'Voer In',yellow,lightcyan,black,black); Writeln('PROCESGEGEVENS: (2 * return voor handhaven vorige waarde)')i writeln; ri:=Rp+O.S*so; Beta o:=ruo/ri; IF so=O THEN hu1p:=0
ELSE hulp:=sqr(Beta o-1)+0.005*Beta o*2*Rp/so; Pp1 h:=0.0022S*hulp*C*exp(n*ln(n)+Eo-n); -textcolor(white); write(' De berekende theoretische plooihouderdruk is:'); write(' Ppl th = '); textco1or(black); writeln(Ppl h:4:2,' [N/mm 2 ]');
textcolor(white); writeln; Write(' Plooihouderdruk (Ppl) [N/mmA2]: ')1
-53-
GeeCparameters
If Ppl<>-l then
BEGIN textcolor(black); write('(was ',Ppl:l:2,') '); textcolor(white); writeln;
END
else writeln;
Char getal(hulpvar,return); IF return
THEN IF Ppl=-l THEN Ppl:=Ppl h ELSE Ppl:=Ppl
ELSE Ppl:=hulpvar; Writeln;
IF aluminium
bijlagen
THEN Make window(1,1,80,25,'Materiaal Aluminium',yellow, - lightcyan,black,black)
ELSE Make window(1,1,80,25,'Materiaal Staal',yellow, - lightcyan,black,black);
writeln('GEOMETRIEGEGEVENS:'); textcolor(white); writeln(' plaatdikte: so [mm] writeln(' initiele buitenstraal flens: ruo [mm] writeln(' straal van de stempel: Rp [mm] writeln(' straal van de matrijs: Rd [mm) writeln(' afrondingsstraal van de stempel: rho p (mm] writeln(' afrondingsstraal van de matrijs: rho-d (mm) writeln; textcolor(black); writeln('MATERIAALGEGEVENS:'); textcolor(white);
, , so: 7: 3) ; , , ruo: 7 : 3 ) ;
, , Rp: 7: 3) ; , , Rd: 7: 3) ;
',rho p:7:3); , I rho:: d: 1 : 3 ) ;
writeln(' karakteristieke deformatieweerstand: C [N/mm2) writeln(' verstevigingsfactor: n
',C:7:3); ',n:7:3);
, , Eo: 7: 3) ; , ,R_alfa:7:3);
writeln(' voordeformatie-graad: EO
writeln(' anisotropiefactor: R a writeln; -textcolor(black); writeln('WRIJVINGSGEGEVENS:'); textcolor(white); writeln(' wrijvingsfactor plooihouder/materiaal: mu fl ',mu fl:7:3); writeln(' wrijvingsfactor over de afrondingsstraal:-mu_r',mu::r:7:3); writeln; textcolor(black)i writeln('PROCESGEGEVENS:'); textcolor(white)j writeln(' plooihouderdruk: Ppl [N/mm2] Textcolor(black); GotoXY(1,21)i
, , Ppl : 7 : 3) i
Write('=::=========::====:====:=:=================:==============')i Writeln('===================='); GotoXY(34,22); Write('Alles goed ingevoerd (J/N) 1: '); if Ja Nee then zolang:=falsej
END; END;
-54-
Hoofdprogramma bijlagen
6. het BOOFDPROGRAMMA
Program Kracht weg model (input,output); {*********************************************************************** * * * Program Kracht weg model * * versie 2.00 - - * * Datum April 1993 * * Taal Turbo-Pascal 6.0 * * Systeem Cirp-AT * * Programmeur A. de Winter * * R. Hartong * * Informatie Technische Universiteit Eindhoven * * Faculteit der Werktuigbouwkunde * * Vakgroep Productietechnologie en automatisering * * Labaratorium voor Omvormtechnologie * * Tel 040 - 472874 (dr. ire J.A.H. Ramaekers) * * Omschrijving: Dit programma kan de data van dimensieloos * * vermogen wegkromme wegschrijven van een * * axisymmetrisch dieptrekprodukt. Dit alles * * gebeurt d.m.v. benaderingsformules. * ************************************************************************} uses Crt, Graph, Varunit, Grafreal; {Voor betekenis variabelen zie Varunit.pas}
{************************************************************************** * * * *
HOOFDPROGRAMMA * *
*************************************************************************} var zolang_l:booleani{voorwaarde om programma te herhalen}
CONST fr_ro=1.60;
BEGIN Textbackground(black); Clrscr; Make window(1,1,80,25,' ',red,blue,white,white); GotoXY(34,13); Writeln('Version 2.00'); GotoXY(2,2); GotoXY(1,16); Writeln(' Copyright 1993. lab. voor Omvormtechnologie TUE'); Writeln(' Info tel. 040 - 472874'); GotoXY(54,19); Writeln('dr. ire J.A.H. Ramaekers')i GotoXY(54,20); Writeln(' ire M. Kessels'); GotoXY(54,21)i Writeln(' R. Hartong'); GotoXY (1,22) ; Write('===============================================================')i Writeln('=============')i GotoXY(20,22); Write('Druk op return om het programma te vervolgen'); textcolor(black); Textbackground(magenta); Window(34,8,48,10); Clrscr; GotoXY (3 I 3 ) i
-55-
Hoofdprogramma
Writeln('DIEPTREKKEN'); readln;
pa[l]:=FALSEi pa[2] : =FALSEj pa[3] :=FALSE; pa[4]:=FALSE; pa[S):=FALSEi C:=-l; n:=-l; Eo:=-l; R alfa:=-l; mu £1:=-1; mu-r:=-l; so:=-I; ruo:=-lj Rp:=-l; Rd:=-li rho p:=-I; rho-d:=-I; Ppl:=-I; ro:=-l; K rho:=0.4; Ftot:=Oj
zolang l:=true; while zolang 1 do begin -
Geef parameters(K rho,C,n,Eo,R alfa,mu fl,mu r,so,ruo,Rp,Rd, - rho p,rho d,Ppl); - -
Window(I,1,80,2S); - -Textbackground(yellow); Clrscr; Window(1,2,80,24); Textbackground(black); Textcolor(white); clrscr; write('Dit programma kan de data van de dimensieloze'); writeln(' vermogen-wegkromme wegschrijven.'); Write('Geef een path voor data uitvoer (bv. c:\tp\) '); Readln(path)j Writeln;
bijlagen
Writeln('Het totale vermogen kan opgesplitst worden in vier delen:'); Writeln('* Vermogen t.b.v. stuiken en rekken van de flens'); Writeln('* Vermogen t.b.v. wrijving tussen plooihouder en flens'); Writeln('* Vermogen t.b.v. wrijving rond de matrijsafronding'); Writeln('* Vermogen t.b.v. buigen en terugbuigen'); Textcolor(red); GotoXY (30,10) ; Write('Druk op enter'); Readln; Writeln; Textcolor(white); Write('U kunt de verschillende deelvermogens weI of niet'); Writeln(' meenemen in het totaal ')i writeln('benodigde vermogen.'); Write('Het vermogen t.b.v. stuiken en rekken ? (J/N) '); IF Ja_Nee THEN pa(I):= TRUE; Write('Het vermogen t.b.v. wrijving tussen plooihouder en
flens ? (J/N) ');
-56-
Hoofdprogramma
If Ja Nee THEN pa[2]:= TRUE; Write('Het vermogen t.b.v. wrijving rond de
matrijsafronding ? (J/N) '); If Ja Nee THEN pa[3]:= TRUE; Write('Het vermogen t.b.v. buigen en terugbuigen ? (J/N) ')i If Ja Nee THEN pa[4]:= TRUE; Textco1or(red); Gotoxy(30, 22) i Write1n('Druk op enter'); Readln;
filenaam[l]:= 'P s l.dat'; filenaam[2):= 'P-s-2.dat'; filenaam[3):= 'P-s-3.dat'; filenaam(4]:= 'P-s-4.dat'; filenaam[5]:= 'P:s:tot.dat';
IF pall] THEN {STUIKEN REKKEN VAN DE FLENS}
BEGIN Assign(fa,path+filenaam[l); Rewrite(fa) ;
END;
IF pa[2] THEN {WRIJVING PLOOIHOUDER/FLENS}
BEGIN Assign(fb,path+fi1enaam[2); rewr i te ( fb) i
END;
IF pa[3] THEN {WRIJVING MATRIJSAFRONDING}
BEGIN Assign(fc,path+filenaam(3); Rewrite(fc) ;
END;
IF pa[4] THEN {BUlGING}
BEGIN Assign(fd,path+filenaam[4); Rewrite(fd) ;
END;
maxF f1:=0; maxFfr fl:=O; maxFfr-rho:=O; maxF_rilo:=O;
IF pall] or pa(2] or pa[3] or pa(4] THEN
BEGIN
bijlagen
pa[S]:= TRUE; {dit had ook in de grafunit geste1d kunnen worden} Assign(fto,path+filenaam[5]); Rewrite(fto); Fmin: = 1000; Fmax:= 0; ru:= ruo; ri:=Rp+O.S*so;
-57-
Hoofdprogramma
Beta p:=ruo/Rpi {praktische Beta o} Beta-o:= ruo/ri;{theoretische Beta o} Beta:= Beta 0; {momentane Beta} -Beta e:=l; - {eindwaarde Beta} stap:l:=(Beta_o-Beta_e)/100;
{BEREKENING VAN DE KRITISCHE KRACHT:}
bijlagen
{ ! } Fkrl:= exp(n*ln«(R alfa+l)*n)/sqrt(2*R alfa+1») * SQRT«R al-fa+l)/(R alfa+5»; - - -
{ ! } Fkr2:= So/rho p + SO/Rp + exp(n-sqrt(2*R alfa+1)/(R alfa+1) * Eo); { ! } Fkritish:={2*3.14*ri*so*C*}2* Fkr1 * (1/Fkr2); -
{BEREKENING VAN DE MAXlMAAL BENODIGDE DIEPTREKKRACHT:} WHILE Beta>= Beta e DO BEGIN
ru:=Beta*ri; {dit is de momentane buitenkant van de platine} R1:=R alfa+1; {HULPVARIABELE} R2:=2*R alfa+1;{ HULPVARIABELE } B1:=Beta-li { HULPVARIABELE } IF Bl=O THEN B1:=1; Quot Beta:=Beta o/Beta;{ HULPVARIABELE: verhouding initiale en
- - momentane dieptrekverhouding } Quot s:=exp«l/Rl)*Ln(Quot Beta»;{ HULPVARIABELE: verhouding
- momentane en initiale plaatdikte S/So } Quot r:=(Rd+rho d)/ru;{ HULPVARIABELE: } Kf:=2/3+(1/3)*SQRT«2*R1)/R2)i
IF ru=ruo
THEN BEGIN
F fl: =0; Ffr F fl:=O; Eps-fT i:=O; Eps-z T:=o; Eps-ef i:=O; IF Eo=D
THEN BEGIN
Ks:=O; sigmaf i:=Oi sigmaf-u:=O;
END -
ELSE BEGIN
sigmaf i:=exp(n*Ln(Eo»; sigmaf-u:=exp(n*Ln(Eo»; Ks:=sigmaf i/sigmaf u;
END; - -END
ELSE BEGIN
Eps fi i:=-O.S*Ln(SQR(Beta o)-(SQR(Beta)-1)*Quot s); Eps-z T:=(1/Rl)*Ln(Quot Beta); -Eps-ef i:=SQRT«Rl/R2)*(2*SQR(Eps fi i)+2*Eps fi i*Eps z i+
- - Rl*SQR(Eps z i»); - - - - --sigmaf_i:=exp(n*Ln(Eps:ef_i+Eo»;
-58-
Hoofdprogramma
sigmaf u:=exp(n*Ln(Ln(Quot Beta+Eo»); Ks:=sigmaf i/sigmaf u; -
END; - -
IF pall) THEN {STUIKEN REKKEN VAN DE FLENS} BEGIN
bijlagen
IF ruo<>ru THEN F f1:=Kf*sigmaf u*«l+«Ks-l)/Bl)*Beta)* - Ln(Beta)-Ks+l) * (Beta_p/Beta_o) *Quot_s;
write1n(fa,Beta,' ',F fl); IF F f1 < Fmin THEN Fmin:= F_f1;
END;
IF pa[2] THEN {WRIJVING PLOOIHOUDER/FLENS} BEGIN
Ffr_f1:=mu_f1*(Rp/SO)*(SQR( Beta-p)-SQR«Rd+rho_d)/Rd»* (Ppl/C);{=constant}
Write1n(fb,Beta,' ',Ffr fl); IF Ffr fl < Fmin THEN Fmin:=Ffr_fl;
END;
IF pa[3] THEN {WRIJVING MATRIJSAFRONDING} BEGIN
IF ruo<>ru THEN F fl:=Kf*sigmaf u*«l+«KS-l)/Bl)*Beta)*Ln(Beta)-Ks+l)* - (Beta p/Beta o)*Quot S1
Ffr fl:=mu fl*(Rp/so)*(SQR(Beta p)-SQR«Rd+rho d)/Rd»*(Ppl/C); F rho:=K rho*(so/rho d)*sigmaf I*SQR(Quot s)* -- SQRT(SQR(Rl)/R2)*(1+0.S*SO/RP);-
IF «Quot r<=l) AND (ruo<>ru» THEN -
BEGIN sigma r:=Kf*sigmaf u*(Ln(l/Quot r)*(l+(Ks-l)*Beta/Bl)
- (Ks-l)*(l=Quot r)*Bl/Beta); Ffr F fl:=sigma r*«Rd+rho d)/Rp)*Quot s;
END; - - - - -Ffr rho:=fr ro*mu r*(Ffr F fl+Ffr fl+O.S*F rho); Writeln(fc,Beta,'-',Ffr rho); - -IF Ffr rho < Fmin THEN Fmin:= Ffr_rho;
END; -
IF pa[4] THEN {BUlGING} BEGIN
F rho:=K rho*(so/rho d)*sigmaf i*SQR(Quot s)* - SQRT(SQR(Rl)/R2)*(1+0.S*sO/Rp);-
Writeln(fd,Beta,' ',F rho); IF F rho < Fmin THEN-Fmin:= F_rho;
END;
Ftot:= 0; IF pa[l] THEN Ftot:= F fl; IF pa(2] THEN Ftot:= Ftot+Ffr f1; IF pa[3] THEN Ftot:= Ftot+Ffr-rho; IF pa[4] THEN Ftot:= Ftot+F rho; Write1n(fto,Beta,' ',Ftot);-
IF Ftot>Fmax THEN BEGIN
Fmax:= Ftot, maxBeta:= Beta;{Bfm} IF pall] THEN maxF fl:=F_fl;
-59-
Hoofdprogramma bijlagen
IF pa[21 THEN maxFfr fl:=Ffr f1; IF pa[31 THEN maxFfr-rho:=Ffr rhoi IF pa[4] THEN maxF_rho:=F_rho;
END;
Beta:=Beta-stap 1; END; -
fgroot:= fmax; IF Fkritish > Fgroot THEN Fgroot:= Fkritish;
{informatie voor maxima1e waarde grafiek} IF Fkritish < Fmin THEN Fmin:= Fkritish; IF pall] THEN c1ose(fa); IF pa[2] THEN close(fb); IF pa(3) THEN close(fc); IF pa[4] THEN close(fd); IF pall) OR pa(2) OR pa[3] OR pa[4] THEN Close(fto);
END;
{ UITVOER RESULTATEN NAAR SCHERM } Window(1,1,80,25); Textbackground(blue); Textcolor(white); Clrscr; Writeln( , Window(I,2,BO,24); Textbackground(white); Textcolor(black); Clrscr;
-60-
Voor aIle duideIijkheid');
Hoofdprogramma
IF pa[I) OR pa(2) OR pa[3] OR pa[4]
THEN BEGIN
textcolor(white); textbackground(blue);
bijlagen
Write (' De data van de vermogen-weg-kromme is'); Write (' weggeschreven. '); textbackground(white); Textcolor(yellow); writeln; write (' Praktische diepterkverhouding: Ruo/Rp = '); schrijf(beta p,2); writeln; -write (' Theoretische dieptrekverhouding: RUO/(Rp+~SO) = '); schrijf(Beta 0,2); writeln; -Write (' Het maximaal dimensieloos totaalvermogen is '); schrijf(Fmax,3); writeln; Write (' Deze treedt op bij een dieptrekverhouding van '); schrijf(maxBeta,2); writeln; writeln;
IF pall) THEN BEGIN
writeln(' Het dimensieloos vermogen benodigt voor het stuiken'); Write (' en rekken van de flens is '); schrijf(maxF fl,3}; writeln; -writeln(' Het aandeel in het totaalvermogen is '
«maXF_fl/Fmax)*100):1:2,'%'); END;
writeln;
IF pa{2] THEN BEGIN
write (' Het dimensieloos vermogen benodigt voor de wrijving'); writeln(' tussen'); write (' flens/plooihouder en materiaal is '); schrijf(maxFfr fl,3); writeln; -
END;
-61-
Hoofdprogramma bijlagen
IF pa[3] THEN BEGIN
writeln(' Het dimensieloos vermogen benodigt voor de wrijving '); write (' om de afrondingsstraal is '); schrijf(maxFfr rho,3); writeln; -
END;
IF pa[4] THEN BEGIN
write (' Het dimensieloos vermogen benodigt voor de dubbele'); write (' buiging is ')i schrijf(maxF rho,3); writeln; -
END;
writeln; Write(' Het'); textcolor(red)j write (' kritisch')j textcolor(yellow)j write (' dimensieloos vermogen is '); schrijf(Fkritish,3); Write(', dimensievol is ')i schrijf«Fkritish*2*pi*Rp*so*C/I000),3)i writeln(' [kNJ'); Write (' Het')j textcolor(red); write (' maximaal'); textcolor(yellow); write (' dimensieloos vermogen is '); schrijf(Fmax,3); Write (', dimensievol is ')i schrijf«(2*pi*Rp*so*C*Fmax)/IOOO),3); writeln(' [kNJ')i IF Fmax > Fkritish THEN
BEGIN textcolor(red); Writeln(' De benodigde kracht is groter dan de kritische
kracht 11'); end;
Textcolor(black)i GotoXY(1,21); Write ('========================================================='); Writeln('======================='); Textcolor(red); GotoXY(20,22); Write (' Druk op enter om het programma te vervolgen'); Readln; clrscri textcolor(yellow); Writeln; writeln; textcolor(black); Write (' Het totale dimensieloze vermogen is opgebouwd uit'); Writeln(' de volgende deelvermogens:'); IF pa[l] THEN Writeln(' * Het gedeelte stuiken/rekken van de flens'); IF pa[21 THEN Writeln(' * Het gedeelte wrijving tussen plooihouder
en flens');
-62-
Hoofdprogramma
IF pa(3) THEN Writeln(' * Het gedeelte wrijving rond de matrijsafronding');
IF pa[4] THEN Writeln(' * Het gedeelte buigen en terugbuigen'); Writeln;
bijlagen
Writeln(' Onder de volgende filenames zijn de data weggeechreven'};
IF pall] THEN BEGIN
Write(' Het gedeelte stuiken/rekken v/d flens onder '); Writeln(path,'p s l.dat');
END; - -
IF pa[2] THEN BEGIN
Write('Het gedeelte wrijving tussen plooihouder en flens onder'}; Writeln(path,'P s 2.dat'};
END; - -
IF pa[3] THEN BEGIN
write(' Het gedeelte rond de matrijeafronding onder ')j writeln(path,'P s 3.dat')j
END; - -
IF pa[4] THEN BEGIN
Write (' Het gedeelte buigen en terugbuigen onder '); writeln(path,'P s 4.dat')i
END; - -
Write(' De totale dimensieloos vermogen-weg data onder '); Writeln(path,'P s tot.dat'); GotoXY(I,22); --Write ('=========================================================')i Writeln('======================'); Textcolor(red); GotoXY(20,23)i Write (' Druk op enter om het programma te vervolgen'); Readln; Window(I,I,80,25); Textbackground(black); Clrscr; Make window(I,6,80,20,' ',blue,lightgray,red,white); GotoXY(I,7); Write ('Wilt u de dimensieloze vermogen-wegkrommes op het'); Write (' echerm afbeelden (j/n) ? '); IF Ja Nee then
BEGIN graf real(Beta o,Beta e,Fgroot,Fmin,Fkritish,filenaam,path,pa); readln; - -
end; END
ELSE BEGIN
Write (' Doordat u Writeln(' is er ook Writeln( , GotoXY(I,22);
geen deelvermogens meegenomen heeft,'}; geen totaal vermogen.');
Er ie due niets weggeschreven.');
Write ('=======================================================');
-63-
Hoofdprogramma
Writeln('======================='); Textcolor(red); GotoXY(20,23); Write ('Druk op enter om het programmma te beeindigen.'); Readln; Window(1,1,aO,25); Textbackground(black)j Clrscr;
END; Make window(l,6,80,20,' ',blue,lightgray,red,white)i gotoXY(15,7); write('Opnieuw ?? (J/N):')j if ja_nee then zolang l:=true
else zolang=l:=false end;
END.
-64-
bijlagen