Forum: Mikrocontroller und Digitale Elektronik Messkarte durch Mikroprozessor ersetzen


von Tim (Gast)


Lesenswert?

Hallo,

ich möchte eine getaktete Spannung mit einer Frequenz von 5Hz die zuvor 
von einer Messkarte im PC stammte durch ein vom Mikroprozessor 
generiertes Signal ersetzen.
Zunächst die Frage wie man so etwas in C realisieren kann - unter 
welchem Stichwort kann ich mich da einlesen?

Dann ist noch das Problem, dass die Schaltung, die dieses Signal 
verwendet mit 5V arbeitet und der µP am Ausgang 3,3 V hat.
Kann ich zwischen Ausgang des Mikroprozessors und Eingang eines 
Operationsverstärkers so ein Bauteil 
http://www.analog.com/static/imported-files/data_sheets/ADG3301.pdf 
verwenden? Oder wie kann man so etwas realisieren?

Gruß,
Tim

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Dann ist noch das Problem, dass die Schaltung, die dieses Signal
> verwendet mit 5V arbeitet und der µP am Ausgang 3,3 V hat.
1. das ist dein allerkleinstes Problem.
   Dazu brauchst du nur einen Pegelwandler.
2. welchen uC darfst, willst oder sollst du verwenden?
   Warum nicht einen mit 5V?

von Tim (Gast)


Lesenswert?

Hi,

An den 3,3 V kann ich leider nichts ändern.

Lothar Miller schrieb:
> Dazu brauchst du nur einen Pegelwandler.

Ist denn der o.g. oder z.B.
http://datasheets.maxim-ic.com/en/ds/MAX13046E-MAX13047E.pdf
dafür geeignet?
Irgendwie finde ich auch nur bidirektionale oder Mehrkanal-Pegelwandler 
- es würde ja ein Einkanal unidirektional Pegelwandler reichen...

Gruß,
Tim

von ... .. (docean) Benutzerseite


Lesenswert?

der einfacshete pegelwandler für eine ausgang heißt Transistor, für 
einen Eingang Spannungsteiler

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Tim schrieb:
> Irgendwie finde ich auch nur bidirektionale oder Mehrkanal-Pegelwandler
Du hast dir den Link zum Pegelwandler schon mal angeschaut?
Fazit: nimm einen normalen HCT-Buffer (74HCT245, 74HCT245), versorge den 
mit 5V und fertig ist die Laube...

von Karl H. (kbuchegg)


Lesenswert?

Tim schrieb:
> Hi,
>
> An den 3,3 V kann ich leider nichts ändern.

Hmm.
Das sollte man noch einmal hinterfragen.

Auf deiner µC Platine benötigst du sowieso 5V, egal woher.
Wenn du jetzt nicht die Beschränkung hast, dass der µC ausschliesslich 
und nur mit 3.3V betrieben werden kann, dann macht es wenig Sinn, den µC 
mit 3.3V zu versorgen, nur um dann den Output Pin auf 5V hochzuwandeln.
Läuft der µC genausogut auch mit 5V, dann ist das die allereinfachste 
Variante, den auch mit 5V laufen zu lassen. Spart den 
Ausgangspegelwandler, der ja auch nicht gratis arbeitet.

von Tim (Gast)


Lesenswert?

Der "µC" ist ein ARM-CPU-Modul auf dem Linux läuft und das läuft 
wirklich nur mit 3,3 V - ansonsten wäre das natürlich am einfachsten 
gewesen.

Also mit welchem IC / welchen Bauteilen kann ich das Problem am besten 
lösen?

von karadur (Gast)


Lesenswert?

Hallo

du schreibst der Eingang ist ein OP. evtl. Beschaltung des OPs ändern.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Tim schrieb:
> Also mit welchem IC / welchen Bauteilen kann ich das Problem am besten
> lösen?

Auch wenn ich nur das Posting von Lothar wiederhole:

http://www.mikrocontroller.net/articles/Pegelwandler

Da gibt es einen Abschnitt 3,3V --> 5V mit mehreren Beispielen. Was du 
verwendest, hängt beispielsweise vom Ausgangsstrom und der 
Schaltgeschwindigkeit ab.

Abgesehen davon: Wie sieht denn die OP-Schaltung am Ausgang aus? 
Wahrscheinlich reicht es, die Beschaltung leicht zu ändern.

von Olaf (Gast)


Lesenswert?

> Der "µC" ist ein ARM-CPU-Modul auf dem Linux läuft und das läuft
> wirklich nur mit 3,3 V - ansonsten wäre das natürlich am einfachsten
> gewesen.

Kuck mal, was man dir da alles aus der Nase ziehen kann. :-)

Im Prinzip sieht dein Programm so aus:

oeffne device

label1: setze port
        warte 100ms
        loesche port
        warte 100ms
        goto label1

In der Praxis stellt sich natuerlich die Frage wie genau muessen
deine 5Hz sein, und was passiert wenn sie mal kurz fehlen. Denn
schliesslich ist Linux ein Multitaskingbetriebssystem wo auch
andere Prozesse mal was zu erledigen haben.

Und da liegt dann die wirkliche Herausforderung. Vielleicht musst
du ja dann das boese dicke und stark buchstabenhaltige Datenblatt eines
ARMs lesen und herausfinden ob er einen Timer hat. .-)

Vielleicht reichts es aber auch aus den Pegelwandler wegzulassen und
alles aus einem NE555 rauskommen zu lassen. So ganz
ohne Prozessor, aber das wissen wir nicht.

Olaf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.