www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Linear steigende Spannung bei Atmega8


Autor: Jay Steve (jaysteve)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich brauche bitte hilfe bei einem programm. an den adc eingang des 
atmega8 kommt eine spannung, am oc2 soll diese spannung dann linear bis 
zum maximum geht, die die eingangsspannung hat. ich verwende das 
programm avr studio4.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
schau dir mal das AVR-GCC Tutorial auf dieser Seite an.
Deiner (nebenbei bemerkt ziemlich dürftigen Beschreibung) entnehme ich, 
dass du zwei Kernkomponenten brauchst.
1) ADC initialisieren und auslesen
2) PWM initialisieren und mit Werten ausgeben.

Zu beiden Themen findet sich im Tutorial einiges. Wenn du später 
konkrete Fragen hast, wird dir im Forum mit Sicherheit weitergeholfen.

Autor: Jay Steve (jaysteve)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jap stimmt. die pwm läuft schon. ich hab halt keine ahnung wie ich die 
eingelesene spannung linear steigen lassen soll. man könnte sich das wie 
bei einem elektroauto denken. wenn ich voll aufs gas trete schiebt das 
auto ruckartig weg. es soll bei vollgas schön langsam steigen.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja dann sag das doch.
Du hast also zwei Spannungen vorliegen. Einmal die gemessene und dann?
Willst du von Null bis zur eingelesenen Spannung? Oder von der 
eingelesenen bis zur Versorgungsspannung? Oder von nach sowieso?

In beiden Fällen musst du doch nur die Differenz zwischen beiden 
Spannungen ausrechnen, eine Schrittweite festlegen (sinnigerweise die 
kleinste Einheit, die dir deine PWM auflösen kann) und dann immer Vaus = 
Vfix + n * step rechnen. So mehr oder weniger - das hab ich mir jetzt 
auf die Schnelle aus den Fingern gesaugt. Könnte aber ein sinniger 
Ansatz sein.

Autor: Jay Steve (jaysteve)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Willst du von Null bis zur eingelesenen Spannung? Oder von der
> eingelesenen bis zur Versorgungsspannung? Oder von nach sowieso?


ich will von 0 bis zur eingelesenen spannung.
ich überlege gerade ob es gehen würde, wenn ich einfach eine schleife 
mache und bis zum max von der eingangsspannung hinaufzählen lasse. 
klingt aber irgendwie zu simple und ich denke nicht, dass das 
funktioniert oder?

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, so würde ich es auch machen. Aber als Einheiten würde ich die PWM 
Auflösung verwenden und dann alles weiter darin rechnen.
Also als Beispiel: PWM kann minimal 1V auflösen. Du willst jetzt von 0 
bis 77,3 Volt. Macht also eine gerundete Differenz von 77 Einheiten.
Und ab dann eine Schleife und hochzählen.

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht will er einen Integrierer?

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Hochlaufgeber, in einen langsame Timer Routine

if (sollvh > sollnh) sollnh++;
if (sollvh < sollnh) sollnh--;




wobei sollvh das Eingangssignal und sollnh das Ausgangssignal ist

Autor: Ralle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und die Versorgung des AVRs ist dann 100V

ok als Beispiel

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralle schrieb:
> und die Versorgung des AVRs ist dann 100V

Troll?

Autor: Axel Düsendieb (axel_jeromin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
von Analogeingang kommt ein Wert von 0 bis 1024

Wenn der Timerinterrupt alle 0,01 Sekunden aufgerufen wird, braucht es 
bei einem Sollwertsprung von 0 auf 1024   10,24Sekunden bis der 
Ausgangswert gefolgt ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.