Skip to topic | Skip to bottom
Home"Wealth without money..."

Main.ExtruderControllerr1.9 - 24 Jan 2007 - 07:23 - SimonMcAuliffetopic end

Start of topic | Skip to actions

Extruder Controller

Pinouts

When programmed into a PIC16F628 (default), the pinouts are:

Device pinouts

  1. RA2/AN2/Vref ......
  2. RA3/AN3/Cmp1 ......
  3. RA4/T0CK1/Cmp2 .... Not used
  4. RA5/MCLR/Vpp ......
  5. Vss ............... Ground
  6. RB0/INT ...........
  7. RB1/RX/DT ......... RX
  8. RB2/TX/CK ......... TX
  9. RB3/CCP1...........
  10. RB4/PGM ...........
  11. RB5 ...............
  12. RB6/T1OSO/T1CK1/PGC
  13. RB7/T1OS1/PGD .....
  14. Vdd ............... +5V
  15. RA6/OSC2/CLKOUT ...
  16. RA7/OSC1/CLKIN ....
  17. RA0/AN0 ...........
  18. RA1/AN1 ...........

API

[0] Get Version

Returns the version of the module. This message is the only message universally supported by all devices and is therefore useful as a test.

Parameters:

  • None

Returns:

  • 1 byte: Response type (0)
  • 1 byte: minor version number
  • 1 byte: major version number

[1] Set forward motion

Starts the motor turning indefinitely in a forward direction. If the motor reaches the maximum position sensor (as defined by the maximum optointerrupter input), motion will stop.

Parameters:

  • 1 byte: Speed to turn (0 to 255)

Returns:

  • Nothing

[2] Set reverse motion

Starts the motor turning indefinitely in a reverse direction. If the motor reaches the minimum position sensor (as defined by the minimum optointerrupter input), motion will stop.

Parameters:

  • 1 byte: Speed to turn (0 to 255)

Returns:

  • Nothing

[3] Set position counter

Parameters:

  • 1 byte: low order byte of 16 bit position counter
  • 1 byte: high order byte of 16 bit position counter

Returns:

  • Nothing

[4] Get position counter

[5] Seek to position

Parameters:

  • 1 byte: Speed to move (1 to 255)
  • 1 byte: low order byte of 16 bit position counter
  • 1 byte: high order byte of 16 bit position counter

[6] Power down motor (torque off)

This is provided for compatibility with the Stepper Motor Controller API. In the case of the Extruder, this just stops extrusion. It is equivalent to setting the speed to 0.

Parameters:

  • None

Returns:

  • Nothing

[7] Enable asynchronous notifications

[8] Check if material is empty

[9] Set heater output

[10] Get current heater temperature

[50] Set PWM period

Low level control to fine-tune motor usage. Should not normally be needed, but adjusting these values may optimise torque at certain speeds.

[51] Set prescaler

[52] Set voltage reference

Used to re-range the A/D temperature measurements to give the best possible precision. The general principle of ranging is to select the value that provides the largest possible temperature reading without overflowing beyond 255.

Firmware

A PIC16F628 code image is included below. The attached image responds to address 5.

See Also

See Building A Stripboard Stepper Controller for construction details of a stripboard version for use with a unipolar stepper motor. See Building a bipolar stripboard stepper controller for a version that works with a bipolar motor.

-- SimonMcAuliffe - 03 Apr 2006
to top

I Attachment sort Action Size Date Who Comment
extruder.hex manage 7.1 K 03 Apr 2006 - 06:44 SimonMcAuliffe Extruder firmware

You are here: Main > DocumentationMain > Modules > ExtruderController

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RepRap? Send feedback