EMCO 5 CNC moderniseren

Stel je vragen hier over draaibanken en cnc

Moderator: Moderators

Gebruikersavatar
Kars-cnc
Donateur
Berichten: 1765
Lid geworden op: 07 okt 2015 05:33
Locatie: Heerde (Gelderland)

Re: EMCO 5 CNC moderniseren

Bericht door Kars-cnc »

In je plaatje liggen de grounds al aan elkaar 8).

Als je grounding schema goed is opgezet mag je in de schakelkast alle grounds aan elkaar knopen. Maar ik ken je situatie verder niet. Een PC zit vaak niet in de schakelkast en als het een wat ouder exemplaar is en de kabels allemaal wat langer zijn dan is een galvanische scheiding tussen de parallel poort en de rest van de besturing wel een veilige keus.
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Tolp2 »

Kars-cnc schreef: 01 mar 2021 08:12 In je plaatje liggen de grounds al aan elkaar .
Verhip, zo kun je het ook interpreteren. Maar op de PCB liggen ze niet aan elkaar en dat was ook niet de bedoeling. Ter leering ende vermaeck: Hoe zou je het dan moeten opnemen in het schema?
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
Gebruikersavatar
Kars-cnc
Donateur
Berichten: 1765
Lid geworden op: 07 okt 2015 05:33
Locatie: Heerde (Gelderland)

Re: EMCO 5 CNC moderniseren

Bericht door Kars-cnc »

Gebruikelijk is dat je verschillende symbolen voor verschillende grounds gebruikt als die er zijn. Of je zet er een label bij.
Maar het is een beetje flauw van mij hoor, ik had al wel een beetje verwacht dat het niet aan elkaar zou hangen...
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Tolp2 »

Tijdje stil geweest, maar niet stil gezeten. Ondertussen een mock-up gemaakt voor de bedieningsconsole.
23117

Met een slijptol deze passend gemaakt in de originele machine kast (hier voordat de tol er in ging).
23116

De knoppen zijn met een Arduino aan LinuxCNC geknoopt. Zo hou ik de parallelle poort (de tablet heeft er maar één) beschikbaar voor de zaken die echt real-time moeten. Voor de communicatie tussen de Arduino en de HAL heb ik een eigen component geschreven. Het verbinden van de pinnen wordt hiermee wel erg makkelijk.

Feed en spindle override
Voor de feed en spindle override heb ik twee 20 ppr encoders aan de rechterkant van de console opgenomen. Deze hebben een drukknop geïntegreerd, waarmee de feed en spindle override direct weer kan worden gereset. Op het moment dat de feed of spindle override is geactiveerd (dus ongelijk aan 100 %) wordt dit weergegeven door middel van een LED.

Het HAL-bestand voor is relatief simpel (meeste regels zijn nog nodig voor de LED 8) ):

Code: Selecteer alles

# -----
# FEED OVERRIDE
# -----
addf wcomp.1 servo-thread
# - encoder
setp gmoccapy.feed.feed-override.count-enable true
net feed-override-encoder-counts gmoccapy.feed.feed-override.counts <= rawhid.0.encoder-01-count
net feed-override-encoder-reset  gmoccapy.feed.reset-feed-override  <= rawhid.0.digital-00-in
# - warning light on override
setp wcomp.1.min 99.9
setp wcomp.1.max 100.1
setp rawhid.0.digital-00-out-invert 1
net feed-override-scale  wcomp.1.in  <= gmoccapy.spc_feed.value
net feed-override-active wcomp.1.out => rawhid.0.digital-00-out

# -----
# SPINDLE OVERRIDE
# -----
addf wcomp.2 servo-thread
setp gmoccapy.spindle.spindle-override.count-enable true
net spindle-override-encoder-counts gmoccapy.spindle.spindle-override.counts <= rawhid.0.encoder-02-count
net spindle-override-encoder-reset  gmoccapy.spindle.reset-spindle-override  <= rawhid.0.digital-01-in
# - warning light on override
setp wcomp.2.min 99.9
setp wcomp.2.max 100.1
setp rawhid.0.digital-01-out-invert 1
net spindle-override-scale  wcomp.2.in  <= gmoccapy.spc_spindle.value
net spindle-override-active wcomp.2.out => rawhid.0.digital-01-out
MPG
De MPG bestaat uit een handwheel, axis-selector en step-selector. De counter voor de handwheel zit verwerkt in de Arduino en de positie wordt iedere ms uitgelezen. Voor een handwheel is dit meer dan voldoende. Het resultaat wordt nog door een lowpass-filter heen gehaald om de bewegingen lekker soepel te laten lopen.

Vanwege onvoldoende beschikbare pins op de Pro Micro gebruik ik voor de selectors een truc: hier zit een weerstandsladder in en de waarde wordt hiervan analoog uitgelezen. Aangezien het resultaat van de step-selector een float moet zijn, is de aanpak om de 3 stapgroottes door middel van een multiplexer (4 keuzes) te selecteren. De bits die de multiplexer aansturen zijn de meest significante bits (8 en 9) van de ADC-waarde die uit de Arduino komt. De code loopt lekker snel zonder de processor zwaar te belasten.

Voor de axis-selectie is het simpel: dit is gewoon aan of uit (X of Z) en kan daardoor met een simpele vergelijking. Eventueel kan deze aanpak makkelijk uitgebreid worden met een derde optie, zodat X, Y, en Z ook mogelijk is.

Code: Selecteer alles

# -----
# ENCODER
# -----
# Configure the encoder
# - put on thread
addf ilowpass.0 servo-thread
# - settings of ilowpass (slow start and stop)
setp ilowpass.0.scale 1000
setp ilowpass.0.gain  0.02

# Connect the pins
# - counter to the axis (scaled)
net mpg-encoder-counts ilowpass.0.in <= rawhid.0.encoder-00-count
net mpg-encoder-counts-scaled <= ilowpass.0.out
net mpg-encoder-counts-scaled => axis.x.jog-counts
net mpg-encoder-counts-scaled => axis.z.jog-counts

# ----- 
# SCALE
# ----- 
# Configure the multiplexer
# - put on thread
addf mux4.0 servo-thread
addf bitslice.0 servo-thread
#   NOTE: the values have been divided by 1000 (ilowpass.0.scale).
setp mux4.0.in0 0.00025
setp mux4.0.in1 0.000025
setp mux4.0.in2 0.000025
setp mux4.0.in3 0.0000025

# Connect the pins
setp bitslice.0.in 3
net scale bitslice.0.in <= rawhid.0.analog-01-raw
net scale1 mux4.0.sel0 <= bitslice.0.out-08
net scale2 mux4.0.sel1 <= bitslice.0.out-09

# Send the output from mux4 to each axis jog scale
net mpg-scale <= mux4.0.out
net mpg-scale => axis.x.jog-scale
net mpg-scale => axis.z.jog-scale

# -----
# AXIS SELECTION
# -----
# Configure the multiplexer, converter and selector
# - put on thread
addf wcomp.0 servo-thread
addf conv-u32-float.0 servo-thread

# Send the output from the multiplexers to each axis enable
setp wcomp.0.min 512
setp wcomp.0.max 512
net axis_select_raw  conv-u32-float.0.in  <= rawhid.0.analog-00-raw
net axis_select      conv-u32-float.0.out => wcomp.0.in
net mpg-x wcomp.0.over  => axis.x.jog-enable
net mpg-z wcomp.0.under => axis.z.jog-enable
Cycle start, feed hold en Stop
De knoppen Start, Feed hold en Stop werken met de code die ik ook voor mijn frees-machine gebruik. Met Start wordt de cyclus gestart, die vervolgens kan worden gepauzeerd met Feed hold. Als de Feed hold actief is, dan:
  • kan het programma worden hervat door nogmaals op Feed-hold te drukken;
  • kan de volgende programma-regel worden uitgevoerd (Step) door de Cycle-start te drukken.
Wanneer op stop wordt gedrukt wordt elk actieve cyclus direct afgebroken, onafhankelijk of deze op Feed-hold staat of loopt.

Code: Selecteer alles

net cycle-start-button <= rawhid.0.digital-02-in
net feed-hold-button  <= rawhid.0.digital-03-in
net stop-button         <= rawhid.0.digital-04-in

# ROUTINE FOR START / STEP / PAUSE / RESUME PROGRAM
net pause-on <= halui.program.is-paused
net idle-on  <= halui.program.is-idle 
net run-on   <= halui.program.is-running

# Routine for Run/Step
# - put on thread
addf and2.4 servo-thread
addf and2.5 servo-thread
# - run program
net cycle-start-button => and2.4.in0
net idle-on           => and2.4.in1
net run-program       <= and2.4.out
net run-program       => halui.program.run
net run-program       => halui.mode.auto 
# - step pogram
net cycle-start-button => and2.5.in0
net pause-on          => and2.5.in1
net step-program      <= and2.5.out
net step-program      => halui.program.step  

# Routine for feed-hold / resume the program
# - put on thread
addf and2.6 servo-thread
addf and2.7 servo-thread
addf or2.0 servo-thread
addf toggle.0 servo-thread
addf toggle2nist.0 servo-thread
# - pause logic
net feed-hold-button => and2.6.in0
net pause-on          => and2.6.in1
net pause-program     <= and2.6.out
# - resume logic
net feed-hold-button => and2.7.in0
net run-on            => and2.7.in1
net resume-program    <= and2.7.out
# - toggle between pause and resume
net pause-program     => or2.0.in0
net resume-program    => or2.0.in1 
net toggle-input  toggle.0.in          <= or2.0.out    
net toggle-output toggle2nist.0.in     <= toggle.0.out
net pause-on          => toggle2nist.0.is-on
net toggle-pause  halui.program.pause  <= toggle2nist.0.on
net toggle-resume halui.program.resume <= toggle2nist.0.off
Helaas hebben ze de verkeerde drukknoppen geleverd: deze hebben geen LED'jes :x . Maar uiteindelijk wil ik de knoppen ook van 'kerstverlichting' voorzien zodat de beschikbaarheid en functie van de de knoppen te zien is... Als iemand nog de LED-onderdelen van de standaard AliExpress in elkaar klik knoppen heeft, dan hoe ik me warm aanbevolen. De pakketten zullen nog wel langer duren met dat schip overdwars....

Noodstop
Las but not least: de noodstop. Deze loopt nadrukkelijk niet via de Arduino maar is opgenomen in het noodstop-circuit via de parallelle poort. Ik overweeg nog de noodstop aan te sluiten op de Enable van de drives, zodat deze ook werkt zonder de software.
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door hugo stoutjesdijk »

Tolp2 schreef: 28 mar 2021 23:20 Feed en spindle override
Voor de feed en spindle override heb ik twee 20 ppr encoders aan de rechterkant van de console opgenomen. Deze hebben een drukknop geïntegreerd, waarmee de feed en spindle override direct weer kan worden gereset. Op het moment dat de feed of spindle override is geactiveerd (dus ongelijk aan 100 %) wordt dit weergegeven door middel van een LED.
Als je nog ruimte hebt, zou ik er zeker nog een ijlgang override in zetten. Bij lastige klussen is het bijzonder comfortabel om de ijlgang 0 of heel laag te maken, dan wordt je niet ineens verrast door een snelle positionering op een plek waar dat niet uitkwam, terwijl je de voeding op een ander percentage wilt beïnvloeden.
Die schaalverdeling is trouwens geen lineaire schaal, waarom zou je ijlgang van 100 naar 95% willen doen, maar vanaf 0 wil je wel in kleinere stapjes omhoog.
Om die reden zou ik dus nooit een reset-knop naar 100% willen hebben, als er dan perse een knopje op moet, dan maar naar 0%.
Een doordraaiende encoder lijkt me ook helemaal niet handig, ik voel blind dat ik die %-knop tegen de nul aandraai, tijdens lastig freeswerk heb ik die knop vast om bij te sturen zodra ik dat nodig acht.
Spindel toerental regel ik zelden op %

Maar gelukkig ben je helemaal vrij om te maken wat jij leuk vind, dus kijk maar wat je doet.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
andrefc101
Donateur
Berichten: 3733
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door andrefc101 »

Wat wel handig is is een draaischakelaar die eerst de voeding stopt en daarna de spindel, heb ik ook en is erg handig als je wat spanen weg wilt halen of even iets wilt meten. Handig voor vingerbehoud 😉
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Tolp2 »

hugo stoutjesdijk schreef: 29 mar 2021 09:00 Als je nog ruimte hebt, zou ik er zeker nog een ijlgang override in zetten. Bij lastige klussen is het bijzonder comfortabel om de ijlgang 0 of heel laag te maken, dan wordt je niet ineens verrast door een snelle positionering op een plek waar dat niet uitkwam, terwijl je de voeding op een ander percentage wilt beïnvloeden.
Deze neem ik mee, heb nog een encoder liggen. Dan worden het gewoon 3 draaiknoppen! Wel weer de nodige aanpassing aan de kabelboom nodig, maar beter nu dan straks in de metalen plaat. Ook moet ik dan een 74HC595 gebruiken om de LED's aan te sturen vanwege pinnen te kort.
hugo stoutjesdijk schreef: 29 mar 2021 09:00 Om die reden zou ik dus nooit een reset-knop naar 100% willen hebben, als er dan perse een knopje op moet, dan maar naar 0%.
Mijn ervaring met mijn freesmachine (wellicht scheve vergelijking) is dat ik vaak heel langzaam in het materiaal loop en dat als het allemaal goed gaat ik hem reset. Dit spaart freesjes, want die moeten wel te eten krijgen en niet poetsen.
hugo stoutjesdijk schreef: 29 mar 2021 09:00 Spindel toerental regel ik zelden op %
Heb ik nog geen ervaring mee. Gelukkig is LinuxCNC zo flexibel om zodra de eerste spanen zijn getrokken om de knop een nieuwe functie te geven en gewoon direct de RPM te regelen.
andrefc101 schreef: 29 mar 2021 11:18 Wat wel handig is is een draaischakelaar die eerst de voeding stopt en daarna de spindel, heb ik ook en is erg handig als je wat spanen weg wilt halen of even iets wilt meten. Handig voor vingerbehoud
Dit is bij mij de gele knop 'Feed-hold'. Deze laat de spindle draaien, maar stopt de voeding (voor spanen weg te halen). De rode knop is als je het hele proces stil wil leggen (bijvoorbeeld voor meten). Ik ben mijn negen vingers lief, weet dat het pijn doet om er eentje kwijt te raken :roll: . En nee, dat was geen machine die hap deed.
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
Gebruikersavatar
andrefc101
Donateur
Berichten: 3733
Lid geworden op: 26 dec 2007 08:39
Locatie: Bergen op Zoom
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door andrefc101 »

Spanen weg halen met een draaiende spindel is ook niet echt handig hoor!
Gebruikersavatar
DaBit
Donateur
Berichten: 11040
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: EMCO 5 CNC moderniseren

Bericht door DaBit »

Sterker nog, dat gaat niet eens als het bijvoorbeeld spanen die om je boor gewikkeld zitten betreft.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13530
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Arie Kabaalstra »

Les 1: "don't put your fingers where you wouldn't put your pecker" (Citaat van Gerald Williams, één van de Roughnecks uit de Docuserie "Black Gold" over Olieboringen in Texas.

Afbeelding
Kjelt
Donateur
Berichten: 6324
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: EMCO 5 CNC moderniseren

Bericht door Kjelt »

Arie Kabaalstra schreef: 29 mar 2021 14:32 Les 1: "don't put your fingers where you wouldn't put your pecker" (Citaat van Gerald Williams, één van de Roughnecks uit de Docuserie "Black Gold" over Olieboringen in Texas.
Uitspraak van iemand die de hele dag zijn handen in zijn zakken heeft :lol:
Gebruikersavatar
Ballegooijen
Donateur
Berichten: 4922
Lid geworden op: 20 sep 2016 15:45
Locatie: 's-Gravendeel
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Ballegooijen »

Uitspraak van iemand die de hele dag zijn handen in zijn zakken heeft :lol:
Of zijn zak in zijn handen :lol: :lol:
Kennis vermenigvuldigt zich alleen als je het deelt.
https://www.Baldas.nl
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13530
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door Arie Kabaalstra »

Kjelt schreef: 29 mar 2021 17:25
Arie Kabaalstra schreef: 29 mar 2021 14:32 Les 1: "don't put your fingers where you wouldn't put your pecker" (Citaat van Gerald Williams, één van de Roughnecks uit de Docuserie "Black Gold" over Olieboringen in Texas.
Uitspraak van iemand die de hele dag zijn handen in zijn zakken heeft :lol:
Nee.. meer van iemand die of een programmaatje induimt, of met een pot koffie in zijn handen staat.. :lol:
Gebruikersavatar
hilberth
Berichten: 264
Lid geworden op: 08 sep 2010 09:40
Locatie: Omgeving Amsterdam
Contacteer:

Re: EMCO 5 CNC moderniseren

Bericht door hilberth »

Arie Kabaalstra schreef: 29 mar 2021 17:32 Nee.. meer van iemand die of een programmaatje induimt, of met een pot koffie in zijn handen staat.. :lol:
Ik geloof niet dat het in de olieindustrie gebruikelijk is om programmaatjes in te duimen.
Ik zou bijna zeggen integendeel, er wordt met enige regelmaat redelijk tot bruut geweld gebruikt om het zwarte goud boven te krijgen.
Think it, draw it, make it.
Plaats reactie