Piepschuimsnijder

Gepost door Jeroen Vreuls op donderdag 16 januari 2020 22:50

Het mechanische gedeelte

De snijdraad van een piepschuimsnijder wordt langer als er een spanning opgezet wordt, dit is nodig om de draad te verwarmen anders zou het niet werken. Nu wordt het lengteverschil in de draad vaak opgevangen met bijvoorbeeld een trekveer, maar dat is niet echt ideaal. De kracht die door de veer uitgeoefend wordt op de snijdraad is niet constant, als de veer meer uitgetrokken wordt, wordt de kracht groter. Maar ook als bijvoorbeeld de snijdraad niet warm genoeg is of de draad wordt helemaal niet verwarmd, dan heb je zeer grote kans dat de boel stuk getrokken wordt. En dat geldt niet alleen voor de draad, maar er kan ook schade aan de machine ontstaan. Maar als daar nu een regeling voor gemaakt wordt dan kan dat niet meer gebeuren.

Hieronder een voorbeeld hoe zoiets in zijn werk gaat.

Tekening van de piepschuimsnijderTekening van de piepschuimsnijder

De draadspanning wordt nu door een stappenmotor (links op de tekening) met een vertraging van bijvoorbeeld 10:1 op spanning gehouden. Het andere eind van de snijdraad zit vast aan een sensor, deze sensor (kracht opnemer) meet de kracht op de draad. Het signaal van de sensor wordt teruggekoppeld naar de controller en deze stuurt op zijn beurt de stappenmotordriver aan. Stel nu dat de draad uitzet omdat de draad verwarmd wordt, dan zal de stappenmotor de draad iets aantrekken tot een bepaalde ingestelde waarde. Op deze manier creëer je dus een proportionele besturing. Je ziet ook twee messing rollen staan waar de draad overheen loopt, dit is voor de geleiding van de snijdraad. Maar tevens ook het punt waar de spanning of het PWM-signaal op de snijdraad wordt gezet. Het ligt dus aan de besturingsvorm of er met een spanning of met PWM gewerkt wordt voor de verwarming.

Nu is het zo dat de snijdraad met een bepaalde kracht gespannen wordt, dit kun je in de software aanpassen, meestal ligt die waarde tussen de 5 en 20 N. En dat is meer dan voldoende, een goed afgestelde en verwarmde snijdraad gaat als een warm mes door de boter.

Maar er is iets speciaals aan de hand met de regeling. Stel dat de snijdraad ingesteld staat op 10 N, als er nu een grotere kracht op de draad uitgeoefend wordt dan 10 N, dan zal de regeling de draad afwikkelen. Dat kan ook niet anders, want anders zou de draad steeds strakker komen te staan. Dus staat de draad te strak dan zet de regeling de draad losser, staat de draad te los dan zet de regeling de draad strakker. Dus de regeling zal proberen om de draad op de ingestelde spanning te houden. Maar de regeling zorgt voor nog een voordeel, je kunt nu ineens diagonaal snijden. Dan moet de machine de assen wel afzonderlijk aan kunnen sturen natuurlijk. Hieronder het voorbeeld.

Diagonaal snijdenDiagonaal snijden

Hier zie je dat de snijdraad diagonaal staat, op deze manier kun je dus meerdere vormen snijden. Dus stel dat de draad van horizontaal naar diagonaal gaat, dan moet de draad langer worden. De regeling zal de draad nu dus laten vieren, maar de kracht op de draad blijft 10 N.

Nu zijn er ook piepschuimsnijmachines die nog een draaitafel in de snijtafel verwerkt hebben, op een dergelijke machine kun je dus 3D modellen maken. Dit wordt dan weer vaak gebruikt door bedrijven die modellen maken voor bijvoorbeeld reclame doeleinden of voor modellen in etalages. En uiteraard voor de modelbouw, denk aan vliegtuigvleugels en vliegtuigrompen.

Er zijn ook piepschuimsnijmachines die de draad in de lengte en breedte richting diagonaal kunnen zetten, dan kun je dus hele grote schuine vlakken snijden.

Hieronder een voorbeeld met de draad in tegengestelde richting.

Diagonaal snijden in tegengestelde richtingDiagonaal snijden in tegengestelde richting

De krachtopnemer

Nu even iets over de gebruikte sensor, die kun je zelf maken of je koopt er een. Dat maken kan op verschillende manieren. Zie hieronder.

Sensor met trekveer en potmeterSensor met trekveer en potmeter

Dat kan bijvoorbeeld met een trekveer en een potmeter. Nu hoor ik je denken, dat kon toch niet met een veer. Maar doordat de draad nu via een regeling strak gehouden wordt kan het wel. Die veer is er alleen maar om beweging in de potmeter te krijgen, de veer moet uiteraard wel verstelbaar zijn. Als je de veer nu zover opspant dat de kracht iets groter is dan bijvoorbeeld de 10 N, dan werkt dit gewoon goed. De potmeter moet uiteraard ook versteld kunnen worden, als je de potmeter precies in het midden zet (hangt ook af van de waarde in de software) zal de draad op de ingestelde waarde komen te staan. De waarde kun je bijvoorbeeld controleren met een kleine digitale handweegschaal.

Hieronder een voorbeeld met een analoge sensor.

Analoge sensor met trekveerAnaloge sensor met trekveer

Deze meetmethode werkt met een analoge sensor en een kegel, de kegel zit tussen de snijdraad en de trekveer. Als de draad nu strakker of losser gaat staan zal de kegel verder of dichterbij de sensor komen te staan. De trekveer en de analoge sensor dienen beide verstelbaar te zijn. De analoge sensoren reageren erg snel op een kleine verandering, ik heb deze sensoren vaker toegepast in andere regelingen.

Alleen is de voedingsspanning een beetje een punt, de voedingsspanning is vaak 24 V DC en de uitgangsspanning ligt vaak tussen de 0 en 10 V DC. De voedingsspanning moet dus wel aanwezig zijn als je een dergelijk sensor gaat gebruiken. De 0 tot 10 V DC kun je via een spanningsdeler naar de 0 tot 5 V DC krijgen. En dan de prijs van de sensor, het zijn niet de goedkoopste, maar ze zijn wel erg betrouwbaar en precies. Ik heb er goede ervaringen mee in ieder geval. Hieronder nog een voorbeeld van een krachtopnemer.

Krachtopnemer met rekstrookKrachtopnemer met rekstrook

Hier wordt gebruik gemaakt van een krachtopnemer. Dit kan een gekochte zijn of een zelf geconstrueerde met bijvoorbeeld een rekstrookje. Het rekstrookje dient op bijvoorbeeld een stuk aluminium gelijmd te worden, het kan dus niet zomaar belast worden. De lijm dient een niet flexibele soort te zijn, het beste kun je hier een niet flexibele tweecomponentenlijm voor gebruiken. En als je dat niet ziet zitten kun je er altijd nog een kopen, die kleintjes zijn niet zo duur.

Applied Measurements DDE-100NApplied Measurements DDE-100N

Het afgebeelde type gaat tot 100 N, een type die tot bijvoorbeeld 50 N gaat is zwaar genoeg. De krachtopnemer komt direct tussen de snijdraad en een bevestigingspunt op de draadwagen. Zoek wel naar een opnemer die op 5 V DC werkt.

De software

Voor de test regeling heb ik een PIC16F887 microcontroller gebruikt en een zelfgebouwde driver voor de stappenmotor. De driver wordt met puls en richting aangestuurd, ook zit er een step en hold ingang op de driver. Deze heeft twee functies, of je gebruikt hem voor de enable, of je gebruikt hem voor een lagere stroom door de motor als deze stilstaat. Die keuze kun je maken door een instelpotmeter te verdraaien. Als je zelf zo'n regeling wil maken om de draadspanning constant te houden, dan kan dat gewoon met een PIC12F683 en een standaard stappenmotordriver. Daar kun je dan gelijk de PWM-regeling in maken voor de snijdraad verwarming, mocht die nog niet op de bestaande of zelf te bouwen machine zitten. Het hoeft dus niet met een PIC16F887. Een uitgebreidere beschrijving van de stappenmotorregeling kun je hier vinden.

Software

De software is in Basic gemaakt met Proton Plus.

Device 16F887                               ; Processor type

Xtal 10                                     ; Crystal 10MHz

Asm                                         ; Config settings
CONFIG_REQ
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON
__CONFIG _CONFIG2, WRT_OFF & BOR40V
EndAsm

All_Digital true                            ; Alle poorten digitaal

Declare Adin_Res = 10                       ; resolutie 8 bits
Declare Adin_Tad = frc                      ; set RC osc
Declare Adin_Stime = 50                     ; sample tijd 5

Declare LCD_RSPin PORTD.2                   ; Reset display poort D.2
Declare LCD_ENPin PORTD.3                   ; Enable display poort D.3
Declare LCD_DTPin PORTD.4                   ; Data display D.4 t/m D.7

Declare Rsin_Pin PORTB.0                    ; Data in
Declare Rsout_Pin PORTB.1                   ; Data uit

Declare Serial_Baud 9600                    ; Baudrate 9600
Declare Serial_Data 8                       ; Seriele data 8 bit

Symbol S1 = PORTE.2                         ; Schakelaar draad invoer

Symbol PULS = PORTC.2                       ; Uitgang stappenmotor driver
Symbol DIR = PORTC.1                        ; Uitgang stappenmotor driver
Symbol STEP_HOLD = PORTC.0                  ; Uitgang stappenmotor driver

Symbol SPAN_WAARDE = 512                    ; Waarde sensor

Symbol FREQUENTIE = 3000                    ; Instelling stap frequentie

Symbol HYSTERESIS = 20                      ; Waarde hysteresis

Dim SENSOR_WAARDE As Word                   ; Variabele sensor waarde

Cls                                         ; Wis display

DelayMS 500                                 ; Pauze 0.5 sec

Clear                                       ; Wis geheugen

        ;543210                             ; Hulpregel poort A
PORTA = %000000                             ; Maak poort A laag
TRISA = %000001                             ; Poort_A I/O

        ;543210                             ; Hulpregel poort B
PORTB = %000000                             ; Maak poort B laag
TRISB = %000000                             ; Poort_B I/O

        ;76543210                           ; Hulpregel poort C
PORTC = %00000000                           ; Maak poort C laag
TRISC = %00000000                           ; Poort_C I/O

        ;76543210                           ; Hulpregel poort D
PORTD = %00000000                           ; Maak poort D laag
TRISD = %00000000                           ; Poort_D I/O

        ;210                                ; Hulpregel poort E
PORTE = %000                                ; Maak poort E laag
TRISE = %100                                ; Poort_E I/O

         ;76543210                          ; Hulpregel analoog
ADCON0 = %00000001                          ; ADCON0 register analoog 8 bit

         ;76543210                          ; Hupregel analoog
ADCON1 = %10000000                          ; ADCON1 register analoog 10 bit

         ;76543210                          ; Hulpregel analoog poort_B
;ANSELH = %00000000                         ; ANSELH register analoog poort_B

RUN:

    If S1 = 1 Then
        GoSub DRAAD_INVOER
    EndIf
    
    SENSOR_WAARDE = ADIn 0
    If SENSOR_WAARDE > SPAN_WAARDE And SENSOR_WAARDE - SPAN_WAARDE > HYSTERESIS Then
        STEP_HOLD = 1
        DIR = 1
        PULS = 1
        DelayUS FREQUENTIE
        PULS = 0
        DelayUS FREQUENTIE
    EndIf

    If SPAN_WAARDE > SENSOR_WAARDE And SPAN_WAARDE - SENSOR_WAARDE > HYSTERESIS Then
        STEP_HOLD = 1
        DIR = 0
        PULS = 1
        DelayUS FREQUENTIE
        PULS = 0
        DelayUS FREQUENTIE
    EndIf
    
    If SENSOR_WAARDE = SPAN_WAARDE Then
        PULS = 0
    EndIf

GoTo RUN

DRAAD_INVOER:

    STEP_HOLD = 0
    PULS = 0
    If S1 = 0 Then
        STEP_HOLD = 1
        DelayMS 100
        Return
    EndIf
    
GoTo DRAAD_INVOER

End

Schakelaar S1 dient voor de draad invoer, als S1 hoog is kun je de stappenmotor met de hand draaien. Ook kan er geen puls naar de motor gestuurd worden op dat moment. Nu kan de snijdraad ingevoerd worden en aangesloten worden op de kracht sensor. Als S1 laag is wordt er weer naar de RUN mode gegaan en zal de snijdraad gespannen worden tot de juiste waarde bereikt is. Het signaal dat van de sensor komt is een analoog signaal tussen de 0 en 5 V DC, deze waarde wordt vergeleken met de SPAN_WAARDE. De SPAN_WAARDE staat hier op 512, als de waarde op de analoge ingang ook 512 is dan staat de snijdraad op de juiste mechanische spanning. Door nu de SPAN_WAARDE te verhogen of te verlagen kun je de mechanische spanning veranderen. Je zou ook nog een extra analoge ingang hiervoor aan kunnen maken en daar een potmeter op aan sluiten, dan kun je de mechanische spanning van de snijdraad via de potmeter regelen.

De analoge ingang staat hier op 10 bit, dus een waarde van 0 tot 5 V DC komt overeen met een digitale waarde van 0 tot 1024. Zoals ik al zei, dit hele riedeltje kan in een PIC12F683. De PIC12F683 heeft vier kanalen 10 bit analoog aan boord. Als je een externe potmeter voor de SPAN_WAARDE zou gebruiken dan hou je nog één pin over, kan precies dus. Ook kun je kiezen om het programma iets uit te breiden en de extra potmeter gebruiken om bijvoorbeeld de temperatuur van je snijdraad te regelen. Maar dan heb je niet genoeg I/O voor de externe potmeter om de draadspanning te regelen, dat moet dan weer via de software. Maar dat moet geen probleem zijn lijkt mij.

Dit artikel is geschreven door Lambiek.