comakingspace / do-something

CoMakingSpace tasks and small projects
21 stars 2 forks source link

EleksMill Upgrade #117

Closed NitramLegov closed 4 years ago

NitramLegov commented 5 years ago

Currently, the EleksMill from Mitja is usable, but requires quite experiences users to operate it. This is basically due to the Machine not having Endstops.

In order to make the machine easily usable, we should think about adding endstops and attaching a raspberry pi onto it, which runs CNCjs. If we get that done, we could have the same workflow on the EleksMill as we have on the Workbee Router. That way, we could use the EleksMill for CNCRouter Introductions and first tests.

From my point of view, we would need to do the following:

NitramLegov commented 5 years ago

In addition to the above mentioned, the GRBL Team suggests using a board with some optocouplers for wiring limit switches: https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

NitramLegov commented 5 years ago

This is our controller board: DSC_0603

As you can see, there are some pins on the top of the board, which we should check. I would propose checking the ones that say X/Y/Z +/-. We should check, which arduino pins they are connected to and whether there is any resistor setup in between. Ideally, we could just use these pins for the endstops.

Once we tested this, we can continue with making plans for permanent adjustments and get them approved my Mitja.

NitramLegov commented 5 years ago

Just in order to note down some information: The mill is running on Grbl 0.9j with the following settings: $0=10 (step pulse, usec) $1=25 (step idle delay, msec) $2=0 (step port invert mask:00000000) $3=4 (dir port invert mask:00000100) $4=0 (step enable invert, bool) $5=0 (limit pins invert, bool) $6=0 (probe pin invert, bool) $10=3 (status report mask:00000011) $11=0.010 (junction deviation, mm) $12=0.002 (arc tolerance, mm) $13=0 (report inches, bool) $20=0 (soft limits, bool) $21=0 (hard limits, bool) $22=0 (homing cycle, bool) $23=0 (homing dir invert mask:00000000) $24=25.000 (homing feed, mm/min) $25=500.000 (homing seek, mm/min) $26=250 (homing debounce, msec) $27=1.000 (homing pull-off, mm) $100=400.000 (x, step/mm) $101=400.000 (y, step/mm) $102=400.000 (z, step/mm) $110=500.000 (x max rate, mm/min) $111=500.000 (y max rate, mm/min) $112=500.000 (z max rate, mm/min) $120=100.000 (x accel, mm/sec^2) $121=100.000 (y accel, mm/sec^2) $122=100.000 (z accel, mm/sec^2) $130=200.000 (x max travel, mm) $131=200.000 (y max travel, mm) $132=100.000 (z max travel, mm)

NitramLegov commented 5 years ago

@Johannes09 and me took the time today to check the controller board of the EleksMill.

Unfortunately, the pins we were thinking of using (X+,X-,etc.) seem to be all connected to D9, which makes them unusable for our purpose. Grbl 0.9j uses Pins D9, D10 and D11/D12 for the limit switches. However, these are not connected at all. Therefore, if we want to enable homing and limit switches, we would need to solder onto the arduino. The good thing is that we can solder directly onto the arduino. Since the arduino is replaceable, the risk is very low.

An alternative would be to get an entire new controller board. It seems like the only controller board from Eleks which directly supports limit switches is the EleksManaPro, which seems not to be available anymore. Therefore, the only real alternative is to get an entirely different board (e.g. from protoneer: https://www.ebay.com/str/protoneer)...

We also checked possible positions for the limit switches: DSC_0623

@emka This is the moment in which we need to discuss how to move forward and get your permission to continue. As mentioned, we have three options:

  1. Continue with the current board and solder the endstops to the arduino
  2. Buy an entirely new board
  3. Stop the upgrade

Personally, I would like to go for option 1, since we can either way go for option 2 afterwards. Option 3 would be my least preferred one ;)

LukasFreeze commented 5 years ago

Just a quick thought: in order to make this mill as similar to the large CNC router as possible, how about putting the Y limit switch in the front? That would put the home position in the back of the work area, as on the WorkBee.

On Sun, Jun 2, 2019 at 7:06 PM NitramLegov notifications@github.com wrote:

@Johannes09 https://github.com/Johannes09 and me took the time today to check the controller board of the EleksMill.

Unfortunately, the pins we were thinking of using (X+,X-,etc.) seem to be all connected to D9, which makes them unusable for our purpose. Grbl 0.9j uses Pins D9, D10 and D11/D12 for the limit switches. However, these are not connected at all. Therefore, if we want to enable homing and limit switches, we would need to solder onto the arduino. The good thing is that we can solder directly onto the arduino. Since the arduino is replaceable, the risk is very low.

An alternative would be to get an entire new controller board. It seems like the only controller board from Eleks which directly supports limit switches is the EleksManaPro, which seems not to be available anymore. Therefore, the only real alternative is to get an entirely different board (e.g. from protoneer: https://www.ebay.com/str/protoneer)...

We also checked possible positions for the limit switches: [image: DSC_0623] https://user-images.githubusercontent.com/7809163/58764592-33491a80-8569-11e9-82cd-df39d15c17da.JPG

@emka https://github.com/emka This is the moment in which we need to discuss how to move forward and get your permission to continue. As mentioned, we have three options:

  1. Continue with the current board and solder the endstops to the arduino
  2. Buy an entirely new board
  3. Stop the upgrade

Personally, I would like to go for option 1, since we can either way go for option 2 afterwards. Option 3 would be my least preferred one ;)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/comakingspace/do-something/issues/117?email_source=notifications&email_token=AEWXG27JWWL6KG27FNSSJ2DPYP42VA5CNFSM4HLL6XB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXZ3LA#issuecomment-498048428, or mute the thread https://github.com/notifications/unsubscribe-auth/AEWXG247BGXRVPE3IV3VEJLPYP42VANCNFSM4HLL6XBQ .

NitramLegov commented 5 years ago

Mitja, Johannes and me discussed the proposed changes last wednesday. Mitja agreed, especially since any soldering would not get done on the controller board, but on the arduino. This would be pretty easy and cheap to replace in case anything breaks.

NitramLegov commented 5 years ago

Sooo, @Johannes09 und ich haben uns heute nochmal an die fräse gemacht. Wir haben folgendes gemacht:

  1. Die fräse hat nun einen neuen arduino mit grbl 1.1 (danke @Pakue95)
  2. Der neue arduino hat die richtigen settings fürs homing bekommen
  3. Die endstops sind provisorisch verkabelt und an die fräse geklebt
  4. Ich habe einen neuen pi mit cncjs aufgesetzt (das ist aber meiner...)

Folgendes muss noch gemacht werden:

  1. Soft limits enablen und entsprechend einstellen
  2. Die Verkabelung vernünftig machen (keine jumper Kabel mehr nutzen)
  3. Die endstops an die fräse schrauben

Für das Bahnstadtfest sollten wir außerdem den pi so einstellen, dass er einen Hotspot aufmacht.

Nach dem Bahnstadtfest sollte denke ich ein neuer pi angeschafft werden. Der jetzige ist da nur temporär.

NitramLegov commented 5 years ago

Neue Settings (GRBL 1.1)

$$ $0=10 (Step pulse time, microseconds) $1=25 (Step idle delay, milliseconds) $2=0 (Step pulse invert, mask) $3=4 (Step direction invert, mask) $4=0 (Invert step enable pin, boolean) $5=1 (Invert limit pins, boolean) $6=0 (Invert probe pin, boolean) $10=3 (Status report options, mask) $11=0.010 (Junction deviation, millimeters) $12=0.002 (Arc tolerance, millimeters) $13=0 (Report in inches, boolean) $20=1 (Soft limits enable, boolean) $21=1 (Hard limits enable, boolean) $22=1 (Homing cycle enable, boolean) $23=0 (Homing direction invert, mask) $24=25.000 (Homing locate feed rate, mm/min) $25=500.000 (Homing search seek rate, mm/min) $26=250 (Homing switch debounce delay, milliseconds) $27=1.500 (Homing switch pull-off distance, millimeters) $30=1000 (Maximum spindle speed, RPM) $31=0 (Minimum spindle speed, RPM) $32=0 (Laser-mode enable, boolean) $100=400.000 (X-axis travel resolution, step/mm) $101=400.000 (Y-axis travel resolution, step/mm) $102=400.000 (Z-axis travel resolution, step/mm) $110=500.000 (X-axis maximum rate, mm/min) $111=500.000 (Y-axis maximum rate, mm/min) $112=500.000 (Z-axis maximum rate, mm/min) $120=100.000 (X-axis acceleration, mm/sec^2) $121=100.000 (Y-axis acceleration, mm/sec^2) $122=100.000 (Z-axis acceleration, mm/sec^2) $130=120.000 (X-axis maximum travel, millimeters) $131=85.000 (Y-axis maximum travel, millimeters) $132=40.000 (Z-axis maximum travel, millimeters)

NitramLegov commented 5 years ago

Die Endstops sind angeschraubt und die Kabel sind ordentlich verlegt. Leider haben wir noch ein Problem mit noise, das auch durch von @Johannes09 direkt an die Endstops gelötete Kondensatoren nicht gelöst werden konnte.

Daher liegt bei der Fräse nun ein Board mit Optokopplern, über das man die Endstops anschließen kann.

Weiterhin wurde ein Orange Pi Zero gespendet, der vielleicht zur Steuerung genutzt werden könnte. Da müsste man unsere cncjs Version kompilieren und installieren. Ein Raspberry pi wäre natürlich besser, da wir dann unsere cnc panels nutzen können. Wir schauen mal, ob wir unter den alten von Andi noch welche finden, die hier nutzbar wären.

NitramLegov commented 4 years ago

Habe heute das Oktokoppler Board drangeschraubt. Nachdem das nicht geholfen hat, musste ich eine Software Einstellung ändern: Im laufenden Betrieb sind die Endstops jetzt außer Betrieb.

Das heißt man kann den Homing Cycle durchführen, die Endstops werden beim fräsen allerdings ignoriert. Da beim fräsen die SoftLimits greifen ist die Fräse für mich damit nutzbar :)

Jetzt fehlt noch ein Raspberry Pi 3, auf den wir CNCjs packen können. Der OrangePi Zero ist da nicht wirklich kräftig genug für :(