Forum: Mikrocontroller und Digitale Elektronik ATTiny13A vom Breadboard zu Rasterplatine und es funktioniert nicht mehr


von sid (Gast)


Lesenswert?

Hi,

ich bin auf ein kurioses Problem gestossen,
dem ich grade nicht in der Lage bin logisch auf den Grund zu gehen..

Ich hab nen ATTiny13A (naja mehrere.. egal)
mit Lukasz Podkalickis software uart und einem SS495 Hall Effekt Sensor.

und ein Arduino Nano der ihm Befehle zuruft und die Antwort auswertet.

ATTiny ist stumpf und banal ver'kabel't
der 5V und GND pin des Arduino auf VCC und GND;
An PB3 und 4 hängen TX und RX;
und PB0-2 Pins (zwei Aus und ein Eingang) schalten den SS495 ein und 
lesen ihn dann aus.
das ganze saugt weniger als 17mA und (11 wenn der HESensor aus ist),
also teste ich ohne externe Stromquelle.

Der Tiny ist im PapageiModus es sei denn er bekommt den Befehl zum lesen 
des Sensors (er antwortet also immer auf Anfragen, fast immer mit der 
Anfrage selbst)
jede Anfrage(und Antwort) hat zwei byte.
Auf dem Breadboard läuft das tadellos, kein Problem..

Also hab ich den Tiny in exakt dieser Konfiguration auf ne Rasterplatine 
gesetzt
die vier Pins die wichtig sind (RX,TX, GND und der 5V)
an den Arduino geklemmt uuuund
Keine Antwort!
Er antwortet garnichtmehr AUSSER auf den Befehl zum auslesen des 
Sensors.
Und darauf antwortet er mit vollendetem Unsinn.
(einzelnes Byte 0xFF oder 0xFE... selbst wenn der Sensor ausgelötet ist)

der Tiny hat 4.8V, Masse auch, RX und TX sind an den korrekten Beinchen 
angekommen und alles ist gegeneinander isoliert.
[gemessen hab ich Arduino Bein zu Attiny Bein, nicht nur Kupferstrecke]

ich weiss ehrlich gesagt nicht, was da schief gelaufen sein könnte,
klar ist da ein wenig der Widerstand grösser (< 1Ohm mehr)
aber das sollte doch kein Problem sein dachte ich.

Ich bin ehrlich gesagt verblüfft...
auch wenn das so nur zusammengerotzt ist
(kein Filter in der Stromleitung, kein Verstärker am Sensor, kein 
Schalttransistor.. nix)

Sollte doch kein nennenswerter Unterschied zwischen Breadboard und 
Rasterplatine sein, oder was übersehe ich?

Bin schon kurz davor den Tiny wieder auszulöten um ihn nochmal ins 
Breadboard zu setzen..
(hab aber erstmal um sicherzugehen einen zweiten Tiny mit derselben 
HexFile geflasht... nur um sicher zu sein dass der Arduino noch korrekt 
fragt... tut er;))

Hat jemand eine Idee wonach ich gucken sollte?

Dankeschön

von Edi R. (edi_r)


Lesenswert?

Ich würde erst mal einen Abblockkondensator 100 nF keramisch zwischen 
GND und VCC probieren. Und zwar so nahe an den Controllerpins wie 
möglich.

von Ingo W. (uebrig) Benutzerseite


Lesenswert?

sid schrieb:
> An PB3 und 4 hängen TX und RX;

Klingt nach serieller Übertragung. Wie erfolgt den die Taktversorgung? 
Interner RC-Oszillator? Könnte sein, das der kalibriert werden muss.

von Peter D. (peda)


Lesenswert?

sid schrieb:
> An PB3 und 4 hängen TX und RX;

Ich würde mal vermuten, beim Nano hängt noch ein MAX202 dazwischen.

von Ralph S. (jjflash)


Lesenswert?

Ein Foto wäre hilfreich !!!

- Grundsätzlich, wenn ich nicht weiß, ob eine Platine funktioniert und 
es für den verwendeten Baustein einen Sockel gibt: Sockel verwenden.

- Wie genannt, Stützkondensator.

Ingo W. schrieb:
> Interner RC-Oszillator?

ATtiny13 kann nur internen Takt.

UART und interner Takt ist "kritisch", der Taktgeber ist 
temperaturabhängig.

Baudrate weiter nach unten setzen (mehr als 38400 Baud habe ich nie mit 
internem Oszillator geschafft, 19200 ist besser ... aber immer noch 
temperaturabhängig).

Serienwiderstände (56 Ohm) in RX und TX Leitungen haben EINMAL Abhilfe 
geschafft.

von sid (Gast)


Lesenswert?

Hi danke für die Tipps..

Ja interner Oszillator und ja 19200 baud
(wer braucht schon Datengeschwindigkeit bei 2byte Datenpaketen :D)
leider fängt der Compiler bei geringerer Datenrate an zu meckern,
und ich hatte keinen Nerv mir ein anderes Uart Paket suchen.
(sind ja für 1kb flash chips auch nicht soo leicht zu finden)

Nein kein Max202 dazwischen, der nano kommuniziert auf zwei wahllosen 
digitalen Pins (Software Serial)

100nF  hab ich noch rumliegen (ist doch orange 104 kopfkratz) probier 
gleich ich mal.
56 Ohm Widerstände hab ich keine wenn ich mich richtig erinnere,
guck ich aber nach.

Der interne Oszillator bringt mich aber auf einen Gedanken.
ich hab nämlich die Fusebits nicht kontrolliert (oder neu gesetzt beim 
flashen)...
kann aber sein dass beim ersten die Taktrate gedrosselt war (von vorher 
noch)
Müsste zwar mit dem Teufel zugehen, dass ich den nicht im Breadboard 
getestet hab sondern den der jetzt drinsteckt zweimal..
aber Dusseligkeit auszuschliessen ist ein Widerspruch in sich, gell :D

Also, als erstes klemm ich den Kondensator dran und schau ob's hilft,
wenn nicht muss der Kleine raus, ich setz die Fusebits zurück falls 
welche gesetzt sind und schau dann nochmal

Und natürlich hab ich keine Sockel rumliegen (wär ja sinnvoll)
:(
Aber ich guck mal ob nicht irgendwo noch n Block mit female headerpins 
zu finden ist zum testen braucht's ja nicht sooo viel :D

Danke schonmal; ich meld mich später nochmal mit dem Testresultat (wenn 
ich dran denke mach ich Euch sogar n Foto.

von Georg G. (df2au)


Angehängte Dateien:

Lesenswert?

Nicht schön, nicht teuer, aber hilfreich.

von sid (Gast)


Lesenswert?

Es ist ja wie es immer ist..
sobald der Karton von Reichelt eintrudelt weiss man was man noch hätte 
bestellen sollen/wollen..

Kondensator hat keine Änderung gebracht;
Also raus mit dem Tiny und wieder rein ins Brotbrettchen.

Und exakt derselbe Fehler wie ausserhalb (pfuh... glück gehabt)
Fusebits gecheckt und siehe da 7F FD... zurück zu 6A FF wo's hingehört

Und schwupp auf dem Brettchen antwortet er nun korrekt
(muss tatsächlich den einen zweimal getestet haben, diesen hier garnicht 
uuups)

Ich dübel den mal wieder aufs Lochblech und dann sehen wir weiter,

Erstmal Danke Jungs!!

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.