HILFEE!!!
Ich habe 10 nagelneue ATmega8 von Reichelt bekommen. Nachdem ich den
ersten programmiert hatte und die Schaltung testen wollte, spielte diese
plötzlich verrückt. Die angeschlossenen Schalter schienen sich selbst zu
betätigen.
Soweit so gut. Ich habe stundenlang nach dem Fehler gesucht und
schließlich eine Minimalst-Schaltung aufgebaut, die ich auch auf ALLEN
ATmega8 ausprobiert habe.
Ich konnte es kaum glauben. Sobald ich mit der Hand auch nur annähernd
in die Nähe des AVR kam (5-10 cm), schienen sich die Schaltereingänge
von selbst zu betätigen (siehe Bild).
Hier der verwendete Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 16
$swstack = 20
$framesize = 40
Config Pind.0 = Input
Config Pind.1 = Input
Config Portd.2 = Output 'LED grün
Config Portd.3 = Output 'LED gelb
Config Portd.4 = Output 'LED rot
Config Debounce = 40
Set Pind.0
Set Pind.1
Main:
Do
Debounce Pind.0 , 0 , Switch
Debounce Pind.1 , 0 , Switch
Loop
Switch:
Toggle Portd.2
Toggle Portd.3
Toggle Portd.4
Goto Main
End
Ich habe das ganze mit internem Pullup, mit externen 10k Pullup und auch
ohne Pullups probiert (Debounce entsprechend angepasst, versteht sich).
Was passiert hier? Ich kann mir nicht vorstellen, dass alle Chips defekt
sind. Ich habe auch verschiedene Ports ausprobiert. Es ist vollkommen
egal, wo ich die Schalter und die LEDs anschliesse. Der Effekt ist immer
der gleiche.
Vielen Dank im Voraus.
Liebe Grüße,
Kai
Auf dem bild sind aber einige fehler in der minialschaltung zu sehen.
1) Der abblock Kerko muss so nah wie moglich an den AVR
2) Der RESET mit muss einem Pull-up gegen Vcc versehen werden.
3) Nimm in deinem code den Sprungpunkt >>Main<< weg und das >>goto
Main<< ersetzt du durch >>return<<. Der debounce befehl sprint einen Sub
an und der muss mit return beendet werden.
Veruch das mal
Gruß
Tobi
Danke zunächst mal für die Tips.
Ich habe nun folgende Änderungen gemacht:
10k Pullup RST-5V
100n KerKo direkt an Pin7 und Pin8
Code:
Do
Debounce Pind.0 , 1 , Switch
Debounce Pind.1 , 1 , Switch
Loop
Switch:
Toggle Portd.2
Toggle Portd.3
Toggle Portd.4
Return
Immer noch das gleiche. Sobald ich in die Nähe des µC komme, beginnt die
Switch-Schleife. Nehme ich die Hand wieder weg, stoppt sie wieder.
nein ich meinte Pullups an dei Eingänge, sonst ist doch klar das die
eingänge toggeln. Oder man schaltet die internen Pullupds dafür an, ich
kenn mich mit Bascom nicht aus aber schaut für mich nicht so aus als ob
die an sind...
Ich bin eben mal mit einem Wanzensuchgerät (HF-Detector) durch die
Wohnung und habe nach möglichen Störquellen gesucht. Außer dem Üblichen
(Telefone, usw.) habe ich festgestellt, dass ich selbst der Sender bin -
kein Witz. Sobald ich die Antenne des Detectors an den Körper halte,
Vollausschlag.
Ich selbst habe aber keinerlei Elektronik, Sender, Funkschlüssel,
Transponder, etc. an mir getragen.
Danach habe ich die Spannung an meinem Händen gemessen und kam immerhin
auf 0,02 bis 0,05 Volt.
Dass am Körper eine gewisse Spannung zu messen ist, wusste ich. Aber
dass ich selbst "sende", also ein HF-Signal ausstrahle, das war mir neu.
Könnte es demnach sein, dass ich als "Sender" die Schaltung wirklich so
stark beeinflussen kann?
Wie gesagt, sobald ich der Schaltung auf etwa 10cm nahe komme, löst der
Toggle aus.
Gast? schrieb:
> Hatte der Atmega nicht immer noch VCC und GND-Pins auf der> gegenüberliegenden Seite?
Ja, hat er. Die sind aber nur für die ADC-Ports gedacht (PIN 26-23).
Wenn die ADCs nicht angeschlossen werden, braucht man die beiden nicht
anzuschliessen.
Kai P. schrieb:
> Gast? schrieb:>> Hatte der Atmega nicht immer noch VCC und GND-Pins auf der>> gegenüberliegenden Seite?>> Ja, hat er. Die sind aber nur für die ADC-Ports gedacht (PIN 26-23).> Wenn die ADCs nicht angeschlossen werden, braucht man die beiden nicht> anzuschliessen.
Sicher? Im Datenblatt steht:
"AVCC is the supply voltage pin for the A/D Converter, Port C (3..0),
and ADC (7..6). It should be externally connected to VCC, even if the
ADC is not used. If the ADC is used, it should be connected to VCC
through a low-pass filter. Note that Port C (5..4) use digital supply
voltage, VCC.
Bevor du dich über weitere seltsame Phänomene wunderst, würde ich auch
AVCC und den zweiten GND anschließen.