PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Voltage Conversion und 5V am µC-Input Pin...



BlackTuareg
09.07.2006, 14:38
Hallo Leute!
Hab hier ein - wie ich finde seltsames Problem:
Ich hab ein Beschleunigungssensor der mir auf den MISO an meinen ATMEGA32 seine Daten rausreicht. Der SPI-Bus funkioniert auch soweit ganz gut. Das Problem ist: Der Sensor vertrægt nur max. 3.6V, aber irgendwie hab ich am MISO des µC 5V anliegen, obwohl der MISO-Pin auf DDR=0 gestellt ist. Zusætzlich hab ich noch versucht den internen Pullup mit PortX=0 aus zustellen. Trotz aller Bemuehungen habe ich aber letztendlich immer noch 5V am Ausgang des Beschleunigungssensors... Bis jetzt hab mich der hæsslichen Løsung beholfen und den Input-Pin des µC mit einem 3kOhm nach GND gezogen...
Irgendwie hab ich den Verdacht, dass ich irgendeine Einstellung am Microcontroller uebersehen habe... ?

Vielen Dank schon mal,
Sebi

BASTIUniversal
09.07.2006, 14:55
Naja, du solltest dazu sagen mit welchen Spannungen du das ganze Betreibst!
Ich kann dir zumindest schonmal sagen das der Mega32 keinerlei Einstellmöglichkeiten hat, die die Eingangsspannung an einem Eingang betreffen...das hängt immer von dem Gerät ab, welches am Eingang hängt!

shaun
09.07.2006, 15:32
Naja er hat einen internen Pullup, der aber IMHO inaktiv ist, sobald man dem als Eingang geschalteten (DDRxn=0) Pin eine 0 mitgibt (PORTxn=0). Wie sieht denn die Spannung ohne den Sensor aus? Auch 5V? Wie weit lässt sie sich mit den 3k herunterziehen? Eigentlich dürften da auch mit Pull-Up nur Microampere fliessen. Wird der mega32 noch über den SPI In-Circuit programmiert oder wie der mega64 schon über die Pins vom 1. USART? Nicht dass Dein Programmiergerät dransteckt und den Pegel verursacht...

BlackTuareg
09.07.2006, 18:33
Guten Abend!
Ja, hab ich im Eifer des Gefechts ganz vergessen. Der Beschleunigungssensor hængt an einem ATMEGA32, der mit 5V betrieben wird. Ich dachte eigentlich auch dass der interne Pullup inaktiv sein muesste. Auch ohne Sensor hab ich 5V am Eingang messen kønnen. Mit den 3k konnte ich den Pegel bis auch 3.4V runter ziehen, und damit zumindest den Sensor vor dem Tod bewahren. Es fliesst dann wohl dauernd ein Strom von etw. mehr als 1mA, aber das geht ja eigentlich.
Das mit dem Programmer ist eine gute Idee: Ja der ATMEGA32 wird noch ueber SPI programmiert. Allerdings verwende ich als Programmer das STK500 von ATMEL, ich hoffe nicht dass da dann der MISO hochgehalten wird... mhh. Werde das aber morgen gleich mal nachmessen indem ich den ISP-Stecker mal abziehe.

Aber schon mal vielen Dank fuer die Ideen.

Schønen Sonntag noch,
Sebi

BlackTuareg
10.07.2006, 16:06
Hallo Leute,
so hab nochmal nachgemessen: tatsæchlich, wenn ich den ISP-Stecker, der ja am SPI-Bus des Programmers hængt, abstecke, geht der Pegel auf 0V runter und es ist so wie ich mir das vorgestellt habe.
Allerdings kann ich mir irgendwie nicht vorstellen, dass ich jetzt jedes Mal das ISP-Kabel abziehen muss...?

Danke fuer eure Hilfe derweilen,
Sebi

BASTIUniversal
10.07.2006, 16:51
Hi!
Wenn ich irgendwas am Hardware SPI Port (der ja auch der ISP-Port ist) hängen hab zieh ich das Kabel immer ab...das Gerät das dran hängt könnte den Flash vorgang stören, oder eben das ISP-Kabel das Gerät.
Ausserdem ist es doch kein großer Aufwand das Kabel abzuziehen, oder?