570 likes | 741 Views
Joel Meisinger Harout Hedeshian Frankie Ning Dominic Boiko Ching -Han Tseng. 3DP CDR. 3DP Overview. Design of a 3D printer for affordable prototyping. Prints each cross section of a 3D object layer by layer Three axis motion in a 2x2 feet chassis for large scale modeling
E N D
Joel Meisinger HaroutHedeshian Frankie Ning Dominic Boiko Ching-Han Tseng 3DP CDR
3DP Overview • Design of a 3D printer for affordable prototyping. • Prints each cross section of a 3D object layer by layer • Three axis motion in a 2x2 feet chassis for large scale modeling • Use of accurate stepping motors for high precision printing • Network communication D Inputs Outputs 3D prototype Job File 3 P User Controls Status
Levels of Objective • Low Level: • Position printer head from basic raw commands • Layout material • Display printer status • Mid Level: • Print Simple 3D objects • Position Feedback • High Level: • Print objects base on STL job files • Independent power system • Printer Objective Resolution • 25mm/s linear write speed • 0.5mm deposition resolution • 5mm3/s (0.3 in3/s) • Capable of printing a 10cm3 object • Capable of printing functional prototypes
Electrical System Functional Block Diagram Electrical Power System Interrupt Command and Data Handling RS422 Bus Stepper Motor Controller I/O Position Sensing Controller Material DepositionController Power RS422 Interrupt GPIO
EPS Electrical Power System
Power Supply • Provide each sub-system with appropriate power level • Isolated Power System • Reduced Shock Hazard • Continuity of power • Noise Reduction • Open and short circuit protection • Function Decomposition • Transformer Design
EPS FBD Wall Outlet 120VAC EMI Filter CDH Feedback 5V Forward converter (Isolated) MDC Rectifier Bridge Transformer/Reset Winding Isolated PSC 12V Forward converter (Isolated) FPS SMC Metallic Enclosure For Grounding Relay(Enable)
Protection • Open Circuit • Snubber Circuit will be implemented by the transformer and output to • prevent “inductive kick” effect. • Bleed Resistor for discharging capacitor and prevent OC. • Short Circuit (FPS IC) • Latch Mode Protection: FPS shuts down SMPS till AC power is reconnected • Auto Restart Mode Protection: Under Voltage Lockout(UVLO) • Other • Overload Protection • Over Voltage/Current Protection • Metallic enclosure grounding
Risk/Goal • Primary risk: • Hand-made Transformers might not operate as ideal as the calculation • Fall back to more detailed analysis, calculation, component upgrade, and proper • circuit protection • Over-current/short current protection, metallic enclosure grounding and isolation • are part of considerations to prevent this hazard • Goal • Redesign Transformer and find the better ferrite core • Fully test out the circuits on the perf-board • Power management • Proper debug/Test procedures documented • PCB
CDH Command and Data Handling
Command & Data Handling • Coordinate all events on printer • Communications interface for daughter boards • Provide a physical human interface for high level control • Platform independent and driverless communications to host computer
Not populated on Rev A EPS DEBUG Power Sequencing RS232 SRAM Data Buffer 5V 5->3.3 Buck 5->2.5 Buck RS422 Driver 6-DIN ARM Cortex M3 (Stellaris LM3S6965) Main CPU SPI 4Mb AVR MCU (ATXMEGA128A1) IO Hub RS422 Driver 6-DIN RS422 Driver 6-DIN RS232 CY8C9560A GPIO Expander Ethernet Reset lines I2C GPIO GPIO USB->RS232 LCD Buzzer Buttons Not populated on Rev A
Board level firmware • XMEGA: • Mostly interrupt driven custom firmware • Simple functionality acting as a “smart” I/O controller. • Nobody has ported an RTOS to the XMega?! • Stellaris: • FreeRTOS • uIP • Web server • Using a highly modified Telnet server implementation to provide raw TCP socket for communication.
ARM Firmware RTOS Kernel Managed Tasks Interrupts uIP LCD Message Queue MAC Management System Tick HTTPD TELNET Ethernet Shell/Protocol USB/UART Lots of Cool Blinking LEDs Event Dispatch COM
AVR Firmware Main Loop Interrupts LED Management System Tick COM1 Keypad Message Routing COM2 COMV1 AVR Management COM3 COM4
Risk • Original risks from PDR: • Primary risk: Ethernet non-functional • Working • Secondary Risk: USB-UART non-functional • Working • New risks: • Getting bored and making LEDs blink in funny patterns
MDC Material Deposition Controller Joel Meisinger
Material Deposition Controller • Objective • Keep constant print head tip temperature • Keep constant torque on fed printing material • Requirements • Supply consistent material delivery to the printing area(.5mm diameter +/- .1mm) • Be able to start and stop printing material reliably. • Notify CDH(main system) when print head is up to temperature and ready to print or when the printer out of material.
MDC Functional Block Diagram EPS RS232 Debug MDC XMEGA MCU 3.3V DC/DC converter RS422 Driver CDH 5V 5V DC/DC converter Deposition Motor Driver Deposition Thermal Driver 12V Micro data lines Power Print head control Print head Thermal Feedback
MDC Software MDC Main Init_sys() Packet Handlers Motor Drive PWM Temp Drive Temp Sensor LED Init_CLK() Init_IO_PIN() Init_USART_RS232 Init_USART_RS422 Init_Timer0( ) read_packet(…) write_packet(…) SM_Drive(…) QDEC_EVSYS(…) QDEC_Index(…) LED_On(…) LED_Off(…) PWM_Rate(.) adc_read(…)
Print-head and Material Specifications • Print-head is completely custom. • Thermal controlled brass tip heated by NiChrome wire at temperatures 221°F - 300°F • ABS plastic: Possesses outstanding impact strength and high mechanical strength making it well suited for working mechanical parts. • Stepper motor with feed gear that will supply constant torque(TBD). • Compact having the ability to adapt to most 3d axis systems. 12 square inches.
Risk/Contingency Plan • ABS not working for dependable deposition • Nozzle tip temperature not constant • Use other material type such as a PVC or epoxy resin. Also try a variable torque routine that will be suited for changing speed and direction of the print-head when moving from one vertices to another. • Use other tip sizes, apertures and heater materials.
PSC Position Sensor Controller Frankie Ning
Position Sensor Controller • Objective • Keep track of extruder head location • Keep track of motor movements and provide limit warnings • Keep track of temperature on stepper motors and motor driver heat sinks • Requirements • Supply CDH Controller with 3 axis position of the extruder within 1/200th of a rotation • Supply motor status to CDH Controller • Supply limit warnings and movement verification to Stepper Motor Controller
PSC Functional Block Diagram EPS PSC RS422 CDH RS232 ISP RS422 Driver 6 GPIO RS232 Driver SMC 2 Limit X XMEGA MCU 3.3V DC/DC converter 2Limit Y 5V 2 Limit Z 5V Encoder X Encoder Y Encoder Z Motor Temp XYZ 3.3V GPIO ADC USART
Software PSC Main Init_sys() Packet Handlers Encoder Limit Temp Sensor LED Init_CLK() Init_IO_PIN() Init_USART_RS232 Init_USART_RS422 Init_QDEC( ) Init_Timer0( ) read_packet(…) write_packet(…) QDEC_Direction(…) QDEC_EVSYS(…) QDEC_Index(…) toggle_ heartbeat(…) Limit_detect(…) adc_read(…)
Encoder Specifications US-Digital E5 Optical Rotary Encoder • Index • Quadrature • 512 CPR (cycles per revolution) • 2048 PPR (pulses per revolution) • Max detectable rpm = 11718 • Fits ACME threaded rod • 2mm – 10mm or 1/8” – 3/8” shaft • Max Frequency Response 100kHz
Risk/Concerns • Limited Funding • Remove Encoders, reduce cost • Not critical to design/ Good to have feedback • Stepper motors with fine resolution • Minimum cost PSC would include • Temperature Sensor • Track temperature of motors and drivers • Photointerrupt Sensor • Detect when print head moves to a X, Y, or Z axis limit • Apply to EEF • Personal donation
SMC Stepper Motor Controller
Stepper Motor Controller • Objective • Control motion of extrude head along 3 axis (X,Y,Z) • Control speeds of motors using constant current motor drivers • Accurate positional translations using high resolution stepper motors as opposed to simple DC motors • Requirements • Drive steppers motors based on instructions given by CDH controller • Provide current motor status when queried by CDH • Able to drive motors accurately with enough torque to control extrude head position
SMC Functional Block Diagram EPS SMC RS232 ISP PSC 6 GPIO RS232 Driver XMEGA MCU 3.3V DC/DC converter RS422 Driver CDH 5V Motor Driver Motor Driver Motor Driver RS422 Legend 12V 5V 3.3V GPIO Isolated Signals UART Linear Actuator X Linear Actuator Y Linear Actuator Z
Choosing TB6560AHQ • Single 2-phase bipolar motor driver chip • Controllable current for torque management • Capable of half stepping and microstepping • Digital control inputs • Stepping speed determined by input clock • Success!!!
Software Block Diagram SMC Main init_sys() Packet Handler Motor controller Init_CLK() Init_IO_PIN() Init_USART_RSxxx() Init_Timer0( … ) read_packet(…) write_packet(…) execute(…) Check limits Set control signals
Structs // motor_driverstruct typedefstruct { uint8_t tq1; uint8_t tq2; uint8_t dcy1; uint8_t dcy2; uint8_t m1; uint8_t m2; uint8_t cw_ccw; //uint8_t clk; //possibly implemented as a single line to all motors uint8_t reset; uint8_t en; } motor_driver; // Packet struct typedef struct { uint8_t to; uint8_t from; uint8_t size; uint8_t proto_ver; uint8_t reserved_byte_4; uint8_t payload[32]; } packet;
Changes of design from PDR • Optoisolators required more current in order to operate with our desired bandwidth • XMEGA can’t supply enough current • Added MOSFETs to supply the required current • Using part: DMN601DMK-7 (dual N-channel MOSFET) • Risks: Motor driver chips are out of stock • Have just enough for final revision • Possibly able to get more by end of October • Placed order (backordered, estimated ship date 10/20) • If not available will need to redesign motor driver controller • Most likely on MDC, only uses 1 motor driver, easier to change • Alternative motor drivers are available and in consideration • Smaller versions of current motor driver – sufficient for MDC • In other words there is no more hardware risks • Software is already partially implemented and works with hardware
PDR update • Schedule • Maintaining with schedule • SMC is ahead of schedule • Original goal: have flashing LEDs (complete) • Current status: stepper motor driving capability tested and working • Most configuration signals tested (need to test decay mode) • Current goal: • establish packet handling (started) • Design motor driver handling firmware