Verfahrgeschwindigkeit mittels Poti einstellen

Hier gehts um die Elektronik des RF1000. Damit sind Kabel, Platinen, Endschalter und das Display gemeint.
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

Ich möchte gerne eine Idee Umsetzen:

Mittels Poti soll die Druckgeschwindigkeit / Verfahrgeschwindigkeit eingestellt werden bzw. analog zum "Speed Mult." Eintrag im Menü.

Die frei verfügbaren Pins des Microcontrollers habe ich Grün markiert. Jetzt muss ich noch schauen ob sich einer dieser Pins als analogen Eingang für den Poti verwenden lässt. --> Dateblatt Atmel MEGA2560
Ebenso die Implementierung in der Firmware.

Wäre doch eine feine Sache?!

Hat schon jemand an den freien Pins gebastelt?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

Nach Recherche im Datenblatt können folgende Pins als Analogeingänge verwendet werden:

- PE3
- PE2
- PF0
- PF1
- PF2
- PF3
- PF4 nur wenn JTAG nicht aktiv ist

- PF5 nur wenn JTAG nicht aktiv ist
- PF6 nur wenn JTAG nicht aktiv ist
- PF7 nur wenn JTAG nicht aktiv ist
- PK0
- PK1
- PK2
- PK3
- PK4
- PK5
- PK6
- PK7

Ist JTAG aktiv?

Oha, da bleiben nurnoch 2 freie Pins (PE2, PF3) als Analogeingänge für Basteleien übrig.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Benutzeravatar
RAU
Supporter
Supporter
Beiträge: 683
Registriert: Mo 28. Sep 2015, 19:16
Wohnort: NRW
Has thanked: 20 times
Been thanked: 55 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von RAU »

JTAG ist ein Testinterface um den Chip selbst oder die Verdrahtung auf dem Board zu testen. Es geht dabei vornehmlich um Produktionstests, um Fertigungsausschuss schnell herausselektieren zu können. Das sollte im RF1000 eigentlich nicht aktiv sein.
Benutzeravatar
Zaldo
Globaler Moderator
Globaler Moderator
Beiträge: 630
Registriert: Do 24. Sep 2015, 10:38
Wohnort: Raum Frankfurt
Has thanked: 38 times
Been thanked: 50 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von Zaldo »

Ja und zum programmieren (wie auch SPI). Manche Dinge, wie die Fuse Bits setzen, kann man nicht über den Bootloader. Wenn die in Verwendung wären, wären sie aller Wahrscheinlichkeit nach irgendwo zu nem Steckverbinder geführt. Ansonsten würde man die bestenfalls bei der initialen Programmierung des Chips verwenden.
· Besserer Z-Referenzschalter · Druckbett Feinjustage · Platinenkühlung · Weiße Bauraumbeleuchtung · Not-Aus
· Dauerdruckplatte · Temperaturgeregelte Einhausung · Repetier Server auf Raspberry · MK8 Vorschubritzel
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

Jetzt blicke ich in der Firmware mit der Pinbelegung und dem Handling der Analogeingänge nicht mehr durch.
Analoge Pin belegung in der pins.h:
// analog pin mappings
#define TEMP_0_PIN 13 // PINK.5, 84, TH1 X5
#define TEMP_1_PIN 14 // PINK.6, 83, TH2 X6
#define TEMP_2_PIN 15 // PINK.7, 82, TH3
Woher zum Geier kommt die 13, 14, 15?

TEMP_0_PIN führt weiter zu RF1000.h:
#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
EXT0_TEMPSENSOR_PIN führt weiter zu
#define EXT0_ANALOG_CHANNEL EXT0_TEMPSENSOR_PIN
EXT0_ANALOG_CHANNEL führt weiter zu:

/** \brief Channels are the MUX-part of ADMUX register */
#define ANALOG_INPUT_CHANNELS {EXT0_ANALOG_CHANNEL EXT1_ANALOG_CHANNEL BED_ANALOG_CHANNEL}

ANALOG_INPUT_CHANNELS führt weiter zu Extruder.cpp:

const uint8 osAnalogInputChannels[] PROGMEM = ANALOG_INPUT_CHANNELS;

osAnalogInputChannels führt weiter zu HAL.cpp und Extruder.cpp, aber hier is bei mir Ende.



Beim Arduino Uno war das so einfach, da brauchte man nichtmal den Pin als Analogeingang definieren, einfach mit wert = analogRead(PinNr.); auslesen.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Benutzeravatar
RAU
Supporter
Supporter
Beiträge: 683
Registriert: Mo 28. Sep 2015, 19:16
Wohnort: NRW
Has thanked: 20 times
Been thanked: 55 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von RAU »

Ich habe in die Files nicht reingeschaut, aber vielleicht hilft das:
https://www.arduino.cc/en/Hacking/PinMapping2560
Der Pin 84 hat die Bezeichnung "Analog pin 13". Daher diese Nummer.
Möglicherweise eine in der Arduino-Welt vorgegebene Bezeichnung. Ist ja auch egal, jedenfalls Pin 84.
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

Ahja das hilft mir weiter.

ich werds mal mit der funktion wert = analogRead(PinNr.); probieren.

Muss aber erst Material bestellen damit man an der Option I/O X25 Steckerleiste anzapfen kann. Ich dachte der Stecker wäre größer, tatsächlich ist es einer mit 2mm Rastermaß.

-Wannenstiftleiste Conrad-Nr. 735309
- Flachbandkabel: Conrad-Nr. 602474
- Pfostenverbinder: Conrad-Nr. 735789

Und dann muss ich noch schauen wie ich aufs Bastel Platinen Rastermaß von 2,54mm komme. Da bleibt wohl nix anders übrig als Adern an eine Wannenstiftleiste zu löten.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

So die Teile sind gekommen und die Schnittstelle ist gebastelt. Adern an die Wannenstiftleiste anzulöten ist suboptimal. Die Pins lassen sich dadurch herausziehen. Bei Conrad habe ich keine 2mm RM Platine gefunden. Vielleicht weis jemand eine andere Lösung.

Ich bin mir absolut nicht sicher was ich bei der analogRead(?) funktion angeben muss wenn man den PF3 / Pin-nr. 94 / ADC3 als Analogeingang lesen will. Vielleicht kann mir da jemand helfen.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Benutzeravatar
RAU
Supporter
Supporter
Beiträge: 683
Registriert: Mo 28. Sep 2015, 19:16
Wohnort: NRW
Has thanked: 20 times
Been thanked: 55 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von RAU »

X4r3 hat geschrieben:Ich bin mir absolut nicht sicher was ich bei der analogRead(?) funktion angeben muss wenn man den PF3 / Pin-nr. 94 / ADC3 als Analogeingang lesen will. Vielleicht kann mir da jemand helfen.
Laut
https://www.arduino.cc/en/Reference/AnalogRead
musst du die Nummer des Analogpins angeben, also analogRead(3).
Benutzeravatar
X4r3
Erfahrener 3D-Drucker
Erfahrener 3D-Drucker
Beiträge: 145
Registriert: Mi 25. Nov 2015, 14:04
Has thanked: 5 times
Been thanked: 48 times

Re: Verfahrgeschwindigkeit mittels Poti einstellen

Beitrag von X4r3 »

Mh irgendwie kommt dabei nix gscheites raus. Ein 5k Ohm Poti hängt zwischen 5V und Masse, der Abgriff geht auf PF3 und PF4. Der Poti ist in Mittelstellung, an PF3 und PF4 liegen 2,5V an. Eventuell mess ich mal direkt am Pin vom Chip.

Folgendes in der void loopRF( void ) Funktion in der RF.cpp:

Code: Alles auswählen

...
	int aWert = analogRead(3);
	Com::printFLN( PSTR( "aWert = "), aWert );
	int bWert = analogRead(4);
	Com::printFLN( PSTR( "bWert = "), bWert );

	nEntered --;
	return;

} // loopRF
Werte siehe Anhang.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▐►►► X4r3's RF1000 ◄◄◄▌
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Antworten

Zurück zu „Elektronik“