Forum: Mikrocontroller und Digitale Elektronik Fehler im Schaltplan (Fehlendes Bauteil am Attiny25?)


von Stefan S. (shirano)


Angehängte Dateien:

Lesenswert?

Ich habe ein kleines Problem mit einer Platine, welche ich mir ätzen 
lassen habe. Ich bastel nebenbei an einer kleinen Platine eines 
Kühlschranktür alarms. Dieser soll aussen am Gehäuse angebracht werden 
und mittels Hallsensor einen Magneten an der Tür detektieren. Magnet da 
- Tür zu, Magnet weg Tür auf. Eigentlich ein einfaches Funktionsprinzip. 
Ich hatte mir vorher alles auf dem Steckbrett zusammengebaut und es 
funktionierte auch sehr gut.

Nun habe ich mir in fummeliger Arbeit mein erstes Platinendesign 
zusammengezimmert und ätzen lassen. (man muss dazu sagen ich habe weder 
irgendetwas in Sachen Elektrotechnik gelernt und daher sieht das Design 
vermutlich sehr suboptimal aus) Nachdem ich nun einige Teile aufgelötet 
habe wollte ich kurz die Schaltung ausprobieren bevor ich den Hallsensor 
auflöten. ich habe dann  aber feststellen müssen, dass der Tiny immer 
wieder neustartet sobald ich den Anschluss des Buzzers auf High (zb. Pin 
6, PB1 am Tiny)  setze. Der Buzzer ist über zwei Pins am Tiny, da ich 
zur noch nicht genau wusste ob ich einen Buzzer mit integriertem Treiber 
auflöte oder einen ohne. (Um den ohne Treiber lauter zu bekommen, sollte 
dieser dann abwechselt die Pins auf High/Low gesetzt werden).

Lange Rede kurzer Sinn mit aufgelötetem Buzzer (oder auch LED) an diesen 
Pins (5/6) und sobald ich einen der beiden auf high setze, startet der 
Tiny neu. ich finde einfach keinen Kurzschluss oder dergleichen. Hab ich 
einfach nur etwas bei der Beschaltung vergessen, fehlt ein Bauteil, was 
ich aus Unwissenheit vergessen hab? Ich würde mich freuen falls einer 
der Alteingesessenen einmal kurz auf den Schaltplan gucken könnte. Wie 
gesagt ich hab nix dergleichen gelernt und versuche mich grad nebenbei 
etwas einzulesen und denke ich hab einfach irgendetwas übersehen :(

Vielen lieben Dank für jede Hilfe

Stefan

von HildeK (Gast)


Lesenswert?

Stefan Schipp schrieb:
> Ich würde mich freuen falls einer
> der Alteingesessenen einmal kurz auf den Schaltplan gucken könnte.

Dann poste doch mal den Schaltplan ...

von Stefan S. (shirano)


Lesenswert?

sollten doch angehängt sein?

zumindest wird es bei mir dort angezeigt.

Stefan

von HildeK (Gast)


Lesenswert?

Stefan Schipp schrieb:
> sollten doch angehängt sein?
>
> zumindest wird es bei mir dort angezeigt.
>
> Stefan

Das sind Layouts - hier hat kaum einer Lust, mit Reverse-Engineering den 
Schaltplan zurück zu entwickeln.

Beispiel für einen Schaltplan aus dem Wiki:
http://www.mikrocontroller.net/wikifiles/a/a0/ATxMegaStick_revC-p1.png

von gelangweilt (Gast)


Lesenswert?

Hi Stefan,

man sieht nur ein Layout und Fotos deiner Platine. Ein richtiger 
Schaltplan wäre wohl angebracht, um Fehler in der Schaltung ausschließen 
zu können (oder hast du direkt das Layout erstellt?).


Gruß

Viktor

von keks (Gast)


Lesenswert?

Stefan Schipp schrieb:
> sollten doch angehängt sein?
>
> zumindest wird es bei mir dort angezeigt.
>
> Stefan

Du hast das Platinenlayout angehängt.
So wie ich das sehe hast Du einen 4,7µF Kondensator vor dem 
Spannungsregler, ich sehe aber keinen 100µF Stützkondensator an der 
Spannungsversorgung ?
Welche Spannungsversorgung nimmst Du und was ist mit Brownout usw. usf. 
?
Also mal komplett posten:
1. Schaltplan (NICHT das Layout)
2. Programm (komplett)
3. Versorgung
4. Gibt es Unterchiede zwischen Steckbrettaufbau und jetziger Platine ?
Dann sehen wir weiter ;-)

von keks (Gast)


Lesenswert?

Ääähhhmmmm,
wieso liegt denn der RESET Pin frei in der Luft ?
Sorry ist mir jetzt erst von den Schuppen gefallen :-P

von Bastian K. (b0b45)


Lesenswert?

Hi,

du solltest Pin1 mit ~10k auf Vcc legen.

Btw: könnte man bei dem Tiny mittels internen Pullup-Widerstand den 
Reset-Pegel auf high legen?

MfG B0B

von Stefan S. (shirano)


Lesenswert?

gelangweilt schrieb:
> um Fehler in der Schaltung ausschließen
> zu können (oder hast du direkt das Layout erstellt?).

ähm ja, ich habe anfangs versucht mir in Eagle einen Schaltplan zu 
erstellen bin dann  aber irgendwie daran gescheitert nicht meine simplen 
Bauteile zu finden bzw. ich nicht wusste welches Bauteil äquivelent dazu 
zu verwenden wäre. Also hab ich drauf los gebastelt am Steckbrett und 
versucht mich zumindest in die, für mich als Leihen wichtigsten 
Dokumente (Hallsensor, Attiny und den Voltage Regulator LP2950) 
einzulesen. Als alles im groben funktionierte, probierte ich mich am 
Design.

keks schrieb:
> 1. Schaltplan (NICHT das Layout)
> 2. Programm (komplett)
> 3. Versorgung
> 4. Gibt es Unterchiede zwischen Steckbrettaufbau und jetziger Platine ?

1. ich versuche grade mal alles in einen Schaltplan zu verpacken.

2. das Programm reicht recht simple in Arduino programmiert:
1
const int Pin0 = 0;
2
const int Pin1 = 1;
3
const int LED = 4;
4
5
void setup() {
6
  // initialize the digital pins as an output.
7
  pinMode(Pin0, OUTPUT);
8
  pinMode(Pin1, OUTPUT);
9
  pinMode(LED, OUTPUT);
10
}
11
12
void loop() {
13
  digitalWrite(LED, HIGH);
14
  delay(100);                
15
  digitalWrite(LED, LOW);   
16
  delay(100);               
17
  digitalWrite(LED, HIGH);
18
  delay(100);                  
19
  digitalWrite(LED, LOW);   
20
  delay(100);                 
21
  digitalWrite(LED, HIGH);   
22
  delay(1000);              
23
  
24
  while(1)
25
  {
26
    digitalWrite(Pin1, HIGH);    
27
    digitalWrite(Pin0, LOW);   
28
  }
29
}
Die LED blinkt 2 x kurz auf und bleibt anschliessend an. Dann wird einer 
der besagten Pins auf High gesetzt und der Buzzer fiepst ganz kurz auf 
bevor alles wieder von vorn beginnt. Auf einem Steckbrett fieppst das 
halt bis ich den Stecker ziehe. Das ist ein kurzes auf das Nötigste 
reduzierte Script um Programmierprobleme für diesen Test 
auszuschliessen.

3. Versorgung geht über einen 9V Block und anschliessender Voltage 
Regulator (LP2950) auf 5V.

Hmmm und der Resetpin muss verkabelt sein auch wenn ich Ihn für nix 
nutzen will?

Liebe Grüsse
Stefan

P.S: Wie gesagt den Schaltplan liefer ich gleich nach wenn ich hier 
vorrankomme und ihn Heut noch fertig bekomme.

von Thomas E. (thomase)


Lesenswert?

keks schrieb:
> wieso liegt denn der RESET Pin frei in der Luft ?
Der hängt nicht frei in der Luft, sondern hat intern einen Pullup. Das 
reicht normalerweise auch.
In der entsprechenden AN steht zwar drin, daß man zur Sicherheit einen 
externen Pullup anschliessen kann, aber zwingend ist das nicht. Schadet 
aber eben auch nicht und ein 10K Widerstand kostet fast nichts. Aber es 
ist unwahrscheinlich, daß es daran liegt.

Stefan Schipp schrieb:
> 3. Versorgung geht über einen 9V Block und anschliessender Voltage
> Regulator (LP2950) auf 5V.
Das ist die schlechteste Variante einer Batteriestromversorgung.
Ein 9V-Block hat eine vergleichsweise geringe Kapazität und bei voller 
Spannung werden 4V am Spannungsregler verbraten.
Den kannst du auf 6V leerlutschen, damit regelt der 2950 zwar noch, aber 
der Innenwiderstand steigt. Damit wird bei den hohen Strömen, die der 
Buzzer zieht, eine Unterspannung erreicht, die den Controller resetten 
kann.
Und dann geht es wieder von vorne los.
Besser sind 2 Mignonzellen. Aber dann hast du wahrscheinlich ein Problem 
mit dem Hallsensor, der 5V möchte. Den könntest du aber auch durch einen 
Reedkontakt ersetzen, was in Bezug auf den Sleepmode noch einen 
Riesenvorteil hätte.
Häng da mal ein Netzteil ran. Wenn es damit funktioniert, hast du den 
Fehler gefunden.

Auf deiner Platine ist zwar ein 100nF-Kondensator drauf. Der ist aber 
arg weit entfernt vom Controller. Löte da mal einen direkt dran, 
diagonal unter dem Chip. Daran könnte es auch noch liegen.

mfg.

von Stefan S. (shirano)


Angehängte Dateien:

Lesenswert?

Thomas Eckmann schrieb:
> Auf deiner Platine ist zwar ein 100nF-Kondensator drauf. Der ist aber
> arg weit entfernt vom Controller. Löte da mal einen direkt dran,
> diagonal unter dem Chip. Daran könnte es auch noch liegen.

Der tipp scheint schon mal recht gut zu klappen. Wenn ich zuvor PIN 5&6 
mit einer LED belegt hatte, leuchtete diese Kurz auf und das System 
startete neu. (Quick & Dirty test mit einem Verbraucher). Mit einem 
Kondensator direct an VCC/GND des Tiny läuft es schon etwas runder er 
stürzt nicht immer ab sondern nur sporadisch alle 8-10 Tests, kann man 
dieses Verhalten noch anderweitig positiv beeinflussen, anderer 
Kerko/Elko mit höherer Kapaztät? (der 100nF Kondensator liegt doch aber 
sehr nahe am VCC-Pin, ich finde ihn gar nicht sooo weit weg ;))

Die Sache mit der Versorgung der Platine hat mir echt schon einige 
unruhige Nächte beschert. Es war erst ein 2xAA Gespann geplant und dafür 
ein Allegra 1120 Hall Sensor der schon ab 2.7V funktioniert, aber ein 
Piezo Buzzer auf 2.7 Volt? Den hört man echt sehr schwer und wenn das 
ganze dann noch in einem Gehäuse steckt in einem Raum mit 15 
Kühlschränken und einer dicken Klimaanlage, kann man ihn gar nicht mehr 
hören.

Dafür habe ich versucht dies über das uC Programm zu puffern. Nach 
Öffnen mit der LED blinken (alle 5sec) und falls die Tür nach einer min. 
nicht wieder zu ist - Buzzern im 5sec Takt (Kein permanentes buzzern). 
Ist die Tür zu, geht der uC in den Sleepmode und wird erst wieder über 
INT geweckt.

Anbei nochmal kurz ein schneller Schaltplan. Hoffentlich halbwegs 
verwendbar und nicht mit zu vielen Fehlern behaftet.

Schon einmal vielen Dank für den ersten Tipp

Stefan

von Thomas E. (thomase)


Lesenswert?

Stefan Schipp schrieb:
> (der 100nF Kondensator liegt doch aber
> sehr nahe am VCC-Pin, ich finde ihn gar nicht sooo weit weg ;))
Der Chip schon.
Die Chiphersteller sind sogar dazu übergegangen die Spannungsversorgung 
nicht mehr diagonal anzuordnen, der Tiny 25 ist einer der letzten 
Vertreter dieser Spezies, damit man u.a. den Stützkondensator noch näher 
dran bringen kann und große Chips werden von allen vier Seiten versorgt.

Guck dir mal eine PC-Platine an. Da sind im und unter dem CPU-Sockel 
massenhaft Kondensatoren drin.

mfg.

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.