Forum: Mikrocontroller und Digitale Elektronik PIC18F2553 firmware für SD Karte


von Heinz L. (luli)


Lesenswert?

Hallo Gemeinde,

suche jemand der mir eine kleine Firmware für einen PIC18F2553 schreiben 
kann.
Es handelt sich um einen Datenlogger der auf eine SD Karte 4 analoge 
(0-5V) Eingänge in einer xxx.txt Datei als CSV speichern soll.

Bitte meldet euch doch einfach per Email wenn Interesse besteht. Dann 
kann alles besser und in Ruhe besprochen werden.

Email: mpebay[ät]web.de

Dankeschön

: Verschoben durch User
von Heinz L. (luli)


Lesenswert?

hat keiner Interesse?
soll auch nicht für umsonst sein?
Oder hat weiß jemand wo ich eventuell jemanden damit beauftragen kann? 
Gibt's im www so eine Platform für solche Dienstleistungen?

Gruß

von DerMitDerMaus (Gast)


Lesenswert?

Heinz L. schrieb:
> hat keiner Interesse?
> soll auch nicht für umsonst sein?
> Oder hat weiß jemand wo ich eventuell jemanden damit beauftragen kann?
> Gibt's im www so eine Platform für solche Dienstleistungen?
>
> Gruß

Zunächst: Dein PIC ist reichlich winzig. Das geht zwar vermutlich rein, 
aber so richtig gut geeignet ist er nicht. Ich würde min. einen PIC mit 
64k Flash nehmen.

Zur Enwticklungsleistung: Das wird nicht billig, das ist hoffentlich 
klar?

Ich habe bis zur Umsetzung von etwas ähnlichem (mit FATFS) aber ungefähr 
30-40 Arbeitsstunden investiert. Also bis FATFS richtig lief- das 
Projekt ist noch nicht fertig... Richtige Profis können das natürlich 
schneller schaffen - bin nur Hobbyprogrammierer.

Wenn du es lieber selber machen willst: Ein guter Start ist hier zu 
finden:
http://elm-chan.org/fsw/ff/00index_e.html

Oder sieh hier nach:
http://www.microchipc.com/sourcecode/#mmc

Ich kann Beispielcode zu FATFS posten, wenn es dir hilft. FATFS ist 
nicht übermäßig schwirig, das ist für einen normalbegabten Hobbyisten 
noch gut zu schaffen.

von Falk B. (falk)


Lesenswert?

@ Heinz L. (luli)

>Es handelt sich um einen Datenlogger der auf eine SD Karte 4 analoge
>(0-5V) Eingänge in einer xxx.txt Datei als CSV speichern soll.

Schau erstmal, was es so als Fertiggeräte auf dem Markt gibt. Das ist in 
der Regel deutlich einfacher, schneller und billiger. 
Sonderanfertigungen sind immer recht aufwändig und teuer.

von Heinz L. (luli)


Lesenswert?

Hallo,

der datalogger ist schon vorhanden. Habe ich mir aus einem vorhanden 
Schaltpläne zusammen gelötet. Jetzt braucht es eben von die Firmware für 
den PIC.

Mit programmieren habe ich nix am Hut und wäre auch zu zeitintensiv das 
zu erlernen.

Deshalb wird jemand gesucht der das machen kann.

von Dr. Sommer (Gast)


Lesenswert?

Heinz L. schrieb:
> Habe ich mir aus einem vorhanden
> Schaltpläne zusammen gelötet. Jetzt braucht es eben von die Firmware für
> den PIC.
Eine neue Schaltung mit geeignetem Controller zusammen zu löten ist ja 
nur ein minimaler Aufwand verglichen mit der Programmierung. Sich wegen 
dieses winzigen Aufwandes extra viel Arbeit beim Programmieren 
einzuhandeln ist ja wohl völlig bescheuert.
Sag doch mal was zur gewünschten Abtastrate...

von Heinz L. (luli)


Lesenswert?

Abtastrate wäre zwischen folgenden ms zu wählen, am besten durch eine 
xxx.txt Datei die auf die SD Karte hinterlegt wird:
50ms, 100ms, 200ms, 500ms, 1000ms

Wie ihr seht habe ich schon klare Vorstellung wie das alles sein sollte, 
nur die Umsetzung (Firmware Programmierung) kann ich nicht selbst

von Dr. Sommer (Gast)


Lesenswert?

Das sind 120 Byte/Sec, das ist ja zum Glück kein Problem.

Heinz L. schrieb:
> nur die Umsetzung (Firmware Programmierung) kann ich nicht selbst
"nur" die Umsetzung ist leider wesentlich aufwändiger als nur zu wissen 
was man will... Wenn du nicht programmieren kannst kauf dir einen 
fertigen Logger z.B. von NI, das kommt dich wesentlich billiger.

von Heinz L. (luli)


Lesenswert?

Drum suche ich ja jemand der mir die Firmware schreibt. Ich will keinen 
anderen logger kaufen. Danke für die Ratschläge!

von Falk B. (falk)


Lesenswert?

Dann zeig mal deinen Schaltplan und ein Bild vom realen Aufbau.

von Jim M. (turboj)


Lesenswert?

Dr. Sommer schrieb:
> Das sind 120 Byte/Sec, das ist ja zum Glück kein Problem.

Bei nur 2k SRAM, wo mindestens ein 512 Byte Sektorpuffer drin sein muss?

Das knallt bei der Suche nach freien Clustern auf großen (16,32 GB) 
Karten,
da man worst case mehrere MB FAT einlesen muss bis man den Nächsten 
findet. Das dauert über SPI recht lange, da wird der RAM knapp.

Und SD Karte an 5V Controller ist ziemlich bäh, weil man zwingend einen 
Pegelwandler braucht.

Aber so richtig anrüchig ist die konkrete Vorgabe eines µCs ohne dass 
man selber die Software schreiben kann.

Der normale Vorgang ist genau andersherum: Der Dienstleister gibt eine 
oder mehrere µC Familien vor,
und man sucht sie mit Rücksprache des Softwaregurus einen passenden für 
das Projekt aus.

von Heinz L. (luli)


Lesenswert?

wie gesagt der Datalogger ist vorhanden. Läuft mit einer Firmware die 
ich hier habe auch, will aber Änderungen die ich nun nicht selber machen 
kann! Pegelwandler usw. alles vorhanden. Nochmal: der datalogger braucht 
nur eine Firmware die so ausgestattet ist wie ich es vorgeben und die 
dann, jemand der Interesse hat, programmiert.

Alles weitere per Email, Schaltplan usw.....

von Falk B. (falk)


Lesenswert?

@Jim Meba (turboj)

>> Das sind 120 Byte/Sec, das ist ja zum Glück kein Problem.

>Bei nur 2k SRAM, wo mindestens ein 512 Byte Sektorpuffer drin sein muss?

Auch das geht, zumindest mit FATfs vom Meister Chan!

>Das knallt bei der Suche nach freien Clustern auf großen (16,32 GB)
>Karten,
>da man worst case mehrere MB FAT einlesen muss bis man den Nächsten
>findet. Das dauert über SPI recht lange, da wird der RAM knapp.

Was soll diese Schwarzmalerei? FATfs hat exakt nur EINEN Sektorpuffer, 
wenn man nicht noch einen pro Datei reserviert. Und man kann PROBLEMLOS 
VORHER eine maximale Dateigröße anlegen und dann voll entspannt die 
Daten schreiben, ohne auch nur ein einziges Mal in der FAT nach freien 
Clustern suchen zu müssen. Been there, done that.

>Und SD Karte an 5V Controller ist ziemlich bäh, weil man zwingend einen
>Pegelwandler braucht.

Ach herje, bricht jetzt die Welt zusammen?

von Volker S. (vloki)


Lesenswert?

Heinz L. schrieb:
> Läuft mit einer Firmware die
> ich hier habe auch, will aber Änderungen die ich nun nicht selber machen
> kann!

Sourcecode ist auch vorhanden?

von Heinz L. (luli)


Lesenswert?

Volker S. schrieb:
> Heinz L. schrieb:
> Läuft mit einer Firmware die
> ich hier habe auch, will aber Änderungen die ich nun nicht selber machen
> kann!
>
> Sourcecode ist auch vorhanden?

Leider nicht

sonst hätte ich nicht wohl selber getraut etwas alleine hinzu basteln, 
bzw. mich tiefer in die Materie eingearbeitet

: Bearbeitet durch User
von DerMitDerMaus (Gast)


Lesenswert?

Die Sache mit dem Winz-PIC sehe ich auch kritisch:
Es ist doch so: Bei einem Aufwand von zig Arbeitsstunden macht der 
Aufpreis für ein paar kB Flash bei eine Einzelstück oder geringen 
Stückzahlen weniger als 1 Promille der Kosten aus. Da ist ein PIC mit 
64k Flash / 16k RAM billiger, als auch nur eine 10 Minuten Optimierung.

Der Hersteller des Datenloggers kann natürlich mehr Aufwand investieren, 
bei ordentlich STückzahlen bekommt der das wieder herein. Aber du nicht.

Sonst wäre noch zu sagen:
Wenn du bereit bist, z.B. das Geld für einige zig Arbeitsstunden zu 
investieren, dann wist du hier auch jemanden finden, der dir das macht.
Und, bist du bereit dazu? Also mehrere hundert € dafür auszugeben?

PS:
Hilfe  zum selber Erstellen der Firmware wirst du problemlos bekommen. 
Ich würde mir doch nocheinmal gut überlegen, ob es nicht sinnvoll wäre, 
das selber zu machen.
Wie sieht es damit aus? Interesse?

von Heinz L. (luli)


Lesenswert?

DerMitDerMaus schrieb:

> PS:
> Hilfe  zum selber Erstellen der Firmware wirst du problemlos bekommen.
> Ich würde mir doch nocheinmal gut überlegen, ob es nicht sinnvoll wäre,
> das selber zu machen.
> Wie sieht es damit aus? Interesse?

Hau rein!

Der Pic18f2553 bleibt!

von Christian M. (Gast)


Lesenswert?

Schau doch mal den Oshonsoft-Compiler an, der kann 10mal gestartet 
werden oder so, und ist zum Kaufen auch nicht teuer:

http://www.oshonsoft.com/pic18basiccompilerreferencemanual.html#879

Diese Libs sind doch heutzutage so einfach zu handhaben, das ist mit ein 
bisschen Programmiererfahrung doch machbar!

mikroe hat auch so ne Lib, die läuft nach dem Beispiel mit nem 18F452, 
sogar noch kleiner als des TO's (1k5 vs. 2k RAM), nur ist da der Code 
auf ein oder zwei kWorte begrenzt...

Gruss Chregu

von DerMitDerMaus (Gast)


Lesenswert?

Also, für FATFS schnappt man sich am Besten ein Beispiel von der Seite 
von Elm Chan:
http://elm-chan.org/fsw/ff/00index_e.html

Unter "FatFs sample projects for various platforms November 15, 2016"

Da drin enthalten ist eine "foolproof" example für AVRs.
Da drin anpassen muss man im Endeffekt nur die sdmm.c
Das lässt sich relativ leicht auf PICs portieren. Man muss ein paar 
kleiner Anpassungen machen.

Also solche Sachen:
1
#define DI_INIT()  DDRB  |= 0x02  /* Initialize port for MMC DI as output */
2
#define DI_H()    PORTB |= 0x02  /* Set MMC DI "high" */
3
#define DI_L()    PORTB &= 0xFD  /* Set MMC DI "low" */


Das sind Makros, zum auf die Pins schreiben. Das kann beim PIC zum 
Beispiel so aussehen:

[c]
#define DI_INIT()  TRISBbits.TRISB1 = 0  /* Initialize port for MMC DI 
as
#define DI_H()    LATBbits.LATB1 = 1  /* Set MMC DI "high" */
#define DI_L()    LATBbits.LATB1 = 0  /* Set MMC DI "low" */
[\c]

Dann poppen bestimmt noch ein paar Fehler auf, aber soweit ich mich 
erinnere nichts gravierendes mehr. Halt ein paar Unterschiede zwischen 
PIC und AVR. Die behebt man eben.

Das ist ein Pfuschbeispeil, mit Bitbanging-SPI. Dafür ist es umso 
leichter verständlich.

Wenn das mal läuft, und du in ein File schreiben kannst, ist der Rest 
nicht mehr allzu schwierig. Inklusive der Portierung auf Hardware-SPI. 
Was ich noch nicht getan habe, ist die Implementierung von DMA-Transfer.

Ob du das Beispielprojekt in deinen Winz- PIC bekommst, musst du selber 
ausprobieren.

von Heinz L. (luli)


Lesenswert?

Christian M. schrieb:
> Schau doch mal den Oshonsoft-Compiler an, der kann 10mal gestartet
> werden oder so, und ist zum Kaufen auch nicht teuer:
>
> http://www.oshonsoft.com/pic18basiccompilerreferen...
>
> Diese Libs sind doch heutzutage so einfach zu handhaben, das ist mit ein
> bisschen Programmiererfahrung doch machbar!
>
> mikroe hat auch so ne Lib, die läuft nach dem Beispiel mit nem 18F452,
> sogar noch kleiner als des TO's (1k5 vs. 2k RAM), nur ist da der Code
> auf ein oder zwei kWorte begrenzt...
>
> Gruss

Ok Danke!

aber mir wäre es doch lieber wenn mir jemand die Firmware schreibt. Wie 
gesagt soll das nicht umsonst sein. Und ich denke nen Datalogger auf 
Pic18-Basis haben doch schon einige auf die Beine gestellt.

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.