Cabine en Autoleveller

Cabine

De cabine is in messing gefreesd en in elkaar gezet.

Ik wist dat de tekening nog fouten bevatte en ik wilde niet te veel tijd spenderen aan strak en recht solderen.

Je ziet pas bepaalde dingen als je het in elkaar zet.

Zo ontdekte ik dat de centreerlipjes niet op de juiste plaats zaten, ook ontdekte ik dat de waterbakken naar binnen toe doorlopen, dat had ik over het hoofd gezien op de bouwtekening.

De waterbakken hebben aan de voorkant ook een iets andere vorm: ze sluiten meer om de ketel heen.

Het voorste en achterste cabinepaneel staan ongeveer 0,5mm terug omdat langs de randen van de waterbak en de kolenbak nog een halfronde versiering komt.

Dezelfde halfronde versiering komt ook langs de ramen. 

Zo zijn er nog een paar dingetjes die ik nog moet aanpakken, waaronder:

Het dak.

De zijramen.

De klapdeurtjes.

De ronde ruitjes op voor- en achterpaneel.

De steun u-balken op het achterpaneel.

De waterdeksels.

De watervulpijp met deksel in de kolenbak.

De klinknagels.

Het interieur met backhead en meters en verlichting.

Het dekseltje in het voorpaneel voor het gereedschap.

De klep in het achterpaneel waar de kolen door worden geschept.

Rookkast en rookkastdeur.

 

Het frezen van de Cabine in 0,5mm messing 58
In 0,5 mm messing 58 worden de panelen gefreesd met een freesje van 1mm. volume zacht zetten wegens herrie!
In de vaatwasser om te ontvetten
We hebben onze eigen bouwdoos gemaakt
Panelen worden nauwkeurig uitgericht zodat ze haaks en parallel zijn
En nu zo netjes mogelijk solderen...met CARR's 188 solder paint (vloeibaar soldeer) en een vlammetje. Met BluTack houden we panelen op hun plek en met nat wc papier worden reeds gesoldeerde verbindingen gekoeld. Het doel is de panelen controleren.
Even de Cabine snel in elkaar gezet, een beetje scheef, maar dat doet er niet toe. Ik wilde de tekeningen en G-Code controleren en het was niet de bedoeling een strakke lok te solderen. Ik heb zodoende een paar foutjes ontdekt en ga die corrigeren.
Ik heb al lange tijd niet meer gesoldeerd en had moeite met alles haaks en mooi te solderen. Maar het heeft zijn doel gediend, je ziet niet alle fouten op een tekening en je ontdekt ze pas als je alles in elkaar zet. Alles klopt behoorlijk goed en is exact 1:45.

AUTOLEVELLER

AutoLeveller (AL) is een bijzonder handig software pakket om fouten te herstellen in de vlakheid van het werkstuk van uw CNC-freesmachine.
Het is gemaakt door James Hawthorne.

Het pakket vereist dat Java runtime environment 1.7.0 is geïnstalleerd op uw computer.

Voor graveren (freesdiepte<materiaaldikte) en nauwkeurig frezen van dunne materialen is het een must.

In theorie kun je daarmee ook frezen op holle, bolle of ronde voorwerpen.

Het werkt zowel met LinuxCNC als met Mach3 .

In duurdere software zit deze optie vaak ingebouwd, maar niet in MACH 3.

Het doel is om middels een "touchprobe" (sonde) ongelijkmatigheden in de vlakheid van het gehele werkstuk of een deel ervan te meten en deze Z-waarden automatisch te corrigeren in Uw G-code.

Ik had al eerder problemen bijvoorbeeld met het graveren van bakstenen voor het project station Legmeerpolder. Er waren teveel "luchtfrezen" en als je te diep graveert, gaat de frees door het werkstuk heen of breekt ie. 

Zie ook: Februari 2015

Het uitvoeren van de meting met een sonde heet 'sonderen'.

Sondering houdt concreet in:

1) een metalen sonde, die aan de "0" ligt en zich op de Z-as beweegt (bv. spantang van de spindel),  gaat langzaam omlaag totdat een geleidend object wordt geraakt (bijvoorbeeld een messingplaat) dat aan de +5 ingang ligt (pin 12), waardoor deze digitale ingang op 0 wordt gezet als in de instellingen "active low" is gekozen.

2) De sonde stopt onmiddellijk bij contact en de X,Y,Z coördinaten van deze sondering worden weggeschreven in een file en de Z-coördinaten worden in een parameter opgeslagen.

De sonde verplaatst zich dan naar het volgende sonderingspunt waar weer een meting wordt gedaan en zo verder.

De sonderingshandeling wordt uitgevoerd door G-Code "G31".

Het aantal metingen in het X- en Y-vlak en de afstand tussen de meetpunten kunnen van te voren worden bepaald.

Uiteindelijk worden in uw G-code alle Z-waarden aangepast door middel van Vector algebra.

Gevolg: bij graveren (een bewerking waarbij de freesdiepte kleiner is dan de dikte van het werkstuk) egale lijnen, denk aan mensen die electronische circuitboards graveren.

Maar ook bij doorfrezen (freesdiepte >= dikte van het werkstuk): een gebroken frezen meer, geen 'luchtfrezen' meer, maar mooie egaal en nauwkeurig gefreesde werkstukken.

Dit zal bij grotere werkstukken en dikkere frezen weinig verschil maken.

Maar wij werken met tools van hele kleine diameters en dunne materialen.

We maken zeer nauwkeurige werkstukken.

Dan blijkt de messingplaat die op het oog vlak lijkt, onder een vergrootglas een waar heuvellandschap te zijn voor de frees.

Voor iedere nieuwe messingplaat (of welk materiaal dan ook) moet er een nieuwe sondering plaatsvinden omdat iedere plaat weer anders is en een ander profiel heeft en geloof me: het gaat om tienden, ja zelfs hondertsten van een millimeter.

Met andere woorden: de oppervlakte van het werkstuk wordt softwarematig volledig vlak gemaakt.

De 'heuvels' worden gevlakt en de 'dalen' worden gevuld.

Versie 0.7 van AutoLeveller is gratis en heeft beperkte opties.

Versie 0.8 kost £20,00 (ong. €30,00), maar heeft meer opties zoals, in geval van breuk of fout bij het frezen, te kunnen herstarten vanaf het punt waar het incident plaatsvond, zonder naar het begin van de g-code te moeten teruggaan.

Versie 0.8 is alleen voor 'member's.

U kunt alle informatie vinden (in het Engels) en de software downloaden op zijn website: http://www.autoleveller.co.uk

AUTOLEVELLER V 0.7 (gratis)

De software is relatief gebruiksvriendelijk ontworpen, maar het vergt enige tijd en concentratie om het proces te doorgronden.

Vooral ook omdat de op internet beschikbare beschrijvingen nogal eh... cryptisch zijn.

AutoLeveller neemt de maateenheid over uit je oorspronkelijke g-code bestand (mm of inches) en vult een aantal freesparameters automatisch in.

Default waarden worden getoond voor de diepte van de sondering, etc. de
effecten van de wijziging van de afmeting en afstand van sonderingswaarden worden weergegeven in het sondegegevens vak waar het totale aantal sonderingspunten wordt weergegeven.

Het orspronkelijke bestand heet bijvoorbeeld:"NS5500_frezen.nc".

Het outputbestand na bewerking door AutoLeveller (ook gewoon G-Code) gaat dan heten:"ALNS5500_frezen.nc" maar de naam kan worden aangepast.

Een AL-bestand moet U niet bewaren maar bij elke klus opnieuw aanmaken.

Als de job klaar is, kunt U hem het beste meteen 'deleten', zodat U 'm niet per ongeluk opnieuw gebruikt met een nieuwe messingplaat.

Elke te bewerken plaat heeft immers een eigen oppervlakte ongelijkheid.

Het uitvoerbestand zal in principe in dezelfde directory als het origineel worden geplaatst.

Maar onthoud het pad waar dit bestand staat, want je gaat het later weer nodig hebben in MACH 3.

De  filenaam die AutoLeveller produceert wordt voorafgegaan door "AL" (afkorting voor "Auto Levelling") en de extensie is een gebruikelijke g-code vorm zoals: "*.ngc" , "*.nc"  of "*.tap".

De X en Y waarden blijven behouden, maar de Z-waarden worden gewijzigd in overeenstemming met de Z-hoogte op die XY locatie.

De geproduceerde G-Code kan eenvoudig worden aangepast met een teksteditor zoals "Sublime-Text", "Kladblok", of "Word".

Wanneer U het door AL ghewijzigde bestand opent, ziet U regelmatig de tekst "G31 Z-10 F100".
Dit betekent: ga met een snelheid van 100mm per minuut op de Z-as 10mm omlaag.

Zodra contact wordt gemaakt met het geleidende werkstuk en dus als de digitale ingang (bij mij pin 12) aan 0V wordt gelegd, stopt de sonde onmiddellijk en worden de X,Y en Z waarden weggeschreven naar een file.

U ziet ook tekst als "#500=#2002" hetgeen betekent "stop de gevonden Z-waarde bij aanraking in variabele met de naam '500' ".

Deze variabelen worden later gebruikt om middels vector-algebra de Z-waarden aan te passen aan de afwijkingen in hoogte van het werkstuk.

Even pro memorie de variabelen:

#2000 = Probe Tripped Value of X
#2001 = Probe Tripped Value of Y
#2002 = Probe Tripped Value of Z
#2003 = Probe Tripped Value of A

Elke sondering maakt standaard gebruik van een feedrate van ongeveer 100mm per minuut (F=100) en er wordt omlaag tot bijvoorbeeld Z = -1,6 mm gesondeerd, indien geen contact wordt gevonden voordat het die diepte bereikt.

De minimale Z-waarde mag nooit dieper gaan dan de oppervlakte van de wasteplate (of "spoilboard").

Na elke sondering stijgt de sonde standaard naar Z=+3,2 mm of zo, vooraleer verder te gaan naar de volgende X-Y positie ( deze Z-waarde kan lager gekozen worden).

De ruimte tussen elk sonderingspunt moet ongeveer 10 mm bedragen en aan het einde van de sonderingsjob stijgt Z naar +25 mm of +30mm of zoiets.

Dat is de hoogte waarop men de frees makkelijk kan verwisselen.

Deze waarden kunnen eenvoudig worden gewijzigd.

Verder op ziet U in het gewijzigde bestand code als dit:
 
G0 X90.77 Y6.74
#102=[#553+0.37307*#563-0.37307*#553]
#101=[#554+0.37307*#564-0.37307*#554]
#100=[#102+0.77078*#101-0.77078*#102]

Dit is de formule voor herberekening van de Z-waarden op punt (X90.77 Y6.74) middels vector-algebra die gebaseerd is op de stelling van Pythagoras.

Wie daar meer over wil weten: klik hier.

Een uitstekend college over Vector algebra (in het Engels) is hier te vinden.

Het bestand is nu klaar voor MACH 3.

 

AutoLevel in MACH 3

AutoLevel doet dus niets anders dan een AL-bestand aanmaken.

Het echte sonderen verloopt via Mach3, waar we dat AL-bestand gebruiken.

AutoLevel bereidt het sonderen dus alleen maar voor, het sonderen zelf gaat via Mach3.

Mach 3 last dan een pauze in, waarna het echte frezen (met gecorrigeerde Z-waarden) zoals gebruikelijk plaatsvindt.

Nu gaan we dus het zojuist aangemaakte AL bestand openen in MACH 3.

Eerst gaat MACH 3 sonderen met stilstaande spindel motor, dan even wachten om alles los te koppelen, in stap 2 wordt de motor aangezet en we gaan frezen (boren, graveren...).

Het bestand dat door AutoLeveller werd gegenereerd ("ALNS5500_frezen.nc") kan dus worden geladen in de besturingssoftware van de CNC-frees (in mijn geval MACH 3) alwaar eerst de sonderingsrun zal worden afgewerkt, na een pauze gevolgd door een freesjob (met aangepaste Z-waarden).

Je kunt sonderen met het freesje waarmee je ook gaat werken, je hoeft dan de Z0 waarde niet opnieuw te calibreren.

Start MACH 3 Mill.
Menuoptie: File->LoadGCode->Kies "ALNS5500_frezen.nc".

Wanneer U de button "Edit GCode" klikt, kunt U de code controleren en eventueel wijzigen.
Controleer vooral of de Z waarde niet lager gaat dan de wasteplate en check of er niet per ongeluk ergens "M3" of "M4" staat in de sonderingssektie, anders deze code onmiddellijk verwijderen.

In de freessektie moet (!) deze code uiteraard wel staan, anders duikt de stilstaande frees het werkstuk in hetgeen altijd tot breuk leidt.

Klik in MACH 3 op button "Start" en het sonderen met stilstaande motor zal starten.

Tips:

Zet de X en Y waarden ongeveer 5 mm van de rand af, zodat de sonde boven het werkstuk blijft en er geen kans op 'missers' aan de randen optreedt tijdens het sonderen.

Zorg ervoor dat er een sonde is opgenomen in de spantang van de spindle (Z-as) en dat de +5V en 0V correct zijn aangesloten.

Zorg ervoor dat de krokodilleklemmen tijdens het sonderen niet los kunnen schieten!

Zorg ervoor dat de spindel niet kan gaan draaien, want dan worden alle kabels aan flarden getrokken, dus de spindelmotor loskoppelen of uitschakelen voor alle zekerheid.

Voor alle zekerheid de 0V kabel met een klein stekkertje of met de hand aan elkaar geflanst verbinden, zodat als per ongeluk, de motor toch start, alleen het draadje wordt losgetrokken en niet de hele stuurkaart wordt vernield.

Normaal gesproken wordt het geleidende werkstuk aan de +5V (bij mij digitale ingang pin 12 op de stuurkaart) gelegd en de sonde (= het freesje) aan de 0V (pinnen 18 tot 25 op de stuurkaart).

De verbindingen kunnen zoals gezegd eenvoudig met een krokodilleklemmetje worden gemaakt, maar zortg dat ze niet los kunnen schieten.

Dus de ingang (pin 12 bij mij) ligt in rust aan +5V (werkstuk) en wordt geactiveerd als de spanning zakt naar 0V (pinnen 18 tot en met 25) doordat het freesje de oppervlakte van het werkstuk raakt.

Wanneer het werkstuk niet geleidend is, bijv. kunststof of hout werkt het uiteraard niet en dient een ander type sonde te worden gekozen, zoals een probe.

Plaats de Z-as iets minder dan 10 mm boven het werkstuk in de oudere versie van AL.
Latere versies van AL, vragen je de Z-as vlak boven het werkstuk te plaatsen.

De sonde zal zich omlaag verplaatsen met snelheid F totdat contact met het geleidende werkstuk wordt gemaakt.

Als de sonde de tool is waarmee gefreesd gaat worden, kan je beter een niet te hoge F nemen, zodat het niet breekt bij contact met het werkstuk of als er iets misgaat.

Zodra de sonderingsstappen zijn voltooid, wordt het programma onderbroken zodat je alle sensorkabels kunt verwijderen en indien noduig, de tool kunt verwisselen.

Het programma wacht tot je weer de "Start" button aanklikt.

Zorg ervoor dat het werkstuk onder geen beding kan bewegen, anders moet je opnieuw beginnen.

Zorg ervoor dat de motor weer kan worden ingeschakeld en controleer of dit het geval is anders graaft een stilstaande frees zich in het werkstuk, hetgeen wij beschouwen als een ongewenst incident dat onherroepelijk tot freesbreuk leidt.

Klik opnieuw op "Start" om het frezen te starten nadat de probe draadjes zijn verwijderd.

Bij een incident tijdens het frezen, bijv. als het freesje breekt en/of als er sprake is van "luchtfrezen", moet je het werkstuk nogmaals sonderen.

AutoLeveller versie V 0.8 maakt eerst een logboek van de sondering aan en zal vervolgens een bewerkingsbestand maken dat onder meer sub-routines bevat zodat het weer aan het werk kan vanaf de plaats van het incident, maar v 0.7 doet dat dus niet: dan moet je van voren af aan beginnen.

U kunt v 0.7 op dezelfde manier gebruiken als v 0.8 maar dan zonder dat logboek.

 

File->LoadGCode. Deze bevat 2 etappes: eerst sonderen, dan een pauze en dan frezen met aangepaste Z-waarden. Samen met het vlakken van de wasteplate en van het werkstuk, zul je nu nauwelijks meer hoogteverschil problemen tegenkomen bij het frezen, graveren en boren.
Als je de editor opent, kun je de G-Code bekijken en eventuele wijzigingen doorvoeren.
AutoLeveller via MACH3 in aktie: sonderen
Het is lekker stil als de KRESS niet aanstaat. Het sonderen werkt perfect.

MACH 3: PROBING REVISITED

In MACH 3 moeten een aantal instellingen worden gedaan voordat je kunt sonderen.

Je moet de ingangs Pin activeren.

Hoofdmenu->Config->Ports and Pins->Tabblad "Input Signals".

Kolom Signal: kies "Probe"; Vink aan "Enabled"; Port#="1"; PinNumber="12"; Active Low=True (Vink).

Klik op Button "Toepassen" en "OK".

PinNumber kan in principe zijn: "10,11,12,13,15", dus geen 14, ik heb gekozen voor Pin 12.

pennen 10, 11, 12, 13 en 15 zijn input pinnen. 

pen 14 is een output! 
Die is in mijn geval gebruikt voor het motorrelais!

Je kunt ook de Button "Automated Setup of Inputs" kiezen als je het Pinnummer niet weet.

Kies in drop down menu "Probe Switch".

Klik Button "AutoSet", de computer wacht dan op een proef signaal, dus leg sondeer ingang aan 0V.

De computer merkt dan vanzelf welke input Pin wordt gebruikt.

Klik op Button "OK".

 

Ik heb ook de code wat aangepast voor de "AutoToolZero", nu worden de 3 assen in één keer gedaan, zonder tussen schermpjes.

=============================

 

Sub Main()

Dim XaxisDRO As Integer
Dim YaxisDRO As Integer
Dim ZaxisDRO As Integer
Dim ToolDia As Double
Dim TouchPlateTickness As Double
Dim D As Double
Dim T As Double
 
XaxisDRO=0
YaxisDRO=1
ZaxisDRO=2


code "G17 G21 F100 G91"

ToolDia   = AskTextQuestion("Diameter van frees of probe invoeren")
TouchPlateTickness      = AskTextQuestion("Dikte touchplate invoeren, als je geen touchplate gebruikt is het '0.00' ")
 

D = ToolDia /2

SetDRO(ZaxisDRO, 0.0000)
Sleep 50
If IsSuchSignal (22) Then
code "G31 Z-20 F100"
While IsMoving()
Sleep 50
Wend
SetDRO(ZaxisDRO,TouchPlateTickness)

Sleep 50
code "G1 Z1"
End If


SetDRO(XaxisDRO, 0.0000)
Sleep 50
If IsSuchSignal (22) Then
code "G31 X-50 F150"
While IsMoving()
Sleep 50
Wend
SetDRO(XaxisDRO,D)

Sleep 50
code "G1 X1"
End If


SetDRO(YaxisDRO, 0.0000)
Sleep 50
If IsSuchSignal (22) Then
code "G31 Y-50 F150"
While IsMoving()
Sleep 50
Wend
SetDRO(YaxisDRO,D)

Sleep 50
code "G1 Y1"
End If

code "G90"


End Sub 
    

 

===========================

 

Ik heb wat MessageBoxes weggehaald en ik werk nu met G91: incremental distance mode, dat geeft me een iets veiliger gevoel.

Dus de code wat uitgedund, voor mijn gevoel werkt het wat makkelijker, je hebt nu alleen minder keuzes.

Misschien ga ik het nog aanpassen, maar ik probeer dit even voorlopig.

"If IsSuchSignal (22) Then" verklaring:

code '22' wil zeggen: "Digitize" is geactiveerd.

Digitize is in feite de "probe" die bij mij op pin 12 een "ActiveLow"geeft: de input aan pin 12 wordt aan de "0" gelegd.

Dit is ingesteld in Hoofdmenu-> "Config"->"Ports and Pins"0->"Input Signals" -> "Probe" -> Enabled -> Port=1 -> Pin=12 -> ActiveLow=true.

Dus: "als de input bij pin 12 aan aarde ligt, dan....."

Deze aktie wordt voor alle 3 de assen uitgevoerd zonder message.

Dus je klikt op de Button "Auto Tool Zero", er volgt dan een scherm om de diameter van de tool in te voeren, vervolgens een scherm om de dikte van de touchprobe in te voeren en verder wordt alles automatisch afgehandeld, helaas niet altijd, maar soms wel...

 

Het moet mij van het hart dat ik Visual Basic een vervelende programmeertaal vind.

Ook in samenwerking met MACH3 werkt het instabiel en onvoorspelbaar.

Meestal werkt het wel, maar je kunt er niet op vertrouwen.

Kleine dingen zoals een ActiveControl voor een MessageBox is niet beschikbaar, met als gevolg dat als je een diameter of materiaaldikte moet invoeren, je iedere keer weer met een muisklik  moet verrichten om de EditBox te activeren.

Ook de opdracht code "G31 " bijvoorbeeld, wordt regelmatig overgeslagen, d.w.z.: bij 1as tegelijk gaat het prima. Bij 2-assen gaat het af en toe mis en bij 3-assen gaat het steeds mis.

Dus als je alleen de Z-as doet is er niets aan de hand, maar als je 3-assen wilt doen in één run, dan lukt het niet.

Ook verdwijnen veranderingen die je in het VBScript maakt, nogal eens ook al heb je ze opgeslagen.

Het komt op mij gewoon amateuristisch over.

Ik had liever met C++ te maken gehad, of een andere taal die wat meer volwassen is. 

Ik overweeg om stabielere software aan te schaffen, want het kost veel te veel tijd en je verspeelt ook onnodig freesjes omdat de frees iets anders doet dan het script doet vermoeden.

 

 

 

 

 

 

Ingangs Pin activeren.
Pin opzoeken als je het nummer niet weet

Waterbakken

Bij controle van de bouwtekeningen kwam ik op het idee dat ik de waterbakken anders wil maken. De waterbakken lopen door in de cabine en de rechtse heeft een inham om ruimte te maken een handwiel. Ik heb geprobeerd om het uit massief messing te frezen.

De machineklem uitklokken
Met nauwkeurige eindmaten wordt de machineklem uitgeklokt zodat die parallel en haaks is
Inham voor handwiel uitfrezen
Het lukt mij nog niet om de gsm stil te houden tijdens het filmen, sorry. Ik doe er meteen 2.
Massieve waterbakken met een inham in de rechtse voor een handwiel. Nu nog de zijkanten bewerken en de wielbogen uitfrezen.
Auto Zero op 3 assen met VisualBasicScript in MACH3: instabiel en amateuristich.
Ik heb een hulpstukje gemaakt om de 3 assen in één keer op nul te zetten. Hier gaat het goed, maar het gaat heel vaak mis in Mach 3. Het heeft me een paar freesjes gekost en één werkstuk. Als je slechts één as doet gaat het goed. Visual Basic is geen topper in mijn opinie. Misschien dat men beter meteen MACH 4 kan nemen i.p.v MACH 3 dat eigenlijk hopeloos verouderd is. Maar ja, dan zijn er andere concurrenten die beter zijn.
Frezen van de drijfwieluitsparingen in de waterbakken

J.Dekker 23.02.2016 15:22

Zou heel goed kunnen.

Rolf 23.02.2016 14:32

Weer een heleboel interessante info Jaap
Misschien is het een idee om weer een onderverdeling per onderwerp toe te passen zoals eerder in 2014 gedaan?
Gr. Rolf

Nieuwe reacties

29.03 | 10:44

eh sorry, je hebt gelijk, ik las het niet goed. Het is inmiddels gecorrigeerd.

29.03 | 09:18

Hoi Rolf, de dikte wordt door Jan bepaald, ik voer alleen het tekenwerk uit

18.03 | 09:22

Dag Jaap
Mooi om te zien dat er weer modelbouw vorderingen zijn te melden
Opm. balkons van 4mm lijken me wat dik waarschijnlijk moet dit 0.4mm zijn
Grt Rolf

28.02 | 16:11

Met Solid Edge 3D heb ik geen ervaring.
Mvg, Frank Jonkers