machines/projects/Printhead/firmware/components.md
2023-11-12 21:43:05 +01:00

3.8 KiB

Controllino - Mega

  • Unit Testing
  • Semiphores : emulated, via ASM noops
  • Memory: seems stable with modbus over ethernet

Omron MX2

Omron - E5DC

Calibration

Extrusion Firmware

Communication modes

  • [-] Custom Serial over RS485 (Extruza, 3dtreehouse)
  • [- Standard Serial (Lydia-v4.5 - touchscreen/RPI)
  • [- Pure RS485 - Slave|Master (In conjunction with injection addon)
  • [-] Bluetooth
    • [-] App template
  • TCP
    • Modbus (rev 1, base abstract/odel)
    • ProfiBus (rev 2)
    • DeviceNet (rev 1)
  • Debug Serial (Always)

Protocol

  • Internal: add duplex for RS485 feedback
  • [-] Add command queue lifecycle / state response
  • [-] Handshake
  • [- Checksum
  • Broadcast (for bluetooth as well)
  • [-] User space / reserved

Controls

Modbus testing strategy for vendors

  • 1. test basics after unboxing
  • 2. programmer test
  • 3. stress/flood test
  • 4. EMI near (scope)
  • 5. EMI long / cable test (serial debugging with scope)
  • [-] determine barrel empty / full ratio/constant impact on PID readings
  • [-] determine actual PID values, independent via calibration devices (see ./firmware/components for more)
  • ramp times, window keeping
  • test PVC/PFA TC cables

Components

  • Add HMI column
  • Add register range
  • Add wire labels
Component ID Qty Volt VA Circuit Powersource Source File
VFD VDF - Motor Extern
PID PID 1... 3 24 1.5W Digital 24V-I
Controllino - Master CM 1 24 5W Digital 24V-I
Fans FAN 6 12 ? Cooling 12V-I
Height - Sensor SHEIGHT 2 24 100mA Sensor 24V
SSR SSR 1... 4 220 100-300W Heating Extern
Thermocouple - Extruder TCE 1... 4
Hopper-Selonid AUXH 1... 2 12 ? Aux 12V-II
Motor-RPM Feedback SRPM 1..2 2 12 ? Sensor 12V-I
Power - Circuit - Contactors CPO 1... 3 220V - Switch Extern
Thermo - Couple - Motor TCM
Audio - Alarm AA 1... 2 24V ? Feedback 24V-II

Modbus design notes

  • each issued read/write has a corrosponding state flag register, eg: issued, proccessing, processed, error code, failure
  • use coils only
  • when in duplex, feedback channel provides command queue id with state flag, polling should be avoided
  • avoid multi bytes/long/strings
  • each category shall provide additional user register space