Show Posts
Pages: [1] 2 3 ... 7
1  International / Deutsch / Re: Serial besser auswerten? (ParseInt kommt durcheinander) on: August 13, 2014, 10:41:08 am
Okay, ich probiere das oben gleich mal aus.

A)Reicht ein println(letzterWert) oder muss ich print(letzterWert);println(); machen?

B)Ansonsten wenn ich richtig verstehe:
readSerial() packt den SerialBuffer als globale Variable voll bis \n kommt.
ParseSerial zerhackt über strtok nach Trennzeichen.

C)Da ich alles über den Ethernetshield abschicke, bin ich nicht sicher ob vom Timing alles hinhaut.
Generell bekomme ich nur 5 Pakete pro Minute rein. Allerdings kommt es manchmal vor, dass zwei direkt nacheinander reinkommen..

Ich muss wohl mal beobachten, wie es sich dann verhält.
2  International / Deutsch / Serial besser auswerten? (ParseInt kommt durcheinander) on: August 13, 2014, 10:03:36 am
Hallo,
ich hab ausgehend vom ReadASCIIString Tut folgenden Code:
Code:
while (mySerial.available() > 0) {

    // look for the next valid integer in the incoming serial stream:
    nodeget = mySerial.parseInt();
    voltget = mySerial.parseInt();
    tempget = mySerial.parseInt();
    humget = mySerial.parseInt();
   //Ist etwas angekommen?
    if(voltget>0)
    {
     //Strings in Floats umwandeln und korrigieren
      node=nodeget;
      volt=voltget/1000;
      temp=tempget/100;
      hum=humget/100;

      //An php übertragen
       httpRequest();
    }
   
  }

Was ich an mySerial schicke hat folgende Form:
0,4748,2230,5550

Leider kommt nach einer Weile alles durcheinander...

Liegt es daran, dass ich nicht alle Werte als eins übertragen sondern so:
Code:
Serial.print(payload.ident);
    Serial.print(",");
    Serial.print(payload.vcc);
    Serial.print(",");
    Serial.print(payload.temp);
    Serial.print(",");
    Serial.println(payload.feuchte);
??

Ich weiß nicht wie der "puffer" funktioniert bei Seria.available.. .

Reicht es ggf. alles in einem Paket zu senden? Oder muss ich noch ein Start/End-Zeichen einbauen?

Was würdet Ihr empfehlen? Ich hoffe man kann es einigermaßen verstehen..
3  International / Deutsch / Re: Stromzähler überwachen on: August 05, 2014, 06:11:04 am
Mal ganz anderer Ansatz:

Kannst du nicht alle 14 Tage innerhalb der Geschäftszeiten mal anrufen und jemanden bitten dir den Stand durchzugeben?

-Sollte an sich kein Problem sein, du musst ja irgendwie an deinen Zählerstand kommen?
-Wenn Stromdiebe, bekommen sie dann vll schon das umdenken?

Meines Wissens nach kannst du dich mit dem Verdacht auf Stromdiebstahl auch an deinen Energielieferant wenden. Die werden dann jemanden vorbeischicken.
4  International / Deutsch / Atmega328 Power / Sleep mode on: August 04, 2014, 02:02:10 pm
Hi,

ich möchte folgenden Aufbau möglichst lange von Batterie laufen lassen:
Atmega328, Nrf24 Funk, DHT 22

Also ein einfaches Funkthermometer.

Derzeit ohne jegliche optimierungen:
Board ohne Atmega: 750uA
Board mit Atmega@8mhz intern@3,7V, Radio on : 22mA

1)Kann ich meine boards.txt (unten) auf niedrigeren Takt anpassen, sodass millis / sleep noch richtig funktioniert?
Ich meine irgendwo gelesen zu habe, das 2,4,8Mhz mit der Arduino IDE gehen.

2)Ich blicke bei den sleep-modes nicht ganz durch. Welcher kommt in Frage (überhaupt einer?), wenn ich den Atmega ohne externe Hardware wecken möchte. Bspw. alle 5min eine Messreihe senden.

Meine aktuelle boards.txt für den 328@8mhz intern:
Code:
##############################################################

atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328bb.upload.protocol=stk500
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=57600

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard

5  International / Deutsch / Re: Li-Ion Ladespannung / Strom on: August 03, 2014, 12:28:20 pm
@sschultewolter
Wurden für Firmenhandys mal als Ersatz angeschafft. Die Handys gibts inzwischen nicht mehr.
Mehr steckt auch gar nicht dahinter.  smiley-grin

Wegwerfen will ich nichts was noch funktioniert und gut für nen paar 328@outside geeignet wäre.

Zur Zeit aber auch kein Geld reinstecken, daher einfach die Idee selber zu laden.

Erstaunlicherweise sind 4 noch voll und gerademal einer komplett leer und anscheinend tot.

Ich denke ich spiele einfach mal ein bissl mit rum und wenn es sich für mich lohnt, dann hole ich mir nen IC...

@Serenifly

Es geht hier eig. nur ums basteln und probieren. Das dabei einiges passieren kann ist mir bewusst und ich finde es auch gut wenn darauf hingewiesen wird.

Leider reizen mich solche Sachen dann immer noch mehr smiley


Hat jemand ein paar gute Zellen und nen günstigen Lader in der Hinterhand? Würde mich ja schon mal interessieren wo da so die Preise liegen..
6  International / Deutsch / Re: Li-Ion Ladespannung / Strom on: August 03, 2014, 11:36:46 am
Danke für die Leute die hier auf die Sicherheitsrisiken hinweisen. Finde ich auch wichtig und richtig.

Ich möchte dennoch wissen, wie es ohne IC über Spannungs/Strombegrenzung geht.

7  International / Deutsch / Re: Li-Ion Ladespannung / Strom on: August 03, 2014, 11:13:51 am
Jetzt noch extra dafür was kaufen wollte ich mir eig. sparen...

Das 1 C ist also bezogen auf die Akkukapazität 1A Ladestrom je 1Ah.
3,7 V sollte prinzipiell 4,2V Ladespannung entsprechen.


Um eine gewisse Sicherheit einzuhalten würde ich also:
4V Ladespannung und 0,5C Ladestrom versuchen zu erreichen.

Ein Akku hat 1,35Ah => unter 650mA Ladestrom bleiben

Wenn auf 0,1C abgesunken oder 4V erreicht Ladevorgang beenden.
 

Sollte das prinzipiell so passen? Noch auf Temp aufpassen und eben an geeignetem Standort laden...
8  International / Deutsch / Li-Ion Ladespannung / Strom on: August 03, 2014, 09:11:28 am
Hallo,

ich hab eine handvoll Li-Ion 3.7V Handyakkus. Die würde ich gerne für Projekte nutzen.

Ich hab folgende PDF gefunden: http://www.mikrocontroller.net/attachment/108314/LiIon_laden4.pdf

Auszug:
"3,6V Nennspannung  4,1V Ladespannung
3,7V Nennspannung  4,2V Ladespannung
Maximaler Ladestrom: 1C (Ladedauer ~1h)"

Ich verstehe die Angabe des Ladestroms nicht.
1C ~ 0.28 mAh

Mir kommt das sehr wenig vor O.o?

Kann ich die Akkus einfach laden indem ich 4.2 V einstelle und den Strom (per Widerstand) begrenze auf ein gewisses Maß?
Einen IC / Ladegerät wollte ich nicht extra besorgen.
9  International / Deutsch / INT erste Stelle 0 gibt anderen Wert. (022 gibt 18 aus) on: June 18, 2014, 02:38:10 pm
Hi,

ich wundere mich gerade, warum mir mein Code eine 18 ausgibt.

Würde gerne wissen, woran das liegt smiley
Außerdem wüsste ich gerne, ob der Fehler beim Print oder bei der Definition liegt smiley
Code:
int blub = 022;

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(blub);
  delay(500);
}

Ausgabe immer 18
10  International / Deutsch / Re: Atmega328 falsch beschrieben.Wie retten? + 8Mhz kalibrieren? on: June 13, 2014, 04:42:06 pm
WoW!!!

Danke, echt genial!

Einen kleinen Hacken hatte die Sache:
Da ich keinen eigenen Programmer hab, komme ich derzeit nur über Softserial an den Output des zu programmierenden Atmega ran. Da der Uno das Signal gibt ist der ja leider belegt.

Ich hatte aber noch nen CP21xx USB to UART vom Router programmieren da und geht smiley

Auch deine Vorhersage, dass erstmal die Baudrate passen muss war top !

Du solltest daraus ein Tutorial/Howto machen smiley Wäre schade wenn es hier untergeht smiley
Vll gibts ja noch nen Trick wie man das ganze über den Arduino Seriell Monitor rausgibt und es wäre einfach Top.

// Ich hab grad gecheckt, dass ich auch vom Uno einfach den Pin nehmen kann und es im Arduino Monitor sehe smiley
TOOOOOP !

DANKE!
Bin mal gespannt wie jetzt die Werte vom DHT22 aussehen smiley
Code:
X$Y▒X[&▒▒X$Y▒TZ4▒X$Y▒PY 4▒X▒&▒Nb▒▒&▒JJ▒R&▒%ʘ▒6▒▒&▒%Ƙ▒6▒▒▒&▒%�▒6▒▒▒&▒▒&▒▒▒R"▒▒
                                                                             2▒▒                                                                                                                                                                                               "▒▒څ▒"▒ڟ▒2▒▒$"▒ژ2▒▒▒+▒▒+�#▒$+▒▒%▒څ▒#▒▒-Җ#▒,#▒▒#ґ#▒▒▒sڑ#▒,▒▒▒▒#ᒌ
                                                               ▒)ڱf*▒▒
▒2▒▒▒▒▒ȲL)▒1M▒H2▒J1.10947
206     1.09974
205     1.09398
204     1.08494
203     1.08250
202     1.07332
201     1.06737
200     1.05938
199     1.06018
198     1.05168
197     1.04718
196     1.03769
195     1.03403
194     1.02700
193     1.02047
192     1.01253
191     1.00967
190     0.99482
191     1.00241
190     0.99581
191     1.00274
190     0.99560
191     1.00249
190     0.99547
191     1.00271
190     0.99422
191     1.00245
190     0.99401
191     1.00130
190     0.99341
191     1.00022
190     0.99341
191     0.99965
192     1.00220
11  International / Deutsch / Re: solved: Atmega328 falsch beschrieben.Wie retten?Yikes! Invalid device signature on: June 13, 2014, 11:11:20 am
Ich hab:
-mehrere Atmega328 / Attiny85
-Uno R3

Ansonsten aus der Teilekiste:
1x  13BBAS (zumindest sieht es aus wie ein Quartz)
1X  JYEG 35.328 (17*2009)
2x 4.000 Quartz auf HC-SR04 die ich klauen könnte.

Könnte ich einen Atmega328 als Signalgeber programmieren, die genaue Frequenz mit dem Uno messen und dann den Uno als ISP zur Kalibrierung eines zweiten Atmega328 nehmen?

Bringen mir die Quartze etwas?

(Überlege gerade das Thema neu aufzumachen)
12  International / Deutsch / Re: solved: Atmega328 falsch beschrieben.Wie retten?Yikes! Invalid device signature on: June 13, 2014, 08:09:27 am
@jurs Danke für die ausführliche Antwort smiley
@Serenifly ich schau mal ob ich von meinem Vater das Oszi ne Woche bekomme. Leider geht der Artikel anscheinend nicht sehr weit.

@jurs

ist die Art der "Zeitbasis" egal? Braucht es einen speziellen Takt?

Ich hab einen NE555 irgendwo. Könnte der Arduino oder ggf. ein anderer Atmega328 nicht ein solches Signal liefern?

Ich muss -kürz Datenblatt überflogen- dem AvrStudio ne Referenzclock geben, die ich möglichst genau angeben kann und daran kalibriert er dann diesen Wert.(oscal oder so)

Die Temperaturabhängigkeit schaut nach ~1% je 10K aus..

Probleme die ich sehe:
Ich brauche ein sehr gutes Signal und muss dessen Takt gut wissen, damit eine gute "Eichung" bei raus kommt.
Wenn ich da nur 5% rankomme und noch 1%Temp, hab ich ja nicht soviel gewonnen...

Frage:
Könnte man nicht auch einfach die Abweichung vom Blink Sketch mit dem Uno messen und dann rückrechnen auf die Abweichung und wie man Eichen muss?
13  International / Deutsch / Re: solved: Atmega328 falsch beschrieben.Wie retten?Yikes! Invalid device signature on: June 12, 2014, 03:23:13 pm
Ich hätte noch eine Frage bezüglich der internen/externen Taktung.

Problem:
Ich habe den 328p jetzt auf 8 Mhz intern und bekomme über 4800baud Probleme mit der seriellen Kommunikation.
Blink Sketch sieht mir auch min. ~10% daneben aus und DHT22 Lib (http://arduino.cc/playground/Main/DHTLib) haut mir im Vergleich zum Uno auch 27°C anstatt ~23 raus.

Fragen:
1)Ich hab was gelesen vom Kalibrieren, aber das geht nur mit anderer Hardware/Software ? Hab nur Arduino IDE und Uno als ISP derzeit.

2)Werden meine Abweichungen besser, wenn ich intern auf 1Mhz gehe?

3)Angenommen ich hole mir noch 8/16Mhz Quartze. Wären dann noch extrem stromsparende Einstellungen möglich? Ich plane derzeit zwar noch nicht für sowas, aber mal nachfragen. Kann ich mit einem 16Mhz Quartz auch auf 8Mhz "teilen" und so ggf. weniger Spannung fahren? Wieviel Strom frisst so ein Quartz an sich? Vernachlässigbar?

(Soll so in Richtung DHT22/Nrf Außen-Node gehen evtl.)
14  International / Deutsch / Re: Atmega328 falsch beschrieben. Wie retten? (Yikes! Invalid device signature.) on: June 11, 2014, 03:05:31 pm
@Skorpi
Danke !
Hat so geklappt. Unterschied ist, dass du den externen Quartz simulierst und langsamer programmierst oder?

@Jurs

Ich hab nicht genau genug gelesen und dachte es wären die internen 8Mhz :/

Wäre eigentlich nicht nötig gewesen. War hierfür:
http://forum.arduino.cc/index.php?topic=246181.0

Da ich andere Fehler erstmal nicht finden konnte, wollte ich ein Beispiel aus dem Thread erstmal nachstellen.

Prinzipiell soll der Atmega @5V mit 8mhz intern laufen und über nrf24 senden/empfangen.
15  International / Deutsch / Atmega328 falsch beschrieben.Wie retten? + 8Mhz kalibrieren? on: June 11, 2014, 01:56:06 pm
Hi,

(Vorab, die Verkabelung vom ArduinoISP stimmt, kann andere Atmega328 normal brennen.)

ich habe mit dem ArduinoISP einen Atmega328P-PU falsch beschrieben mit der boards.txt weiter unten.
Der Vorgang ging augenscheinlich nicht ganz durch und jetzt bekomme ich beim brennen des normalen bootloaders:
"avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check."

Was kann ich noch probieren, um den Atmega zu retten?

Wenn ich den kompletten Log aktiviere erhalte ich folgendes beim brennen des normalen bootloaders:
Code:
C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P\\.\COM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM3
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [02]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
avrdude: Send: A [41] . [84]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: P [50]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
################################## | 100% 0.06s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: Q [51]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]

avrdude done.  Thank you.

Hier ist die falsche boards.txt:

Code:
lopower.name=Arduino Ultru Low-Power (<2.4V, 8 MHz) w/ ATmega328
 
lopower.upload.protocol=stk500
lopower.upload.maximum_size=30720
lopower.upload.speed=57600
 
lopower.bootloader.low_fuses=0xFF
lopower.bootloader.high_fuses=0xDA
lopower.bootloader.extended_fuses=0x06
lopower.bootloader.path=atmega
lopower.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
lopower.bootloader.unlock_bits=0x3F
lopower.bootloader.lock_bits=0x0F
 
lopower.build.mcu=atmega328p
lopower.build.f_cpu=8000000L
lopower.build.core=arduino
Pages: [1] 2 3 ... 7