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
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.
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.
sid schrieb: > An PB3 und 4 hängen TX und RX; Ich würde mal vermuten, beim Nano hängt noch ein MAX202 dazwischen.
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.
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.
Nicht schön, nicht teuer, aber hilfreich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.