Welcome! Log In Create A New Profile

Advanced

APrinter firmware available for Fisher

Posted by ambrop7 
APrinter firmware available for Fisher
September 04, 2015 12:46PM
Hi all,

My APrinter firmware is now available for Fisher (and Duet in general)! It works pretty well; see the photo below of this printed with APrinter. Supported features include bed probing and correction, printing from SD card, and saving/loading runtime-adjustable parameters from/to SD card. Please see the linked readme for more information. But anyway, here's a some quick instructions and tips for testing it on your Fisher. Please give it a test and send some feedback!

Disclaimer: It is possible that the SD card and FAT32 drivers have bugs and corrupt you SD card. Backup your data first!

To flash the firmware...
  1. Open the online configuration editor. Note, if you've used it before, you need to use "Load default config" to get the new Fisher defaults (after backing up anything important you had saved locally).
  2. At the bottom of the configuration editor, for "Selected configuration", choose "Fisher example".
  3. Click the button "Start compilation". You will receive a compiled firmware in a zip.
  4. Unzip it and flash it with bossa/bossac. You need to press the erase button on the board (near the Ethernet connector) before flashing. In particular this command can be used: bossac -p ttyACM0 -i -e -w -v -b ~/aprinter-build/aprinter-nixbuild.bin -R

Once it is flashed, power cycle the board and connect with e.g. Pronterface to the USB port. It is essential that you first perform homing (G92), followed by bed probing and correction (M32 A). After this you can enable the heater (M104 S220).
Printing can either be done by serial port (not recommended for bigger prints) or from SD card. See the readme section for more information. Important note: the coordinate system is different than in RepRapFirmware; the "bottom pannel" with the connectors is considered the front (negative-Y).

I have spent some time to get my printer calibrated reasonably well, so I give a few tips regarding this. First, note that the bed correction algorithm in APrinter is different from what RepRapFirmware does - while the latter uses an iterative method to tune the delta parameters, APrinter only performs height correction by a quadratic polynomial, computing it via the least-squares method. Either way, while after bed correction the motion should be pretty flat, it is possible that printed objects are too large/small or have a distorted shape. Here's how I did the calibration:

  1. Calibration of endstop positions. You can manually move all carriages to a given height with e.g. with "G1 A280 B280 C280", then measure their distances from the top or bottom. For the carriages that are heigher than the others, the appropriate max-position setting needs to be increased (AMaxPos, BMaxPos, CMaxPos; see the notes on runtime configuration below). Looking at the printer so you see the connectors in front, C is left tower, A is right tower, and B is the middle tower.
  2. Calibration of delta radius. Perform bed calibration (M32 A), then check the relative height of the nozzle at the center and at the edges (e.g. with a sheet of paper). If the nozzle is higher (lower) at the center, the parameter "DeltaSmoothRodOffset" (=radius) is to be increased (decreased).
  3. Then, calibration of the diagonal rod length. Perform bed calibration (M32 A), then check if the printer moves too much or too little in the XY plane. What I've done is put some sheets of paper on the bed and then "collided" the nozzle downward at two points while it was hot, so it left a mark, and then measured the distance between the marks with a caliper. If the measured distance is too large (small), "DeltaDiagonalRod" needs to be decreased (increased).
  4. Steps 2 and 3 may need to be repeated once or more times since the two parameters are not completely independent. In my experience, an adjustment of DeltaDiagonalRod (step 3) requires an adjustment of DeltaSmoothRodOffset in the same direction (step 2).

APrinter has a unified system for runtime-configurable options. While you should consult the readme section, here's a summary of commonly needed things:
- "M924" shows all options and their values.
- "M926 Ioption_name Vvalue" sets the option value.
- "M930" applies the current configuration (needed to make changes take effect).
- "M929" saves the current values of all options (to aprinter.cfg on SD card, which has to be created manually). The saved configuration will be loaded automatically on startup if the.



Edited 1 time(s). Last edit at 09/05/2015 01:12PM by ambrop7.
Re: APrinter firmware available for Fisher
September 06, 2015 05:35PM
Note, I have just changed renamed some commands to more standard names. "M32 A"->G32, M924->M503, M929->M500.
Re: APrinter firmware available for Fisher
October 27, 2015 06:08PM
Hi all,

I am pleased to announce that Ethernet connectivity is now implemented in Aprinter for Duet. Specifically, Gcode console over TCP is supported, which can be used by Pronterface.
Instructions for use are in the readme.
Re: APrinter firmware available for Fisher
November 28, 2015 10:52AM
it's support sangululo board???
Re: APrinter firmware available for Fisher
November 28, 2015 11:40AM
Quote
jimmyli
it's support sangululo board???
You mean Sanguinololu? Only if you use the Atmega1284P, and you'd have to configure the pins manually (define a new Board in the configuration editor). Is your question supposed to be somehow related to Fisher? Because Fisher uses the Duet.
Sorry, only registered users may post in this forum.

Click here to login