Hallo, ich will einen Mega8L zum Stromsparen bewegen (weil er sich von Batterie ernähren soll). Aufwecken soll ihn ein Timer und ein externer INT. Für den Timer verwende ich den Timer2 mit externem 32khz Quarz mit den internen, eingeschalteten Cs. 1) Der externe INT muss zwingen gegen Masse ziehen, um den Mega aufwecken zu können, oder? 2) Der LowLevel muss auch mehr als 1 µs anliegen (so lese ich jedenfalls das Datenblatt). Ich habe aber keine Ahnung, wie lange der Puls ist (wird generiert von einem Reed Relais). 3) Das ReedRelais wird prellen. Das kann ich im normalen Betrieb entprellen. Wenn der Atmega aber durch das ReedRelais geweckt wird, braucht er ja etliche ms, bis er wieder normal läuft. Das heißt doch, dass mir der Impuls, der ihn geweckt hat, verloren geht...? 4) Was passiert mit den IO Pins? Die werden gegen Masse geclampt, oder? Wenn ein externes IC (konkret der RFM12-Funkchip) Signale an den Mega8 schickt, dann clampt dieser sie gegen GND? 4a) Was mache ich denn mit dem RFM12? Kann ich den auch in einen Standby schicken und wieder wecken, wenn ich was senden will? 5) Ich will auch noch die Batteriespannung überwachen. Am billigsten erscheint mit der Comparator: Ich teile VCC herunter, sodass ich sie gegen die interne VRef vergleichen kann. Oder frisst mir das zuviel Strom? Der Eingangspin vom AD Comparator sollte einen Eingangswiderstand in der Größenordnung vom ADC-Widerstand (50 Meg glaub ich) haben, oder? Damit wäre der Stromverbrauch durch den SpgTeiler ja zu vernachlässigen. Wenn im Standby die Pins aber gegen Masse gezogen werden, dann frisst mein Spgteiler ja dauernd kostbaren Strom... Gruß Christian
Mit PCINT kann auch flankenempfindlich aufgeweckt werden. Ein Reedrelais liefert Impulse >1ms. Externe Spannungen mißt man am besten mit dem ADC. Was "geclampt" ist, weiß ich nicht.
Mit geclampt meinte ich "mittels Clamp-Diode gegen Masse gezogen" :) Im Datenblatt steht aber, dass ich in den Schlafmodi nur den Pegelsensitiven INT nutzen kann, weil die Flanken durch die I/O Clock einsynchronisiert und dann erkannt werden würden.
>Im Datenblatt steht aber...
Stimmt. PCINT gibt es erst seit Mega48/88/168. Dennoch reicht ein
Relaisschaltimpuls an INT0/1 zum Aufwecken.
Ja. Ein Komparator ist am Guenstigsten, auch in Sachen Stomverbrauch. Es gibt da nicht ganz schnelle Komparatoren : zB TexasInstruments TLV3701, nano power 0.56uA/channel, offset 250uV, drift 3uV/K, single comparator, Supply 2.5 to 16V, input bias current 80pA, pushpull output, common mode Vss-0.1 to Vcc+5, reverse battery protection up to 18V, large signal response 40us, case SO8, 1.30$ @10. Ein spannungsteiler muss matuerlich genuegend hochohmig sein. Bedenke, dass 1MOhm schon 3uA verbraucht. Du hast uebrigens vergesen zu erwaehnen, dass es sich lohnt die Spannung abzusenken. auf 2.7V, oder 1.8V, falls die Peripherie das hergibt. Ich hab da Switcher .. den TPS62202 (1.8V), den TPS62056 (3.3V), den TPS62102 (var)
Um die Spannung zu messen brauchst Du keine extra Beschaltung am Mega8 (Ausser C an Aref usw). Einfach die Referenz auf Avcc stellen (an dem hängt ja deine Batterie) und dann misst Du die interne Bandgap-Referenz. Daraus kannst Du dir dann die Versorgung ausrechnen ganz ohne Spannungsteiler.
@Philipp: Wie mache ich denn das? Ich kann doch nur eine Referenzquelle zur Zeit auswählen, also entweder intern oder AVCC, oder?
Die Idee war entweder die Speisung hinunterzuteilen, an AD0 oder so anzuhaengen und mit der Bandgap als Referenz zu messen. Anders rum geht es auch, da der Mega8 die Bandgap als Input waehlen kann. Mux=1110 misst die Bandgap. Wenn man dann die Speisung als Referenz hat passt es dann auch.
Genau, das hat den Vorteil, dass man keinen Pin verliert und auch keinen Spannungsteiler benötigt.
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.