Forum: Mikrocontroller und Digitale Elektronik PIC18 -> NUR AN1 Analog sonst alle digital


von Drigo (Gast)


Lesenswert?

Hallo Leute

Habe mir gerade das Datenblatt des PIC18F2550 reingezogen. Gibt es eine 
Möglichkeit nur AN1 auf Analog zu setzen und alle anderen ANX auf 
digital?

mfg
Drigo

von holger (Gast)


Lesenswert?

>Gibt es eine Möglichkeit nur AN1 auf Analog zu setzen und alle
>anderen ANX auf digital?

Nein, geht laut Tabelle im Datenblatt nicht.
Nimm doch einfach AN0 statt AN1.

von Drigo (Gast)


Lesenswert?

Das Problem ist, das ich mich beim Design verhaut habe. Jetzt sind 1000 
Platinen fertig. ---> Shit

von Zwirbeljupp (Gast)


Lesenswert?

Ganz schön fahrlässig, ohne fundierte Kenntnisse des verwendeten µCs 
direkt so ein großes Los fertigen zu lassen. Zu knauserig um in einen 
Prototypen zu investieren?
Dann musst Du jetzt wohl mit einem 1-Bit-A/D-Wandler an AN1 auskommen...

von Drigo (Gast)


Lesenswert?

Wird mir wohl nix anderes übrigbleiben.
Habe seit langem nur mit externen ADC's gearbeitet, und war fix in der 
Annahme, das jeder ADC getrennt (ADCON1) als I/O oder ADC Eingang zu 
schalten ist. -> Mein Fehler

von Peter D. (peda)


Lesenswert?

Drigo schrieb:
> Habe mir gerade das Datenblatt des PIC18F2550 reingezogen.

Das sollte man eigentlich machen, bevor der Schaltplan erstellt wird.

Allerdings hätte ich vom AVR ausgehend auch als selbstverständlich 
vorausgestzt, daß sich sämtliche IOs unabhängig voneinander 
konfigurieren lassen.
Der PIC ist halt immer gerne mal für ne Überraschung gut.
Daher sollte man besonders gründlich ins Datenblatt schauen.


Peter

von Zwirbeljupp (Gast)


Lesenswert?

Falls Du nicht auf USB angewiesen bist könntest Du schauen, ob Du einen 
(größtenteils) pinkompatiblen PIC24 findest. Dort sind die A/D-Eingänge 
getrennt wählbar.

Anderer Vorschlag:
Was hängt an dem AN0-Pin? Ist es für die Anwendung schlimm, wenn Du AN0 
zum Messen immer mal kurz auch auf Analog umschaltest?

von höchstbietender (Gast)


Lesenswert?

moin,

IMHO hat der PIC18 25K20 das Problem nicht mehr. Alternativ: wenn AN0 
ein Eingang ist: Einfach den Pegel einlesen ;-).

Gruß
H

von Drigo (Gast)


Lesenswert?

Ich kann keinen 24er Pic finden, der nur 28pins + USB hat.

PIC18F25K20 hat wieder nur einen 10bit ADC :-((


Der AN2 und AN0 sollen analoge Ausgänge sein, die bei einer Messung 
angesteuert werden, und mir eine Versorgungsspannung für die 
Messschaltung bereitstellen. Daher ist das so ein Mist.

von Zwirbeljupp (Gast)


Lesenswert?

> Ich kann keinen 24er Pic finden, der nur 28pins + USB hat.
Ja ach nee...
Vielleicht habe ich ja deshalb Folgendes geschrieben:
> Falls Du nicht auf USB angewiesen bist könntest Du schauen, ob Du einen
> (größtenteils) pinkompatiblen PIC24 findest. Dort sind die A/D-Eingänge
> getrennt wählbar.

> Der AN2 und AN0 sollen analoge Ausgänge sein, die bei einer Messung
> angesteuert werden, und mir eine Versorgungsspannung für die
> Messschaltung bereitstellen.
Ich glaube Du hast da etwas grundlegend noch nicht verstanden...
(ADC != DAC)

von höchstbietender (Gast)


Lesenswert?

zzzzz...

In anlehnung an einen bekannten Schlager:
"Tausend mal bestellt, tausend wird nicht passieren..."

von Tombstone (Gast)


Lesenswert?

Was haben die 1000 Platinen denn gekostet?

von Drigo (Gast)


Lesenswert?

Da habe ich mich verschrieben. Tschuldigen.
Ich brauche Digitale Ausgänge (RAX) die eben nur als analoge Eingänge 
mitkonfiguriert werden können.

AN0 -> RA.0 -> Digital 5V out
AN1 -> RA.1 -> Analog IN
AN2 -> RA.2 -> Digital 0V out


Platinen haben pro Stk. 32 Cent (Europlatinen Größe) gekostet. Aber Made 
in China.

Wie gesagt habe keinen 28 Piner mit USB gefunden , der in der PIC24 Liga 
mitspielt :-(

von Dieter W. (dds5)


Lesenswert?

> PIC18F25K20 hat wieder nur einen 10bit ADC :-((

Ach, und der 18F2550 hat mehr als 10 Bit?

von Drigo (Gast)


Lesenswert?

Der 2550er nicht. Wollte aber den 18F2553 einsetzen (ausser dem ADC mit 
mehr Auflösung) komplett gleich wie PIC18F2550.

Habe jetzt aber etwas für mich gefunden: PIC18F26J50

Muss ich halt oversamplen.

von TrollVerscheucher (Gast)


Lesenswert?

Kannst auch einen PIC18F14k50 hernehmen

von holger (Gast)


Lesenswert?

>Habe jetzt aber etwas für mich gefunden: PIC18F26J50

Dir ist klar daß der nur bis 3,6V arbeitet?

von TrollVerscheucher (Gast)


Lesenswert?

Darum sollte der Mann auch einen PIC18F14k50 hernehmen. Dann kann er 
wieder 1000te Platinen bauen, bevor ein neuer Fehler auftritt.
("Habe gerade 1000 Platinen bekommen. Gibt es wirklich keine Möglichkeit 
den Mikrokontroller zwischen zwei Phasen zu betreiben? Helfen da 
Vorwiderstände?")

von DutehMuh (Gast)


Lesenswert?

Weis nicht, ob ich mit einem PIC18F14k50 arbeiten möchte. Das Ding 
erscheint mir brandneu. Wie sieht es da mit den Errata aus?

von Drigo (Gast)


Lesenswert?

Habe mir jetzt mal eine Liste erstellt. Leider scheiden sämtliche 
Prozessoren aus :-((

18F2455  -> ADC nicht wählbar -> 5 Volt Prozessor
18F2550  -> ADC nicht wählbar -> 5 Volt Prozessor
18F2553  -> ADC nicht wählbar -> 5 Volt Prozessor
18F2458  -> ADC nicht wählbar -> 5 Volt Prozessor
18F2450  -> ADC nicht wählbar -> 5 Volt Prozessor
18F24J50 -> ADC WÄHLBAR ->   3,3 Volt Prozessor
18F25J50 -> ADC WÄHLBAR ->   3,3 Volt Prozessor
18F26J50 -> ADC WÄHLBAR ->   3,3 Volt Prozessor

von Master S. (snowman)


Lesenswert?

> AN0 -> RA.0 -> Digital 5V out
> AN1 -> RA.1 -> Analog IN
> AN2 -> RA.2 -> Digital 0V out

scheint so, als ob du diese pin RA.0 und RA.2 ständig auf den 
entsprechenden volt levels haben willst. richtig? falls dem so ist: 
gibt's die möglichkeit, dass du den pin RA.0 vom PIC abschneidest und 
die leitung auf dem PCB via einem jumper oder so auf 5V ziehst?

edit: reiner neugier: welcher berufsgruppe gehörst du an? BWLer?

von Drigo (Gast)


Lesenswert?

Nein kein BWLer. Aber vieleicht du, weil du nicht gefragt hast, ob sich 
die Pegel auch abwechseln. (Vielleicht ist ja RA.2 ein CS Signal???)

AN0 / RA.0 Ändert ständig seinen Pegel zwischen Digital und Analog
AN1 / RA.1 Ändert ständig seinen Pegel zwischen Digital und Analog
AN2 / RA.2 Bleibt eigentlich immer Digital


Wie du siehst liegt das Problem darin, das wenn ich AN0 / AN2 von vorne 
herein getauscht hätte, wäre das Problem nicht entstanden.

von Michael (Gast)


Lesenswert?

Kannst du eine Totzeit für die AD-Wandlung (auf AN0) vertragen? Wenn ja, 
dann könntest du ja nur für die Wandlungszeit AN1 (und AN0) auf Analog 
stellen und danach wieder alles auf Digital IO. Nur mal so als Idee.

von Master S. (snowman)


Lesenswert?

wow, das gibt ja echt nen mix aus input, output, analog und digital...
> weil du nicht gefragt hast, ob sich die Pegel auch abwechseln
stimmt, ich ging davon aus, dass du keine relevanten eigenschaften uns 
vorenthälst - sorry, da habe ich wohl falsch gedacht ;-) anyway, wenn 
ich also die neue information (dein letztes posting) in den aktuellen 
informationsstatus einfliessen lasse, so egibt sich:

> AN0 -> RA.0 -> Digital 5V out
> RA.0 Ändert ständig seinen Pegel zwischen Digital und Analog
somit wechselt RA.0 zwischen analog input und digital output

> AN1 -> RA.1 -> Analog IN
> RA.1 Ändert ständig seinen Pegel zwischen Digital und Analog
somit wechselt RA.1 zwischen analog input und digital (digital input 
oder output?)

> RA.2 -> Digital 0V out
> RA.2 Bleibt eigentlich immer Digital
somit is RA.2 eigentlich digital output

wobei, wenn RA.0 digital output ist, du an RA.1 einen analog wert messen 
willst. richtig?

von Bogumil (Gast)


Lesenswert?

Als Workaround evtl. auf Analogeingang umschalten wenn gemessen werden 
soll.

von höchstbietender (Gast)


Lesenswert?

moin,

hast du schon mal ausprobiert was geht und was nicht geht?

Datasheet PIC18F2420/2520...

S.226 (19.3): "Each port pin associated with the A/D Converter can be
configured as an analog input, or as a digital I/O."

S.230 (19.5): "The port pins needed as analog inputs must have their 
corresponding TRIS bits set (input). If the TRIS bit is cleared 
(output), the digital output level (VOH or VOL) will be converted."

Nur, ein DAC hat er dann immer noch nicht.

Gruß
H

von Master S. (snowman)


Lesenswert?

> hast du schon mal ausprobiert was geht und was nicht geht?
ich gehe davon aus, dass der test (RA.O = digital output und RA.1 = AN 
input) bereits erfolgte, sonst gäbe es dieser thread ja nicht ;-) ps: 
ich hätte eigentlich auch angenommen, dass dies gehen sollte - offenbar 
nicht.

von Drigo (Gast)


Lesenswert?

Bin auch davon ausgegangen. Darum habe ich jetzt die KAcke am dampfen.

Wenn Analog ,dann nur ADC. Kein DAC. Sonst hätte ich den DAC voll 
ausgesteuert, und meine Probleme wären verschwunden.

RA.1 ändert zwischen Analog IN und Digital Out.

von Maik W. (werner01)


Lesenswert?

uns wenn du da ne schottische idiode davor baumelst. und vor der idiode 
halt auf nen anderen adc goen.
wenn man ordentlich arbeitet sieht es sogar gut aus.

oder halt nen anderen prozie obwohl ich pic`s so schlecht nicht finde 
oder neue platinen

von Frage (Gast)


Lesenswert?

>Bin auch davon ausgegangen. Darum habe ich jetzt die KAcke am dampfen.

Lass dich jetzt nicht ärgern, ich selbst bin auf dieses PIC18-Verhalten 
im Vorfeld einer Entwicklung gestossen und habe mich dann für einen 
PIC16 entschieden. Die haben ein ANSEL-Register, das für jeden AN 
einzeln die Dx/AI Umschaltung ermöglicht. Einen Ersatztypen findest du 
eher dort als bei den PIC24.

von Michael H. (morph1)


Lesenswert?

so ein blödsinn, das ANSEL haben nicht DIE pic16 sondern EINIGE pic16

von Frage (Gast)


Lesenswert?

>so ein blödsinn, das ANSEL haben nicht DIE pic16 sondern EINIGE pic16

Reiss dich mal zusammen, Mann! Nenn mir doch einen einzigen PIC aus den 
18er, 24er Familien die ein solches Register aufweisen. Bevor du weiter 
Haare spaltest werd dir mal bewusst dass der TE seinen PIC noch immer 
selbst auswählen muss. Es sei denn du möchtest auch da einen hilfreichen 
Rat geben?

von Dieter Werner (Gast)


Lesenswert?

Jetzt macht mal langsam, nicht gleich in die Wolle kriegen.

Es ging um die Aussage "*die* (im Sinn von alle) PIC 16 haben ein ANSEL 
Register" was aber scheinbar unzutreffend ist (ich hab's nicht 
nachgeprüft).


Bei PIC24H heisst das entsprechende Register ADxPCFGx

Aus Datenblatt PIC24HJ64GP202
bit 12-0 PCFG<12:0>: ADC Port Configuration Control bits
1 = Port pin in Digital mode, port read input enabled, ADC input 
multiplexer connected to AVSS
0 = Port pin in Analog mode, port read input disabled, ADC samples pin 
voltage

von Frage (Gast)


Lesenswert?

>Es ging um die Aussage "*die* (im Sinn von alle) PIC 16 haben ein ANSEL
>Register" was aber scheinbar unzutreffend ist (ich hab's nicht
>nachgeprüft).

Ist mir schon klar, worum es ging. Wie pedantisch muss man eigentlich 
sein, dass man darauf herumreiten muss? Natürlich haben nicht ALLE PIC16 
dieses Register, seid ihr jetzt zufrieden? Nachdem aber kein PIC18, kein 
PIC24 dieses Register besitzt ist die Aussage, die PIC16 haben es, eben 
nicht falsch. Und da lass ich mich nicht schwach anreden wie von morph1.

von Michael H. (morph1)


Lesenswert?

Was hat das mit pedantisch zu tun?

Bei den PIC24 HEISST es anders, es existiert aber dennoch.

Bei den PIC16 haben es nur sehr wenige, gerade die Klassiker haben das 
gleiche System wie die älteren PIC18, ob da wohl ein Zusammenhang 
besteht? ;)

Und wie der TE schon erklärt hat, einige PIC18 haben dieses, oder ein 
vergleichbares mit anderem Namen, Register sehr wohl, also ist auch dein 
letzter Beitrag nicht korrekt.

Wenn du dich mit derartigen Aussagen profilieren kannst, tu das.

Mein Hinweis galt dem TE, damit dieser nicht Gefahr läuft einen weiteren 
Unsinn anzustellen.

von Frage (Gast)


Lesenswert?

>Wenn du dich mit derartigen Aussagen profilieren kannst, tu das.

Das Kompliment kann ich nur zurückgeben. Was du zum wiederholten Male 
schreibst ist mir bekannt. Ich habe von einem Register namens ANSEL 
gesprochen, nicht von vergleichbaren Registern mit anderem Namen.

>Mein Hinweis galt dem TE, damit dieser nicht Gefahr läuft einen weiteren
>Unsinn anzustellen.

Das ehrt dich ja, warum behauptest du aber mein Beitrag wäre "Blödsinn"? 
Für mich war das einfach nur provokant, du akzeptierst offenbar keine 
Meinung neben deiner eigenen.

>oder ein vergleichbares mit anderem Namen, Register sehr wohl, also ist
>auch dein letzter Beitrag nicht korrekt.

Das wird durch Wiederholungen auch nicht richtiger. Ich habe nur einen 
Tipp gegeben, sich mal bei PIC16 statt PIC24 umzuschauen. Verstehe nicht 
was dir da nicht passt, ich werde hier nicht für den TE Datenblätter 
vergleichen!

>Bei den PIC16 haben es nur sehr wenige, gerade die Klassiker haben das
>gleiche System wie die älteren PIC18, ob da wohl ein Zusammenhang
>besteht? ;)

Dann müsstest du ja verstanden haben, dass die PIC16 mit ANSEL-Register 
eine Besonderheit darstellen. Daher sollte man sich die mal genauer 
anschauen, wenn man AN-Pins zur Laufzeit umkonfigurieren muss.

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.