www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit PD0 - ATMega128


Autor: Florian Koch (fkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,
leider habe ich unter den vielen Beiträgen keine Lösung zu meinem
Problem gefunden, deshalb schildere ich nun mal die
folgende Situation:

Ein ATMega128 treibt bei mir über 2 MC1413 insgesamt 12 12V-Relais.
Die Steuerpins sind Layoutbedingt auf verschiedene Ports verteilt, nur 
einer davon liegt auf Port D, nämlich PD0. Alle anderen Pins an diesem 
Port sind als Eingänge geschaltet. Steuere ich die Relais nun an, so 
funktioniert alles blendend, nur PD0 hat im High-Zustand anstelle der 5 
nur ~1V zu bieten (Strom nur einige µA), dementsprechend wird das 
zugehörige Relais nicht angesteuert. Unterbreche ich nun die Leiterbahn 
von PD0 zum 1413, so scheint alles in Ordnung zu sein, es liegen im 
High-Zustand 5V an, verbinde ich sie wieder habe ich das gleiche Problem 
wie vorher. Die Leiterbahnverbindung hat einen Widerstand von <0,3 Ohm, 
daran kann es also nicht liegen (gemessen zwischen Pin AtmegA / Pin 
MC1413). Zu den benachbarten Pins, Vcc und GND hat PD0 keine 
niederohmige Verbindung. Verbinde ich den Eingangspin des MC1413 mit 
einem anderen PortD-Portpin und steuere diesen als Ausgang an, so 
funktioniert dies einwandfrei. Ist PD0 defekt, oder habe ich einfach 
etwas übersehen?

Quellcode (Auszug)
...
void init_ports(void)
{
   ...
   DDRD |= (1<<DDD0);
   PORTD &= ~(1<<PD0);
   ...
}

...

int main(void)
{
   init_ports();

   PORTD |= (1<<PD0);

   while(1);


   return 0;
}


Florian

Autor: Joan P. (joan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du mal nen anderen mega128 probiert? Manchmal hat man die ja 
mehrfach rumliegen, falls man mal einen zerschießt..

Sonst scheint dort nur noch SPI-Clock oder INT0 zu sein.. nutzt du davon 
etwas zufällig und hast es nur übersehen?

Viel Erfolg!

Autor: Manuel -- (ploana)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mit welcher entwicklungsumgebung und Programmer arbeitest du??

Ein ganz einfacher Test, wenn du mit AVR studio debuggen kannst
( Ich arbeite mit dem AVR Studio4 und einem JTAGICE mkII)

siehe Bild im Datenanhang:
So kannst du den Pin per Hand setzen, oder löschen ...
und du kannst shen ob im DDR auch wirklich das richtige steht!


MfG
manuel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.