Sensoren an Atmel anschließen

Gast #1791894
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.
#1791925
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.
Gast #1791935
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.
#1792101
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.
#1792239
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
Persönliche Seite #1802464
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren