V2 durch E3D V5 Clone ersetzen.

Hier geht es ausschliesslich um die Extruder und Kühlung des Filamnts des RF1000. Fragen und Probleme sowie Verbesserungen können hier diskutiert werden
micschi
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 39
Registriert: Fr 28. Jan 2022, 13:02
Has thanked: 2 times
Been thanked: 11 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von micschi »

Ich habe gestern etwas länger in der Software "1.45.01" gestöbert und das anvisierte zum Ziel auch erreicht.
Der Code für den Extruder Fan funktioniert ohne Änderung genauso wie man es erwarten würde. Das Hauptproblem für mich war, die richtige PIN-Nummer zu finden. Ich bin davon ausgegangen, dass die Nummer im Schaltplanausschnitt "CPU" den IO-Nummern in der Firmware entspricht. Dem ist aber nicht so, dass ist ziemlich verwirrend und hat mich die meiste Zeit gekostet. Oder habe ich hier was völlig falsch verstanden?

Zu finden ist die Definition der IO Nummern in fastio.h. Um zum Beispiel die richtige Nummer für X19/OUIT1 zu finden, habe ich im Schaltplan Unter Ausgänge nach "X19" geschaut und gesehen, dass es zu PIN "OUT1" gehört.
SP_RF1000_Ausgaenge.png
Unter "CPU" geschaut und gesehen, dass "OUT1" dem ATMega PIN PA3 entspricht.
SP_CPU.png
Dann habe ich in fastio.h nach A3 gesucht und gesehen, dass es bei DIO25 also Nummer 25 steht.
fastio_h.png
Das habe ich bei pins.h eingetragen, mit ein paar Kommentaren noch das drumherum beschrieben, kompiliert und auf den RF1000 übertragen.
pins_h.png
Dann den Extruder auf 70°C gesetzt und zack der Lüfter ging an, Extruder auf 0°C gesetzt, gewartet bis er unter 50°C kam und Lüfter ging wieder aus. :tanzen: Ich habe mich selten so über eine grün leuchtende LED auf einer Platine gefreut. :grins:
Man kann sogar die Geschwindigkeit des Lüfter über die EEPROM-Einstellungen anpassen.
eeprom.png
Ich habe es anschließend auch noch mit X10 und X8 getestet. Die funktionieren ebenfalls. Wir ihr auch angemerkt habt, werden sie für andere Funktionen genutzt. Sie sind aber in der Standardkonfiguration sauber deaktiviert und deswegen kommen sie sich nicht in die Quere.

Kommt mir so vor, als ob die fastio.h für eine andere CPU ist, obwohl dort atmega2560 erwähnt wird.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von af0815 »

Es gibt einige Varianten der Platinen. Da hat die Evolution zugeschlagen, das macht das nicht einfacher. Es muss die Platinenversion mit der Schaltplanversion und dem Programm zusammenstimmen :woohoo: Aber wen es geht, so kann man sagen: "Ente gut, alles Gut". Altes chinesisches Splichwold.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3374
Registriert: So 15. Nov 2015, 20:55
Has thanked: 742 times
Been thanked: 588 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von AtlonXP »

Das hast du gut gemacht.

Ich denke af0815 bedenken kann man ausräumen.
Der Grund ist, wir haben eine Firmware für alle Drucker.
Es gibt nur eine Grundversion für den RF1000, RF2000 und RF2000 V2.

Darum sollte es zu Mindes bei allen RF1000 passen.

LG AtlonXP
Benutzeravatar
af0815
Donator
Donator
Beiträge: 809
Registriert: Di 2. Jun 2020, 14:45
Wohnort: Burgenland
Has thanked: 34 times
Been thanked: 120 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von af0815 »

AtlonXP hat geschrieben:Darum sollte es zu Mindes bei allen RF1000 passen.
Passen ja, aber sich durch die ganzen ifdef durchzuarbeiten und zu sehen welcher Port gerade mit welchen Symbol verknüpft ist, ist dadurch nicht unbedingt einfacher geworden. Das ist mit den 'Bedenken' gemeint. Bezeichnungen Schaltplan zu Programm sind gelinde gesagt etwas schwer zu durchschauen.
mhier
Prof. Dr. des 3D-Drucks
Prof. Dr. des 3D-Drucks
Beiträge: 1672
Registriert: Fr 11. Sep 2015, 11:37
Has thanked: 279 times
Been thanked: 246 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von mhier »

micschi hat geschrieben:Das Hauptproblem für mich war, die richtige PIN-Nummer zu finden. Ich bin davon ausgegangen, dass die Nummer im Schaltplanausschnitt "CPU" den IO-Nummern in der Firmware entspricht. Dem ist aber nicht so, dass ist ziemlich verwirrend und hat mich die meiste Zeit gekostet.
Willkommen in der Arduino-Welt ;-) Irgend ein schlauer Mensch hat sich überlegt, dass es vielleicht einfacher ist, die Pins irgendwie anders zu benennen als im Datenblatt des Chips. Leider hatte er ziemlich unrecht, jedenfalls wenn man etwas anders macht als die Arduino-Software mit einem Original-Arduino-Board zu kombinieren. Und selbst in Arduino gibt es verschiedene Zähleweisen. Da blickt niemand durch.
Gruß, Martin

Klipper Firmware für den RFx000: Klipper für RFx000 | Original-Dokumentation | Diskussion | Wiki mit Installations-Anleitung

(Ich bin in diesem Forum nicht mehr aktiv)
micschi
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 39
Registriert: Fr 28. Jan 2022, 13:02
Has thanked: 2 times
Been thanked: 11 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von micschi »

Ja, beim Programmieren sind die Problem immer da, wo man sie am wenigsten vermutet. :diabolisch:

Ich habe bei der Gelegenheit wegen der RAW Werte fürs Hotend geschaut. Ich habe die command.cpp wie folgt verändert:
VORHER

Code: Alles auswählen

void Commands::printTemperatures(bool showRaw) {
    static millis_t lastTemperatureSignal = 0;
    millis_t now = HAL::timeInMilliseconds();
    if ((now - lastTemperatureSignal) > 1000) {
        lastTemperatureSignal = now;

        Com::printF(Com::tTColon, Extruder::current->tempControl.currentTemperatureC, 1);
        Com::printF(Com::tSpaceSlash, Extruder::current->tempControl.targetTemperatureC, 0);
        // Show output of autotune when tuning!
        Com::printF(Com::tSpaceAtColon, (pwm_pos[Extruder::current->id]));


DANACH

Code: Alles auswählen

void Commands::printTemperatures(bool showRaw) {
    static millis_t lastTemperatureSignal = 0;
    millis_t now = HAL::timeInMilliseconds();
    if ((now - lastTemperatureSignal) > 1000) {
        lastTemperatureSignal = now;

#if NUM_EXTRUDER == 1
        Com::printF(Com::tTColon, Extruder::current->tempControl.currentTemperatureC, 1);   // T:CurTemp
        Com::printF(Com::tSpaceSlash, Extruder::current->tempControl.targetTemperatureC, 0);    // /TargetTemp
        // Show output of autotune when tuning!
        Com::printF(Com::tSpaceAtColon, (pwm_pos[Extruder::current->id]));  // @:Autotune

        if (showRaw) {
            Com::printF(Com::tSpaceRaw, "0 "); // RAW0 [(int)0 or "0"] funktioniert nicht, keine Ausgabe unter Reptier, aber "RAW00" geht oder "RAW0 "
            Com::printF(Com::tColon, (1023 << (2 - ANALOG_REDUCE_BITS)) - Extruder::current->tempControl.currentTemperature);
        }
#endif
Der Quelltext zum Ausgeben des Rohwertes für einen Extruder hat gefehlt. Die Zeichenkette RAW0: scheint für irgendeinen der Beteiligten ein Problem zu sein, da gibt es keine Ausgabe in Repetier. Und da das bei 2 Extruder auch ausgegeben wird, könnte da das Problem auch bestehen, ich kann das aber nicht testen.
Jedoch RAW00: oder RAW0 : gehen. Zumindest sieht jetzt die Rohwerte vom Hotend-Thermistor.
2022-03-17 18_28_44-Repetier-Host V2.2.4.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
rf1k_mjh11
Developer
Developer
Beiträge: 2051
Registriert: Di 6. Jan 2015, 19:44
Wohnort: Autriche
Has thanked: 263 times
Been thanked: 542 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von rf1k_mjh11 »

Hallo micschi,

Die Sache mit der fehlenden Ausgabe der rohen ADC-Werte hatte ich schon vor längerer Zeit bekrittelt. (Siehe dazu diesen Beitrag und die folgenden im Thread.)

Ich hatte die Ausgabe der Rohwerte damals auch hinbekommen und die Änderungen sind bei mir fix implementiert.
Ob die Community FW den gleichen Fehler hat wie die Conrad FW, kann ich nicht bestätigen. Allerdings ist der Fehler schon seit Tag 1. in der Conrad Version dabei. Ich vermute, es wurde von der Original-Repetier Version 'geerbt'. Wenn sich einer dem Sherlock Holmes besonders nahe fühlt und dem Ganzen auf den Grund gehen will, müsste er sich eine alte Repetier Version holen, aus der Zeit stammend, wo die Conrad Version ursprünglich geforked wurde. Dort müsste man dann schnüffeln.

Möge COVID-19 uns alle verschonen!

mjh11
RF1000 (seit 2014) mit:
  Pico Hot End (mit eigenem Bauteil- und Hot End Lüfter)
  Ceran Bett
  FW RF.01.47 (von Conrad, modif.)

Die Natur kontert immer sofort mit einem besseren Idioten.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3374
Registriert: So 15. Nov 2015, 20:55
Has thanked: 742 times
Been thanked: 588 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von AtlonXP »

Hallo micschi,
du scheinst dich hier als Programmierer zu entpuppen.
Gut so…! :-)

Zur RAW Ausgabe:
Ich denke das ist gut und reicht auch so.
Das E0 Hot End und das Heizbett wird als RAW nun ausgegeben.

Könntest du den Extruder Lüfter so wie du ihn aktiviert über X19 hast,
in die RF1000.h eine Zeile zum Anwählen mit 0 oder 1 einfügen und das Programm so ummodeln das es Funzt?
Das wäre dann ein Umschalten von der seitherigen Funktion auf deine Neu.

Ich würde mir diese Änderung noch per copy und paste selber zutrauen.
Jedoch kann man das nicht jedem Anwender abverlangen.

Da mhier nicht mehr bei Arduino Hand anlegen möchte und Nippels privat verhindert ist…
Magst du noch ein paar Dinge für unsere Community FW erledigen, wenn ich dir aufzeige was noch nötig wäre?

LG AtlonXP
micschi
Gelegenheitsdrucker
Gelegenheitsdrucker
Beiträge: 39
Registriert: Fr 28. Jan 2022, 13:02
Has thanked: 2 times
Been thanked: 11 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von micschi »

Hi,
so ein #define zum Aktivieren/deaktivieren bekomme ich hin.
Für die Community FW, dass kann ich auf jeden Fall versuchen. Wenn es nicht immer gleich sofort erledigt sein muss, finde ich da sicher immer etwas Zeit.

Ich habe mich vorhin endlich mal etwas mit dem Menü befasst, um festzustellen, was ich alles noch nicht kenne und auch mal nen Autotune (Pessen) gemacht, so dass der Überschwinger deutlich kleiner ist beim Hotend.
Und auf das schaltbare Licht bin ich im Menü gestoßen (auch X19). Dass kann man bei den #define auch gegen prüfen, so dass man nur eins aktiv hat.
Benutzeravatar
AtlonXP
3D-Drucker Erfinder
3D-Drucker Erfinder
Beiträge: 3374
Registriert: So 15. Nov 2015, 20:55
Has thanked: 742 times
Been thanked: 588 times

Re: V2 durch E3D V5 Clone ersetzen.

Beitrag von AtlonXP »

Das wäre Super.
Zeit spielt keine Rolle, es ist nur Hobby!

Ich kann dich soweit Unterstützen in Bezug wie sollte es funzen
und spiele auch gerne mal wieder den Beta Tester.

Zuerst jedoch, musst du dich mit dem Drucker und unserer Community FW besser vertraut machen.
Nach deinem PID ist das Überschwingen wohl wesentlich besser geworden.
Schau bei dem Aufheizen aus der Zimmer Temperatur heraus, bis Erreichen des Sollwertes,
wie weit die Temperatur beim ersten Mal überschwingt.
In Repetier Host kannst du dir die Aufwärmkurve darstellen lassen.

E3D hat hier auch etwas gedacht, in dem die dem E3D V6 nur eine 30 W Heizung beigelegt haben.
Die Heizleistung zur Thermischen Masse muss abgestimmt sein.

Ist die Heizleistung im Verhältnis zur Masse des Heizblocks groß, dann überschwingt dir die Temperatur weiter.
Das Ziel sollte sein, das erste Überschwingen auf + / - Minus 2 C° zu begrenzen.

Inndirekt hat auch die Ziel Temperatur einen Einfluss.
Umso höher die gewählt ist, erhöhen sich die Wärmeverluste und die Heizleistung singt somit ab.
Das Überschwingen wird somit geringer, oder die Ziel Temperatur kann durch zu schwacher Heizleistung, nicht mehr erreicht werden.

Wie man die Heizleistung begrenzen kann,
findest du auch in meinem erweiterten Link zur Community FW.

LG AtlonXP
Antworten

Zurück zu „Extruder“