Mach3 negeert mijn home switches - Opgelost...EN HOE!

Alle vragen die betrekking hebben over Mach cnc controllers

Moderator: Moderators

Plaats reactie
hobbybob
Berichten: 296
Lid geworden op: 09 mar 2010 13:05
Locatie: Amersfoort
Contacteer:

Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door hobbybob »

Mach3 lijkt niet te reageren op mijn home switches.
Ik heb de switches Normally closed aangesloten met 5v uit de voeding naar alle switches (allemaal eigenkabel).
De 5v die terugkomt heb ik gemonteerd op het breakoutboard wat aan de smoothstepper zit.

Als ik meet, meet ik in rust 5.01V over elke pin (X,Y,Z) naar ground
Als ik een switch indruk met mijn hand dan zakt deze spanning naar 0,6V
In Mach3 zie ik op de diagnostic pagina het lampje aan gaan bij de juiste as (M1Home voor x, M2Home voor y of M3Home voor z).
In de pin settings Input pins heb ik alle home switches aangevinkt staan. Active low staat uit gevinkt (had ik eerst aan staan, ik dacht hee dat klopt niet).

Als ik de assen home, begint de Z-as, deze loopt tegen de schakelaar, klik en blijft doorlopen.

Wat gaat er nu mis ? Alles lijkt te kloppen en bedraad maar Mach3 stopt niet.

Hoop dat iemand me kan helpen ?
Laatst gewijzigd door hobbybob op 08 jun 2020 13:51, 1 keer totaal gewijzigd.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Mach3 negeert mijn home switches

Bericht door hugo stoutjesdijk »

zou het niet de parameter instelling van Zmin, Zmax en reference point kunnen zijn. Dat ie na het homen eigenlijk een stukje terug zou lopen, maar dat dat stukje terug voorbij z'n home punt ligt volgens de instellingen.
Loopt de as eigenlijk wel de juiste richting op? ( frees naar boven bij plus richting)
Wat staat er bij motor/home-limits (printscreen)
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
hobbybob
Berichten: 296
Lid geworden op: 09 mar 2010 13:05
Locatie: Amersfoort
Contacteer:

Re: Mach3 negeert mijn home switches

Bericht door hobbybob »

Schiet mij maar lek Hugo.
Vanmorgen mach3 geherinstalleerd. Toen opeens zei Mach3: je homeswitches zijn geactiveerd (wat op zich klopt want ik zet 5v van de voeding door die switches rechtstreeks op de ingangen.
Maar gisteren klaagde hij daar niet over.

Alles geprobeerd, Active Low, Niet active low. 5v van de smoothie via de schakelaars, 5v gewoon vanaf de voeding, met extra aarde draadje tussen voeding en breakout board, zonder.
In een laatste wanhoopspoging stuur ik de XML van de pc in mijn werkkamer (waar ik het eerst op getest had en werkend!) over.
Laad mach3. Alles werkt ?!?!?!?
Meteen een backup van die directory gemaakt natuurlijk.

Zijn er Mach3 kenners die weten hoe zo'n xml werkt en eens willen kijken wat er nu verschillend is tussen de 2 XML files, want ik heb alles volgens mij zelfde ingesteld staan.
Enige is dat bij deze versie ALLE vinkjes bij active low staan aangevinkt en niet alleen bij de switches in gebruik (ik gebruik geen limit++/Limit-- switches.
En wat ik anders heb gedaan is de originele mach 3 3.43.062 (066 wordt afgeraden in gebruik met Smoothstepper staat op hun officiele site) en daarna de windows 10 patch er los overheen gekopieerd.
En de andere computer draait op Windows 8.1 en de uiteindelijke pc op windows 10.

Maar ik bedoel kom op zeg, als alles hetzelfde staat moet het toch werken?

Blij dat het gelukt is dat wel, nu maar met gewone switches. Beetje jammer want met deze methode hadden mijn inductieve dus ook gewerkt waarschijnlijk. Nou ja, weer een weekend verklooit maar .... HIJ DOET HET!!!

Nu ga ik alles uitzetten, even wat eten en daarna kijken of het ook nog in orde blijf als ik alles in random volgorde aanzet of dat ik eerst een regendansje moet doen en tot de cnc goden moet bidden of het alsjeblieft mag werken...
(sorry, even frustratie eruit...)
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door Tolp2 »

Je kan die twee XML even doorsturen of voor download beschikbaar stellen, dan kan ik er naar kijken voor je.
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
hobbybob
Berichten: 296
Lid geworden op: 09 mar 2010 13:05
Locatie: Amersfoort
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door hobbybob »

Beste Tolp2,

Hierbij de 2 xml files (gerenamed naar txt dus even terugnoemen naar XML).
Ben heel benieuwd of je iets kan vinden ?

EDIT...man man man... ik kan niet zip, xml of txt uploaden. ik heb je PB gestuurd. Supertof dat je ernaar wil kijken!
Gebruikersavatar
Bjornski1976
Berichten: 1127
Lid geworden op: 01 feb 2013 14:10
Locatie: Gorinchem

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door Bjornski1976 »

Indien je home switches aan het eind zitten is het aan te bevelen in Mach3 deze als home en limit(-) switch in the stellen. Vervolgens in soft limits het bereik van de machine instellen zodat je op de andere zijde geen limit(+) switches hoeft te gebruiken.
Zitten de home switches ergens in het midden Dan is het mogelijk I'm in soft limits het (+) en (-) bereik van de machine in te stellen ten opzichte van home.
Uiteindelijk is de machine maar een dom ding 8)

Ook nadat een limit switch is getriggered zal de machine uitloop nodig hebben. Het dan ook beter on de limit switches niet helemaaal aan het eind te zetten en dat ze ook iets kunnen mee bewegen om te voorkomen dat het in poeier eindigd.
Kennis en wijsheid zijn relatief, gevormd door perceptie & invloed van anderen, Ik wens je veel wijsheid toe bij het toepassen van je kennis.
hobbybob
Berichten: 296
Lid geworden op: 09 mar 2010 13:05
Locatie: Amersfoort
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door hobbybob »

Goede tip Bjornski. Maar toen ik dat probeerde kreeg ik constant de error, a limit switch has been triggered en kon ik hem niet meer van de switch af moven.
Ook niet met in ALt-6 settings scherm Override Limit aan ?

Tips zijn welkom, want ik gebruik normaal wel softlimits, maar dan alleen met alleen Home. Logischer idd om home/limit dezelfde te laten zijn en dan met softlimits de rest af te kaderen,maar zoals gezegd, dan kreeg ik: A limit switch is activate, resolve before homing ofzo...

Mijn switches zijn een soort luxe metalen M10 microswithces met een metalen wieltje van 10-12mm aan het uiteinde die ook zo'n 8mm kan inveren (dus na de klik nog wat speling).
Ik weet niet goed hoe ik het moet uitleggen maar echt chique switches!
hfjbuis
Donateur
Berichten: 3058
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door hfjbuis »

hobbybob schreef: 08 jun 2020 23:14 Goede tip Bjornski. Maar toen ik dat probeerde kreeg ik constant de error, a limit switch has been triggered en kon ik hem niet meer van de switch af moven.
Ook niet met in ALt-6 settings scherm Override Limit aan ?
Er is een setting om Home switches als limit switches te gebruiken. Zet dat vinkje maar anders om.
Config | General Config | Home Sw. Saf (3e kolom boven aan)
hobbybob
Berichten: 296
Lid geworden op: 09 mar 2010 13:05
Locatie: Amersfoort
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door hobbybob »

hfjbuis, ik zal eens spelen met dat vinkje en kijken wat er dan gebeurd, hartelijk dank voor deze tip!
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door Tolp2 »

Mochten mensen tegen hetzelfde probleem aanlopen en het verschil willen weten tussen twee configuratie-bestanden, dan heb je hieronder een script om de verschillen inzichtelijk te maken. Dit gaat er van uit dat je iets van Python 3 op je PC hebt draaien.

Code: Selecteer alles

# -*- coding: utf-8 -*-
"""
Main source of this file is found on: 
    https://stackoverflow.com/questions/2148119/how-to-convert-an-xml-string-to-a-dictionary

Created on Tue Jun  9 08:54:39 2020

@author: P.T.G. van Tol
"""

from xml.etree import cElementTree as ElementTree

class XmlListConfig(list):
    def __init__(self, aList):
        for element in aList:
            if element:
                # treat like dict
                if len(element) == 1 or element[0].tag != element[1].tag:
                    self.append(XmlDictConfig(element))
                # treat like list
                elif element[0].tag == element[1].tag:
                    self.append(XmlListConfig(element))
            elif element.text:
                text = element.text.strip()
                if text:
                    self.append(text)


class XmlDictConfig(dict):
    '''
    Example usage:

    >>> tree = ElementTree.parse('your_file.xml')
    >>> root = tree.getroot()
    >>> xmldict = XmlDictConfig(root)

    Or, if you want to use an XML string:

    >>> root = ElementTree.XML(xml_string)
    >>> xmldict = XmlDictConfig(root)

    And then use xmldict for what it is... a dict.
    '''
    def __init__(self, parent_element):
        if parent_element.items():
            self.update(dict(parent_element.items()))
        for element in parent_element:
            if element:
                # treat like dict - we assume that if the first two tags
                # in a series are different, then they are all different.
                if len(element) == 1 or element[0].tag != element[1].tag:
                    aDict = XmlDictConfig(element)
                # treat like list - we assume that if the first two tags
                # in a series are the same, then the rest are the same.
                else:
                    # here, we put the list in dictionary; the key is the
                    # tag name the list elements all share in common, and
                    # the value is the list itself 
                    aDict = {element[0].tag: XmlListConfig(element)}
                # if the tag has attributes, add those to the dict
                if element.items():
                    aDict.update(dict(element.items()))
                self.update({element.tag: aDict})
            # this assumes that if you've got an attribute in a tag,
            # you won't be having any text. This may or may not be a 
            # good idea -- time will tell. It works for the way we are
            # currently doing XML configuration files...
            elif element.items():
                self.update({element.tag: dict(element.items())})
            # finally, if there are no child tags and no attributes, extract
            # the text
            else:
                self.update({element.tag: element.text})            

            
if __name__ == '__main__':
    # Load the files
    #  - working
    tree = ElementTree.parse('AluMill-werkend.txt')
    root = tree.getroot()
    config_working = XmlDictConfig(root)
    #  - not working
    tree = ElementTree.parse('AluMill-Stuk.txt')
    root = tree.getroot()
    config_not_working = XmlDictConfig(root)
    
    # Compare the elements
    set_working = set(config_working['Preferences'].items())
    set_not_working= set(config_not_working['Preferences'].items())
    difference = set_working ^ set_not_working
    
    # Convert to keys which are different between the files
    keys = set([key for key, value in difference])
    
    # Built a list of values side by side
    result = {}
    for key in keys:
        result[key] = (config_working['Preferences'].get(key, None), config_not_working['Preferences'].get(key, None))
        print(key, config_working['Preferences'].get(key, None), config_not_working['Preferences'].get(key, None))  
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
skillalot
Donateur
Berichten: 3251
Lid geworden op: 19 apr 2007 19:04
Locatie: Nijmegen
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door skillalot »

Ken je het programma winmerge?
Tolp2
Donateur
Berichten: 476
Lid geworden op: 28 nov 2015 10:06
Locatie: Rotterdam
Contacteer:

Re: Mach3 negeert mijn home switches - Opgelost...EN HOE!

Bericht door Tolp2 »

Heb zojuist naar dit programma gekeken, maar volgens mij werkt het niet met de XML-bestanden van Mach3. De volgorde van de gegevens is namelijk niet gelijk in de twee bestanden, waardoor je allemaal false positives krijgt. De functionaliteit zit ook in Notepad++.
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
Plaats reactie