INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Timer auf einzelnen PIN setzen?
20.01.2019, 17:14
Beitrag #9
RE: Timer auf einzelnen PIN setzen?
Da Du uns keinen Sketch zeigst, kann ich nur spekulieren, dass Du die andere Pin-/Timerzuordnung auf dem Mega nicht berücksichtigt hast.
Vergleiche doch mal für Deine benutzten Ports/Timer die Belegung zwischen UNO und MEGA im Datenblatt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2019, 19:02 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2019 19:29 von ardufan01.)
Beitrag #10
RE: Timer auf einzelnen PIN setzen?
(20.01.2019 17:14)Tommy56 schrieb:  Da Du uns keinen Sketch zeigst, kann ich nur spekulieren, dass Du die andere Pin-/Timerzuordnung auf dem Mega nicht berücksichtigt hast.
Vergleiche doch mal für Deine benutzten Ports/Timer die Belegung zwischen UNO und MEGA im Datenblatt.

Gruß Tommy


Hier der Mega Code
Code:
#include <Arduino.h>
const int L1_FanPin = 2; // Pin für den Lüfter
// Variablen
int L1_FanSpeed = 0; // Variable für die Lüftergeschwindigkeit

void setup() {
// ## setzen der Timer auf benötigte Frequenz ###
// TCCR1B = TCCR1B & 0b11111000 | 0x01;
TCCR3B = TCCR3B & 0b11111000 | 0x01; // Setzt Timer3 (Pin 2, 3 und 5) auf 31300Hz


Serial.begin(9600); //

pinMode(L1_FanPin, OUTPUT); // Setzt den Pin des Lüfters als Ausgang

}


void loop() {

L1_FanSpeed = 255;
analogWrite(L1_FanPin, L1_FanSpeed);
Serial.print("Lueftergeschwindigkeit L1 : ");
Serial.println(L1_FanSpeed);
delay(5000);
L1_FanSpeed = 150;
analogWrite(L1_FanPin, L1_FanSpeed);
Serial.print("Lueftergeschwindigkeit L1: ");
Serial.println(L1_FanSpeed);
delay(5000);
L1_FanSpeed = 100;
analogWrite(L1_FanPin, L1_FanSpeed);
Serial.print("Lueftergeschwindigkeit L1 : ");
Serial.println(L1_FanSpeed);
delay(5000);
  L1_FanSpeed = 80;
analogWrite(L1_FanPin, L1_FanSpeed);
Serial.print("Lueftergeschwindigkeit L1: ");
Serial.println(L1_FanSpeed);
delay(5000);
L1_FanSpeed = 0;
analogWrite(L1_FanPin, L1_FanSpeed);

Serial.println(L1_FanSpeed);
delay(5000);
}

Hier der Uno code der funktioniert


Code:
const int FanPin = 9; // Pin für den Lüfter

// Variablen
int FanSpeed = 0; // Variable für die Lüftergeschwindigkeit
void setup() {

TCCR1B = TCCR1B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31300Hz
Serial.begin(9600);
pinMode(FanPin, OUTPUT); // Setzt den Pin des Lüfters als Ausgang

}


void loop() {

FanSpeed = 255;
analogWrite(FanPin, FanSpeed);
Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);
delay(5000);
FanSpeed = 150;
analogWrite(FanPin, FanSpeed);
Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);
delay(5000);
FanSpeed = 100;
analogWrite(FanPin, FanSpeed);
Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);
delay(5000);
  FanSpeed = 80;
analogWrite(FanPin, FanSpeed);
Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);
delay(5000);
FanSpeed = 0;
analogWrite(FanPin, FanSpeed);

Serial.print("Lueftergeschwindigkeit: ");
Serial.println(FanSpeed);
delay(5000);
}

Aha,
jetzt aber
das Problem ist eingegrenzt

Ich habe den PIN und den dazugehörigen Timer geändert
Ich nutze jetzt Pin 9 und folglich auch Timer2

da geht es...
Was passt ihm an Timer3 und Pin2 nicht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2019, 19:29
Beitrag #11
RE: Timer auf einzelnen PIN setzen?
Ich sehe auf Anhieb auch nichts.
Hast Du mal probiert, auch auf dem MEGA den Timer 1 zu benutzen (Pins 11, 12)?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2019, 19:48 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2019 20:12 von ardufan01.)
Beitrag #12
RE: Timer auf einzelnen PIN setzen?
(20.01.2019 19:29)Tommy56 schrieb:  Ich sehe auf Anhieb auch nichts.
Hast Du mal probiert, auch auf dem MEGA den Timer 1 zu benutzen (Pins 11, 12)?

Gruß Tommy

warte.. mache ich gleich

Wie schon kurz beschrieben
wenn ich den Pin2 und dort Timer3 nutze so läuft der Lüfter zwar an aber eben nicht mit voller Drehzahl (mit Wert 255), er schaltet dann auch runter bis zu 0. Nur läuft er dann nicht mehr an.

Irgendwie akzeptiert er die gesetzte Frequenz nicht so meine Vermutung
Mal sehn was auf pin 11 und 12 passiert

pin 11 und Timer 1 funktionieren auch

ich teste jetzt noch die anderen pins von Timer 3


Tests an Pin 3 und 5 mit Timer3

Pin3 = Lüfter startet gar nicht
Pin5 = Lüfter startet, lüft auf Volllast regelt aber nicht herunter
Pin2 = Lüfter startet, jedoch nicht auf Vollast (so sollte er jedoch) , Lüfter regelt jedoch auch herunter, bleibt dann stehen und läuft nicht wieder an

Auf den anderen Timern mit den dazugehörigen Pins funktioniert alles ohne Probleme

Ich muss dazu sagen das ich einen N-Mosfet geschossen habe der über Pin2 gesteuert wurde
kann es sein das dieser Kurzschluss mir alle Pins (2,3 und 5) zerstörte die an Timer3 hängen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2019, 19:54
Beitrag #13
RE: Timer auf einzelnen PIN setzen?
(20.01.2019 19:48)ardufan01 schrieb:  pin 11 und Timer 1 funktionieren auch
Das wäre ja dann zumindest ein möglicher Lösungsweg.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2019, 20:15
Beitrag #14
RE: Timer auf einzelnen PIN setzen?
(20.01.2019 19:54)Tommy56 schrieb:  
(20.01.2019 19:48)ardufan01 schrieb:  pin 11 und Timer 1 funktionieren auch
Das wäre ja dann zumindest ein möglicher Lösungsweg.

Gruß Tommy

Bis auf 3 Timer-Pins habe ich alle in Benutzung wobei von diesen Reserve-Pins ich demnächst noch min 1 od 2 benötige.

ich möchte nur sicher sein das die Pins 2, 3 und 5 tatsächlich defekt sind, dann ordere ich einen neuen Mega

Siehe oben in der letzten Nachricht.
Laut Test sind die Pins 2,3 und 5 entweder defekt (geht gar nichts) oder gehen nicht richtig
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.01.2019, 12:15
Beitrag #15
RE: Timer auf einzelnen PIN setzen?
Hallo,
Also PWM kannst du nur mit Ozzi oder einen Frequenzzähler messen.
Ich habe ein uraltes Hameg 312 ( 1 Kanal 10 MHz ) und ein sehr billiges Multimeter
mit 10 MHz Frequenzeingang ( Peak Meter PM18C ).
Beides für einfache Zwecke gut und ausreichend.

Bei deinen Pins 2, 3 und 5 würde ich einen Blinksketch mit LED mal laufen lassen.
Wenn du mit verschiedenen Zeiten überprüft, und mit einer Stoppuhr vergleichst,
kannst du einen defekt ausschließen.
Ich vermute da beißt sich im Programmm etwas, das es nicht richtig geht.
Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.01.2019, 12:51
Beitrag #16
RE: Timer auf einzelnen PIN setzen?
(20.01.2019 17:00)ardufan01 schrieb:  ....
ich versuche einen 12V Lüfter mit einem N-Mosfet in der Drehzahl zu regulieren.
An einem UNO funktioniert es.
Der jeweilige Timer (für 31300HZ) wurde auf dem UNO und dem Mega eingestellt.
...

Hallo,
...ähm Gretchenfrage...was hat denn der Lüfter für Anschlüße und was ist das für ein Motor... heute sind Bürstenlose Motoren üblich. Schau doch mal nach nach und Berichte.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Tongue Türgriff unter Strom setzen :angel: invalidfake 1 439 25.02.2019 19:08
Letzter Beitrag: Tommy56
  Timer Sketch für OLED SSD1331 Talon 20 1.325 17.02.2019 10:48
Letzter Beitrag: Tommy56
Sad Neuling verzweifelt braucht Hilfe delay durch timer ersetzen Lois 1 772 06.02.2019 16:15
Letzter Beitrag: Tommy56
  Timer Richtig dastellen Harlekin 5 589 04.02.2019 12:54
Letzter Beitrag: Tommy56
  Timer Jack 9 2.395 22.05.2018 08:53
Letzter Beitrag: Jack
  drei zahlen zu einer zusammen setzen? avoid 10 1.675 06.05.2018 10:55
Letzter Beitrag: avoid
  Rundklammern setzen, aber wie und warum? HarryS 4 1.387 18.03.2018 10:25
Letzter Beitrag: HarryS
  timer Mega 2560 4x tone Output see 6 3.210 11.01.2018 20:11
Letzter Beitrag: Tommy56
  Mehrere Ausgänge mit einem Befehl auf High oder Low setzen dahans 1 2.449 10.01.2018 12:48
Letzter Beitrag: Tommy56
  Timer 0 Mathias 8 2.534 02.12.2017 17:26
Letzter Beitrag: MicroBahner

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste