www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Grundlagenforschung / Fehlersuche


Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tachchen zusammen,

ich wende mich in größter Not an Euch :-)
Bin gerade am Ende meines Studiums und habe die Aufgabe bekommen, einen 
Teil von ner Schaufensterpuppe als Roboter umzubauen. Genau gesagt, ich 
soll eine Rumpfdrehung bauen auf Basis eines Mikrocontrollers. Die 
Mechanik ist fertig und funktioniert einwandfrei. Problematisch ist das 
Programm und die Platine mit dem Mikrocontroller (PicKit Classic mit 
16F684). Ich habe in der Programmiersprache JAL einige Testprogramme 
geschrieben, jedoch tut der Controller nicht so richtig, was ich will. 
Deshalb ein paar konkrete Fragen:

1.)
Wenn ich auf einem als "input" deklarieren Pin ein Signal empfangen 
möchte, muss vor diesem Pin ein Widerstand eingelötet werden, um 
minimalste Störspannungen zu eliminieren ? Wenn auf Pin 1 5V anliegen, 
soll der Controller etwas tun, jedoch tut er dies momentan willkürrlich. 
Ich muss teilweise nur mit dem Finger über den Kontakt streichen, schon 
läuft er los.


Hauptursache meines Unwissens ist die Tatsache, daß ich nie etwas über 
Mikrocontroller gelernt habe und bis dato noch nie vergleichbares 
entwickelt habe. Ich hoffe ihr könnt mir helfen.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal eine Widerstand von dem Pin zur postiven Versorgungspannung, 
das sollte helfen.
Eingänge außerdem nie offen lassen!

Autor: The Devil (devil_86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tastereingänge mit Spannung schalten...bäääh

Was hast du bitte studiert, wenn du jetzt am Ende sowas machen musst und 
nichts drüber gelernt hast??

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>>Wenn auf Pin 1 5V anliegen, soll der Controller etwas tun, jedoch tut er
>>dies momentan willkürrlich.

Laut Datenblatt handelt es sich hierbei um den VDD Pin. Den darfst du 
nicht als Eingang verwenden ;-). Meinst du vl RA0 oder RB0?
Hast du auch die diversen Module des entsprechenden PINS deaktiviert. 
zb: sind Standardmässig die Analogeingänge als solche definiert. Also 
musst du sie zuerst mal als digital I/Os konfigurieren.

>>Ich muss teilweise nur mit dem Finger über den Kontakt streichen, schon
>>läuft er los

Wenn der PIC LV-Programming(Low voltage programming) kann, dann solltest 
du das eventuelle abschalten, oder den entsprechenden Pin auf Low 
ziehen.

Lies dir mal die Grundlagen auf www.sprut.de durch. Dann tust du dir um 
einiges leichter.

mfg SChoasch

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Läubi : wie verstehe ich es, daß Eingänge nie offen sein sollen? Kann 
mir das nicht so ganz vorstellen.

@ The Devil: nützlicher Beitrag - danke.

@ Schoasch:
Pin 1 war nur ein Beispiel, sorry mein Fehler. Die diversen Module höre 
ich zum ersten mal. Da muss ich mal versuchen mich schlau zu machen, wie 
die vernünftig konfiguriert werden.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja, man tut sich erheblich leichter, wenn man die Eingänge immer auf 
definierten Pegeln hat.
Also beispielsweise Taster so schalten:

Vcc
^
|
R
|----->Pin
T
|
-
Gnd

Wenn Taster offen -> Pin liegt über Pullup Widerstand an Vcc, also 
logisch 1
Taster geschlossen -> Pin liegt auf logisch 0

Ein "offener" Eingang wäre eine solche Konstruktion:

^
|
R
|
T---->Pin

Taster offen -> Pin liegt auf dem Pegel, der zufällig gerade 
vorbeikommt, beispielsweise auf deinem Finger.

Autor: The Devil (devil_86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Draco: sorry, aber ich versteh's einfach nicht! Wenn du jetzt z.B. 
Maschinenbau studiert hast, können die dir doch nicht SO ein Projekt 
geben. Denen würd ich ja sonst wohin pinkeln....

Autor: Meyer L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht wollte er es ja freiwillig ;-) So schwer kann es schon nicht 
sein, wenn die Pfeifen von der Elektrotechnik das hinbekommen, kann er 
das bestimmt auch ;-)

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss teilweise nur mit dem Finger über den Kontakt streichen, schon
läuft er los.

--> sorry, aber so geht man mit einem print nicht um... schlussendlich 
handelt es sich um mehr oder weniger sensible elektronik, welche vor 
brührungen von personen (zumindest ohne das diese geredet sind) zu 
schützen ist... wenn du absichtlich mit dem finger über deine plantine 
streichst, kannst du gleich einen hammer holen...

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe rausgefunden, daß es mit der Thematik "Pull-Up" bzw "Pull-Down" 
zusammenhängt. Wie groß müssen denn Widerstände dimensioniert sein, wenn 
ich einen Widerstand zwischen Pin und GND bzw zwischen Pin und 5V hängen 
möchte ?

Autor: Schoasch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Werte variieren so zwischen 1k und 20k. Meist nehme ich 10k.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.