mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pollin Board unzuverlässig-Hilfe bei der Fehlersuche!


Autor: kurtzz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Bin nicht so der Profi. Ich benutze seit in paar Monaten das Pollin Eval 
Borad 2.01 für den Einstig in die uc-Seuche ;-)
Nach den üblichen Anfängerproblemen bin ich gut vorangekommen und habe 
schon ein paar kleine Regelungen für Gewächshaus, Kellerlüftung usw. 
damit konzipiert und erfolgreich ausprobiert.
Ich habe nen Mega16, programmiere in Bascom, benutze Ponyprog mit einen 
1:1 Kabel direkt an der seriellen Schnittstelle meines Laptops.
Seit einger Zeit spinnt allerdings irgendetwas am Board herum. Irgendwie 
scheint der uC aus dem Takt zu kommen. Mehrere Abende habe ich bei der 
Fehlersuche verbracht ... nun habe ich mir ein seeeeeehr einfaches 
Programm geschrieben um dem Problem auf den Grund zu gehen.
An Port D5-7 ist jeweils ein Taster angebracht.

'################################################
$regfile = "m16def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 10
$framesize = 40

Dim T1 As Byte
Dim T2 As Byte
Dim T3 As Byte
Ddrd = &B11100000
Portd = &B00000000

'---INIT----------------------------
T1 = 0
T2 = 0
T3 = 0

'---MAIN---------------------------
Do
   Debounce Pind.2 , 1 , T1 , Sub
   Debounce Pind.3 , 1 , T2 , Sub
   Debounce Pind.4 , 1 , T3 , Sub
Loop

Print "ende gelaende"
End

'---SUBS----------------------
T1:
  Incr T1
  Print "T1:" ; T1 ; " T2:" ; T2 ; " T3:" ; T3
Return
T2:
  Incr T2
  Print "T1:" ; T1 ; " T2:" ; T2 ; " T3:" ; T3
Return

T3:
  Incr T3
  Print "T1:" ; T1 ; " T2:" ; T2 ; " T3:" ; T3
Return

'################################################

Zu erwarten wäre, das je nach Taster T1, T2 bzw T3 die ensprechende 
Variabel hochgezählt wird. Das Ergebnis sieht allerdings anders aus.
Hier habe ich ausschließlich T3 betätigt. Bei den anderen beiden Tasten 
ist das Ergebnis ähnlich...
T1:0 T2:0 T3:1
T1:0 T2:0 T3:2
T1:0 T2:0 T3:3
T1:0 T2:0 T3:4
T1:152 T2:0 T3:5
T1:32 T2:152 T3:6
T1:32 T2:152 T3:7
T1:32 T2:152 T3:8
T1:32 T2:152 T3:9
T1:32 T2:152 T3:233
T1:32 T2:152 T3:234
T1:0 T2:0 T3:1
T1:0 T2:0 T3:2

Irgendwie kommt die ganze Fuhre in diesem Beispiel ab Zeile 5 aus dem 
Takt. Manchmal funktioniert es auch 20x hintereinander um dan 
auszukreisen ... total chaotisch.


Soweit soschlecht. Ich bin wie gesagt noch nicht lange im Geschäft und 
hardwareseitig weniger erfahren. Daher würde ich mich freuen, wenn ihr 
mir ein paar Anregungen für die Fehlersuche geben könntet.
- Habe ich einen typischen Anfängerfehler gemacht und ich sehe den Wald 
vor Bäumen nicht?
- Wo würdet ihr den Fehler am ehesten vermuten?
- Kann man den Fehler durch Tests irgenndwie eingrenzen?

Ich bin ratlos :-|
Vielen Dank schon mal vorab, kurtzz

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe von Bascom und dem Pollin Board zwar keine Ahnung aber kann es 
sein das Du vergessen hast die Pullups zu aktivieren?

Grüße
Björn

Autor: kurtzz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nun, weiß nicht so recht. In dem Original-Bespielprogramm von 
Pollinboard ist das genauso wie in meinem Programm:
Ddrd = &B11100000
Portd = &B00000000

Port d5-7 als eingang, alles auf low-level - bei tastendruck liegen 5V 
an. ( Schaltplan im Anhang)
Müsste doch gehen oder liege ich vollkommen daneben?

Gruß
kurtzz

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Port d5-7 als eingang, alles auf low-level - bei tastendruck liegen 5V
> an. ( Schaltplan im Anhang)
> Müsste doch gehen oder liege ich vollkommen daneben?

Hab mal gerade den Schaltplan vom Pollin-Board angeschaut.
Wenn R7, R8 und R11 bestückt sind dann hast Du Pulldownwiderstände.
Kein Problem also. Die Brücken JP3-JP5 sind bei Dir auch gesteckt?

> Ddrd = &B11100000
Port D Bit 0-4 Eingang und Bit 5-7 Ausgang

> Portd = &B00000000
Pullups deaktivieren

Sonst evtl mal den IC ziehen und wieder einsetzten... Hilft bei
schlechten Fassungen manchmal.

Grüße
Björn

Autor: kurtzz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hat nichts gebracht. Ich hatte es schon mit einem anderen uC 
probiert. Gleiches ergebnis ...

Autor: kurtzz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So!
Problem gelöst. Ursache sind die Kondensatoren die eigentlich zur 
Entprellung dienen sollen. Drauf gekommen bin ich, nachdem ich das ganze 
Eval-Board auffm Steckbrett nachgebastelt habe und (glücklicherweise) 
die Kondensatoren vergessen habe. Ohne hats prima funktioniert - mit nur 
manchmal. Einen Hinweis dazu gab es auch schon mal hier im Forum --> 
Beitrag "Pollin-Eval Board brauchbar?" --> "Bis auf die Idiotie die 
Taster nach Vcc zu schalten. Jeder Tastendruck
lässt die Versorgungsspannung kurz einbrechen da der Kondensator geladen
werden muss. Lass beim Aufbau die Kondensatoren bei den Tastern weg.
Entprellen per Software." ...

Vielen Dank allerseits!
kurtzz

Autor: skua (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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.