Thank you for writing and maintaining this amazing open source firmware!
I am refurbishing an older SeeMeCNC Rostock Max V2 (it was upgraded to V3 with the HE280 end effector and corresponding wiring whip). This delta end effector uses an accelerometer to detect when the nozzle has contacted the glass bed. SeeMeCNC stopped updating firmware at 0.92.2. They had inserted some crude code for detecting contact (at https://github.com/seemecnc/Firmware/tree/master/).
Basically, it uses a I2C configuration routine to configure an accelerometer (IIS2DH chip). The accelerometer chip has a physical
output pin that is triggered when a collision with the bed is sensed.
The accelerometer output line is brought back to the RAMBO as a physical
wire onto Pin 4 (PS-ON connector). Pin 4 is then set as an endstop for
the After collision, this interrupt line must be reset by resending I2C
commands to the accelerometer.
In the SeeMeCNC repetier 0.92.2 code... the accelerometer I2C communication handling was added in Communication.cpp. A function isZProbeHit was added to Printer.h to read the z probe status. Code for the z probing was inserted into Printer.cpp functions, with a handful of compiler macros to make it work with or without the sensors. This was set up as a quasi-state machine run through the z probing... I can understand why SeeMeCNC stopped updating their branch, because this would be hard to merge changes moving forward.
I will use a nice little library to add the accelerometer configuration code into the 1.0.5 branch. (based on https://github.com/trash80/HE280AccelerometerInterface). I could install a teensy to do handle the accelerometer, but I'd prefer to add the I2C reset commands into the repetier firmware (which will solve the same issue for others, and hopefully get people back on the main dev branch).
I could create gcode commands to set/reset the accelerometer, then call it as part of the Z_PROBE_START_SCRIPT and Z_PROBE_FINISHED_SCRIPT calls, but that seems quite ugly.
Where would you put the appropriate calls to the I2C commands for configuring the accelerometer before and after the Z probing is run?
Is there a location with example Configuration.h files for specific printer models? I think this could be helpful as a starting point for many users...
Thank you in advance!
Francis Esmonde-White
-----
Purely for others who might stumble on to this post while trying to upgrade their own Rostock Max V2 printers...
I have added some extra wiring to allow the rambo to directly control the layer and hot end fans. It's very annoying to have the fans turn on all the time. I'll connect the fans to Fan0 and Fan1 on the Rambo (screw teminals).
I'm adding filament runout sensors to the (two) extruders that I have installed on my machine. I'll connect them to Xmin and Ymin endstop inputs on the rambo using 0.1" pin headers. Wonderful help from Repetier on the forums here: https://forum.repetier.com/discussion/5770/filament-runout-sensor<br/><br/></div><br/><div>-----</div><div>For getting the old SeeMeCNC Repetier 0.92.2 code working on modern arduino, see this post (https://forum.repetier.com/discussion/comment/35188/#Comment_35188).
-----
I'm clearly not the only person to try adding endstop sensors to the Rostock Max...
https://forum.repetier.com/discussion/5817/filament-runout-sensor-v0-91-rambo/p1<br/><br/>Here's a link to a user doing bed probing with a precisionpiezo sensor...
https://forum.repetier.com/discussion/6424/z-probe-with-piezo-element-errors/p1<br/></div><br/><br/><br/>