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
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 ...
sollten doch angehängt sein? zumindest wird es bei mir dort angezeigt. Stefan
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
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
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 ;-)
Ääähhhmmmm, wieso liegt denn der RESET Pin frei in der Luft ? Sorry ist mir jetzt erst von den Schuppen gefallen :-P
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
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.