Forum: Mikrocontroller und Digitale Elektronik Sensoren an Atmel anschließen


von Andi (Gast)


Lesenswert?

Hallo,

ich habe ein Board mit einem Atmel 89C51RB2-IM. Da sind einige Taster 
und LED's angschlossen. Ich will jetzt aber noch einen Temp.Sensor, 
Lichtsensor, LCD und 2 Motoren anschließen.

Als Temp. Sensor wollte ich den nehmen bereit mit digitalem Ausgang:

http://www.reichelt.de/?;ACTION=3;LA=5;GROUP=B6;GROUPID=3190;ARTICLE=82326;START=0;SORT=user;OFFSET=500;SID=15CDnZMawQAQ8AAH5j-qYe8c9e878a1ed17103039618161476db1

Als Lichtsensor wollte ich den Fototransistor BPW40 nehmen und dazu noch 
einen A/D Wandler:

LED:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A54;GROUPID=3045;ARTICLE=5806;START=0;SORT=preis;OFFSET=500;SID=15CDnZMawQAQ8AAH5j-qYe8c9e878a1ed17103039618161476db1

A/D Wandler:
http://www.reichelt.de/?;ACTION=3;LA=5;GROUP=A212;GROUPID=2909;ARTICLE=3894;START=0;SORT=user;OFFSET=500;SID=15CDnZMawQAQ8AAH5j-qYe8c9e878a1ed17103039618161476db1

Zum A/D Wandler, ich brauche ja einen mit parallelen Ausgängen damit ich 
direkt an den uC anschlißen kann, ist das der richtige ?

Als LCD wollte ich den nehmen:

http://www.reichelt.de/?;ACTION=3;LA=5;GROUP=A523;GROUPID=3009;ARTICLE=44903;START=0;SORT=user;OFFSET=500;SID=15CDnZMawQAQ8AAH5j-qYe8c9e878a1ed17103039618161476db1

Ich will erstmal einen Gleichstrommotor, den ich von meinem Drucker 
ausgebaut habe,anschließen.
Er hat ungefähr 1-2W.

Ich wollte dann eigentlich einen OP am uC Ausgang und dann den Motor.
Aber dann kann ich ihn nur an und ausmachen.

Wie schließt man so einen Motor an ?

Danke im vorraus.

von Hubert G. (hubertg)


Lesenswert?

Warum diesen Kontroller, mein Datenblatt ist mehr als 20 Jahre alt.
Mit einem Atmega ersparst du dir die A/D Wandler.
Einen Motor, wenn er nur in eine Richtung drehen soll und bei der 
Leistung, schließt man über einen Transistor an.
Es gibt hier in den Artikel etwas füer Relaisanschaltung, Motor geht 
genau so.

von Andi (Gast)


Lesenswert?

Ja wir behandeln das in der Hochschule, weiß der Geier wieso der Prof. 
des macht. Das Board hab ich ja schon gelötet will jetz nur die Bauteile 
hinzufügen. Was ist das für eine Relaisschaltung ?

von STK500-Besitzer (Gast)


Lesenswert?

>Ich will erstmal einen Gleichstrommotor, den ich von meinem Drucker
>ausgebaut habe,anschließen.
>Er hat ungefähr 1-2W.

Und welche Betriebsspannung?
Für solche Sachen gibt es integrierte H-Brücken wie den L6205. Darüber 
dürfte es hier in der Artikelsammlung auch etwas zu lesen geben.

>Warum diesen Kontroller, mein Datenblatt ist mehr als 20 Jahre alt.
Weil Controller mit 8051-Kern immer noch am verbreitesten sind?!
Ausserdem muss man an Hochschulen nicht immer das aktuellste Zeug für 
die Grundlagen verwenden. Da ist man mit erprobten Schaltungen auf der 
sicheren Seite.

von Andi (Gast)


Lesenswert?

Brauche ich wenn ich den L6205 habe noch eine Schutzdiode ?

von STK500-Besitzer (Gast)


Lesenswert?

Ja.

von Hubert G. (hubertg)


Lesenswert?

Eine H-Brücke brauchst du wenn du recht/links drehen willst.
Die Ports haben keine Push-Pull-Ausgänge, nur PullUp oder Open-Drain.
Da heisst es Aufpassen beim Ansteuern von weiteren Devices.

von Peter D. (peda)


Lesenswert?

Hubert G. schrieb:
> Warum diesen Kontroller, mein Datenblatt ist mehr als 20 Jahre alt

Hattest Du Dich dafür in die Zukunft gebeamt?

Der AT89C51RB2-IM wurde nämlich erst nach 2000 vorgestellt.


Peter

von Peter D. (peda)


Lesenswert?

Andi schrieb:
> Brauche ich wenn ich den L6205 habe noch eine Schutzdiode ?

Nein.
Siehe Datenblatt: "INTEGRATED FAST FREE WHEELING DIODES"


Peter

von Andi (Gast)


Lesenswert?

Hubert G. schrieb:
> Die Ports haben keine Push-Pull-Ausgänge, nur PullUp oder Open-Drain.
> Da heisst es Aufpassen beim Ansteuern von weiteren Devices.

Danke für die Antworten. Was heisst Push-Pull-Ausgänge ?

von Ingenieurmangel (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Andi schrieb:
> Hubert G. schrieb:
>> Die Ports haben keine Push-Pull-Ausgänge, nur PullUp oder Open-Drain.
>> Da heisst es Aufpassen beim Ansteuern von weiteren Devices.
>
> Danke für die Antworten. Was heisst Push-Pull-Ausgänge ?

Stell dir eine Kiste vor, die auf einem weichen Untergund steht. An der 
Kiste ist ein Seil das nach oben zu einer Umlenkrolle und von dort zu 
dir geht.
Wenn du am Seil ziehst (pull) kannst du die Kiste hochheben.
Aber du kannst die nicht durch Drücken am Seil (push) in den Untergrund 
reindrücken.
Dazu brauchst du ein Push-Werkzeug: eine Stange


Genauso in der Elektronik:
Eine Push-Pull Stufe kann einen Ausgang aktiv auf 1 oder 0 treiben.
Eine reine Pull-Stufe (oder PullUp) kann die Ausgangsleitung nur auf 1 
ziehen. Gibst du per Programm eine 0 aus, so überlässt der Ausgang die 
Leitung sich selber und das Device das drann hängt muss die Leitung auf 
0 ziehen.

von Andi (Gast)


Lesenswert?

Ok danke.

von Andi (Gast)


Lesenswert?

Noch eine Verständnisfrage.
Wenn ich einen A/D Wandler benutzen will, dann brauche ich ja einen der 
mir parallel die Bits ausgibt. Oder geht es auch mit seriell ? Wie 
funktioniert es dann bei nem 8051 ?

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

>Oder geht es auch mit seriell ? Wie
>funktioniert es dann bei nem 8051 ?
I2C, SPI, ...

Ich glaube Max127/Max128 sind I2C ADCs, weiss aber grad nich auswendig.
Für I2C brauchts auf nem 8051 gerade mal 1-2k Flash für den Treiber und 
zwei beliebige Pins am Controller.

von Peter D. (peda)


Lesenswert?

Nils S. schrieb:
> Für I2C brauchts auf nem 8051 gerade mal 1-2k Flash für den Treiber und
> zwei beliebige Pins am Controller.

Warum soviel?

Also die I2C-Grundfunktionen (Start, Stop, Byte lesen, Byte schreiben) 
in C brauchen bei mir 123 Byte. Da sind schon 50 NOPs für das Timing mit 
drin.

Und komplett mit Block-Lese/Schreibfunktion mit Pagewrite für EEPROM 
24C16, sinds zusammen 371 Byte.


Peter

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:
> Also die I2C-Grundfunktionen (Start, Stop, Byte lesen, Byte schreiben)
> in C brauchen bei mir 123 Byte. Da sind schon 50 NOPs für das Timing mit
> drin.
>
> Und komplett mit Block-Lese/Schreibfunktion mit Pagewrite für EEPROM
> 24C16, sinds zusammen 371 Byte.

Ich bin von C ausgegangen, meine selbstgeschriebenen soft-i2c Routinen 
in C haben komplett 1638 bytes. Assembler werd ich später/nachm Schlafen 
(ja ich muss das auch mal ;) mal versuchen. Vielleicht toppe ich deinen 
Code ja :P

//edit: ganz vergessen, darum gings mir eigentlich in dem Beitrag:
Meine Routinen habe ich ganz am Controller-Anfang hopplahopp gemacht, 
perfekt sind sie nicht. Aber entweder verwendet der Autor was ganz 
Allgemeines und braucht auch den Haufen Speicher oder bastelt da was wie 
ich und braucht genausoviel.

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.