PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Analoge Eingänge (C-Control und Basic???)



Baumrinde
10.04.2004, 01:08
Hi,

ich hab da mal eine Frage...

undzwar, der C-Control hat doch 8 A/D ports, nech?
A=Analog, D=Digital

Wie gehe ich mit einem analogen Signal um?
Dann ist mein Eingang nicht nur "0" un "1", sondern irgendwas anderes... was denn?

Bei einem digitalen Einganssignal programmiere ich doch:

#######################
define irgendwas1 ad[1]

if irgendwas1 = 0 then

so und so

end if
#######################

Und was hat es mit diesem Low und High-wert auf sich?
wo ist da die Differenzierungsschwelle???

Ich habe das schlechte Gefühl, da irgendwas grundlegendes nicht verstanden zu haben....

danke schonmal im Vorraus

MfG Baumrinde

Titel präzisiert Manfred (Moderator)

recycle
10.04.2004, 03:33
Wie gehe ich mit einem analogen Signal um?
Dann ist mein Eingang nicht nur "0" un "1", sondern irgendwas anderes... was denn?


Um einen analogen Eiongang an einem Microcontroller zu benutzen musst du erst mal eine Referenzspannung an einen dafür vorgesehenen Pin anlegen. Das muss in der Regel einen Spannung zwischen 0V und maximal der Versorgungsspannung des Controllers (meist 5V )sein.

Ein A/D Wandler mit 8 Bit teilt dann den Bereich zwischen 0V und der Referenzspannung in 256 Teile ein.
An die A/D Eingänge legst du ebenfalls eine Spannung an. Der Controller vergleicht die dann mit der Referenzspannung und gibt dir einen entsprechenden Wert zwischen 0 und 255 zurück.

Das heisst am A/D Eingang wird immer eine Spannung gemessen und wenn du den Eingang am Controller abfragst erhälst du einen entsprechenden Zahlenwert. Bei 5V Referenzspannung und 2,5 Volt am A/D Eingang sollte der Controller dir z.B. 128 ausgeben.



Und was hat es mit diesem Low und High-wert auf sich?


Auch wenns immer heisst in der Digitaltechnik dreht sich alles um Einsen und Nullen, kann ein Microcontroller da erst mal wenig mit anfangen. Der kann nur erfassen, ob eine Spannung da ist oder nicht.
Wenn eine Spannung da ist, ist der Eingangspegel "High", wenn nicht ist er "Low".

Für's programmieren und rechnen ist "High" und "Low" natürlich nicht so praktisch, da eignen sich die binärwert 0 und 1 besser. Deshab definiert man dann Low als 1 und High als 0. Ich glaube teilweise wirds auch umgekehrt gemacht, und man definiert High als 0 und Low als 1.

Ich glaube die C-Control hat ein paar spezielle Eigenheiten , z.B. dass man programtechnisch einen Port nicht auf 1, 0, high oder Low setzen kann sondern auf "on" oder "off".

Genauer findest du das alles aber bestimmt im Datenblatt und der Anleitung zur C-Control.



wo ist da die Differenzierungsschwelle???


Wo die genau liegt sollte auch irgendwo im Datenblatt stehen.



Ich habe das schlechte Gefühl, da irgendwas grundlegendes nicht verstanden zu haben....


So richtig gut kenn ich mich mit all dem Zeugs leider auch nicht aus. Ich hoffe mal so kannst du dir wenigstens in etwa vorstellen was es mit High, Low und A/D Ports auf sich hat.

Baumrinde
10.04.2004, 08:57
Hi recycle

Danke, das hat mir schonmal sehr geholfen.

ich denke ein einem analogen Ausgang, kann ich dann auch mit einer Zahl zwischen 0 und 255 die Ausgangsspannung regeln, oda?

chango
10.04.2004, 09:39
oder abfragen, richtig.

Gottfreak
11.04.2004, 12:09
ich denke ein einem analogen Ausgang, kann ich dann auch mit einer Zahl zwischen 0 und 255 die Ausgangsspannung regeln, oda?

an einem Ausgang kannst du NUR die AUSGANGSSPANNUNG regeln (A/D ausgänge hat die C-Control 2, die aber keine glatte Spannung machen sondern im angegebenen Verhältnis zwischen Vcc und 0Volt wechseln. Die musst du also noch irgendwie glätten - Kondensator oder so).
zum Abfragen brauchst du einen EINGANG. Davon hat die C-Control 8.
Analoge Ports, die in beide Richtungen gehen hat die nicht.