- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 9 von 9

Thema: Beispielcode: stromsparender Datalogger mit Butterfly (LCD)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.03.2004
    Beiträge
    185

    Beispielcode: stromsparender Datalogger mit Butterfly (LCD)

    Ich habe mal den AVR butterfly IAR-C Code
    http://www.atmel.com/dyn/products/to...p?tool_id=3146
    and die GCC-Portierung
    http://www.siwawi.arubi.uni-kl.de/avr_projects/#bf_app
    genommen und das ganze nach Bascom übertragen und um einen Datalogger erweitert.

    Der Butterfly kommt bei 3V mit 8µA (ohne LCD) bis 25µA (mit LCD, das sind 220mAh pro Jahr) aus und ist damit mit Abstand der Rekordhalter unter den Atmegas im Batteriebetrieb.

    Der Original C-Code belegt 99% des Speichers (14300 Byte + 2048 Byte for the Bootloader). Nach tausend Codezeilen ist es sicher: Bascom erzeugt etwa 50% bis 100% mehr Hex-Code als GCC. Die Umsetzung wurde möglich, durch das nette Bascom-Feature Assembler und Basic zu mischen.

    Nach konsequenter Straffung der AVR-Algorithmen blieb noch Platz für einen 4MBit Datalogger. Die Module music und vcard habe ich nicht übertragen.
    Der Bascom Hex-Code ist kleiner als 8KByte, womit für eigene Erweiterungen genügend Platz bleibt.

    Der Code ist gut kommentiert aber länger als die zulässige Nachrichenlänge. Ich hab die Datei hochgeladen:
    Code:
    ***************************************************************************
    'Datalogger software for AVR Butterfly demo board.
    '
    'This code based on the ATMEL sample code for the Butterfly (for IAR-C)
    'parts not implemented (from IAR-C sample code): music and vcard
    '
    'BASCOM code with:
    '    State machine menu (over 100 entries)
    '    Clock (time+date)
    '    Datalogger with 4Mbit dataflash
    '       32768 Logs at 16 Byte
    '       free intervall from 1 minute to 24 hours
    '       restore old datalogger counter after a reset
    '       formated print of datalogs at 9600 Baud:
    '          HH:MM:SS DD.MM.YY ADC1[RAW] ADC2[RAW] ADC3[RAW] Temp[°C]
    '    ADC ASM Code for fast conversion 8 times and averaging for better accuracy
    '      Temperature measurements
    '      Light measurements
    '      Voltage readings
    '    LCD interrupt
    '      scrolling text (over 6 chars)
    '      LCD auto power off (timer interrupt)
    '      Adjust LCD contrast
    '    Key interrupt
    '      detect permanent pressed key (interrupt)
    '      Key Click (Speaker)
    '    Main Loop with power save mode (loop with 1sec and 63ms)
    '
    'very low power consumption: 8µA LCD OFF
    '                           25µA LCD ON  (220mAh a year !!!)
    '                           40µA scrolling text
    '
    'hex code length: <8 KByte (under 50% of 16K memory)
    '
    'Attention! The dataflash actice current peak while a erase is 35mA (<12ms).
    'If you use a external battery, the schottky diode BAT54C (Vcc_ext) has a
    'forward voltage of 0,4V-0,5V. The dataflash needs min 2,5V.
    ' => The minimal external voltage with Datalogger is 3,0V!!!!
    'If the external voltage sink under 3V the SPI-Bus reads only &HFF.
    '
    'code testet with Bascom 1.11.8.1 and 1.11.8.3
    'workaround for following Bascom AVR-Register-Bugs (Atmega169):
    '    Config Spi = ...
    '    Config Clock = Soft
    '    Powersave
    '    Clockdivison
    '***************************************************************************
    
    $regfile = "m169def.dat"
    
    $framesize = 32                                             'Stack
    $swstack = 32
    $hwstack = 64
    hier mal die Print-Ausgabe im Format:
    HH:MM:SS DD.MM.YY ADC1[RAW] ADC2[RAW] ADC3[RAW] Temp[°C]
    400: 15:50:0 1.7.6 529 0 494 +23C
    401: 16:0:0 1.7.6 529 0 496 +23C
    402: 16:10:0 1.7.6 524 0 492 +24C
    403: 16:20:0 1.7.6 499 0 370 +26C
    404: 16:30:0 1.7.6 476 0 139 +28C
    405: 16:40:0 1.7.6 467 0 146 +28C
    406: 16:50:0 1.7.6 464 0 152 +29C
    407: 17:0:0 1.7.6 466 0 161 +28C
    408: 17:10:0 1.7.6 489 0 199 +26C
    409: 17:20:0 1.7.6 511 0 528 +25C
    410: 17:30:0 1.7.6 510 0 212 +25C
    Angehängte Dateien Angehängte Dateien

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen