This page contains some information about different decisioning which were met when designing hardware and software related things.

Why stepper motors and not brushless (BLDC) motors?
  • Stepper motors are significantly less expensive and also require cheaper control electronics / hardware (comparison ODrive + BLDC vs. stepper motors with smart stepper)
  • Stepper motors are easier to handle with standard 3D printer controls

  • the official Hangprinter project does not yet have a ready release branch for the BLDC variant (either RAMPs with Marlin Fork or Duet 2 with RepRapFirmware Fork)

What's the reason to use Smart Stepper?

Because they just work! And they work better than clones or the one's from Tropical Labs. But you can check out yourself some alternatives:

  1. MisfitTech Smart Stepper
  2. (advanced fork of MisfitTech Smart Stepper) - that might be interesting to try out later
  3. MakerBase Servo42 (fork of MisfitTech Smart Stepper)
  4. Tropical Labs Mechaduino
  5. uStepper
  6. Wembi
  7. Trinamic PANdrive
  8. All in one stepper motor
Why so powerful stepper motors for the drives?
  • The strongest Nema 17 motors (holding torque) were selected that we could find to avoid using heavier and more expensive Nema 23 motors
  • it takes a lot of strength to build enough line tension while creating stable movements. Most Nema 17 motors are not that strong.

Why did you mount the spool drives vertically?
In Hangprinter v1-v3 the drives were mounted horizontally. Since Hangprinter v4 they are vertically aligned because Torbjorn uses BLDC motors. We decided too make them vertical too, even with the Nema 17 stepper motor, because in case the lines wind off accidentally it's much easier to remove knots. In general it's a question of design and space saving which is hard to answer. Maybe some features like drive brakes could be done better by doing the drives horizontally, or maybe not.
Why did you choose the Duet 2 Ethernet?
  • because 32-bit electronics allow more signal processing and faster stepper movements than an old 8-bit controller based on the Mega 2560
  • because the firmware for the Hangprinter is supported out of the box

  • because there is more debugging / connection options via the Ethernet port

  • there are various extensions (PT100, IR Probe) that fit perfectly

Why are you not using the official RepRapFirmware v3?
  • because the forked firmware version from Hangprinter project contains better algorithms for line buildup compensation and other things like doubled line feature. We would need to update the official firmware.
Why did you use an infrared Z probe?
  • because infrared sensors are accurate and support many materials → glass, wood, tape, etc.
  • it just mustn't reflect too much

Why did you use a polycarbonate sheet for the ceiling plate?
  • because it is transparent and therefore offers very good insight into all components. This is very helpful for maintenance
  • because it just looks good

  • because it’s flame retardant. Significantly better than wood

  • because it is elastic and therefore holes and threads can be easily inserted into it (no brittle fracture behaviour)

  • note that you should buy a UV resistant one!
Why didn't you use a heated printing platform?
  • Heated beds are major sources of errors. Printed parts peel off when the temperature is not right and the materials that are printed on heated printing platforms are usually also more expensive. Since we intend to produce large and lengthy 3D prints, we have agreed to print using more inexpensive PLA. No heating is required for this.
  • a heating bed of this size would be complex and expensive to build and to run (power requirements)

  • rooms with underfloor heating may be interesting

Why cylindrical pins and PTFE segments instead of screws in the line guide assemblies?
  • So that the reels are in place at all important points and do not shear or wobble to the side → Goal: Increase accuracy and reduce shearing of the lines by skipping

Why was a router installed on the ceiling plate?
  • The router serves on the one hand as a mesh repeater, on the other hand as a switch and for knotting ethernet devices. This makes Trikarus extremely flexible. This saves the purchase of a single switch or a WLAN stick. With Freifunk, the printer can be integrated into external environments relatively easily (in regions around Chemnitz). The TP-Link router used was selected because the device was left over and was "recycled" for the project purpose. The smaller GL-ARM300M router we ordered failed to flash the Freifunk Gluon firmware (too old uboot bootloader prevented the 16MB memory block from flashing). We did not find a smaller router alternative with gluon compatibility and at least 2 LAN connections yet. An ideal device would contain Wifi, 2 or 3 ethernet ports and SIM card slot.
Why did you install a Raspberry Pi?
  • to run a server that simplifies remote maintenance. From the time the ceiling module hangs on the ceiling, any maintenance is difficult and only possible with a ladder. With Repetier Server and bash tools, almost all tasks can be done without having to constantly climb up and down except of eletrical or mechanical issues
  • so that a 3D print server can be installed that can be scripted (API usage)

  • so that different actuators and sensors via GPIO expand the functionality of the printer (gyro, IMU, filament feed encoder, relay controls) → by using the GPIO functionality, the module network consisting of UPS, Rasperry Pi and router cannot be easily disconnected from the printer. A wireless connection of the sensors to the Raspberry Pi would then be necessary to evaluate the information or to control the modules. By using Duet 2 Wifi, the Raspberry Pi and Duet would be linked via router. Decoupling so that the Raspberry Pi, UPS and router are located next to the printer would then be possible and would help to reduce the weight.
  • The advantage of Raspberry Pi + Duet is that some tasks can run separately: cron scripts to automate switching on and off and monitoring while DWC controls the print job (Repetier Server is not a requirement, but an advantage). DWC can be used as a backup strategy, so to speak
Why did you use Repetier Server?
  • because we have had basic experiences with it before. Otherwise we would have used Octoprint for sure
  • Repetier Server has an advanced API connection that Duet Web Control does not (yet) have in that fully featured way

  • because there you can exclude "broken" regions of a running print (GCode filter)

  • because Repetier Server offers an extended functionality for saving and restoring failed prints

  • because it supports custom macros to run python, bash or other scripts (extcommands.xml)

Why did you use a UPS instead of a power bank?
  • because power banks generally do not switch from mains to battery supply quickly enough (tested). This will cause the Raspberry Pi to restart unexpectedly. However, a UPS is specially designed for this.
  • Many power banks cause "Under Voltage" event on the Raspberry Pi, as they do not deliver a clean 5V voltage or not enough power. This makes the Raspberry Pi unstable and leads to unforeseen crashes

Why the elaborate machine frame?
  • so that we have something shapely, transportable (car), robust and unique in the industrial museum that fits the exhibition
  • the maximum height of about 3 meters was a requirement on the part of the industrial museum. Therefore the frame was limited to a height of approx. 2.80 m. we built a steel square tube frame because it is significantly cheaper than an aluminum square tube frame.

  • we wanted to keep vibration and bending as low as possible, which is why we deliberately chose a larger cross-section and mass (3 mm bending at 1.5 m long square tube beam 40x40x3 under 85 kg load)

Why is the filament feeder connected via Bluetooth?
  • In this way you save yourself a data cable, which should extend from the floor to the ceiling
  • furthermore, the feeder unit can be supplied with power separately, which also saves a power cable to the ceiling. That keeps intact the Hangprinter idea

(warning) at the moment the feeder is not present because it's a work in progress thing

The electronics look confused!
I am an engineer and not an electrician. I have made everything to the best of my knowledge and belief. Of course, much better. I talked to electricians from our FabLab and tried many tips to implement or take them to heart. Another iteration of the printer and with a little more time can be done much more with the cable scheme and the hardware selection. However, this was not possible for this prototype. I also did not know about caveats with SPI/I2C and really long wires. I later found out the harder way that long cables are no good idea for I2C or SPI interface. It can be managed, but you need more things. Have a look at
Why did you connect 5V relays to the Raspberry Pi, although these cause problems because the voltage level does not match?
  • Because there were no ready to buy 3.3V modules in Germany and the delivery times from China were too long. In principle, good alternatives are commercially available: (3.3V opto coupler modules)
  • The now used modules in Trikarus were both connected via 5V USB from the Freifunk router because they consume too much power and exceed the permissible maximum limit of the Raspberry Pi. It is known that the modules used still do not work 100% reliably with 3.3V without magic tricks, since they have different logic voltages (logic level shifter may be necessary). See also The solution lies in a couple of dirty Raspberry Pi software hacks which should be replaced by some better things.

Why was filament monitoring not implemented with RepRapFirmware's on-board implementations?
RRF only supports filament monitoring when printing from SD card. We have therefore considered that we monitor the filament at the exit (from the filament spool) and entrance (to the extruder). Because whether the filament is conveyed correctly can fail at various points from the path from the spool to the nozzle. The ground filament feed system monitors whether the weight changes (HX711 load cell), whether the filament winds off the spool (Force Sensor) and whether it moves through the extrusion tool as well (getting in contact with rotary encoder sensor). The evaluation takes place via Raspberry Pi GPIO (only digital inputs, no analog inputs) and the Bluetooth pairing with the Arduino Nano of the filament feeder on the ground. It is admittedly cumbersome, but meaningful! Events can be programmed via the Repetier API that transform the information into corresponding actions.
Why didn't you use U shaped bearings?
At the time of construction and implementation, I was not clear about the differences between V and U bearings in Hangprinter terms. A conversion to a U-bearing would certainly be a good idea.
Why did you use such a thick cable from the head plate to the effector?
The control cable is suitable for mechanical movements and contains several wires for the different sensors and actuators. Trikarus contains (experimental) sensors than a common Hangprinter, which is why more wires are necessary. A ribbon cable would have been unsuitable for the dimensioning and for shielding reasons (Trikarus cable is shielded and more suitable for I2C long wires). Unfortunately, the use of the control cable also results in a higher weight and a worse effect because the cable sags heavily. It must therefore be supported by some mechanical guiding solution.
Why did you wire the Smart Stepper this way?
  • because the used Duet does not provide an I2C interface to connect like Torbjørn did with his "convenience wiring" - that's what i thought a long time. Then i found out that this is not true because Duet has I2C too but marked as TWI (i was not aware because nobody documented it well)!
  • because you can flash the Smart Steppers easily with Arduino IDE directly from Raspberry Pi by USB. So USB even makes sense when doing a convenience wiring!
  • because you can pull date into InfluxDB monitoring quickly
  • because you can control by USB interface. This is slower and less versatile then on Duet RTOS but its also much easier to develop. And it allows to easily interact with a sort of other tools like simple bash or python scripts.
Why did you choose those laser diodes?

The integrated laser in Trikarus help to adjust the mechanical parts of the printer. The ceiling module has three integrated red point lasers which are projecting dots to the effector and/or to the ground and/or to the print platform.

Good lasers for this job are

  • focusable lens. collimated lasers may have a too widen point projection at the surface which makes it harder to do precise adjustments
  • less < 1mW of output power. I tested 5 mW lasers first which are totally unsecure and overpowered for the job
  • working minimum distance of 3 meters

I decided to use Point Laser 635 nm LFD635-1-3(12x30.5) by Laserfuchs because they are compact and have low power consumption. They are secure to use beause they have not enough energy to damage eyes (class 2 laser device) and have a good visibility due to 635 nm instead of 650 nm wave length.

Please explain your choice of main cable support

Regular cable spool, igus twisterband, phone cable, stainless steel carabiner cable spring line or bungee cord will mess around when they get short and will create high load when getting long or are just too unflexible. The only good solution we found (tip from friends) was the VR cable retraction system.

Why you don't share 3D data of Trikarus?

Trikarus is meant be a unique non-industrial (non-commercial) artwork project which tries to address and solve (or to dig deeper) different Hangprinter problems in general. We want to contribute with ideas, graphics, measurement series, math formulas, software code, documentation and inpiration. We don't want to be the supporters for manufactured hardware parts which are getting produced an unintended way and which result in risky assemblies. If we would build it again we would change so much. We used a lot of different pieces from the spare parts box. The construction is just not convenient. You might collect totally different parts. The adoption would require complete remake.

Trikarus was made of a bunch of different software pieces like AutoDesk Fusion 360, FreeCAD, OpenSCAD and files from GrabCAD and Thingiverse. To push the Hangprinter main idea it's required to keep sources clean and to give understanding and knowledge to it. Please support Torbjørn's main repo with convenient OpenSCAD descriptors.

  • No labels
Write a comment…