Forum: Mikrocontroller und Digitale Elektronik Einsteigerprojekt


von Jochen J. (jakyll)


Lesenswert?

Hallo zusammen,

ich beschäftige mich seit kurzem mit dem Thema Elektronik und µC. Mir 
fehlte bisher aber immer ein sinnvoller Anreiz, am Ende etwas 
praktisches kreiert zu haben.

Wie so oft kam mir eine Idee auf der Arbeit. Dort gibt es ein 2 Draht 
Bus-System... mich Interessiert einfach was die "Geräte" da so erzählen.

Was bekannt ist:

- Spannungsoffset im günstigsten Fall 30V/DC (kann bis auf 18V absinken)
- Der Master spricht mit einem Spannungshub von 1,6V
- Die Slaves antworten mit einer Stromsenkung von 10mA

Wie entwickelt man jetzt am besten eine Schaltung die A) differenziert 
wer gerade spricht, ob Master oder Slave und B) die Anfrage/Antwort auf 
TTL-Pegel 5V wandelt um die Daten mit einem µC auszuwerten.

Optional später erweiterbar um selbst als Master zu agieren und/oder ein 
Slave zu simulieren.

Ich suche keine fertige Schaltung, vielleicht nur ein paar Schlagworte 
was man sich genauer anschauen sollte oder was für Bauteile oder 
Teilschaltungen sinnvoll wären.

Bin für jeden Denkanstoß dankbar.

Beste Grüße... Jochen

von Roland .. (rowland)


Lesenswert?

Auch wenn Du es schaffst, die Binärdaten mit einem µC korrekt zu lesen, 
was soll das dann bringen, wenn Du weder das verwendete Protokoll noch 
den ungefähren Datenihnhalt kennst?

von holger (Gast)


Lesenswert?

>Wie so oft kam mir eine Idee auf der Arbeit. Dort gibt es ein 2 Draht
>Bus-System... mich Interessiert einfach was die "Geräte" da so erzählen.

Einsteigerprojekt ist eine blinkende LED.
Alles andere solltest du sofort vergessen.

von Conny G. (conny_g)


Lesenswert?

Bzgl. Einsteigerprojekt = blinkende LED muss ich grundsätzlich zustimmen 
- diese Aufgabenstellung ist schon eher tricky für den Anfang.

Ich als auch noch ziemlicher Anfänger würde es so angehen (hab das in 
einer Schaltung an einem 2-Draht-Bus so gemacht und funktionierte 
prima):

Den Spannungshub würde ich mit einem Transistor auf 5V-Pegel bringen:
eine Spannungsteiler bauen, der am Transistor die Schaltschwelle so 
ansetzt, dass er beim Erhöhen der Spannung um ... sagen wir 1V den 
Transistor schaltet.
Dann hast auf der CE-Seite je nach Beschaltung und Bedarf z.B. 0,x V und 
4,xV, das reicht um einen uC-Port mit einem Signal zu beliefern.

Die Stromsenkung müsstest eigentlich mit einem Messwiderstand sehen 
können, Höhe desselben hängt von der sonstigen Gestaltung der 
Schaltungen ab.
Wenn mehr Strom fliesst (die Slaves also niederohmiger werden) steigt 
die Spannung am Widerstand an und das kannst Du messen.
Mit AD-Wandler oder, wenn die Spannung hoch genug geht, auch wieder mit 
Transistor.

Man kann das Ganze wohl auch mit Opamps machen, mit denen hab ich mich 
aber noch nicht beschäftigt....

von Jochen J. (jakyll)


Lesenswert?

Das hört sich doch schon recht gut an. Danke Conny!
Ich werde mich bei Zeiten mal daran probieren.

Die Protokoll-Spezifikationen sind teilweise bekannt, den Rest könnte 
man sich herleiten (Hioki o.ä.). Es soll ja keine Übung sein die nach 
ner viertel Stunde gegessen ist.

Ich habe bereits mit einem Nibo2 und RPi "experimentiert". Nur ist dort 
schon eigentlich alles fertig. Außerdem macht es doch viel mehr Spaß 
selbst was von Grund auf zu entwickeln.

Nicht immer gleich so pessimistisch sein, wird schon irgendwie gehen :)
und selbst wenn nicht, so hat man doch wenigstens was gelernt!

Guten Start in den Tag.

von Cyblord -. (cyblord)


Lesenswert?

Nimm einen fertigen LogicAnalyzer. Da hast du noch genug Arbeit mit dem 
entschlüsseln vom Protokoll.
Aber ein Anfängerprojekt zu starten, um eine Schaltung zu bauen, um 
einen Bus auszulesen macht wenig Sinn. Außerdem ist so ein LogicAnalyzer 
(und nichts anderes planst du im Endeffekt) definitiv KEIN 
Anfängerprojekt.

gruß cyblord

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.