Spørgsmål:
Marlin temperaturføler problem
hrust
2016-07-24 19:14:27 UTC
view on stackexchange narkive permalink

Jeg har en RAMPS 1.4 og en Arduino Mega 2560. Problemet er med 100k NTC-termistor. Jeg har testet det med et multimeter, det resulterer i ~ 122kΩ.

Jeg bruger Marlin 1.0.2 (seneste stabile). Jeg bruger en MK8-ekstruder og modtager ikke temperaturmålinger fra termosensoren - uanset hvordan jeg tilslutter den. På APrinter firmware fungerer det dog fejlfrit.

I konfiguration.h har jeg prøvet de fleste af indstillingerne, men fundet "1" er den den bedste for mig.

Udfører m105 på Marlin, jeg får følgende resultat:

  ok T: 0,0 / 0,0 B: 0,0 / 0,0 T0: 0.0 /0.0 @: 0 B @: 0  

På APrinter er resultatet anderledes:

  ok B: -inf / nan T: 25.2076 / nan  

Jeg har ikke tilsluttet sengetermistor endnu.

pins.h

  # definer TEMP_0_PIN 1 // Ekstruder / Analog pin nummerering # definer TEMP_BED_PIN 0 // Seng / Analog pin nummerering  

konfiguration.h

  #definer TEMP_SENSOR_0 1 # definer TEMP_SENSOR_BED 1 ... # definer MOTHERBOARD BOARD_RAMPS_13_EFB  

Efter at have skiftet frem og tilbage fra Marlin til APrinter og tilbage, stoppede Marlin med at vågne helt. Jeg havde konfigureret LCD'et ( ReprapDiscount Smart Controller), og alle steppere arbejdede. Lige nu sender den ikke engang selvtest til Pronterface ved start / forbindelse, eller den hænger i henhold til loggen.

Fronterface output

  Opretter forbindelse ... startPrinter er nu online.echo: Marlin1.0.2echo: Sidst opdateret: 25. juli 2016 17: 12:39 | Forfatter: (Rustam Rahimgulov, standardkonfiguration) Kompileret: 25. juli 2016echo: Gratis hukommelse: 3971 PlannerBufferBytes: 1232echo: Hardcoded Standardindstillinger Loadedecho: Trin pr. Enhed: ekko: M92 X80.00 Y80.00 Z4000.00 E836.00echo: Maksimum feedrates (mm / s): ekko: M203 X500.00 Y500.00 Z2.00 E25.00echo: Maksimal acceleration (mm / s2): ekko: M201 X9000 Y9000 Z100 E10000echo: Acceleration: S = acceleration, T = tilbagetrækningsaccelerationecho: M204 S300,00 T3000,00
ekko: Avancerede variabler: S = Min tilspænding (mm / s), T = Min bevægelseshastighed (mm / s), B = minimum segmenttid (ms), X = maks. XY rykk (mm / s), Z = maksimal Z ryk (mm / s), E = maksimum E ryk (mm / s) ekko: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00echo: Hjemmeforskydning (mm): ekko: M206 X0.00 Y0 .00 Z0.00echo: PID-indstillinger: ekko: M301 P22.20 I1.08 D114.00 startecho: Marlin1.0.2ec (intet mere her, output slutter bare)  
Hvad sker der, hvis du manuelt anmoder om temperaturer med 'M105'? Hvad er "aprintr firmware"?
a) Så vidt jeg har stødt på 100K termistorer, giver de normalt tæt omkring 100K resisivitet ved stuetemperatur. b) når du taler om konfiguration. h, mener du i Marlin? Har du sørget for, at din Marlin ellers er i funktionsdygtig stand og ikke har været fejlbehæftet under overførslen?
@kamuro Det er første gang, jeg arbejder med arduino, men som jeg ved, bruger arduino ide ** avrdude ** på linux til at uploade firmware til chippen, og derefter læses det for at kontrollere, at * hex * -filen blev skrevet korrekt i hukommelsen . Senest syntes det imidlertid ikke at uploade firmware ordentligt, jeg har gennemført loopback-test, og alt var ok. Hvordan ville jeg sikre mig, at firmwaren er intakt på chippen?
@kamuro 122k er en ret normal læsning. 100K-tallet er citeret ved 25C, 122k svarer til omkring 20-22C.
Har du termistoren tilsluttet det rigtige stik? Måske læser aprintr temperaturen fra en anden pin, end Marlin er konfigureret til.
@TomvanderZanden Jeg har testet termistor både i t0- og t1-ben, og ** APrinter ** firmware er i stand til at skelne mellem dem og indhente data, men er ikke tilfældet for ** Marlin **. I øjeblikket er exturder-termistor forbundet til 't0' og seng til 't1'.
Jeg mente, at du skulle kontrollere, om stiften, som marlin er konfigureret til at læse temperaturen fra (i pins_ramps_14.h) svarer til den fysiske pin, din termistor er tilsluttet.
@TomvanderZanden Hvordan ville jeg kontrollere det fysisk? I ** pins.h ** er dette analoge ben 0 og 1
På RAMPS er termistorer på analoge ben 13/14/15. Hvis pins.h har 0 og 1 sæt, er det * forkert *. Sørg for, at du har det rigtige kort konfigureret i Marlin.
@TomvanderZanden Der er så mange omdefinerede definitioner af `temp_0_pin`, at det er meget svært at spore, om det er korrekt eller ej. Jeg kan finde linjer, der tildeler analoge ben 13 og 15 til * seng * og * ekstruder * sensorer.
@Tom: godt at vide, jeg kiggede også op på kurver nu, jeg vidste ikke, at værdierne ændrede sig så hurtigt. Nå, det ser ud til, at mit hjem havde temmelig på stedet 25 ° C, da jeg prøvede mine termistorer, så;) ** Gemma **: synes du ved mere om arduino IDE, end jeg gør. Jeg ville lige have testet, om et display fungerer, og serielle G-kodekommandoer udføres korrekt. Har du sørget for, at kortet i Marlin er korrekt indstillet til RAMPS 1.4 (det er bundkortidentifikator 33).
@kamuro Jeg håber at angive `MOTHERBOARD BOARD_RAMPS_13_EFB` i ** konfiguration. H ** en gang i starten er tilstrækkelig til at informere kode om, at jeg bruger RAMPS 1.4
Marlins seneste stabile version er 1.1.6: https://github.com/MarlinFirmware/Marlin/releases
En svar:
Fernando Baltazar
2017-09-30 03:54:12 UTC
view on stackexchange narkive permalink

I den aktuelle Marlin Firmware er alle understøttede printerkort opført i filen "boards.h". Denne fil indeholder følgende poster til RAMPS 1.4:

 #define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed) #define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power udgange: Extruder0, Extruder1, Bed) #define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan) #define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan) 

Den mest almindelige version kan være varianten. I dette tilfælde skal du indstille værdien, som følgende linjer viser.

 #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_RAMPS_13_EFB # endif 

Enable Display

 #define REPRAP_DISCOUNT_FULL_GRAPHICTRM_SART 

Ok, det er tid til at foretage justeringerne specifikt for din 3d-printer. Du kan først kontrollere indstillingen for mængden af ​​ekstrudere på omkring linje 58. De fleste 3d-printer-rookies starter muligvis med en ekstruder, så standardindtastningen af ​​'1' er helt tilstrækkelig.

// Dette definerer antal ekstrudere

 #define EXTRUDERS 1 

På omkring linje 70 skal du indstille de termistorer, der er tilsluttet RAMPS til ekstruderen og varmesengen. Afhængigt af din hardwarekonfiguration skal du ændre den sidste værdi i definerne.

 #define TEMP_SENSOR_0 -1 # define TEMP_SENSOR_1 -1 # define TEMP_SENSOR_2 0 # define TEMP_SENSOR_BED 0 

Definitionen for TEMP_SENSOR_0 bestemmer, hvilken termistortype der er samlet ved hotend af ekstruder 1. Denne termistor skal forbindes til den første sensorindgang (se også ledningsskema). Termistoren til varmesengen skal tilsluttes den anden sensorindgang. Termistortypen er konfigureret med defineringslinjen 'TEMP_SENSOR_BED'. Hvis du bruger en termistor af typen EPCOS B57560G104F (100K, Beta = 4036), skriver du værdien '1' i den matchende definition. Hvis du har en termistor med 100k og Beta = 3950, skal du indstille værdien '60' i den tilsvarende definition. Så definerne ser f.eks. Ud:

For EPCOS (Beta = 4036) på hotend og heatbed:

 #define TEMP_SENSOR_0 1 # define TEMP_SENSOR_1 -1 # define TEMP_SENSOR_2 0 # define TEMP_SENSOR_BED 1 

For Beta = 3950 på hotend og heatbed:

 #define TEMP_SENSOR_0 60 # define TEMP_SENSOR_1 -1 # define TEMP_SENSOR_2 0 # define TEMP_SENSOR_BED 60 


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...