Duet HE280 Probe i2c interface

The new for 2016 RostockMAX v3!
dc42
Printmaster!
Posts: 454
Joined: Mon Mar 07, 2016 10:17 am

Re: Duet HE280 Probe i2c interface

Post by dc42 »

trash80 wrote:
dc42 wrote: I'm glad you got it working. Looks like the firmware doesn't set the control pin state when switching to probe type 5. I'll fix that in the 1.17 release to drive it high.
Nice. Thank you for all of your work, it's much appreciated! :)
I am looking at changing the way the control pin works when probe type 5 is used. The plan would be:

- When type 5 is selected in M558, the control output is set low.
- When the probing move starts, the control output is set high.
- When the probing move stops, the control output is set low again.

I think this should work with your probe adapter and allow you to set probe type 5 instead of switching between different probe types, but can you confirm that?
User avatar
mhackney
ULTIMATE 3D JEDI
Posts: 5412
Joined: Mon Mar 26, 2012 4:15 pm
Location: MA, USA
Contact:

Re: Duet HE280 Probe i2c interface

Post by mhackney »

David, I'm actually using trash80's code and Teensy board for my testing since it allows me to have a serial connection and collect data in real time. So the question I asked about this was in the context of trash80's adapter! So yes it will work. We will have to modify the code slightly but in exchange we screen out false trigger events between probe points.

Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art

Start Here:
A Strategy for Successful (and Great) Prints

Strategies for Resolving Print Artifacts

The Eclectic Angler
trash80
Plasticator
Posts: 18
Joined: Mon Dec 12, 2016 5:01 pm

Re: Duet HE280 Probe i2c interface

Post by trash80 »

dc42 wrote: I am looking at changing the way the control pin works when probe type 5 is used. The plan would be:

- When type 5 is selected in M558, the control output is set low.
- When the probing move starts, the control output is set high.
- When the probing move stops, the control output is set low again.

I think this should work with your probe adapter and allow you to set probe type 5 instead of switching between different probe types, but can you confirm that?
Yeah this would be great actually! I was originally using it as a "reinitialize" event for the probe while testing (re-configure / send i2c settings etc), but now that is over, it'd be great to know "hey start looking for a hit", it'd help prevent false triggers as well during travel movements. If that's what you're thinking?
dc42
Printmaster!
Posts: 454
Joined: Mon Mar 07, 2016 10:17 am

Re: Duet HE280 Probe i2c interface

Post by dc42 »

trash80 wrote:
dc42 wrote: I am looking at changing the way the control pin works when probe type 5 is used. The plan would be:

- When type 5 is selected in M558, the control output is set low.
- When the probing move starts, the control output is set high.
- When the probing move stops, the control output is set low again.

I think this should work with your probe adapter and allow you to set probe type 5 instead of switching between different probe types, but can you confirm that?
Yeah this would be great actually! I was originally using it as a "reinitialize" event for the probe while testing (re-configure / send i2c settings etc), but now that is over, it'd be great to know "hey start looking for a hit", it'd help prevent false triggers as well during travel movements. If that's what you're thinking?
This is now implemented and released in RRF 1.17b.
rocky00717
Plasticator
Posts: 8
Joined: Tue Oct 04, 2016 1:23 pm

Re: Duet HE280 Probe i2c interface

Post by rocky00717 »

Hey Trash88, great job!
I got it all wired up and it seems to be working but too sensitive. I keep getting this error while probing:
Error: Z probe already triggered at start of probing move

I tried changing the Z_PROBE_SENSITIVITY to 8 and it is still not working.

Any other suggestions?

UPDATE:
8 seems to work better but still causing false reading especially between points.
User avatar
crocky
Printmaster!
Posts: 270
Joined: Tue Aug 12, 2014 6:55 pm
Location: Werribee, Aust

Re: Duet HE280 Probe i2c interface

Post by crocky »

I should get mine working this weekend, I think it is programmed correctly :)

We'll see....
Bob
Rostock Max V2, Ball Cup Arms, New Carriages, HE280, Dampers, PSU Breathing, Simplify 3D, GeckoTek3D, Raspberry Pi3. Duet soon... Kossel Mini still under construction.
Delta's are the way!
djarmag
Printmaster!
Posts: 104
Joined: Mon Jan 09, 2017 3:32 pm

Re: Duet HE280 Probe i2c interface

Post by djarmag »

I wouldn't use this guide if I am using the FSR+johnsl board correct?
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

dc42 wrote:
trash80 wrote:
dc42 wrote: Have you considered connecting the Teensy to the 4 pin Z probe connector instead of to the E0 endstop connector? You could use the Mod pin on the Z probe connector to do the reset. Selecting probe type 3 in the M558 command will drive that signal low, then select type 5 before you probe to drive it high.
Update: I got it to work. Though it appears flipping between type 3 and 5 leaves the mod pin state LOW, so it only triggers once, I got it working by going to type 3, than type 1 to drive it HIGH, then finally to type 5 to probe on. :)

In config.g:

Code: Select all

M558 P5 X0 Y0 Z1 H10 F1000 T6000	; Z probe is an digital output probe and is not used for homing any axes
And at the top of bed.g

Code: Select all

; Auto calibration routine for delta printers
; Before running this, you should have set up your zprobe Z offset to suit your build, in the G31 command in config.g.

M561						; clear any bed transform, otherwise homing may be at the wrong height
G31 X0 Y0					; don't want any probe offset for this
M558 P3						; drive mod pin on Probe Z connector LOW
G28						; home the printer
M558 P1						; drive mod pin on Probe Z connector HIGH
M558 P5						; release mod pin connector and set the type to 5
I'll be updating the first post and pics and codebase to reflect the changes shortly.
I'm glad you got it working. Looks like the firmware doesn't set the control pin state when switching to probe type 5. I'll fix that in the 1.17 release to drive it high.
dc42, will I find these same updates in the Duet 8.5 Ethernet versions?
dc42
Printmaster!
Posts: 454
Joined: Mon Mar 07, 2016 10:17 am

Re: Duet HE280 Probe i2c interface

Post by dc42 »

dmo wrote: dc42, will I find these same updates in the Duet 8.5 Ethernet versions?
Yes.
Last edited by dc42 on Sat Mar 11, 2017 3:07 am, edited 1 time in total.
Maddog
Plasticator
Posts: 17
Joined: Sat Oct 24, 2015 11:15 pm

Re: Duet HE280 Probe i2c interface

Post by Maddog »

Any further progress on this Probe?
What pins are used to connect to the controller for this?
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

I'm using a Duet 8.5. I've been having the worst time with yours and mHackney's. I've double checked the wiring, looked for shorts, bad connections everything is right except for one thing I just noticed.You have the the thermistor going to the vin on the board and not the E1r(th). Everything on the hotend works including the thermistor but the probe doesn't trigger and I get the famed "Z probe already triggered at start of probing move". The Teensy eventually burned out on me, I just bought another. With the Trinket the red light blinks once before it starts but none of the end stop lights get triggered. Should I have the thermistor on vin,I didn't want to try until I knew that was the right place. Are there any other suggestions?
dc42
Printmaster!
Posts: 454
Joined: Mon Mar 07, 2016 10:17 am

Re: Duet HE280 Probe i2c interface

Post by dc42 »

dmo wrote:I'm using a Duet 8.5. I've been having the worst time with yours and mHackney's. I've double checked the wiring, looked for shorts, bad connections everything is right except for one thing I just noticed.You have the the thermistor going to the vin on the board and not the E1r(th). Everything on the hotend works including the thermistor but the probe doesn't trigger and I get the famed "Z probe already triggered at start of probing move". The Teensy eventually burned out on me, I just bought another. With the Trinket the red light blinks once before it starts but none of the end stop lights get triggered. Should I have the thermistor on vin,I didn't want to try until I knew that was the right place. Are there any other suggestions?
I can't help with the thermistor wiring, but "Z probe already triggered at start of probing move" may be caused by at least two different things:

1. The wiring is not correct, so the probe appears permanently triggered. Check the probe state in the Z Probe box in Duet Web Control to see if that is the case.

2. The transverse movement to reach the probe point is triggering the accelerometer. The latest 1.17 series Duet firmware sets the control signal high at the start of the probing move, so that the adapter board knows to ignore acceleration before it sees that signal (if you have the right firmware loaded on the Teensy to do that).
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

trash80 wrote:
DerStig wrote:I have no idea what you just wrote but I want it.

so what you are saying is that I can use that with the Accel board and a E3D hotend on my MetalMax with a Duet WiFi board. Could you dumb down the post so I can do it?
EDIT: Changed to use the Z-probe connections on the Duet and updated code & wire diagram below

Yes.

I can try though this is probably a more advanced topic and should be taken with care. You may need to tweak the accelerometer sensitivity on your setup (located in the accelerometer.ino file) or adjust speeds for triggering to work reliably. I only have the one printer I tested with.

I used a Teensy 3.2 because I happened to have a few around the shop, and they are fast to develop with. You can get them at pjrc.com or SparkFun, Adafruit, Amazon, etc. It's a $20 Arduino compatible microcontroller, you need to download and install Teensyduino from pjrc.com though.

(An advanced user could get away with a much lighter weight microcontroller, such as a Pro Mini or an Attiny with some logic level conversion)


- Download the code available here https://github.com/trash80/HE280AccelerometerInterface which can be flashed using the Arduino application.
- Connect the HE280's SCL, SDA, and INT lines into the Teensy's pins 19,18, and 2 respectively.
- Connect the Teensy pins to Duet Z-Probe 4 pin connector... Teensy Pin 13 -> Z_PROBE_IN, Pin 3 -> Z_PROBE_MOD, 3.3v -> 3.3v, GND -> GND.
- Edit config.g and add or change the M558 command:

Code: Select all

M558 P5 X0 Y0 Z1 H10 F1100 T6000   ; Z probe is an digital output probe and is not used for homing any axes
- Edit bed.g and replace the G28 home command at the top of the file with the following:

Code: Select all

M558 P3                  ; drive mod pin on Probe Z connector LOW
G28                        ; home the printer
M558 P1                  ; drive mod pin on Probe Z connector HIGH
M558 P5                  ; release mod pin connector and set the type to 5
- Finally you can reset the Duet and try the probe, you may need to add a offset to z probe offset after calibration to fine tune (I don't know why, maybe because my bed is sorta slightly flexible), I used G31 X0 Y0 Z-0.3 P500
- Last note, run the probe after a restart and the hotend is at room temperature.

I made a super simple diagram for the HE280 to connect to the Duet- though you should not use this as reference, there might be a mistake (I double checked it but you never know)

[img]https://github.com/trash80/HE280Acceler ... g?raw=true[/img]

I have not had any probing issues as discussed in the forum elsewhere due to the i2c wire length, except when trying to probe after a print which may be something I can look into later, because upon power up it works every time. :)
I'm using the Duet 8.5 and the pins are different. I can't tell from your diagram if the green thermistor wire is going to the vin(+) or the E1r ( thats how my T0 is labeled. The HE280 wiring states all circuits share a common positive, does that include the thermistor? Thanks for all your incredible work on this.
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

dc42 wrote:
dmo wrote:I'm using a Duet 8.5. I've been having the worst time with yours and mHackney's. I've double checked the wiring, looked for shorts, bad connections everything is right except for one thing I just noticed.You have the the thermistor going to the vin on the board and not the E1r(th). Everything on the hotend works including the thermistor but the probe doesn't trigger and I get the famed "Z probe already triggered at start of probing move". The Teensy eventually burned out on me, I just bought another. With the Trinket the red light blinks once before it starts but none of the end stop lights get triggered. Should I have the thermistor on vin,I didn't want to try until I knew that was the right place. Are there any other suggestions?
I can't help with the thermistor wiring, but "Z probe already triggered at start of probing move" may be caused by at least two different things:

1. The wiring is not correct, so the probe appears permanently triggered. Check the probe state in the Z Probe box in Duet Web Control to see if that is the case.

2. The transverse movement to reach the probe point is triggering the accelerometer. The latest 1.17 series Duet firmware sets the control signal high at the start of the probing move, so that the adapter board knows to ignore acceleration before it sees that signal (if you have the right firmware loaded on the Teensy to do that).
The Z probe box turns red and shows a value of 1000, I'm guessing that means it's triggered. I am using 1.17e. I still haven't figured out the thermistor wire for sure. I think it goes to the positive lead from reading the SeeMeCnc instructions but it's vague.I'm thinking I should install the Rambo Board just to make sure I didn't damage the board on the HE280.
trash80
Plasticator
Posts: 18
Joined: Mon Dec 12, 2016 5:01 pm

Re: Duet HE280 Probe i2c interface

Post by trash80 »

dmo wrote: I'm using the Duet 8.5 and the pins are different. I can't tell from your diagram if the green thermistor wire is going to the vin(+) or the E1r ( thats how my T0 is labeled. The HE280 wiring states all circuits share a common positive, does that include the thermistor? Thanks for all your incredible work on this.
Green wire in picture is going to "E0 Thermistor1" as labeled by the Duet Wifi wiki:
https://duet3d.com/wiki/Duet_WiFi_wiring_diagrams

Hope that helps. I am a noob when it comes to Duet, so I only have the Wifi version as reference.
trash80
Plasticator
Posts: 18
Joined: Mon Dec 12, 2016 5:01 pm

Re: Duet HE280 Probe i2c interface

Post by trash80 »

dmo wrote: The Z probe box turns red and shows a value of 1000, I'm guessing that means it's triggered. I am using 1.17e. I still haven't figured out the thermistor wire for sure. I think it goes to the positive lead from reading the SeeMeCnc instructions but it's vague.I'm thinking I should install the Rambo Board just to make sure I didn't damage the board on the HE280.
FYI ... If you are using the latest code from my github and are using the Teensy version (I am not caught up in this thread), it's triggered by default if it cannot connect/see to the accelerometer to prevent the hotend ramming into the table due to it not triggering. :)
martins
Plasticator
Posts: 18
Joined: Fri Oct 07, 2016 8:29 am

Re: Duet HE280 Probe i2c interface

Post by martins »

Working all well >? would switch to duet wifi and keep h280
ordered duet wifi and teensy 3.2 is anything else that i need?
dc42
Printmaster!
Posts: 454
Joined: Mon Mar 07, 2016 10:17 am

Re: Duet HE280 Probe i2c interface

Post by dc42 »

dmo wrote:...
The Z probe box turns red and shows a value of 1000, I'm guessing that means it's triggered. I am using 1.17e. I still haven't figured out the thermistor wire for sure. I think it goes to the positive lead from reading the SeeMeCnc instructions but it's vague.I'm thinking I should install the Rambo Board just to make sure I didn't damage the board on the HE280.
I realise this response is very late, however I've recently found that Z probe mode 5 doesn't work on the Duet 0.6 or 0.8.5 in the current firmware (it always gives a reading of 1000), and I suspect this is the case for all previous firmware versions too since mode 5 was introduced. This will be fixed in the next 1.20 beta release. Meanwhile, the workaround is to use probe type 1 instead (M558 P1) with a P value in the G31 command of 50.
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

dc42 wrote:
dmo wrote:...
The Z probe box turns red and shows a value of 1000, I'm guessing that means it's triggered. I am using 1.17e. I still haven't figured out the thermistor wire for sure. I think it goes to the positive lead from reading the SeeMeCnc instructions but it's vague.I'm thinking I should install the Rambo Board just to make sure I didn't damage the board on the HE280.
I realise this response is very late, however I've recently found that Z probe mode 5 doesn't work on the Duet 0.6 or 0.8.5 in the current firmware (it always gives a reading of 1000), and I suspect this is the case for all previous firmware versions too since mode 5 was introduced. This will be fixed in the next 1.20 beta release. Meanwhile, the workaround is to use probe type 1 instead (M558 P1) with a P value in the G31 command of 50.
Thanks, I eventually gave up and put the Rambo back in but miss the Duet. I'll give it another try this winter. Will the new hotends that SeeMeCnc is updating to be more compatible.
martins
Plasticator
Posts: 18
Joined: Fri Oct 07, 2016 8:29 am

Re: Duet HE280 Probe i2c interface

Post by martins »

After few days fight whit duet wifi and teensy i found solution :)

weak point in this build is FAN always on :) , on calibration time i put joint of 3m tape to stop it (fan movements) and callibrated successfully every time

thx trash80 for this solution and dc42 for duet , soft etc... , mhackney for step by step howto swap rambo for duet and overall work.

-edit-

mounted E3V6 gold and deltacalibration works like a charm:) no issue with fan etc.
User avatar
dmo
Printmaster!
Posts: 56
Joined: Mon Nov 02, 2015 3:18 pm
Location: Washington, DC
Contact:

Re: Duet HE280 Probe i2c interface

Post by dmo »

dc42 wrote:
dmo wrote:...
The Z probe box turns red and shows a value of 1000, I'm guessing that means it's triggered. I am using 1.17e. I still haven't figured out the thermistor wire for sure. I think it goes to the positive lead from reading the SeeMeCnc instructions but it's vague.I'm thinking I should install the Rambo Board just to make sure I didn't damage the board on the HE280.
I realise this response is very late, however I've recently found that Z probe mode 5 doesn't work on the Duet 0.6 or 0.8.5 in the current firmware (it always gives a reading of 1000), and I suspect this is the case for all previous firmware versions too since mode 5 was introduced. This will be fixed in the next 1.20 beta release. Meanwhile, the workaround is to use probe type 1 instead (M558 P1) with a P value in the G31 command of 50.
Thank you so much for the update and your continued support on the 8.5 board. It works!!! It's so satisfying to finally have victory, lol. I used MHackney's solution because the Trinket 3.3's are so inexpensive. Used the updated bed config from this thread. I'm getting equal results with the FSR's on my Artemis, and I like this solution more because my bed can be solidly mounted.
karter59
Noob
Posts: 4
Joined: Wed Nov 09, 2016 4:51 pm

Re: Duet HE280 Probe i2c interface

Post by karter59 »

Hi all,
I have a Duet Wifi V1.03 running firmware 1.19.2. I'm using the Teensy 3.2 with trash80's code. I can't get the probe to work for calibrating. It shows the probe triggered (reads 1000 on web interface) all the time. I've checked and rechecked the wiring, altered the Z probe sensitivity up and down with no change. The blue LED on the hot end lights so I'm guessing the the accelerometer is waiting to be triggered.
When I try and do an auto delta calibration, on the web interface it shows initially "G32 - Error: Z probe already triggered at start of probing move". Then the error is just "Error: Z probe already triggered at start of probing move". for the rest of the calibration points. The head does not get any closer to the bed after it's initial starting location.
I used the bed.g and config.g from M Hackney's post. I looked them over and made a couple of changes (steps per mm changed due to .9 degree steppers and 16 tooth pulleys) and all looks good. It appears that the board is just not seeing the accelerometer at all. I may try using a trinket next if I can't sort this out.
Any ideas out there?

Roger
User avatar
mhackney
ULTIMATE 3D JEDI
Posts: 5412
Joined: Mon Mar 26, 2012 4:15 pm
Location: MA, USA
Contact:

Re: Duet HE280 Probe i2c interface

Post by mhackney »

I abandoned this long ago. I was never able to get to the level of reliability and consistency that I need.

Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art

Start Here:
A Strategy for Successful (and Great) Prints

Strategies for Resolving Print Artifacts

The Eclectic Angler
Post Reply

Return to “RostockMAX v3”