Forum: Mikrocontroller und Digitale Elektronik Pollin Board mit Attiny13A


von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

Hallo,
es gibt zwar schon 2 Beiträge zu diesem Thema, sind aber uralt.
Ich habe in Problem mit der genannten Kombination. Mein Test- Programm
besteht nur aus einem Eingangs Taster an PB0 (Pullup ein), einer LED mit 
Vorwiderstand an PB4. Das Programm tut nicht, was es soll!
 Gehe ich mit der Betriebspannung auf 3,3 Volt runter (am Programmer 
einstellbar), funktioniert es. Bei Spannungsversorgung über das Board 
mit 5V-Programm fragt den Taster an PB0 nicht richtig ab- ein einfaches 
Blinkprogramm tut es aber. Kennt jemand dieses Problem?
Gruß
Reinhard

von Harald (Gast)


Lesenswert?

> Das Programm tut nicht, was es soll!

Das kann man gut sehen. In Zeile 3 fehlt das Vorzeichen.

von c-hater (Gast)


Lesenswert?

Reinhard O. schrieb:

> Kennt jemand dieses Problem?

"Kennen" tue ich dieses Problem nicht (weil ich Schaltpläne und 
Datenblätter lesen kann), aber erklären kann ich es (aus genau 
denselbenen Gründen):

Dein ISP-Programmer liegt (beim Tiny13A ziemlich zwingend) auf 
mindestens einem der in deiner Anwendung benutzten Pins (hier konkret: 
PB0/MISO). Solange das so ist, wird die Anwendung nicht vernünftig 
funktionieren.

Ziehe also einfach den Programmer ab, während du die Funktion des 
Programms testest.

Dieses (und ähnlich gelagerte) Probleme wird bei den kleinen Tinys auf 
Grund der geringen Pinzahl natürlich ziemlich häufig auftreten. Deswegen 
sind sie nicht sonderlich geeignet, um als Anfänger damit zu hantieren. 
Da nimmt man besser ein größeres Teil und läßt die ISP-Pins 
anwendungsseitig einfach erstmal in Ruhe.

So lange, bis man die schaltungs- und programmiertechnischen Kompetenzen 
aufgebaut hat, die einem erlauben, ISP und andere Nutzungen derselben 
Pins erfolgreich miteinander zu verheiraten...

von Hell Seher (Gast)


Lesenswert?

Reinhard O. schrieb:
> Mein Test- Programm

Ach das, ja ..... wir kennen es alle ....

von Stefan F. (Gast)


Lesenswert?

Und wir kennen auch alle "das" Pollin Board.

von Lötlackl *. (pappnase) Benutzerseite


Lesenswert?


von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

Entschuldigung- ich habe geglaubt, das "Pollin- Board" ist ein Klassiker 
unter den Testaufbauten. Es ist das Atmel Evaluation- Board Ves. 2.01.
Ein ISP- Programmer (In- System Programmer) über den habe ich gelesen, 
daß man eben gerade im System programmieren kann. Es ist ein STK 500 
kompatibler von Diamex (Piacryl- Gehäuse). Ich kann übrigens im 
beschaltetem Zustand - die 2 belegten PIN's habe ich in meiner 
Fragestellung benannt- programmieren.
Das Programm sind nur eine IF- ELSE Pin Abfrage über PB0 und eine 
Ausgabe zu PIN PB4. Das "Pollin- Board", wenn ich die Bezeichnung 
verwenden darf, muß eine Eigenheit haben, welche ich aber nicht erkenne. 
Ich bin kein Freund von Steckboards. Aber auf dem Steckboard 
funktioniert das Ganze! Ausser wen einer der Drähte beim zufälligen 
Berühren abfällt...

Das Programm, welches im Endeffekt drauf soll, habe ich auf einem Atmega 
88 getestet. Damit ging es. Ich brauche doch für den Atiny 13 nur die 
Registerbezeichnungen umschreiben (Externer Interrupt, Timer0)?

: Bearbeitet durch User
von Max B. (citgo)


Lesenswert?

Wo hast du den Taster am Pollin Board denn angeschlossen? Und wie?

Ziehst du beim Testen auch den ISP Programmer ab?

von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

Den Taster habe ich an PIN B0 angeschlossen. Schliesser gegen Masse. 
Keinen Taster vom Board- die liegen an +5 V. PINB 0 hat einen internen 
PullUp. Für mich sieht das genau so aus wie mit dem Steckboard- wie 
gesagt- für mich!
 Ich teste verschiedene Varianten-
1. mit Spannungsversorgung aus ISP- Adaper, da bleibt er natürlich dran. 
Da gibt es hochfrequente Einstreuungen. Wenn ich in die Nähe eines 
Kabels komme, ändert sich die Helligkeit der LED etwas.
2. mit externer Spannungsversorgung- ohne Programmieradapter sauberste 
Lösung. Geht ohne Einstreu- Effekte.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Der Interne Pull-Up Widerstand taugt höchstens was, wenn der Taster 
direkt neben dem µC sitzt und keine weiteren Leitungen dran hängen.

Benutze einen externen Pull-Up Widerstand mit 2,2 bis 4,7k Ohm. Dann 
hast du weniger unerwünschte Signale auf der Leitung und außerdem wird 
der Taster länger halten (Stichwort "Wetting Current").

von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

5 cm Kabel auf dem Steckboard. Der Taster soll später mal ein Kanal von 
einem Fernsteuerempfänger werden. Mit Externem Interrupt abfragen und 
den Timer 0 steuern ( geht schon so auf dem Atmega 88, der ist mir aber 
zu groß.

Bin wieder auf dem Steckbrett. Habe einen externen 4,7 kOhm Widerstand 
als PullUp benutzt. Habe so auch die eigenartigen Kabel- 
Annäherungs-Effekte nicht mehr. Warum ist denn der interne Pullup nicht 
geeignet?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> Warum ist denn der interne Pullup nicht geeignet?

Weil er zu hochohmig ist. Jede Leitung ist nebenbei auch eine Antenne. 
Je geringer der Widerstand ist, umso stärker wird das empfangene Signal 
bedämpft.

So richtig zuverlässig bekommst du es aber nur hin, indem du zusätzlich 
kurze Störimpulse entweder per Software heraus filterst oder mit einer 
weiteren R/C Kombination abblockst:
1
    Taster  100Ω
2
    ____  
3
|----  ----[===]---+----------------------o zum µC PB0
4
                   |
5
|---||-------------+----[===]---o VCC
6
  100nF                  4,7kΩ

von Flug52 (Gast)


Lesenswert?

Werde mit RC  blocken. Warum der Attiny nicht
Felge auf dem Polin Board arbeitet, ist noch eine offene Frage...

von Stefan F. (Gast)


Lesenswert?

Weil auf dem Pollin Board einige Zentimeter Leiterbahn (=Antenne) hängen 
und dann auch noch das Flachkabel und der ISP Programmieradapter.

von Flug52 (Gast)


Lesenswert?

Gestern hatte ich den Kram erst mal in die Ecke gelegt. Das Board ist 
wohl nicht so die gelungene Konstruktion. Sehr lange, parallelgeführte 
Leiterzüge ohne Abschirmung. Abblockkondensatoren zu den IC-Fassungen 
über zu lange, dünne Leiterzüge. Und dann die Hochohmigkeit meines 
Schalteinganges, welche aber nur beim Testaufbau mit dem Taster zu 
tragen kommt. Werde einen Pullup auf eine freie Nachbarfassung stecken 
und noch mal testen. Und die Taster auf dem Board so verschalten, daß 
sie gegen Masse schließen. Und Hardware- entprellen.

von Stefan F. (Gast)


Lesenswert?

> Das Board ist wohl nicht so die gelungene Konstruktion

Ja. Ist halt Pollin. Mein Board hatte damals einen 100µF (!) Kondensator 
direkt am Reset Pin. Damit kamen (meine) alle drei ISP Adapter nicht 
klar.

von Safari (Gast)


Lesenswert?

Flug52 schrieb:
> Und die Taster auf dem Board so verschalten, daß
> sie gegen Masse schließen.

Haben die das nicht schon geändert? Ich meine mich zu erinnern, dass das 
nur bei den ersten Boards der Fall war.

Pin auf Low über internen Transistor und dann hart kurz geschlossen nach 
VCC. Umgekehrt hat man bei den AVRs einen Pullup, so herum ist im Sinne 
des Erfinders.

Ich hatte diese Platine auch mal und habe mir gleich beim Zusammenbauen 
100nF an die Unterseite direkt an die Fassungen gelötet.
Um die Taster herum könnte man eine VCC-Leitung suchen, aufkratzen und 
dann Pullups direkt an die Taster. 4k7-10k würde ich wählen.

von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

Hallo,
mein Board ist alt wie die Kohle! Hat auch noch eine serielle 
Schnittstelle mit 9 poligem Stecker. Zum Testen und flashen des Attiny's 
reicht es, habe ich mir gedacht. Mit dem aufgestecktem externen Pullup 
funktioniert es auch auf dem Pollin Board.
Habe vor vielen Jahren mal eine Steuerung für meine Heizung 
programmiert. Dann lagen die Atmels wegen neuer Heizungssteuerung 
fehlender Anwendungen in der Ecke. Muß erst mal wieder reinkommen. Ein 
Bekannter wollte halt ein Blinklicht mit Ansteuerung über Servosignal 
für seinen Modellflieger. Habe leichtsinnig zugesagt...

: Bearbeitet durch User
von Safari (Gast)


Lesenswert?

Reinhard O. schrieb:
> Hat auch noch eine serielle
> Schnittstelle mit 9 poligem Stecker.

das hat das Board bis heute. Es geht um die Version, es wurden einige 
Fehler behoben/kleine Änderungen im Design durchgeführt.
Aber wenn deines so alt ist, kann das gut sein, dass du eines hast, 
welches bei den Buttons einfach einen Kurzschluss verursacht.

Ich hab sowas in meiner Dummheit mal mit einem tiny2313 gebaut, der lebt 
immernoch, aber ratsam ist das nicht. Zumal das Risiko gross ist, dass 
der Controller abstürzt, wenn die Spannung durch den Kurzschluss 
einbricht.

von Safari (Gast)


Lesenswert?

Reinhard O. schrieb:
> Ein
> Bekannter wollte halt ein Blinklicht mit Ansteuerung über Servosignal
> für seinen Modellflieger. Habe leichtsinnig zugesagt...

Die Blinkfrequenz soll sich ändern, oder einfach nur blinken, wenn an?

Wenn Zweiteres:

ServoSignal abzweigen -> Diode -> (evtl Transistor) -> R+Blink-LEDs

Blink-LEDs gibt's auf die schnelle im Euroladen in irgendwelche 
Blinkfunzeln/LED-Kerzen. Ansonsten bei den üblichen Versänden 
(wahrscheinlich auch billiger als 1€/Lampe=LED).

von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

Hallo,
die Steuerung funktioniert ja schon mit einem Atmega88. Der Attiny13 hat 
ja nur einen 8 bit-Timer. Getestet habe ich das mit dem AT88, weil ich 
dort über USART Werte ausgeben und besser die Funktion prüfen kann. 
Jetzt soll das auf den kleinen AT13A. Natürlich gibt es im China Land 
fertige Lösungen. Hat der Bekannte auch, kommt aber mit der 
Parametrierung nicht klar. Bevor ich mich in diese nutzlose Gerätschaft 
einarbeite, wollte ich es halt auf den Attinys ausführen, welche ich 
noch herumliegen habe...

von Safari (Gast)


Lesenswert?

Reinhard O. schrieb:
> Bevor ich mich in diese nutzlose Gerätschaft
> einarbeite, wollte ich es halt auf den Attinys ausführen, welche ich
> noch herumliegen habe...

Das ist auf jeden Fall ein schönes, nicht allzugrosses, Projekt. Dabei 
kommt man auch irgendwann mal zum Punkt und gibt nicht auf, weil zuviel 
aufgehalst.
Fallstricke gibt's aber einige.
Ich habe AVRs schon ein paar Jahre nicht mehr angefasst und vor kurzem 
an der Transistortester-Software etwas machen wollen, das dauerte zwei 
Abende, bis ich mal soweit war. Die Änderung war dann in ~15min 
erledigt.

von Reinhard O. (Firma: privat) (flug52)


Lesenswert?

So, jetzt funktioniert Alles, wie gewollt. Das Board etwas modifiziert 
(Taster gegen Masse, IC Spannung abgeblockt). Es hat etwas gedauert, bis 
ich durch die Beschreibung des Attiny13 durchgeblickt habe. Habe zu spät 
erkannt, daß ein externer Interrupt eben nicht gleich PinChange 
Interrupt ist. Obwohl die Registerbeschreibung fließend ineinander 
übergeht und der Pin auch extern ist. Zwischendurch auf einen ATtiny45 
gewechselt. Dann aber wieder mit dem AT13. Die schwebten schon kurz über 
der Mülltonne! Mit den passenden Registern klappt es natürlich.
Die 8Bit Auflösung des Timer0 reicht, um mein Servosignal auszuwerten 
und damit ein Blinklicht zu schalten.

: Bearbeitet durch User
von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

Stefanus F. schrieb:

> Ja. Ist halt Pollin. Mein Board hatte damals einen 100µF (!) Kondensator
> direkt am Reset Pin.

Häh? Keines der generischen Pollin-Evaluationboards, weder die V1.x noch 
die V2.x hatte jemals auch nur irgendeinen Kondensator am Reset-Signal, 
schon gar keinen von 100µF. Alles, was da als externe Resetbeschaltung 
vorhanden war, war ein Pullup nach Vcc (einheitlich für V1.x und V2.x 
als "R3" bezeichnet und mit 10kΩ angegeben. Und einen Transistor, der 
das Signal auf Low gezogen hat, wenn man das auf den Boards verbaute 
RS232-Interface benutzt hat.

Für das aktuelle V2.x kann das jeder selbst bei Pollin nachsehen, für 
das olle 1.x lade ich mal das Manual hoch...

> Damit kamen (meine) alle drei ISP Adapter nicht
> klar.

Eher wohl: Du kamst nicht mit der Realität klar. Was allerdings nicht 
sehr verwunderlich ist, da du schon die mitgelieferten Schaltpläne ganz 
offensichtlich nicht lesen konntest...

von Stefan F. (Gast)


Lesenswert?

>> Ja. Ist halt Pollin. Mein Board hatte damals einen 100µF (!) Kondensator
>> direkt am Reset Pin.

> Eher wohl: Du kamst nicht mit der Realität klar

Solche Beschimpfungen kannst Du Dir sparen, sie sind unpassend. 
Offensichtlich sind die Unterlagen, die Dir vorliegen unvollständig.

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.