John Oly and I spend a few hours this weekend putting together a SeeMeCNC 
Rostock Max v2 with BeagleBone Black and BeBoPr. We still have a few things 
to work out, but I wanted to jot down some notes here.

I don't like complicating the board interconnect and don't care about 
getting HDMI/LCD at the same time, so we didn't use a BeBoPr-Bridge. We 
used a BeBoPr because CircuitCo had made a few [1], I had one laying around 
and there is firmware for using the PRUs to drive the steppers thanks to 
Charles. I'd be inclined to use a CRAMPS or Replicape, but I don't have a 
populated CRAMPS and it seems the firmware isn't as readily available for 
the Replicape. The BeBoPr documentation is lacking, but there was enough 
out there to get what we needed done without much hassle.

I'm going to jot down some things I need here to reproduce this, but this 
first post will just be an overview of the issues encountered and I'll come 
back with the details. So far, we've got motion control [2] running fine, 
homing and heating element control (bed, extruder). Before we can print, we 
need to address fan control, perform leveling and work-around some GCode 
quirks.

We started with Robert's Debian images[3], the Feb 1st image to be precise 
[4], written to a 4GB uSD card. uEnv.txt was edited to disable the 
eMMC/HDMI/HDMIN capes.

We started with the BeBoPr configuration that Charles did. It turns out he 
had a small error in the overlay [5] that caused the Z enable to be on all 
the time because it was configured to be controlled by the PRU, but needed 
to be controlled as a regular GPIO. This didn't have much impact, but we 
cleaned that up. Make sure to rebuild the .dtbo and put it in /lib/firmware.

Wiring up the motors was fairly straight-forward. We reversed whatever was 
needed to get them going in the right direction. The dip-switches needed to 
be set for the 1/16th micro-step-size for the Pololu TI DRV8825 drivers we 
are using [6]. We had to adjust the ini file to get the timing right for 
talking to the stepper motors [7].

To configure as a delta printer, we stole configuration from the 
lineardelta configs for BeBoPr-Bridge [8]. It wasn't so obvious what needed 
to be adjusted here, but the 'loadrt' line [9] seems to be the main switch 
to flip the mode, then it came down to more details required by that 
configuration, namely the DELTA_R and CF_ROD configurations in the ini.

Before we could do anything useful in delta mode, we needed to perform a 
homing and that meant setting up the home/limit switches. We borrowed 
configuration from the CRAMPS setup [10] but used our GPIOs. We only have 
max limit switches on this printer.

We stole a few command implementations out of /usr/share/linuxcnc/nc... and 
had to put them in our home configuration. This was very informative to see 
how new GCode commands could be implemented for controlling device-specific 
configurations.

I'm sure I'm forgetting something that John will point out, but that 
summarizes most of what I can recall we did to get this printer moving and 
heating nice and controlled. [11] shows the current wiring.

Because this printer was wired with common-positive for the fans shared 
with the positive line for the extruder, I need to run separate positive 
supply lines to keep the fans enabled. The fan control also still needs to 
be added to the HAL/INI.

BTW, as of publishing, I'm still pointing to the old values. I'll upload 
the new content to github soon and most people reading this will see the 
updated info. I need to get everything setup properly after I get home to 
upload that stuff, but wanted to get most of the thoughts down about what 
needed to be documented now before it all left my head. :-)

[0] https://plus.google.com/102344295024422039483/posts/aCAYF5xCUuk
[1] http://boardzoo.com/index.php/bone-bebopr.html
[2] https://vine.co/v/OPE3H3arr2Z
[3] 
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#BBW.2FBBB_.28All_Revs.29_Machinekit
[4] 
https://rcn-ee.net/rootfs/bb.org/testing/2015-02-01/lxqt-4gb/BBB-eMMC-flasher-debian-jessie-lxqt-4gb-armhf-2015-02-01-4gb.img.xz
[5] 
https://github.com/jadonk/machinekit/blob/master/configs/ARM/BeagleBone/BeBoPr/BB-LCNC-BEBOPR-00A0.dts#L89
[6] https://www.pololu.com/product/2133
[7] 
https://github.com/jadonk/machinekit/blob/master/configs/ARM/BeagleBone/BeBoPr/BeBoPr.ini
[8] 
https://github.com/jadonk/machinekit/blob/master/configs/ARM/BeagleBone/BeBoPr-Bridge/lineardelta.ini
[9] 
https://github.com/jadonk/machinekit/blob/master/configs/ARM/BeagleBone/BeBoPr-Bridge/lineardelta.hal#L19
[10] 
https://github.com/machinekit/machinekit/blob/master/configs/ARM/BeagleBone/CRAMPS/CRAMPS.hal#L241
[11] https://plus.google.com/102344295024422039483/posts/NLXCa7VSpCv

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to