Poti ohne AD-Eingang auslesen --- PIC

OP #681668
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?
#681679
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
Gast #681681
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
OP #681697
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
Gast #681699
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
OP #681711
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
#681812
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
Angehängte Dateien:
Gast #681815
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
OP #681832
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
#681847
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
Gast #681859
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 :)
#681885
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
Gast #681920
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.)
Gast #685748
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.

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