Forum: Mikrocontroller und Digitale Elektronik Poti ohne AD-Eingang auslesen --- PIC


von Mark T. (bitts)


Lesenswert?

Hallo,

gibt es fertige Lösungen, um mit einem PIC, der keinen AD-Eingang hat, 
die Einstellung eines Potis auszulesen?

Meine Idee im Moment:
Mit einem Ausgang einen Kondensator über das Poti aufladen und die Zeit 
bis zum Erreichen des Schwellwertes messen.

Ist das eine gute Idee, oder variiert der Schwellwert, mit dem ein PIC 
16Cxx einen neuen logischen Wert erkennt?

von Falk B. (falk)


Lesenswert?

@ Mark Thalle (bitts)

>Meine Idee im Moment:
>Mit einem Ausgang einen Kondensator über das Poti aufladen und die Zeit
>bis zum Erreichen des Schwellwertes messen.

>Ist das eine gute Idee,

Ja.

> oder variiert der Schwellwert, mit dem ein PIC
>16Cxx einen neuen logischen Wert erkennt?

6..8 Bit Auflösung kriegt man schon brauchbar hin.

MFg
Falk

von Olaf (Gast)


Lesenswert?

> Ist das eine gute Idee,

Die Idee ist so gut das sie bereits vor 20Jahren fuer Joysticks am PC 
genutzt wurde. :-)

> variiert der Schwellwert, mit dem ein PIC
> 16Cxx einen neuen logischen Wert erkennt?

Nun, ja...man hatte damals noch Einstellschieber am Joystick um unter 
anderem solche Probleme auszugleichen. Letztlich haengt es aber davon
aber welche Aufloesung du erreichen moechtest.

Olaf

von Björn W. (bwieck)


Lesenswert?

Mark Thalle wrote:

> Ist das eine gute Idee, oder variiert der Schwellwert, mit dem ein PIC
> 16Cxx einen neuen logischen Wert erkennt?

Wenn Du noch einen Schmitt-Trigger vor den PIC setzt sollte das mit der 
Schwelle gehen.


Grüße
Björn

von Mark T. (bitts)


Lesenswert?

Danke für die schnellen Antworten!

Ich möchte einen Servotester für Modellbau basteln. Die Auflösung von 6 
Bit ist schon übel. 7 Bit fänd ich besser. Aber da der Aufwand ja 
minimal ist (Poti, C, R), probier ich es mal aus.

Einen Schmitt-Trigger möchte ich nicht bauen. Es sollte möglichst 
einfach werden.

Grüße
Mark

von Olaf (Gast)


Lesenswert?

> Einen Schmitt-Trigger möchte ich nicht bauen. Es sollte möglichst
> einfach werden.

Dein Prozessor kann sich ja selber kalibrieren. Einmal Poti nach links, 
Kalibknopf druecken, einmal nach rechts, nochmal druecken und du hast
die Endwerte deiner Umrechnungsfunktion.
Das sollte schon relativ genau sein.
Jedenfalls im Rahmen dessen was ein Poti so an Linearitaet bietet und 
wie sich Schaltschwellen und deinen Kondensator bei 
Temperaturaenderungen verhalten...

Olaf

von Uhu U. (uhu)


Lesenswert?

> Einen Schmitt-Trigger möchte ich nicht bauen.

Gibts doch als IC, da mußt du nichts bauen.

von Mark T. (bitts)


Lesenswert?

Das mit der Kalibrierung mach ich vielleicht noch. Es kommt mir erstmal 
darauf an, dass ich ein Servo und Fahrsteller ohne Fernsteuerung und 
Empfänger betreiben kann. Wenn das funktioniert, tune ich, wenn's nötig 
ist :-)

Da ich das mit möglichst wenig Hardwareaufwand und mit den Klamotten 
machen möchte, die ich hier in der Grabbelkiste habe, fällt so ein 
zusätzlicher Schmitt-Trigger flach. Das wäre sonst aufwändiger, als es 
mit einem NE555 zu bauen. Es soll halt eine Minimallösung werden, die 
auf meine Grabbelkiste zugeschnitten ist :-)

Grüße
Mark

von Björn W. (bwieck)


Angehängte Dateien:

Lesenswert?

Mark Thalle wrote:

> Da ich das mit möglichst wenig Hardwareaufwand und mit den Klamotten
> machen möchte, die ich hier in der Grabbelkiste habe, fällt so ein
> zusätzlicher Schmitt-Trigger flach. Das wäre sonst aufwändiger, als es
> mit einem NE555 zu bauen. Es soll halt eine Minimallösung werden, die
> auf meine Grabbelkiste zugeschnitten ist :-)

Wenn es dir darum geht eine PWM mit möglichst wenig Aufwand zu erzeugen 
habe ich hier noch was: siehe Bild.

C1 und R1 bestimmen die Frequenz
das Poti das Tastverhältnis
JP1 ist der PWM Ausgang

die Inverter müssen zwingend CMOS sein.

Falls Du CMOS Inverter in deiner Kiste liegen hast, wäre das ja evtl. 
schon ausreichend.

Grüße
Björn

von Aleksandar (Gast)


Lesenswert?

Hallo,

Sieh Dir AN700 auf der Website von Microchip an. Da ist ein Delta-Sigma 
Konverter mit PIC und 2 Widerstanden und einem Kondensator beschrieben. 
Aufloesung haengt nur von der Zeit ab.

Die PICs der Serie 627, 628 und 648 haben zwei Komparator und 
einstellbare Referenzspannung eingebaut. Damit ist der Delta-Sigma 
Konverter praktisch mit nur 3 externen Bauteilen moeglich.

In der AN ist auch der Beispielscode angegeben, die Routinen sind 
zeitkritisch (die Routine muss gleich lang dauern, egal ob Ausgang 
positiv oder negativ ist), deshalb ist es zu empfeheln, den Originalcode 
im Assembler zu verwenden - ist nicht groesser als etwa 30 Byte.

Gruss,
Aleks

von Mark T. (bitts)


Lesenswert?

Nochmal Danke für die vielen Tipps!
Das ist echt super hier.

CMOS habe ich nicht in der Grabbelkiste. Ich habe überhaupt nur sehr 
wenig Logikbausteine da. Ich habe einmal eine ähnliche Schaltung mit 
CMOS-Invertern aufgebaut, aber die war ziemlich empfindlich, weil 
hochohmig. Da musste ich lange dran rumfummeln, bis ich das am Laufen 
hatte.

Ich habe hier im Moment nur 16f84 und 16C71. Für AN700 braucht man wohl 
spezielle andere PICs. Bevor ich mir sowas zulege, ist es vermutlich 
besser, wenn ich mir einen PIC mit integriertem AD-Wandler hole.
Ich werde das aber trotzdem im Hinterkopf behalten.

Grüße
Mark

von Jörg B. (joerg-sh)


Lesenswert?

Es geht ja alles, aber für nichtmal 2 Euro gibt es einen atmega8 z.B. 
der hat dann gleich 8 Analoge ports oder eben einen PIC mit ADs...

von Björn W. (bwieck)


Lesenswert?

Jörg B. wrote:
> Es geht ja alles, aber für nichtmal 2 Euro gibt es einen atmega8 z.B.
> der hat dann gleich 8 Analoge ports oder eben einen PIC mit ADs...

Die Inverterschaltung ist aber unschlagbar billig:

4069         EUR 0,10
1N4148       EUR 0,02
Widerstand   EUR 0,10
Kondensator  EUR 0,04
Poti         EUR 0,67

macht gesamt: EUR 0,95

Grüße
Björn

von Philipp_Burch (Gast)


Lesenswert?

@Björn:

Kannst du mir erklären, wozu R1 gut ist? Der Eingang vom Schmitt-Trigger 
sollte doch wohl hochohmig genug sein, dass da eh nie wirklich ein Strom 
fliesst...

Ansonsten: Coole Schaltung :)

von Jörg B. (joerg-sh)


Lesenswert?

> Die Inverterschaltung ist aber unschlagbar billig:


Dafür ist die Programmierung aufwendiger, da hat er die fehlenden 1,05 
Eus an Zeit wieder raus ;-)

von Björn W. (bwieck)


Lesenswert?

Philipp_Burch wrote:
> @Björn:
>
> Kannst du mir erklären, wozu R1 gut ist? Der Eingang vom Schmitt-Trigger
> sollte doch wohl hochohmig genug sein, dass da eh nie wirklich ein Strom
> fliesst...
>
> Ansonsten: Coole Schaltung :)

Das ist kein Schmitt-Trigger sondern ein CMOS-Oszillator mit 
einstellbarer Pulsweite

R1 soll den Einfluss der Schutzdioden im InverterIC auf die
Frequenz einschränken. Die schaltung würde auch ohne R1 funktionieren.
Allerdings ist dann die Frequenz sehr Betriebsspannungsabhängig.

Grüße
Björn

von Patrick (Gast)


Lesenswert?

Wenn das Ganze nicht zeitkritisch ist und man nen Port frei hat, könnte 
man doch auch mit einem D/A Wandler aus den Portpins und einem 
Komperator arbeiten, wenn man den D/A Wandler 8Bit breit macht, so 
braucht man 7 D/A-Outputs um den Wert zu bestimmen 
(</>128;</>64;</>32;</>16;</>8;</>4;</>2, bestimmen ob grösser oder 
kleiner 128, dann ob ergebniss grösser/kleiner 128+-64 etc.)

von zilli (Gast)


Lesenswert?

Hallo erstmal,

ich verstehe den Aufwand hier ja nicht wirklich. Geht doch einfach auf 
www.microchip.com, Registrieren und Samples bestellen. Gibt zwar nicht 
alle PIC's als Samples, aber die meißten. Ne Woche spätter habt ihr die 
dann im Briefkasten.

Ich bin Student und mach das immer so.

Also billig oder nicht interessiert hier nicht. habe mir grade 3x den 
16F877A bestellt, kostet bei Reichelt 5,10€. Als Sample noch nicht mal 
Versandt.

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.