Datum: 14.05.2008 22:42
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
Datum: 15.05.2008 01:46
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!
Datum: 15.05.2008 12:04
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 Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel
