Archiv verlassen und diese Seite im Standarddesign anzeigen : Speichervergrößerung an der C-Control
Matthias 321
13.12.2009, 16:36
Hallo,
kann man irgent wie den speicher der C-C Micro vergrösern?
Ich würde nämlich gern mal eine "Wetterstation" bauen, die dann Daten wie Temperatur, Regenmenge, Windgeschwindigkeit, Windrichtung und Luftfeuchte misst. Und da ich nicht ständig raus will, um die Daten ein zu sammeln, würd ich gern einen großen Datenspeicher einbaun. Ich hätte an zubieten:
-alte Festplatten
-neue Festplatten
-XD- und SD-Karten
-USB-Stick
-Ram-Module ausm Rechner
Ich denk mit SD-Karten geht das am schnellsten, kleinsten und einfachsten.
Ach: Ich hab übrigens auch keine Ahnung, wie ich das dann programmiere, dass ich drauf zugreifen kann.
Im Vorraus schon mal danke für Antworten
Matthias
Besserwessi
13.12.2009, 19:25
Die SD Karte ist von den genannten wohl das einfachste. Da gibt es schon einiges um eine SD-Karte an µCs anzubinden. Allerdings hab ich noch keine Version für C-Controll gesehen.
Eine Alternative wäre ein externe EEPROM mit I2C oder SPI Interface. Ist von der Kapazität meist kleiner (Weniger Kapazität) als SD Karten, aber etwas einfacher zu Programmieren.
Wenn man eine SD karte nimmt, könnte man eine Mikro-SD-karte nehmen, und Kabel direkt an einen Adapter löten. Die Steckfassungen für SD sind sonst nicht so einfach zu bekommen. Die Adapter kriegt man oft günstig mit einer Mirko SD karte zusammen.
KingTobi
13.12.2009, 21:03
Ram-Module lassen sich recht einfach ansteuern (ja ich verallgemeiner das jetzt vielleicht zu sehr) aber es ist halt flüchtiger Speicher und somit zur Aufzeichnung von Daten über einen größeren Zeitraum nicht geeignet.
Wenn "wenig" Speicher reicht, würde ich ein EEProm benutzen, da gibts auch schon fertige Module für die C-Controll Artikel-Nr.: 198849 - 62.
Solls mehr Speicher sein würde ich eine SD-Karte nehmen, ist vom Prinzip her auch kein Akt. http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf und schau dir die Quellenangaben an!
Matthias 321
13.12.2009, 21:05
Danke erst mal!
Wie viel Platz würde die c-c denn vertragen? Mir liegt nämlich nur ne 8GB SD Karte vor. Hab gehört da solls ne Grenze geben. Die Daten haben auch eine gewisse Größe. Beispiel Temperatur: 12 Messungen am Tag á 2Byte = 24byte á Tag mal 7tage die Woche= 168 Byte á Woche mal 4 wochen im Monat= 672 Byte im Monat mal 12 Monate im Jahr=8064Bytes im Jahr. Und das ist nur für die Temp! Es gibt da noch 4-5 andere Werte, die ich messen möchte.
Aber noch mal zurück:
Wie schlies ich das denn dann an? Brauch ich noch Zusatzgeräte?
Gruß Matthias
Upps! Ich hab den Thread von KingTobi nicht gelesen, asl ich diesen geschriben hab!
KingTobi
13.12.2009, 21:10
Wie viel Platz würde die c-c denn vertragen? Mir liegt nämlich nur ne 8GB SD Karte vor. Hab gehört da solls ne Grenze geben.
Hängt von dem Dateisystem und der Adressierung ab...
8064Bytes im Jahr, da kommst du mit dem "SPEICHERMODUL EE1 FÜR APPLK.-BOARD 2.0" mit 64kB ( Conrad: Artikel-Nr.: 198849 - 62) ja ewig aus, bzw. bei 5 Datensätzen locker ein Jahr.
Matthias 321
14.12.2009, 22:18
hm...
hat das schon mal jemand gemacht?
mit welcher Fuktion(so wie Goto, pause, print...) kann man denn so was, wie 0x01 oder ein CMD55?
Oder hat jemand sogar einen Beispielcode in Basic oder B++? Ich lern nämlich besser am Beispiel als aus ner Bedienungsanleitung und bastel dann selder dran rum. "Was passiert, wenn ich Port4 auf low zieh? - Ahah!Es raucht!" ...zumindest so ungefär...
Bin echt dankbar für jede Hilfe!
Matthias
KingTobi
14.12.2009, 22:24
Vielleicht kaufst du dir doch mal lieber ein Buch...
Matthias 321
15.12.2009, 21:00
Oder nen Vorrat sn C-Controls..was ziemlich teuer werden könnte :wink:
Hier mal eine grundlegende (etwas arg dämliche)Frage:
Was ist High und Low?
Wenn ich Spannung an Port 3 lege, iste dann h oder l?
Und wenn ich im Programm sag "port3 = 0" ist er dann h oder l?
Die Frage kam irgendwie etwas Spät, nachdem ich für Jugend Forscht soger schon ne Toilette programmiert hab, die eigentlich schon funktioniert.
KingTobi
15.12.2009, 21:07
High = Signal, Low = kein Signal. Low muss nicht unbedingt 0 Volt sein und High nicht unbeding 5V.
Und wenn ich im Programm sag "port3 = 0" ist er dann h oder l?Port3? Heisst das bei den C-Controlls so?
Ein High muss nicht bedeuten das die LED (oder was auch immer) am Pin leuchtet, das kann sie auch bei einem Low.
Also High = An und Low = aus wäre falsch, kommt drauf an was du wie anschliesst.
Oder nen Vorrat sn C-Controls..was ziemlich teuer werden könnte Nö, normalerweise kriegt man einen µC nicht kaputt. Da muss man ihn schon Stark überlasten!
Was für ne C-Controll benutzt du überhaupt? Viele sind normale Atmegas in einer ziemlich teuren Verpackung!
Matthias 321
15.12.2009, 22:05
Ja, ein !digitaler! Ein- bzw. Ausgang heist (im Progrmm) port[x].
Ich hab's geschaft meinen RP5 um einen Port zu erleichtern.
Also ich nem die C-CMicro, daher hab ich auch nur 6 Ports.Da gehen jetzt noch 4 für die SD-Karte drauf, da waren's nur noch zwei... Und die brauch ich zum Senden und empfangen mit der Seriellen Schnittstelle! Also: Assembler lernen und Atmel kaufen. Oder geht die auch mit B++?
Und 3.: Ja, C-Control Micro ist ein ATtiny nur umlackiert und mit Conrad beschriftet. Und Umlackieren kostet Geld, also weden aus 50Cent 13,95!
Ich glaub ich steig doch auf Atmel um, unter anderem, weil dieses Forum auch eher Atmel orientiert ist.
Naja, ich schlaf erst mal drüber.
KingTobi
15.12.2009, 22:13
Also: Assembler lernen und Atmel kaufen. Oder geht die auch mit B++? Das geht auch in Basic, ich benutze C.
Assembler muss man nicht mehr benutzen.
Ich glaub ich steig doch auf Atmel um
Meiner Meinung nach eine sehr gute Entscheidung.
Matthias 321
18.12.2009, 21:29
OK.
Ich hab mich din die Anleitung von oben eingelesen.
Blöd, dass da gleich 4 Ports drauf gehen. Ich hab ja nur sechs...
Aber ich hab jetzt eine Frage zur Taktung:
Ist 1 Clocksignal SCK "umschalten" oder ein mal low und wieder high?
Das mit 0x00 hab ich jetzt kapiert (Wikipedia macht's möglich) und auch ne Formel dafür aufgestellt.
KingTobi
18.12.2009, 21:55
Das mit 0x00 hab ich jetzt kapiert (Wikipedia macht's möglich) und auch ne Formel dafür aufgestellt.
0x00 ist hexadezimal, dezimal ist es einfach 0.
Blöd, dass da gleich 4 Ports drauf gehen. Ich hab ja nur sechs... Meinst du vielleicht Pins und nicht Ports?! Vielleicht solltest du nicht den kleinsten µC nehmen, sondern nen Atmega8 fürn Anfang.
Matthias 321
19.12.2009, 10:50
nein ich meine Ports. Ich hab halt grad nur ne C-C Micro mit 6 Ports da. Auserdem hol ich mir gleich "was gscheid's" ATmega 644, insofern der eine SPI-Schnittstelle hat. ISP ist doch für die Programmierung, oder? Kann ich Atmel µC auch in Basic++ programmieren?
KingTobi
19.12.2009, 12:13
nein ich meine Ports
Nee du meinst Pins, da das Ding nur einen Port hat! Versuch bloß von diesem Conrad mist wegzukommen, die nennen das anders was nur zu verwirrung führt wie man grad sieht. Guck dir mal Datenblätter Atinys an, dann siehst du was ich mein.
Ne kurze übersicht welcher AVR was hat findest du hier: http://www.mikrocontroller.net/articles/AVR_Typen
Ansonsten schau auf atmel.de nach, da steht alles was du brauchst.
Kann ich Atmel µC auch in Basic++ programmieren?
Nochmal, komm von den scheiss weg. Wen es schon Basic sein soll, dann schau dir Bascom an, das verwenden sehr viele. Auch die ganzen RN Module sind (glaub ich) in BAscom programmiert.
Der speicher der Micro kann nicht vergrößert werden (also der Programmspeicher).
Es ist aber möglich über den I2C Bus speichermodule anzuschliesen 64k.
dort können dann die anwendungsdaten gespeichert werden.
allerdings sind dort keine Programme speicherbar.
ansonsten empfehle ich die c-controll (advancet) Die hat bis zu 22k.
habe damit seit längerem sehr gute erfahrungen gemacht.
Besserwessi
19.12.2009, 14:09
Für die AVRs gibt es BAsic compiler im wesentlichen BASCOM. Es hat Einschränkungen, aber dafür Anfängergerecht. Etwas umgewöhnen vom Basic++ muß man schon.
Wenn man will hat man auch die Möglichkeit C oder C++ zu nutzen.
Für den Anfang würde als µC auch schon ein Mega48 ausreichen. Mehr kann man mit der eingeschränkten Version von BASCOM ohnehin nicht nutzen. Man hat dann immerhin schon rund 20 IO Pins zur Verfügung.
Bevor man was bestellt lieber erstmal was lesen, damit man etwa weiss was man braucht und will.
http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht
Matthias 321
20.12.2009, 15:31
@full:
Ne, ich will nicht den Programmspeicher vergrößern, sondern Messwerte irgendwo speichern.
Ich hab beim ausschlachten eines alten SAT-Recivers ein ATMEL 946 24C32B gefunden. Laut datasheetcatalog.net ist das ein EEProm mit 32K. Das müsste dann 4 Jahre reichen.
Welche prog-Sprache würdet ihr mir empfehlen? Wie gesagt hab ich Vorkentnisse in Basic und Bascic++. Es sollte auch "freeware" sein, d.h. der Compiler sollte nichts kosten und man soll auch 3 TeraByte (ihr wisst schon was ich mein) auf den µC brennen können.
KingTobi
20.12.2009, 15:35
der Compiler sollte nichts kosten und man soll auch 3 TeraByte (ihr wisst schon was ich mein) auf den µC brennen können.
Nee weiss ich nicht, das ist völliger Unsinn was du schreibst.
Wenn du Basic++ kennst dann wäre Bascom wohl die beste Wahl für dich.
Matthias 321
22.12.2009, 17:58
Ich mein damit, dass man damit unbegrenzt compilern kann. Bei der freeware von Bascom kann man ja nur 4k compilern.
Dann solltest Du Assembler oder C lernen. Das gibt es komplett ohne Einschränkung dann kostenlos.
Matthias 321
28.02.2010, 17:36
Hallo!
Ich meld mich auch mal wieder! Ich war zwar anfangs gegen ein EEprom, hab aber beim "Schuttgockern" nen aten SAT-Reciver gefunden. Da war eins drinnen! Das wird über I²C angesteuert -das krigg sogar ich hin- und hat 8K (ich les' also jedes halbjahr die daten aus). Das wär's dann auch schon.
Danke für eure Unterstützung!
Matthias
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.