Tuesday 16 July 2013

Homework

Finding out what's up with the temperature does not require the full Monster. I took the Arduino home, and am using a simple potentiometer to emulate a thermistor.

Adding a printf (sersendf_P(PSTR("RAW TEMP[%d]:"), temp), to be exact) and it shows that the raw read is correct. The temperature table however always gives 0. I'm thinking something is read out of bounds.

Problem solved: The temptable is actually a list of lists of pairs of temperatures, but I only defined the list of pairs. Adding an extra pair of brackets helped immensely.

Oh, joy, new version of Arduino wants to change my filename extensions. Including those in the teacup firmware. I don't think so...

Moving on to why the extruder doesn't work... testing the voltage of the Z axis dir pin shows it changes between 0 and 5 depending on direction, while the step pin goes up a bit when told to move, regardless of direction. The step pin only goes up slightly because it's sending timed pulses. On the extruder pins (using the ReplicatorG control panel) - nothing.

Trying to figure out which GCode to use to run the extruder. M108 and M113 both give Bad M-Code. System info (M115) says there's an extruder. Turning the extruder forward/reverse (M101/M102) shows nothing on either pin. G0/G1 commands give no reaction either.

Some fiddling with G1 and M114 shows that repositioning indeed takes place. The default feedrate was 50, slow enough that it was hard to measure. At a feed rate of 1000, it's clear that there's stepping going on.

The E position is odd, but that's probably just me not understanding how a circular position is represented. It's definitely doing something, but only in one direction.

I'm not entirely convinced that Teacup thinks of the extruder as a stepper motor rather than a PWM. Must investigate later.

No comments:

Post a Comment