Re: Tråden för Delta/Kossel 3D-Skrivare (fd Simplys 3D-Skriv
Postat: 14 mars 2014, 23:20:00
Denna posten är väl mest som anteckning för pågående arbete...
Har tittat på vad som behövs för att använda FSR tillsammans med heatbed.
Johann har som bekant anslutit FSR-erna till ADCn på T1 på RAMPS som normalt används för heated bed.
Jag vill ha kvar den funktionen och tänker använda T2 på RAMPS.
Med MOTHERBOARD == 33 så är T2 redan definierad, den heter TEMP_1_PIN (pinne A15) i koden.
När TEMP_1_PIN är definierad (som den är) så sker kontinuerligt AD-omvandling av ingången i den vanliga interruptrutinen som kontinuerligt mäter temperaturer och kollar max/min-nivåer.
Temperaturen översamplas, Johann tar ut den efter varje AD-omvandling 0-1023.
Så, allt är redan förberett, T2 mäts hela tiden. Bara att se till att T2-värdet kommer ut till touching_print_surface()-rutinen. Då väljer jag att istället för att göra det ordentligt så gör jag en snabbfix och har kvar Johann's namn på variabler och rutiner (som heter saker med "bed"). Jag ser helt enkelt till att värdet tas från TEMP_1_PIN istället för från TEMP_BED_PIN.
Rad 1141 i temperature.cpp:
byts tillbaks till det som troligen var orginal:
Och på rad 1161 i temperature.cpp:
byts på motsvarade sätt till
raw_temp_bed_sample går sedan vidare upp till touching_print_surface() utan någon ytterligare förändring.
Tycker det borde funka. Det ser jag om nån dag eller två när jag testat.
Har tittat på vad som behövs för att använda FSR tillsammans med heatbed.
Johann har som bekant anslutit FSR-erna till ADCn på T1 på RAMPS som normalt används för heated bed.
Jag vill ha kvar den funktionen och tänker använda T2 på RAMPS.
Med MOTHERBOARD == 33 så är T2 redan definierad, den heter TEMP_1_PIN (pinne A15) i koden.
När TEMP_1_PIN är definierad (som den är) så sker kontinuerligt AD-omvandling av ingången i den vanliga interruptrutinen som kontinuerligt mäter temperaturer och kollar max/min-nivåer.
Temperaturen översamplas, Johann tar ut den efter varje AD-omvandling 0-1023.
Så, allt är redan förberett, T2 mäts hela tiden. Bara att se till att T2-värdet kommer ut till touching_print_surface()-rutinen. Då väljer jag att istället för att göra det ordentligt så gör jag en snabbfix och har kvar Johann's namn på variabler och rutiner (som heter saker med "bed"). Jag ser helt enkelt till att värdet tas från TEMP_1_PIN istället för från TEMP_BED_PIN.
Rad 1141 i temperature.cpp:
Kod: Markera allt
#if defined(TEMP_BED_PIN) && (TEMP_BED_PIN > -1)
raw_temp_bed_sample = ADC;
raw_temp_bed_value += raw_temp_bed_sample;
#endif
Kod: Markera allt
#if defined(TEMP_BED_PIN) && (TEMP_BED_PIN > -1)
raw_temp_bed_value += ADC;
#endif
Kod: Markera allt
#if defined(TEMP_1_PIN) && (TEMP_1_PIN > -1)
raw_temp_1_value += ADC;
#endif
Kod: Markera allt
#if defined(TEMP_1_PIN) && (TEMP_1_PIN > -1)
raw_temp_bed_sample = ADC;
raw_temp_1_value += raw_temp_bed_sample;
#endif
Tycker det borde funka. Det ser jag om nån dag eller två när jag testat.