Forum: Mikrocontroller und Digitale Elektronik China-Openlog-Modul ohne Funktion


von Hermann (Gast)


Lesenswert?

Ich habe diese Noname China Openlog-Module bestellt
https://www.ebay.de/itm/272909226931?ViewItem=&item=272909226931
Sie scheinen nicht zu funktionieren - oder mache ich etwas falsch?
Nach den Infos im Netz haben anscheinend alle keine Probleme mit 
Sparkfun-Modulen, andere werden nicht erwähnt. Ich habe folgendes 
versucht:
1. SD-Card einstecken und mit 5V versorgen. Jetzt sollte eine Datei 
Config.txt geschrieben werden. Nichts passiert. Bei dieser Aktion habe 
ich keine anderen Pins angeschlossen.
2. Rx-Pin beim Einschalten auf GND halten. Jetzt sollte sich das Modul 
auf Default-Werte zurücksetzen. Die LEDs sollten leuchten. Nichts 
passiert.
3. Ich habe 3 unterschiedliche SD-HC probiert, da ich gelesen habe, dass 
nicht alle funktionieren: 4GB Kingston, 4GB Intenso, 16GB SanDisk
4. Die LEDs sollten den Status anzeigen. Bei allen Aktionen haben die 
LEDs nicht einmal kurz aufgeleuchtet. Wie ist die normale Blinkfolge?
5. Am Mega328 liegen die korrekten 3,3V an.

Ich habe noch nicht versucht, Daten zu schreiben, da ich die 
eingestellte Baudrate nicht kenne.
Mache ich irgend etwas falsch? Gibt es Tipps?

Danke für Infos

von Timmo H. (masterfx)


Lesenswert?

Ich würde ggf. erstmal checken ob da überhaupt die Firmware drauf ist 
die du erwartest. Wäre bei mir nicht das erste mal das die Teile Blank 
kommen.

: Bearbeitet durch User
von Hermann (Gast)


Lesenswert?

So was gibt es? Wie teste ich das?

von Michael U. (amiga)


Lesenswert?

Hallo,

das wird jetzt von Deinen Kentnissen und Möglichkeiten abhängen...

https://github.com/sparkfun/OpenLog

Dort findest Du alle Unterlagen zu Hard- und Software.
Hast Du einen Arduino verfügbar und die ArduinoIDE installiert?

Gruß aus Berlin
Michael

von Hermann (Gast)


Lesenswert?

Bisher habe ich nur nackte AVRs mit MKII programmiert. Ein fertiges 
Hex-File zu programmieren wäre kein Problem. Alle Beschreibungen 
beziehen sich auf Arduino. Muss ich mir das antun? Oder geht es auch 
ohne? Bisher wusste ich nicht, wozu ich einen Arduino brauche.

von MKII (Gast)


Lesenswert?

Schließ einfach mal den MKII provisorisch an die passenden Pins und lies 
den AVR aus. Dann weißt ob ein Prog drin ist und es eigentlich 
funktionieren sollte.

Wenn nciht wirst dir wohl ein hex per arduino kompilieren müssen, denn 
auf github sind da kein im Projekt. Jedenfalls als ich das letzte mal 
gescahut hab nicht.

Aber vielleicht findet sich ja mit google ein ort wo es fertig 
kompilierte gibt?

von MKII (Gast)


Lesenswert?

Achja, Arduino heißt das Board genauso wie die IDE...

Also du brauchst natürlich kein Arduino Board sondern nur die Arduino 
IDE mit der Du dir das Openlog kompilierst.

von Timmo H. (masterfx)


Lesenswert?

Und flashen kannst du das generierte Hex-File natürlich auch mit Atmel 
Studio (das vom Arduino kompilierte Hex-File findest du dann in 
%TEMP%\arduino_build_xxxxxx\yyyyyy.ino.with_bootloader.hex, wobei xxxxxx 
halt eine Random-Zahl ist und yyyyyy der Projektname).
Aber erstmal würde ich gucken ob aus der Seriellen Schnittstelle was 
raus kommt, wobei die Default-Baudrate 9600 sein müsste)

von Hermann (Gast)


Lesenswert?

Gute Idee - werde ich mal den MKII anschließen und auslesen. Werde mir 
dann wohl den Arduino-Kram reinziehen müssen. Ich dachte, das wäre nur 
für Kids, denen der nackte AVR zu kompliziert ist.
Die Beschreibung des Angebots ist auch etwas seltsam. Einmal heißt es:
"Preprogrammed ATmega328 and bootloader" dann
"The latest version of the firmware (included with this board) does not 
compile in Arduino 1.6.7. You will need to compile in 1.6.5."

Eigenlich schreiben sie, dass die firmware drauf ist.
Wenn jetzt nur ein Bootloader drauf ist, werde ich beim Auslesen nicht 
feststellen, ob das eigentliche Programm fehlt.

Aha, habe gerade noch deine 2. Antwort gelesen. Also die Arduino-Ide 
reicht.
Danke

von Michael U. (amiga)


Lesenswert?

Hallo,

ein Schnelltest bei mir ergab: unter IDE 1.6.9 ohne Anpassungen 
(PROGMEM) nicht fehlerfrei compilierbar, irgendwo stand was von der 
1.6.5 beim Projekt, ist ja seit 2 Jahren nichtmehr angefasst worden.

Die IDE 1.6.5 runterladen und als portable einrichten dürfte wohl am 
Einfachsten sein falls er selber compilieren muß.

Gruß aus Berlin
Michael

von MKII (Gast)



Lesenswert?

Da ich ein laufendes Arduino Setup haben und auch mal wieder ein 
Openloger brauche dachte ich kompilier ich mal eben ein hex. Das ist der 
Arduino Ide output, das solltes Du dann auch auf dein Openlog laden 
können...

Kompiliert mit Arduino 1.8.3
"tagesaktuell" frische Sourcen von GutHub für Openlog, SDFat, und 
SerialPort
Es handelt sich um den Standard Openlog (nicht light, nicht minimal) 
kompiliert für "Arduino Nano" mit Mega328.

Das ist mein Setup, denke das passt auch für dein Openlog?

von MKII (Gast)


Lesenswert?

Hey!

Also bei mir geht es mit der installierten Version 1.8.3 der Arduinno 
IDE. Die ist nicht mehr angefasst seit ich sie vor nem Jahr oder so 
installiert hab. Auf meinem nachgebauten Openlog aus einem Arduino Nano 
Chinaclon und einem SD-Modul läuft die gerade kompilierte Firmware.

Wenn Du testest sag mal ob die auch auf dem Openlog läuft, dann bestell 
ich mir davon mal eine Hand voll. Die sind so klein und praktisch...

Gruss auch Berlin hier!
Simon

von Hermann (Gast)


Lesenswert?

@MKII: ist ja super - vielen Dank.
Jetzt verwirren mich nur die 2 .hex-Files. Welches muss denn drauf?

von Michael U. (amiga)


Lesenswert?

Hallo,

MKII schrieb:
> Kompiliert mit Arduino 1.8.3
> "tagesaktuell" frische Sourcen von GutHub für Openlog, SDFat, und
> SerialPort

ich nehme alles zurück, die 1.8.5 hier compiliert auch ohne Fehler.

Hermann schrieb:
> Jetzt verwirren mich nur die 2 .hex-Files. Welches muss denn drauf?

Du kannst die Version ohne Bootloader brennen, mit macht eigentlich nur 
Sinn wenn Du direkt aus der ArduinoIDE flashen willst. Dazu müßtest Du 
aber noch die Fusebits passend setzen und einen Resettaster an das Modul 
löten...

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Hermann (Gast)


Lesenswert?

Danke! Mache ich mich morgen mal dran

von Soul E. (Gast)


Lesenswert?

Hermann schrieb:

> Gute Idee - werde ich mal den MKII anschließen und auslesen. Werde mir
> dann wohl den Arduino-Kram reinziehen müssen. Ich dachte, das wäre nur
> für Kids, denen der nackte AVR zu kompliziert ist.

An sich ist es das, die ursprüngliche Zielgruppe waren Künstler. Unter 
der Haube läuft AVRGCC. Die *.ino-Dateien enthalten zwei Funktionen, 
setup() und loop(), die vom Linker in eine normale main() umgesiedelt 
werden. Bibliotheken haben das übliche .c/.cpp + .h - Format.

Mit einem passenden Skript sollten sich Arduino-Projekte auf WinAVR 
umformen lassen.

von Hermann (Gast)


Angehängte Dateien:

Lesenswert?

Voller Erfolg!!
Das Anschließen des MKII war nicht so einfach. Für den ISP sind keine 
Anschlüsse vorhanden, sondern nur überlackierte sehr kleine 
Durchkontaktierungen. Habe das fummelig mit Fädeldrähten gemacht (siehe 
Anhang).
Das Modul enthielt ein Programm, ich habe ein .hex mit 91kB herunter 
geladen. Was das auch immer ist. Vermutlich ein Bootloader, vielleicht 
noch ein nicht funktionierendes Programm.
Die Fuses sind: Extented OxFF, High OxD9, Low Ox62. Seltsamerweise ist 
CKDIV8 auf Low und Int.RC Osz 8MHz gesetzt. Vielleicht kann man das im 
Programm wieder auf Quarz setzen, oder sollte man die Fuses gleich auf 
Quarz setzen?
Da offensichtlich ein Boot-Loader drauf ist und BOOTSZ auf High, habe 
ich die Version mit Boot-Loader drauf gebracht.
Jetzt läuft alles wie erwartet: ohne SD Dauerleuchten der blauen LED.
Mit SD leuchtet blaue LED kurz, danach grüne LED für ein paar Sekunden. 
Und siehe da: es ist ein Config.txt drauf mit 9600Baud.
Der nächste Schritt mit dem Schreiben wird dann wohl auch klappen.

Vielen Dank für eure Hilfe, besonders an MKII mit den Hex-Files.

von Hermann (Gast)


Lesenswert?

Hermann schrieb:
> Der nächste Schritt mit dem Schreiben wird dann wohl auch klappen.

Leider klappt das nicht.
Ich dachte dann, es liegt an den Fuses mit dem internen RC-Osz. Aber mit 
externem Cristal geht es auch nicht. Dann habe ich hier:
https://github.com/sparkfun/OpenLog/issues/123
gefunden, wie die Fuses stehen sollen (high D6, low FF, ext FD). Damit 
geht gar nichts mehr (kein Lebenszeichen).
Dort steht noch die Wichtigkeit der Lock-Bits. Aber mir wird nicht klar, 
wie sie stehen sollen. Bei mir stehen sie auf FF - wird wohl falsch 
sein. STK500 habe ich nicht.
Brauche wieder Hilfe.

von Hermann (Gast)


Lesenswert?

So jetzt ist alles gut.
Ich habe jetzt das File ohne Bootloader geladen und die Fuses so 
gestellt, wie ich das für richtig halte: H D9, L FF, Ex FD
Jetzt schreibt er brav die Config.txt und erstellt auch die Logxx.txt.
Erst erstellte er nur eine leere Log-Datei, weil ich Sende-AVR und 
Openlog mit 3,3V versorgt habe. Das war dem Openlog zu wenig. Jetzt mit 
5V und einem Spg-Teiler zum Rx-Pin geht alles wie geschmiert.

Das heißt jetzt nicht, dass das File mit Bootloader nicht iO ist - aber 
ich hab es bisher nicht hingekriegt.

Nochmal Danke

von Timmo H. (masterfx)


Lesenswert?

Mit Bootloader musst du auf auf jeden Fall Bootsz1 setzen (512 Worte). 
So habe ich es zumindest auf meinem GRBL und Ender/CR-10 board 
(optiboot)

: Bearbeitet durch User
von Hermann (Gast)


Lesenswert?

Timmo H. schrieb:
> Mit Bootloader musst du auf auf jeden Fall Bootsz1 setzen

Ja, das leuchtet ein. Ich verstehe deshalb nicht, warum im obigen 
github-Link die High-Fuses auf D6 sein sollen.
Also habe ich nochmal getestet: mit den geichen Fuses wie ohne Boot(H 
D9, L FF, Ex FD) aber jetzt mit dem Boot-File. Und siehe da, alles geht.
Ich kenne mich mit dem Booloader nicht aus. Ich habe testhalber auch mit 
gesetztem BOOTRST also H auf D8 getestet. Das geht genauso. Wenn man den 
Bootloder nutzt, mag es einen Unterschied geben.
Ich werde die anderen Module auch mit H D9, L FF, Ex FD fusen und das 
File ohne Bootloader drauf bringen.

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
Noch kein Account? Hier anmelden.