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
A/D auf PWM- Programm
14.03.2017, 19:41
Beitrag #1
A/D auf PWM- Programm
Hallo zusammen,
bin Arduino-Einsteiger und tue mich noch etwas schwer mit der Programmierung,
vor allen Dingen mit den einzelnen Befehlen.
Aber vielleicht könnt Ihr mir ja auf die Sprünge helfen...also:

Ich habe einen Uno; an das Programm werden folgende Anforderungen gestellt:

Eine analoge, variable Spannung von 0-5V soll eingelesen werden.
Bis zu einer Eingangsspannung von 1,8V soll diese 1:1 am Ausgang ausgegeben werden, über 1,8V bis 5V soll nur noch 0,5V ausgegeben werden.

Klasse wäre noch eine Hysterese, kombiniert mit einer zeitlichen Verzögerung.

Hat jemand eine Idee?
Reicht ein Uno dafür aus?
Freue mich auf Eure Antworten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2017, 19:45 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2017 19:47 von Tommy56.)
Beitrag #2
RE: A/D auf PWM- Programm
Dann zeige uns doch mal, was Du bisher geschrieben hast und beschreibe, wo Dein Sketch Pribleme hat. Den Sketch bitte in Codetags setzen. Wie das geht, steht hier.

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
14.03.2017, 20:07
Beitrag #3
RE: A/D auf PWM- Programm
Ehrlich gesagt habe ich noch gar kein Programm geschrieben, sondern bin noch auf der Suche nach Ideen.
Habe bisher nur Programme kopiert und ein wenig mit dem Uno "ausprobiert".
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.03.2017, 20:23
Beitrag #4
RE: A/D auf PWM- Programm
(14.03.2017 20:07)Yammi schrieb:  Ehrlich gesagt habe ich noch gar kein Programm geschrieben, sondern bin noch auf der Suche nach Ideen.
Habe bisher nur Programme kopiert und ein wenig mit dem Uno "ausprobiert".
Dann fange doch mal mit einem Sketch an, der Dir die Eingangsspannung von einem Poti einliest und ausgibt. Wenn das funktioniert, hast Du doch schon die halbe Miete.

Schau auch mal bei Datei-Beispiele-Analog-... Deiner IDE rein. da ist sicher auch Hilfreiches dabei.

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
16.03.2017, 18:16
Beitrag #5
RE: A/D auf PWM- Programm
So, habe ein bisschen gebastelt; das funzt schon mal:

const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that is attached to

int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)

void setup() {

}

void loop() {
// read the analog in value: Lesen des analogen Einganssignals
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out: Ordne es dem Bereich des analogen Ausgangs zu
outputValue = map(sensorValue, 0, 1023, 0, 1023);
// change the analog out value: Gebe es am Ausgang aus
analogWrite(analogOutPin, outputValue);


Die Spannung wird eingelesen und 1:1 ausgegeben.
Ich wolllte nun mit einer if-Abfrage prüfen, ob die Eingangsspannung kleiner 1,8V ist. Wenn sie größer ist, möchte ich am Ausgang fest 0,5V ausgeben.
Bin ich da auf dem richtigen Weg?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.03.2017, 18:32
Beitrag #6
RE: A/D auf PWM- Programm
(16.03.2017 18:16)Yammi schrieb:  So, habe ein bisschen gebastelt; das funzt schon mal:

const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that is attached to

int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)

void setup() {

}

void loop() {
// read the analog in value: Lesen des analogen Einganssignals
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out: Ordne es dem Bereich des analogen Ausgangs zu
outputValue = map(sensorValue, 0, 1023, 0, 1023);
// change the analog out value: Gebe es am Ausgang aus
analogWrite(analogOutPin, outputValue);


Die Spannung wird eingelesen und 1:1 ausgegeben.
Ich wolllte nun mit einer if-Abfrage prüfen, ob die Eingangsspannung kleiner 1,8V ist. Wenn sie größer ist, möchte ich am Ausgang fest 0,5V ausgeben.
Bin ich da auf dem richtigen Weg?
Ja. Wenn Du Dir noch ein paar serielle Ausgaben einbaust, kannst Du im seriellen Monitor verfolgen, was Dein Programm tut.
Das hilft sowohl beim Aufbau, als auch bei der Fehlersuche.

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
16.03.2017, 21:08
Beitrag #7
RE: A/D auf PWM- Programm
Danke Tommy.

Gruß
Yammi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2017, 17:31
Beitrag #8
RE: A/D auf PWM- Programm
Funktioniert doch nicht....

Die Ausgangsspannung lässt sich zwar variabel einstellen, jedoch in Form einer 4er-Kaskade, d.h. 4x hintereinander 0-5V bei 1x0-5V am Eingang.
Was habe ich falsch gemacht?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Programm zur zentralen Ablage von Messwerten Home38 14 6.613 04.09.2015 18:54
Letzter Beitrag: Home38
  WebServer mit Ethernet Shield--->Fehler im Programm Wampo 0 2.344 22.08.2013 13:13
Letzter Beitrag: Wampo

Gehe zu:


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