V2 durch E3D V5 Clone ersetzen.
-
- 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.
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. Unter "CPU" geschaut und gesehen, dass "OUT1" dem ATMega PIN PA3 entspricht. Dann habe ich in fastio.h nach A3 gesucht und gesehen, dass es bei DIO25 also Nummer 25 steht. Das habe ich bei pins.h eingetragen, mit ein paar Kommentaren noch das drumherum beschrieben, kompiliert und auf den RF1000 übertragen. 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. Ich habe mich selten so über eine grün leuchtende LED auf einer Platine gefreut.
Man kann sogar die Geschwindigkeit des Lüfter über die EEPROM-Einstellungen anpassen. 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.
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. Unter "CPU" geschaut und gesehen, dass "OUT1" dem ATMega PIN PA3 entspricht. Dann habe ich in fastio.h nach A3 gesucht und gesehen, dass es bei DIO25 also Nummer 25 steht. Das habe ich bei pins.h eingetragen, mit ein paar Kommentaren noch das drumherum beschrieben, kompiliert und auf den RF1000 übertragen. 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. Ich habe mich selten so über eine grün leuchtende LED auf einer Platine gefreut.
Man kann sogar die Geschwindigkeit des Lüfter über die EEPROM-Einstellungen anpassen. 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.
- af0815
- Donator
- Beiträge: 829
- Registriert: Di 2. Jun 2020, 14:45
- Wohnort: Burgenland
- Has thanked: 35 times
- Been thanked: 123 times
Re: V2 durch E3D V5 Clone ersetzen.
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 Aber wen es geht, so kann man sagen: "Ente gut, alles Gut". Altes chinesisches Splichwold.
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Re: V2 durch E3D V5 Clone ersetzen.
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
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
- af0815
- Donator
- Beiträge: 829
- Registriert: Di 2. Jun 2020, 14:45
- Wohnort: Burgenland
- Has thanked: 35 times
- Been thanked: 123 times
Re: V2 durch E3D V5 Clone ersetzen.
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.AtlonXP hat geschrieben:Darum sollte es zu Mindes bei allen RF1000 passen.
-
- Prof. Dr. des 3D-Drucks
- Beiträge: 1672
- Registriert: Fr 11. Sep 2015, 11:37
- Has thanked: 279 times
- Been thanked: 247 times
Re: V2 durch E3D V5 Clone ersetzen.
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.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.
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)
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)
-
- 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.
Ja, beim Programmieren sind die Problem immer da, wo man sie am wenigsten vermutet.
Ich habe bei der Gelegenheit wegen der RAW Werte fürs Hotend geschaut. Ich habe die command.cpp wie folgt verändert:
VORHER
DANACH
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.
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]));
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
Jedoch RAW00: oder RAW0 : gehen. Zumindest sieht jetzt die Rohwerte vom Hotend-Thermistor.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- rf1k_mjh11
- Developer
- Beiträge: 2097
- Registriert: Di 6. Jan 2015, 19:44
- Wohnort: Autriche
- Has thanked: 276 times
- Been thanked: 557 times
Re: V2 durch E3D V5 Clone ersetzen.
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
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.
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.
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Re: V2 durch E3D V5 Clone ersetzen.
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
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
-
- 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.
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.
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.
- AtlonXP
- 3D-Drucker Erfinder
- Beiträge: 3447
- Registriert: So 15. Nov 2015, 20:55
- Has thanked: 758 times
- Been thanked: 596 times
Re: V2 durch E3D V5 Clone ersetzen.
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
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