A general summary of project progress as of January 28th, 2022.
Mechanical
The current status of the mechanical design is to begin prototyping key elements of the gear train system. The progress is to do a CAD design revision to prepare it for manufacturing and allow for further testing.
Electrical
Following the high level block diagram shown below, each of the required peripheral circuit connections to the MCU are to be fleshed out in detail. Additionally, the microcontroller used will be an STM32 Cortex-M4 chip. Further detail will be provided on the circuitry and parts used once the schematic is completed and the BOM is confirmed.
The goal is to complete the schematic, PCB layout and ordering process in time to start testing the board by Reading Week.
Confirmed that all system electrical components and peripherals should be CSA approved for the symposium.
Software
Firmware
Basic investigation into Marlin is ongoing. It looks promising. Marlin would provide existing facilities for controlling the 2 additional stepper motors. It would need extra logic added to identify the G code that specifies the extruder direction, but once this is found it should be straight-forward (unless I just jinxed myself).
The current plan is to modify Marlin, but the backup plan is manual independent control of the two additional axis. This could be handled by a Raspberry Pi.
Slicers
Investigation into slicers is also ongoing. Various existing slicers have been found that are designed: to be extensible (with 5-axis control or different slicing algorithms in mind); which already have 4-axis control or printing plane control (so it might be easier to add a fifth-axis); or which have some rudimentary 5-axis control (but which aren't designed with our architecture in mind).
The current plan is: Add custom functions to Cura’s source code to implement the ability of generating 5-axis 3D printer specific G-code
- Understand the logic in the current source code for identifying overhangs that requires support materials
- Modify the logic to generate toolpath for printing overhangs directly using rotated nozzle instead of printing support material underneath it
If the above could not be achieved in time, the backup plan is:
- Manually divide the part into sections that needs to be printed upright the sections that are printed by rotated nozzle
- Generate G-code for both sections using Cura
- Write code to convert the G-code of the rotated section of the part appropriately