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
pwm 100hz
18.07.2016, 12:27
Beitrag #17
RE: pwm 100hz
Hallo,
ja, weiß der Teufel was er mit den delay´s() vor gehabt hat.
Ein 100Hz PWM-Signal läßt sich über die Timer bestimmt mit dem Arduino
erzeugen. Das Signal läßt sich auch bestimmt mit einem Oszi messen- mehr auch
nicht!
Fängt man nun stumpf an während dieser Erzeugung mit high/low auf Pin´s zu
zugreifen, kannst´e das gemessene Signal in die Tonne klobben.

Ich würde versuchen ein Signal zu erzeugen, dann die Flanken zählen und über
einen IRQ die Pin´s schalten.
Über das "Flanken zählen" könnte man sich dann an die SchaltFrequenz
ranschleichen.
Aber alles Theorie…
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 13:33
Beitrag #18
RE: pwm 100hz
Hallo Marc,
ich habe das Thema jetzt kurz überflogen und bin bei deinem Beitrag #7 hängen geblieben.
Es wundert mich nicht dass bei dem Code 39kHz heraus kommen. Eigentlich müssten es 100kHz sein wenn der Arduino schnell genug wäre.
Der Fehler ist dass du in den Delays 1 und 9 Mikrosekunden benutzt. Dort gehören 1000 und 9000 Mikrosekunden hin. Dann passt das auch mit den 100Hz.
Oder einfach delay(x); statt delayMicroseconds(x); verwenden. Dann wäre 1 und 9 für 100hz wieder richtig.

Noch eine Frage zu dem Rolladenmotor.
Bist du ganz sicher dass es ein Gleichstrommotor ist der mit PWM betrieben wird?
Könnte es auch ein Wechselstrommotor sein der mit einer netzsynchronen Phasenanschnittsteuerung betrieben wird? Dann würden die 100Hz auch passen.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 16:39
Beitrag #19
RE: pwm 100hz
Hey!

(17.07.2016 16:01)Mathias schrieb:  
Zitat: alles mit einer PWM-Frequenz von 100Hz.
was muss man ändern, wen man zB. 10Hz will ?

Ich habe anstelle des LED einen Speaker, inklusive des Vorwiderstandes, angeschlossen, man hört das 100Hz knurren.

Schau in Beitrag #3, dort habe ich alle Schritte (hoffentlich) nachvollziehbar aufgeschrieben. Versuchs dir selbst zu berechnen.
Btw. 10Hz wird man auf einem Lautsprecher kaum hören, selbst Subwoofer kommen meist nicht so tief.

(18.07.2016 12:27)SkobyMobil schrieb:  ...
Ein 100Hz PWM-Signal läßt sich über die Timer bestimmt mit dem Arduino
erzeugen. Das Signal läßt sich auch bestimmt mit einem Oszi messen- mehr auch
nicht!
....

Hätte ich schon im Beitrag #3 geschrieben, nur müsste wer kontrollieren, ob die Frequenz stimmt - theoretisch sollte sie stimmen Big Grin. Ich habe leider kein Oszi zur Verfügung.

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 17:13
Beitrag #20
RE: pwm 100hz
Danke euch Wink

Also jetzt läuft der Rolladen hoch und runter aber ein Problem gibt es noch Dodgy

Beide teile setze ich in den loop des programmes dann läuft er entweder 1x hoch oder 1x runter je nach program teil.

Code:
digitalWrite(outPin, HIGH);  
  delay(9);        
  digitalWrite(outPin, LOW);  
  delay(1);

Code:
digitalWrite(outPin, HIGH);  
  delay(1);        
  digitalWrite(outPin, LOW);  
  delay(9);


So wenn ich das aber mal ganz einfach so mache:

Code:
int outPin = 3;                

void setup()
{
  pinMode(outPin, OUTPUT);      
}


void a() {

  digitalWrite(outPin, HIGH);  
  delay(9);        
  digitalWrite(outPin, LOW);  
  delay(1);    
  
}


void b() {

  digitalWrite(outPin, HIGH);  
  delay(1);        
  digitalWrite(outPin, LOW);  
  delay(9);          
  
}



void loop() {

  a();
  delay(4000);
  b();
  delay(4000);

  
}

Dann macht der Rolladen garnichtsmehr ich denke es liegt daran das ich nicht mehr auf die 100HZ komme weil die delay´s das Programm ja verlangsamen ?!

Gibt es da eine einfache Lösung dafür?

PS. ich hab mir das schon 1000x mit den "Millis" angeschaut aber das wirkt dann alles so verwirrend Huh

Gruß Marc

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 17:57
Beitrag #21
RE: pwm 100hz
Hey!

Ähh ja ... das passiert in deinem Programm: Pin 9ms HIGH, 4001ms LOW, 1ms HIGH, 4009ms LOW
Ich weiß nicht ob hier weitere Tipps helfen Confused Was in dem jetzigen Code passiert sollte man nach max. 2 Tagen Arduino-Programmieren verstehen.

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2016, 21:13 (Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2016 21:14 von Marc2014.)
Beitrag #22
RE: pwm 100hz
Thema geschlossen Wink

Danke an alle für die mithilfe Smile

Delays entfernt jetzt geht er Smile

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.07.2016, 19:07
Beitrag #23
RE: pwm 100hz
(16.07.2016 19:49)Mathias schrieb:  Ich habe den Code auf Arduino umgesetzt , die LED an Pin 9/10 werden langsam hell, und erlöschen dann blitzartig, die beiden LEDs machen es Zeitversetzt.
Das hätte man mit analogWrite auch machen können.

Aber ich denke. da ist nicht das was gesucht ist, es wird noch der PWM-Frequenz gesucht.
Code:
#define TOP 19999

void setup() {
  {
      TCCR1A = (1 << WGM11) | (1 << COM1A1) | (1 << COM1B1);
      TCCR1B = (1 << WGM13) | (1 << WGM12)  | (1 << CS11)  ;
      ICR1   = TOP;

      DDRB = (1 << DDB1) | (1 << DDB2);

      OCR1A = TOP / 2; // LED versetzen
  }
}

void loop() {
          if (OCR1A == TOP) OCR1A = 0;
          if (OCR1B == TOP) OCR1B = 0;
          OCR1A ++;
          OCR1B ++;

          delayMicroseconds(50);
}
Ich hätte dazu noch eine Frage, kann man die Frequenz Stufenlos ändern, so das man zB. eine Sirene steuern könnte ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.07.2016, 22:11
Beitrag #24
RE: pwm 100hz
allo,
Du dolltest Dir einmal überlegen, was Du willst…
in Post #24 ist alles i.O.- in Post #25 kannst Du es auf einmal mit
"analogWrite"
Hast ja viel gelernt in der kurzen Zeit-

"die Frequenz Stufenlos ändern"

lerne mal weiter.
Den Rest schaffst Du dann ja auch alleine.
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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