eine Spannung messen 1,5v am Atmega8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • eine Spannung messen 1,5v am Atmega8

      Hallo liebe Bascom Gemeinde.Ich versuche gerade am Atmega8 die Spannung einer normalen AAA Batterie zu messen (1,5) und am Display anzeigen lassem.Aber ich steh auf den Schlauch.
      Ich bin mir nicht im klaren wie die Schaltung sein soll und wie ich das in Bascom formuieren kann.
      Das Display funktioniert soweit aber wie mache ich den Rest.Ich komme mit den ADC nicht so recht klar.
      Darum bitte ich um Hilfe.Ein Beispiel Code, und wie ich das beschalten muss wären mir recht hilfreich.
      Danke!
    • Pluto25 schrieb:

      Den Minuspol auf Gnd den Plus auf eine freien Pin 23=ADC0 bis Pin 28=ADC5
      Im Code
      Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Aref ca 2,6V
      Spannung_dig=Getadc(0...5) 'je nach pin
      Danach ist der Wert von Spannung_dig Betriebspannung/1024 'ca 2,6V/1024
      Noch berechnen und ausgeben
      AVCC bedeutet Referenzspannung ist gleich der Versorgungsspannung vom Controller.
      Die Referenzspannung entspricht dem höchsten AD-Wert und das sind 1023.
    • Pluto25 schrieb:

      Vor ner Weile hatte ich einen Tinny dazu gebraucht
      Config Adc = Single , Prescaler = Auto , Reference = External '3,072mV per Poti -
      Also davon rate ich eigentlich eher ab.
      Selbst mit angepasstem Stellbereich ist diese Spannung mit Spindeltrimmer schwer einstellbar.
      Das ganze Konstrukt aus R und Trimmer ist nicht temperaturkompensiert, wodurch die genaue Einstellerei ad absurdum geführt wird.
      Also entweder eine hochgenaue Spannungsquelle anschließen, oder die internen Möglichkeiten nutzen.

      Bei AVCC und 5V Betrieb ist bei 10 Bit Auflösung des ADC eine Einheit knapp 5mV. Damit kann man hinreichend genau Batterien im 1,5V, 3V und 3,6V Segment messen.

      Auf einen 1K Eingangswiderstand würde ich allerdings nicht verzichten und die Batterie nicht direkt an einen PIN anschließen.
      Code first, think later - Natural programmer :D
    • Mitch64 schrieb:

      höchsten AD-Wert und das sind 1023
      Somit haben meine Berechnungen eine Fehler von 1 Promille, bzw die Vorspannung müßte 3,069V sein.
      Der ADC kennt zwar 1024 Schritte aber der erste ist 0. Mit 1024 läßt sich einfacher rechnen und die Referenzen intern / Betriebsspannung sind weniger präzise. Dadurch fällt es meißt nicht auf das es nicht ganz richtig ist. a_71_f9c57bbe
    • Probiere mal 100nF am ADC Pin gegen Masse und Vorwiderstand ~1K zur Batteriemessung.
      ADC-GND und ADC-VCC gut vom Digitalteil abkoppeln in der Versorgung!
      100nF möglichst direkt zwischen Pins ADC-GND und ADC-VCC

      Im Übrigen solltest du mal deine Beschaltung und dein Programm zeigen, damit man eine Vorstellung bekommt.
      Wie soll man sonst vernünftig helfen können?
      Code first, think later - Natural programmer :D
    • Roli schrieb:

      schwanken die Angaben stark
      Am pin 21 muß auch ein Kondensator ca 100nF nach gnd. Falls dort ein Spannungsteiler (poti) ist sollte dies von Avcc(pin 20) seine Spannung beziehen (nicht von der nächstbesten Leitung wo vielleich noch was geschaltet wird -LED/Relais) Die Avcc muß ihren eigenen Kondensator zu pin Pin22 (Gnd) und sollte über eine Induktivität (ca 100µH) mit Vcc verbunden sein.
      Beim meinem Tinny hängen am Adc-Pin noch 10µF nach Gnd und 15KOhm zu Vcc (Ein Relikt vorheriger Verwendung) Aber damit sind die Werte sehr ruhig.
      Die Kontakte der Batt Aufnahme könnten auch Schuld sein. (Taschenlampenklopfen)

      six1 schrieb:

      Im Übrigen solltest du mal deine Beschaltung und dein Programm zeigen, damit man eine Vorstellung bekommt.
      Ist immer ne gute Idee. die darauf folgenden Kommentare zeigen wie man's besser (manchmal auch nicht besser ) ;) machen könnte.
    • BASCOM-Quellcode

      1. $regfile ="m8def.dat"
      2. Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , _
      3. Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
      4. Config Lcd = 16 * 2
      5. Dim D As Integer
      6. Dim U As Single
      7. Config Adc = Single , Prescaler = auto , Reference = avcc
      8. Start Adc
      9. dim R as Long
      10. dim adc_strr as String * 20
      11. ddrc =&b001000000
      12. cls
      13. locate 1,1
      14. lcd "Test"
      15. cursor off noblink
      16. wait 5
      17. cls
      18. Do
      19. D = getadc(0)
      20. U = D
      21. U = U /1024
      22. U = U*4.1
      23. locate 1,1
      24. lcd "Voltage:"
      25. locate 2,2
      26. lcd U
      27. waitms 2000
      28. Loop
      29. End
      Alles anzeigen
      Ehrlich gesagt weis ich jetzt nicht Wie ich so eine Schaltung zeichnen soll.Hab jetzt mal mit den 100nF rumprobiert so wie ihr es gesatg habt, aber da ändert sich nix.Ich glaub das ist zu hoch für mich ^^
    • Da sind 4,1V am Usb? Nimm mal eine andere Spannungsquelle Vielleicht ne Litiumzelle.
      Sind die werte denn plausiebel? (Ähnlich bleibend oder wild von 0 bis4000)
      Da u ein Single ist werden viele Stellen ausgegeben - mit springenden Komma?
      Zeichen - Beschreiben reicht in dem Fall auch. Der Pluspol an PinC.0=23?
      3x100n ? an 22-20, 21-22, 8-7,
      An Pin 20 und 21 läßt sich die Betriebsspannung messen?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pluto25 ()

    • ja ist am usb vom pc.Hab mal eine Batterie angeschlossen , damit läuft es stabiler.Aber ich seh schon ich komme nicht weiter.Ich kann weder einen gescheiten Schaltplan Zeichnen noch weis ich ob das Programm dann das auch macht was ich will :)
      Besser ich lass das sein und probier andere Sachen.
      Danke für eure hilfe :thumbup: