Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

281

Dienstag, 31. August 2004, 11:24

was macht SPIInit?
Thomas Marx

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

282

Dienstag, 31. August 2004, 11:32

Moin !

Zitat

was macht SPIInit?


Das hier... (Es initialisiert die SPI Schnittstelle):

procedure SPIInit;
var i:integer;
begin
TXD(1); //
RTS(0); // Initialisierung einleiten
Delay(100);
TXD(0);
Delay(100);
TXD(1);
Delay(100);
for i:=1 to 4 do // Synchronisieren
begin
ISPInOut(172);
ISPInOut(83);
ISPInOut(0);
ISPInOut(0);
end;
end;
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

283

Dienstag, 31. August 2004, 11:43

müsste so gehen. Probier mal:

Spiinit
chip erase

10ms pause

read flash
Thomas Marx

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

284

Dienstag, 31. August 2004, 11:48

Moin !

Hmm, also ich habe danach ne ganze Zeot gewartet und dann erst den Flash gelesen. Nada - goes not.

Komische Sache das ...
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Ch.Petry

RCLine User

Wohnort: D-54413 Beuren

Beruf: Student (Informatik)

  • Nachricht senden

285

Dienstag, 31. August 2004, 12:34

Zitat

Original von thmarx
EEprom mit Speicher >64k für 5Volt habe ich noch nicht gesehen. Theoretisch gehen die auch (aktuell halt nur bis 64k), aber da wären auch Änderungen nötig da die gesamte Speicheradressierung geändert werden muss.


Bei Reichelt einfach mal z.B. nach
ST 24C512 BN6
suchen:
"CMOS seriell EEPROM, 5V, DIP-8"

(gibts auch mit 128 und 256k)



Ich werde mir erstmal den Logger mit 64k und 1 Sekunde Messinterval bauen und dann testen.
Wenn das dann alles funktioniet kann man ja immer noch die Messzeit verkürzen.
Das größere Eeprom brauche ich dann auch erstmal nicht.


Sorry, noch eine Frage:
Wenn ich mehrere Flüge mache (dazwischen Akku austauschen, also Logger hat keinen Strom mehr) und dann nochmal fliege usw. werden alle Daten nacheinander ins Eeprom geschrieben, also nicht die Daten vom ersten Flug überschrieben?
Und erkennt LogView dann auch korrekt das es mehrere Flüge sind und speichert die Flüge seperat?


Ich hatte zwar 2 Jahre Elektrotechnik-Leistungskurs und habe auch in mehreren Programmiersprachen Grundkenntnisse (Basic, C++, HTML, PHP), aber da ging es immer um ganz andere Dinge...
Ich bin aber sehr intereassiert an solchen Schaltungen und der Software, sobald ich etwas Zeit habe werde ich mich mal genauer damit beschäftigen.


mfg
Christian
VERKAUFE:
-ECO8 getunt
-LMH120 flugfertig, inkl. Sender
-Futaba FX18
-Plettenberg HP220/A3/S P6 Heli z.B. ECO8, Logo 10
-Schulze Future 45Ho
-diverse Empfänger (Schulze+Futaba)
-Kreisel G200
-externes BEC

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ch.Petry« (31. August 2004, 12:35)


thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

286

Dienstag, 31. August 2004, 12:45

@Dominik,
die Pause muss aber vor Closecom sein!?

@Christian:
Im Moment fängt der Logger nach jedem Einschalten von vorne an, überschreibt also alte Daten. Wird aber noch geändert.

Der 24C512 ist ein 64kByte EEPRom (512kBit)

Gruss Thomas
Thomas Marx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »thmarx« (31. August 2004, 12:49)


moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

287

Dienstag, 31. August 2004, 12:45

Moin !

Zitat

werden alle Daten nacheinander ins Eeprom geschrieben, also nicht die Daten vom ersten Flug überschrieben?

Nein, sie werden überschrieben - leider.
Das Problem will Thomas (& Chris) wohl angehen, aber keinen schimmer wie weit er ist ...
Ich hätte das aber auch gerne :ok: ;( 8(

Zitat

Ich bin aber sehr intereassiert an solchen Schaltungen und der Software, sobald ich etwas Zeit habe werde ich mich mal genauer damit beschäftigen.

Wobei ich meinen Quellcode erstmal für mich behalten werde ;)

Zitat

Elektrotechnik-Leistungskurs und habe auch in mehreren Programmiersprachen Grundkenntnisse (Basic, C++, HTML, PHP),

Moment, da gabs sonen Spruch ... "Das sind die Unterschiede zwischen Theorie und Praxis" :D ;) :tongue: :dumm:
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

288

Dienstag, 31. August 2004, 13:37

Moin !

Ok, ich glaube das Problem ist gelöst. Hier ist beschrieben wie es genau geht:

Zitat

When a page is being programmed into the Flash, reading an address location within the page being programmed will give the value $FF. At the time the device is ready for a new page, the programmed value will read correctly. This is used to determine when the next page can be written. Note that the entire page is written simultaneously and any address within the page can be used for polling. Data polling of the Flash will not work for the value $FF, so when rogramming this value, the user will have to wait for at least tWD_FLASH before programming the next page. As a chip-erased device contains $FF in all locations, programming of addresses that are meant to contain $FF, can be skipped. See Table 59 for tWD_FLASH value. Data Polling EEPROM When a new byte has been written and is being programmed into EEPROM, reading the address location being programmed will give the value $FF. At the time the device is ready for a new byte, the programmed value will read correctly. This is used to determine when the next byte can be written. This will not work for the value $FF, but the user should have the following in mind: As a chip-erased device contains $FF in all locations, programming of addresses that are meant to contain $FF, can be skipped. This does not apply if the EEPROM is re-programmed without chip-erasing the device. In this case, data polling cannot be used for the value $FF, and the user will have to wait at least tWD_EEPROM before programming the next byte. See Table 59 for tWD_EEPROM value.

Bedeutet nach Chip Erase min 9 ms warten und nach einem Page Write min 4.5 ms:

Zitat

tWD_FLASH 4.5 ms
tWD_EEPROM 9.0 ms
tWD_ERASE 9.0 ms
tWD_FUSE 4.5 ms


Oh Mann, diese Anleitung bzw. das Datasheet ist echt für den .... Po... ==[] :dumm:
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

289

Dienstag, 31. August 2004, 15:34

@Dominik: und, geht's jetzt?

Heute Abend mach ich mal eine 0.99a-Version der Logger-Software:
serielle Ausgabe raus
Meßzeit für Drehzahl auf 2x65ms
Datenerhalt auch über Abschaltung (vielleicht)

was noch?

Gruss
Thomas
Thomas Marx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »thmarx« (31. August 2004, 15:35)


moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

290

Dienstag, 31. August 2004, 16:38

Moin !

Zitat

und, geht's jetzt?

Cheffe iche musse noche eine bisschen programmieren.. :dumm:

Ok, Nachtrag ... Der Quellcode sieht nun so aus:

// Load Program Memory Page 0100 H000 xxxx xxxx xxxx bbbb iiii iiii
// Write H (high or low) data i to Program Memory page at word address b.
// Data low byte must be loaded before data high byte is applied within
// the same address.
// Write Program Memory Page 0100 1100 xxxx xxaa bbbb xxxx xxxx xxxx
// Write Program Memory Page at address a:b.
// i = data in a = address high bits b = address low bits
// H = 0 – Low byte, 1 – High Byte o = data out
procedure TForm1.AVRFlashSchreibenClick(Sender: TObject);
var i,j,k,l:integer;
begin
ComOpen(COMCombo.Text);
SPIInit;
// Speicher löschen
ISPInOut(172);
ISPInOut(128);
ISPInOut(0);
ISPInOut(0);
Delay(10);
l := 0; // Positionszeiger für HexEdit
for k := 0 to 3 do // \
for j := 1 to 16 do // / 16Byte Blöcke wegschreiben
begin
for i := 0 to 15 do // Puffer füllen
begin
// erst Low Byte schreiben
ISPInOut(64);
ISPInOut(0);
ISPInOut(i);
ISPInOut(hextoint(chartohex(AVRHex.GetMemory(l+1))));
// dann HighByte schreiben
ISPInOut(72);
ISPInOut(0);
ISPInOut(i);
ISPInOut(hextoint(chartohex(AVRHex.GetMemory(l))));
inc(l);
inc(l);
end;
// checken ob ein Byte aus der Page geschrieben wurde
// wenn dem so ist, kann erst die nächste Page geschrieben werden!
{ISPInOut(32); //< Hi-Byte
ISPInOut(k);
ISPInOut(j);
res := ISPInOut(0); }

// Schreibe Memory Page
ISPInOut(76);
ISPInOut(k);
ISPInOut(j*16);
ISPInOut(0);
delay(10);
//Memo1.Lines.Add('Schreibe Memory Page');
end;
CLOSECOM;
end;

Aber leider funzt das immer noch nicht ganz. Ich kann jetzt den Speicher löschen (auf FF FF FF FF FF ....). Aber das Proggen geht noch nicht sauber. Er schreibt zwar, aber die Werte stimmen nicht mit dem überein, was ich eigentlich als Quelle geladen habe.
Muss man da noch irgendwas beachten??

Zitat

Heute Abend mach ich mal eine 0.99a-Version der Logger-Software

Boah, jetzt zieht der mit der Versionsnummer einfach LogView davon :nuts:

Zitat

was noch?

Hmm, wir wollten doch Settings ins EEProm einbauen. Hast du da schon konkrete Ideen?
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »moelski« (31. August 2004, 18:14)


thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

291

Dienstag, 31. August 2004, 22:04

'n Abend.

Dominik, evtl. muss nach jedem schreiben eines Bytes auch noch diese Pause von 4.5ms (also nach low-Byte und high-Byte).

Zitat

Settings ins EEProm einbauen. Hast du da schon konkrete Ideen


Ja, aber dazu muss LogView ins EEProm vom AVR schreiben können.
Die Version 0.99a ist fast fertig.

Gruss
Thomas
Thomas Marx

Kebmo

RCLine User

Wohnort: bei Verden

  • Nachricht senden

292

Dienstag, 31. August 2004, 22:38

Hallo Leute!

Bin heute zu keiner Messung gekommen. Dafür ist meine Anleitung zur seriellen Schnittstelle online. Die Platine ist echt winzig :D
Ich hab's wieder sehr einfach gehalten und auch selbst schon nachgebaut heute abend, da meine erste Lösung sehr "frei-fliegend" war. Es hat auf Anhieb funktioniert und der Nachbau ist nicht schwer.
Da ich die Dioden auch beim Nachbauen wieder nicht zur Verfügung hatte, wäre ich dankbar über eine Mitteilung, ob's mit Dioden auch geklappt hat.
Also "Nachbauer", immer her mit Infos und Kritik!

Ich hoffe, morgen die Zeit für eine erste Messung mit dem Logger zu finden...

Gruss
Heiko
[SIZE="2"]www.stromflug.de[/SIZE] | [SIZE="1"]neu: Praxistest EP Product 2820-1000[/SIZE]

Chris Benndorf

RCLine User

  • »Chris Benndorf« ist der Autor dieses Themas

Wohnort: 67317 Altleiningen &amp; 70567 Stuttgart

Beruf: Computerfredl

  • Nachricht senden

293

Mittwoch, 1. September 2004, 06:40

Zitat

Original von Kebmo
Da ich die Dioden auch beim Nachbauen wieder nicht zur Verfügung hatte, wäre ich dankbar über eine Mitteilung, ob's mit Dioden auch geklappt hat.
Also "Nachbauer", immer her mit Infos und Kritik!


Ohne die Zener-Dioden ist das ein sehr riskantes Unternehmen: Viele der heutigen PCs arbeiten auf der RS232 nur mit 0-5V und es passiert nichts, eigentlich ist die Norm aber mit IIRC +/-9V definiert und V24 (europ. RS232) sogar mit +/-12V. Hat man jetzt einen PC, der sich an die Normen haelt, dann grillt man freizuegig AVR und EEPROM und durch die Stroeme die dabei dann fliessen koennten, koennte sich auch das Mutterbrett des PCs verabschieden. Die Zenerdioden begrenzen die Spannungen auf den aufgedruckten Wert und schuetzen damit vor zu hohen Spannungen. Sie wegzulassen, ist keine gute Idee...

Solche 5,1V Zener sollte man also immer im Hause haben ;)
Heli: T-Rex 600 Pro Nitro/3G, 600 ESP/3G und 450 Pro/3G
Sender: Futaba FF-10 2,4GHz :D

Kebmo

RCLine User

Wohnort: bei Verden

  • Nachricht senden

294

Mittwoch, 1. September 2004, 08:28

Hi Chris!

Hab' eben bei Reichelt bestellt ;)
Ich baue die Platine dann noch einmal, geht ja schnell :D

Nächster Schritt ist bei mir "Bau des Strom-/spannungssensers". Der letzte ist mir weggeraucht :( Grund noch unklar. Ich hatte neben dem Strom auch gleich die Spannung aufzeichnen wollen. Dazu verwendete ich zwei Hirschmannklemmen als Verlängrung für den "Spannungsanschluss". Die sind beide abgeraucht. Heute guck ich erstmal, ob mein Regler noch heil ist. Und dann laß ich die Spannungsmessung vorerst weg... langsam voranschreiten und immer Ruhe bewahren :)

Gruss
Heiko
[SIZE="2"]www.stromflug.de[/SIZE] | [SIZE="1"]neu: Praxistest EP Product 2820-1000[/SIZE]

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

295

Mittwoch, 1. September 2004, 12:22

Moin !

Ich wollte nur mal kurz ne Idee vorstellen: http://wikipedia.sourceforge.net/.

Wäre das nicht eine coole Sache für eine MiniLogger Seite? Jeder könnte editieren, wir haben eine Versionshistorie der Artikel, Bilder gehen - auf mit Upload und das ganze ist doch recht einfach gestrickt!

Das spricht doch für sich...:

Zitat

MediaWiki is the collaborative editing software that runs Wikipedia, the free encyclopedia, and other projects. It's designed to handle a large number of users and pages without imposing too rigid a structure or workflow.


Soll ich da mal was in die Wege leiten?

Nachtrag :
Ich habe mal local bei mir ein Wiki installiert. Es wäre (nach meiner Meinung) eine ideale Sache. Das editieren von Texten versteht man innerhalb von 15 Minuten und das hochladen von Bildern und dessen Einbindung ist auch total easy. Ich kann das ja heute Abend mal Spasshalber auf meinem Server installieren. Und dann können wir entscheiden, ob das eine geeignete Plattform für den MiniLogger ist (bzw. dessen Informationen).
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »moelski« (1. September 2004, 14:08)


thmarx

RCLine User

Wohnort: D-06108 Halle

  • Nachricht senden

296

Mittwoch, 1. September 2004, 14:25

Hallo,

die neue Software (Version 0.99a) ist fertig.
* Serielle Ausgabe gibts nicht mehr
* Vorbereitung für kürzere Messintervalle (Minimum 250ms)
* Datenerhalt auch über Spannungsunterbrechung

Die Bedinung läuf jetzt so ab.
Nach dem Einschalten macht der Logger erst mal 3 Sekunden Pause damit sich der Empfänger und die Servos stabilisieren können. Danach schaut er auf seinen RC-Eingang. Wenn er hier ein Signal über Minimum erkennt wird der Speicher gelöscht und die LED geht dauernd an. Der Logger wartet dann bis das Signal unter Minimum ist, die LED blinkt und es kann aufgezeichnet werden.
Erkennt der Logger am Anfang gleich ein RC-Signal unter Minimum fängt die LED gleich an zu blinken und der Logger ist bereit Daten aufzuzeichnen. In diesem Fall fängt er hinter dem letzten Datensatz an.
Der Rest ist gleich:
Datenaufzeichnung startet sobald das RC-Signal über Minimum ist und stoppt bei Signal unter Minimum.
keine Aufzeichnung -> LED blinkt kurz an / lang aus
Aufzeichnung -> LED blinkt lang an / kurz aus
Speicher voll -> LED blinkt an / aus gleichlang
Wenn während einer Aufzeichnung (RC-Signal über Minimum) die Spannung getrennt wird, wird die letzte Messreihe nicht korrekt gespeichert und kann nicht ausgelesen werden.
Das Basic-Programm gibts hier , das HEX-File hier .

Gruss
Thomas
Thomas Marx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »thmarx« (3. September 2004, 16:27)


Kebmo

RCLine User

Wohnort: bei Verden

  • Nachricht senden

297

Mittwoch, 1. September 2004, 21:51

Hallo zusammen!

Hab' eben die erste Messung vorgenommen. Erstmal nur Strom. Parallel dazu mit einem Zangenamperemeter gemessen.

Ergebnis: Der Strom wird nur mit einem Viertel der echten Größe gemessen und in LogView (saubere Arbeit, Dominik!!) dargestellt.
Beispiel: 10A echt, LogView zeigt 2,6A.

Was kann ich ändern?
Wozu ist der Faktor in LogView da?

Bin ziemlich glücklich, dass es nun funzt :w

Gruss
Heiko
[SIZE="2"]www.stromflug.de[/SIZE] | [SIZE="1"]neu: Praxistest EP Product 2820-1000[/SIZE]

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

298

Mittwoch, 1. September 2004, 21:55

Moin !

Das hat Thomas mir heute schon gesagt. Es scheint noch ein kleiner Rechenfehler in LogView zu sein. Da stimmt irgendwas mit den Faktoren noch nicht. Schaue ich mir an !
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.

Kebmo

RCLine User

Wohnort: bei Verden

  • Nachricht senden

299

Donnerstag, 2. September 2004, 07:40

Hallo,

hat man denn noch irgendwie die Möglichkeit, ohne LogView an die Daten zu kommen? Bzw. kann LogView nicht evtl. einfach erstmal nur die Messdaten auslesen ohne weitere Bearbeitung?!
Das Excel-Makro von Thomas funzt bei mir leider nicht.
Gibt's noch die Chance, per Terminal-Programm an die Daten zu kommen, oder geht's nun nach dem Kippen der seriellen Daten nur noch über LogView?

Mich würden erstmal nur die wirklichen aufgezeichneten Daten interessieren, einfach nur irgendwie auslesen, ohne Berechnung und ohne Faktoren, dann könnte ich zumindes selbst meinen Mess-Shunt kalibrieren.

Gruss
Heiko
[SIZE="2"]www.stromflug.de[/SIZE] | [SIZE="1"]neu: Praxistest EP Product 2820-1000[/SIZE]

moelski

RCLine User

Wohnort: Brilon / HSK

Beruf: IT Welt

  • Nachricht senden

300

Donnerstag, 2. September 2004, 07:50

Moin !

Zitat

hat man denn noch irgendwie die Möglichkeit, ohne LogView an die Daten zu kommen?

Prinzipiell ja z.B. mit einem Lesegerät

Zitat

Bzw. kann LogView nicht evtl. einfach erstmal nur die Messdaten auslesen ohne weitere Bearbeitung?!

Schonmal auf "Tabelle" geklickt und dort dann auf den kleinen Pfeil daneben > "Tabelle speichern (CSV)" ... ;)

Zitat

Gibt's noch die Chance, per Terminal-Programm an die Daten zu kommen

Nein, weil es keine serielle Ausgabe mehr gibt

Zitat

Mich würden erstmal nur die wirklichen aufgezeichneten Daten interessieren, einfach nur irgendwie auslesen, ohne Berechnung und ohne Faktoren, dann könnte ich zumindes selbst meinen Mess-Shunt kalibrieren.

Das verstehe ich nicht. Die reinen Daten nützen dir relativ wenig, weil sie über einen Faktor angepasst werden müssen.
Ach ja, die Faktoren stimmen in LogView. Nur die Texte davor waren vertauscht. Also stimmen die Berechnungen !!

Kalibrieren kannst du doch viel besser mit LogView. Du liesst z.B. die Spannung und misst parallel mit einem Multimeter. Dann passt du den Faktor an, bis du die gleichen Werte hast. Fertig. Die Abweichungen sind ja linear, also eigentlich kein großes Prob.
Ich muss aber zugeben, das LogView die Faktoren noch nicht abspeichert. Das ist noch ein Prob, was ich heute beheben werde 8)
Greetz Dominik

[SIZE=4]LogView - Datenvisualisierung für Modellbauer[/SIZE]
Besucht mal unsere Webseite oder schaut mal ins Forum.