Seite 2 von 2

Re: RF1000 mit anderem Board betreiben

Verfasst: Di 28. Feb 2017, 22:24
von Nibbels
robernd hat geschrieben: Wofür sind eigentlich die Servo-Anschlüsse gut?
Ich hab mir ein Absaugungsmodul gebaut, das oben auf der Einhausung liegt und mit einem sonst unbenutzten Kamin verbunden ist.
Die Luft wird mit einem 120mm-Lüfter+Kamineffekt abgesaugt, welcher an 12V hängt. Steuerbar über X19, einen Mosfet-Ausgang an dem ein Step-Down-Converter hängt.

Dass es mir im Winter nicht die ganze Nacht über die Zimmerluft zum Kamin raus saugt, wenn der Druck schon fertig ist, habe ich
http://www.thingiverse.com/thing:525924
ausgedruckt und ein Servo zieht per Endcode die Klappe ganz zu :coolbubble: .

Beim RF1000-Board sind manche Pins anders vergeben. Das sieht man aber in der pins.h
Wenn ich ein RF2000-Board verwenden würde, würde ich auch die RF2000-Firmware nutzen. Nur wegen dem "PLA" und "ABS" Heat-Bed-Scan müsste man einen zweiten Extruder anschließen (Dabei müssen Temperaturen erreicht werden) - oder in der Firmware irgendwo sagen, dass es nur einen Extruder gibt.
Evtl. kann man sogar den alten Endschalter mit einem Trick an den "neuen optischen Schalter", dessen Port rantricksen.
Es kann noch andere Stolpersteine geben, aber ich sehe sie nicht. Evtl. verschiedene Schraub-Stellen im Drucker unten?
Das Display hat beim RF2000 20 statt 16 Stellen. Das sollte man evtl. noch beachten (betrifft auch Aussparung im Gehäuse?).

LG

Re: RF1000 mit anderem Board betreiben

Verfasst: Mi 1. Mär 2017, 18:34
von robernd
Hallo Nibbel,
das mit der Kaminklappe leuchtet ein.
Wahrscheinlich hast du recht. Eigentlich sollte die RF2000 Firmware auch mit der RF1000 Mechanik funktionieren.

Ich meine gelesen zu haben, dass für die Temperaturmessung Heißleiter (NTC-Widerstände) verwendet werden. Allerdings kenne ich zur Zeit keine, denen ich so hohe Temperaturen zumuten würde. Statt Extruder würde ich mit einem (Heiz-)Widerstand (an der Heizungszuleitung) allein einen passenden NTC erwärmen (oder was immer es für ein Sensor ist). Dabei spielt es keine Rolle, ob er die richtige Temperatur erreicht, er braucht nur den Widerstandswert anzunehmen, der der Temperatur entspricht. Diese Kombination kann also recht kühl bleiben.

Wenn wir einen mechanischen Endschalter mit den gleichen Teilen wie die anderen Schalter (2x Widerstand, 1x Kondensator) extern kombinieren, wird er wahrscheinlich ebenso funktionieren wie der optische. Die Zuleitungen zum optischen Schalter liefern die dafür nötigen 5V. Ein Problem könnte dabei sein, dass die RF2000 Firmware den Z-Motor langsamer bremst, weil der optische Schalter einen größeren Hub erlaubt. Ich würde es allerdings vorziehen, auch im RF1000 einen optischen Schalter nachzurüsten. Entsprechende Gabellichtschranken sind Standard-Bauteile.

Die Programmierung des Displays zieht sich wahrscheinlich quer durch die ganze Firmware. Das müssen wir unbedingt auswechseln.

Re: RF1000 mit anderem Board betreiben

Verfasst: Mi 1. Mär 2017, 20:28
von Nibbels
Diese NTC/PTC/... Sensoren kann man einstellen. In der Firmware gibts Listen die jeweils einer Nummer zugeordnet sind.
Damit werden die Analog-Digital-Messwerte auf die Temperaturen abgebildet.
Diese Detailinfos sind evtl. etwas too much :)
Beispiel meines Noname-Amazon-Sensors am vierten optionalen RF2000-Tempsensor: Hier wird auf den "Sensortyp 15" verwiesen.
Screenshot_2.png
Screenshot_3.png
Normalerweise ist das Type 3
rf2000.h / rf1000.h hat geschrieben:

Code: Alles auswählen

/** \brief What type of sensor is used?
3 is mendel-parts thermistor (EPCOS G550) */
#define EXT1_TEMPSENSOR_TYPE				3
oder beim E3D-Sensor soweit ich weiß Typ 8.

Wenn das Display selbst Hardwarekompatibel ist, was ich vermuten würde aber nicht weiß, kann man auch in der Firmware die "Cols" auf 16 stellen, dann sieht das eben aus wie beim RF1000.
ui.h hat geschrieben:

Code: Alles auswählen

#define UI_COLS							 20
Fix (?):
ui.h hat geschrieben:

Code: Alles auswählen

#define UI_COLS							 16
Screenshot_1.png
Ich hab beim umbauen des Menüs gesehen, dass ganz oft unterschieden wird, ob das Display mehr als 16 oder nur 16 Zeichen Zeilen hat.
z.B. da:
https://github.com/Nibbels/Repetier-Fir ... enu.h#L205
https://github.com/Nibbels/Repetier-Fir ... enu.h#L243

Dieser RF2000-Schalter hat Versorgung und Signal. Der normale RF1000-Schalter hat eben nur 2 Schließ- oder Öffnepins. Man muss halt evtl. das Kabel tauschen oder den Signalpin auf Masse oder Plus legen.
Screenshot_4.png
Dazu würde ich aber im Ernstfall die Schaltung genauer anschauen.

LG

Re: RF1000 mit anderem Board betreiben

Verfasst: Do 2. Mär 2017, 10:55
von mhier
robernd hat geschrieben:Statt Extruder würde ich mit einem (Heiz-)Widerstand (an der Heizungszuleitung) allein einen passenden NTC erwärmen (oder was immer es für ein Sensor ist). Dabei spielt es keine Rolle, ob er die richtige Temperatur erreicht, er braucht nur den Widerstandswert anzunehmen, der der Temperatur entspricht. Diese Kombination kann also recht kühl bleiben.
Damit kriegst du aber keine Temperatur-Regelung hin sonder letzlich nur eine Regelung des Heizstroms. Je besser der Temperatursensor mit der Schmelzkammer thermisch gekoppelt ist, desto genauer ist die Regelung.
robernd hat geschrieben:Die Programmierung des Displays zieht sich wahrscheinlich quer durch die ganze Firmware. Das müssen wir unbedingt auswechseln.
Das ist gar nicht so schlimm, weil da noch ein Abstraktions-Layer dazwischen ist. Das Display wurde ja auch nicht erst für den RFx000 hinzugefügt sondern ist schon in der Original-Repetier-Firmware vorhanden, somit sollten viele Display-Ausführungen schon unterstützt werden. Im Zweifel haben die meisten Displays aber eh ein sehr ähnliches Interface.

Re: RF1000 mit anderem Board betreiben

Verfasst: Do 2. Mär 2017, 20:19
von robernd
Hallo

Dummy-Extruder.
Ziel meines Vorschlags ist es nicht, einen daneben gelegten zweiten Extruder zu heizen. Die Firmware soll nur denken, dass sie einen zweiten Extruder hat und aufheizt.
Ich würde also einen Widerstand (ich nenne ihn Heizwiderstand) an der Extruderspannung anschließen (24V PWM). Dieser würde natürlich warm. Wie warm er wird, hängt von seinem elektrischen Widerstand ab. Der Heizwiderstand ist thermisch mit einem NTC verbunden, der der Firmware ein plausibles Signal liefern muss. Der Heizwiderstand ist ein keramischer Leistungswiderstand (ca. 5W), dessen Wert so ausgesucht ist, dass er bei voller Heizspannung (24V) deutlich unter 100 Grad bleibt. Die meisten Feld-Wald-und-Wiesen NTCs vertragen höchstens 150 Grad.
Der damit mechanisch verbundene NTC wird so ausgesucht, dass er z.B. bei 60 Grad ungefähr den gleichen Wert liefert, wie der Extruder-NTC bei Solltemperatur. Hier kann man rechnen (siehe unten), Datenblätter ansehen oder einfach ausprobieren. Damit sollte die Firmware diese Kombination auf 60 Grad aufheizen. Es ist dabei völlig egal, ob es in Wirklichkeit 50 oder 90 Grad sind. Die Hauptsache ist, die Firmware denkt, es wäre die Solltemperatur, also um die 200 Grad.
Eventuell erwartet das Programm ein bestimmtes zeitliches Verhalten, dann müssten wir der Kombination noch etwas anhängen, das Wärme aufnimmt und den Aufheizvorgang verzögert, z.B. eine größere Schraube. Der Vorteil des Dummy-Extruders ist, dass man sich nicht so schnell die Finger verbrennt und dass er billig ist. Viele Elektronikbastler haben geeignete Teile im heimischen Bastelkästchen.
Die im Programmtext vorgegebenen Tabellen werden uns dabei wenig helfen, weil sie für höhere Temperaturen gedacht sind. Dort ist sicher auch die äußere Beschaltung auf der Hauptplatine berücksichtigt (4,7k an 5 V). Ich betreibe NTCs für andere Zwecke auf ähnliche Weise.
Hinweis: Die Angabe im obigen Beispiel (Sensortyp 15) bedeutet: 100 kOhm bei 25 Grad, B-Wert = 3950. Der B-Wert gibt den Verlauf der Kennlinie an. In der Praxis dürfte der NTC um 500 Ohm bei 200 Grad haben. Eine 10k-Version mit gleichem B hätte dann 50 Ohm.
In https://de.wikipedia.org/wiki/Hei%C3%9Fleiter gibt es Formeln, um den Widerstand auszurechnen. Außerdem liefern die Datenblätter der meisten Hersteller auch Tabellen mit den Werten. Das ist bequemer, wir müssen uns nur aus dem umfangreichen Angebot die richtigen Typen heraussuchen (in dem Fall B=3950). Welches B der Dummy hat, ist weniger wichtig. In der Regel tut man sich schwer eine 3950 Version zu finden. NTCs für niedrigere Temperaturen haben meistens größere B-Werte. Die brauchen wir dem Programm aber nicht mitzuteilen. Wie oben schon erwähnt, ist die wahre Temperatur des Dummys nicht interessant.

Endschalter.
Die Eingänge für die mechanischen Endschalter sind auf der Hauptplatine mit 2 Widerständen und einem Kondensator beschaltet. Wenn der Schalter geschlossen ist, schließt er die 5V kurz, die ihm über einen der Widerstände zugeführt werden. Der Kondensator ist zur Entprellung (mehrfaches EIN/AUS beim Schalten) des Schalters gut. Am Eingang für die Lichtschranke/optischen Schalter fehlen diese Teile, weil in dem optischen Schalter das Nötige drinsteckt. Wenn wir dort einen mechanischen Schalter anschließen, müssen wir deshalb die auf der Platine fehlenden Teile drumherum basteln. Das kann man am Platinenanschluss machen oder mit anderem Kabel direkt am Schalter.

Display.
Wenn die Firmware für ein Display mit 20 Zeichen pro Zeile eingerichtet ist, wird sie diese auch ausgeben. Die Frage ist, wo die übrigen Zeichen bleiben, wenn das Display nur 16 Zeichen verkraftet. Ich fürchte, dass auch eine Software-Einstellung der Spaltenzahl auf 16, die 20 Zeichen nicht verhindert. Prinzipiell können ähnliche Displays den gleichen Display-Controller eingebaut haben. Dieser weiß nicht unbedingt selbst, welche Art von Display er bedient. Das Programm müsste es dem Controller erst beibringen. Dafür ist wahrscheinlich die Einstellmöglichkeit vorgesehen. Je nach Geschick und Aufwand verwenden die Programmierer konfigurierbare Displaytreiber. In unserem Fall müsste allerdings die gesamte Ausgabe-Formatierung verändert werden, damit die gleichen Informationen in weniger Spalten untergebracht werden. Mit logischen Abfragen im Programmcode wäre das möglich, ich kann es mir aber nicht recht vorstellen.
Ähnliche Displays verwende auch ich (4 Zeilen, 20 Spalten). Gebe ich denen mehr als 20 Zeichen pro Zeile, dann tauchen die überzähligen woanders auf. Ich glaube, sie überschreiben den Anfang der jeweils übernächsten Zeile.

Nun ich persönlich habe dieses Problem noch nicht. Wenn Conrad den RF2000 sterben lässt, müsste ich mich vielleicht mit der Platine eines RF3000 anfreunden.

Re: RF1000 mit anderem Board betreiben

Verfasst: Do 2. Mär 2017, 23:49
von Nibbels
robernd,

der RF1000 und der RF2000 haben quasi dieselbe Firmware!
Der Unterschied sind Konfigurationsdateien. Wo ich mir nicht so sicher bin sind die Form aller Stecker etc. Und ich habs eben nie getestet.

Das mit dem einen Extruder würde ich so lösen:
Screenshot_1.png
einfach auf 1 stellen und testen. Zu 99% klappt das.

Ähnliches sollte auch für das Display gültig sein, wenn es Hardwaremäßig ähnlich verdrahtet ist. Ich habe das nicht geprüft, aber wenn es sich quasi um dieselbe Verdrahtung handelt klappt mein Fix aus dem letzten Post vermutlich.
Dazu müsste man die Schaltpläne genau vergleichen. Und RAU´s Notizen checken:
RAU hat geschrieben: Ein Vergleich der beiden Schaltbilder zeigt erstmal, dass sich nicht viel Grundsätzliches geändert hat, aber eine ganze Menge Details. Natürlich gab es Ergänzungen für die neuen Features.
Wie gesagt sind in der Firmware je nach Anzahl Zeichen pro Zeile einfach unterschiedliche "Design-Profile" hinterlegt. Mal wird etwas nicht ganz ausgeschrieben, mal wird ein Leerzeichen gespart usw.

Das mit dem Endschalter ist interessant :)

LG

Re: RF1000 mit anderem Board betreiben

Verfasst: Fr 3. Mär 2017, 08:16
von R3D3
Nibbels hat geschrieben: Das mit dem einen Extruder würde ich so lösen:
Screenshot_1.png
einfach auf 1 stellen und testen. Zu 99% klappt das.
Sehe ich auch so. Als ich vor fast 2 Jahren umgekehrt eine Dual-FW für den 1000er gebraucht habe, habe ich u.a. (nach Anleitung aus dem Forum) diesen Wert von 1 auf 2 gesetzt (und zudem noch einige Pins (Heizbett-> 2. Extruder; Reserve -> Heizbett, glaube ich) umdefiniert und kleineres Zeug). Mehr Info im Dual-Extruder thread. Ähnliches umgekehrt müsste auch gehen. :whistle: