Forum: Mikrocontroller und Digitale Elektronik Suche Mikrocontroller


von Daniel (Gast)


Lesenswert?

Hy,

suche schon seit Tagen einen Mikrocontroller von Typ PIC oder Atmel, bin 
hier aber noch nicht fündig geworden!


Folgendes habe ich mit dem Mikrocontroller vor:

Ich will Daten über 2 serielle Schnittstellen einlesen und diese für 1 
Tag auf dem internen Speicher des Mikrocontrollers speichern (ein paar 
kB). Diese will ich dann am Ende des Tages um eine gewisse Uhrzeit 
(24Uhr) über eine USB Schnittstelle auf einen USB-Stick speichern.


Ich bin leider auf dem Mikrocontroller Gebiet ein wenig unerfahren, wäre 
also sehr dankbar wenn ihr mir weiterhelfen könntet!


lg
Daniel

von Falk B. (falk)


Lesenswert?

@ Daniel (Gast)

>Folgendes habe ich mit dem Mikrocontroller vor:

>Ich will Daten über 2 serielle Schnittstellen einlesen und diese für 1
>Tag auf dem internen Speicher des Mikrocontrollers speichern (ein paar
>kB). Diese will ich dann am Ende des Tages um eine gewisse Uhrzeit
>(24Uhr) über eine USB Schnittstelle auf einen USB-Stick speichern.

>Ich bin leider auf dem Mikrocontroller Gebiet ein wenig unerfahren, wäre
>also sehr dankbar wenn ihr mir weiterhelfen könntet!

Dann wirst du damit wohl eine wenig überfordert sein. Daten per uC auf 
einen USB-Stick schreiben ist alles andere als trivial. Es sei denn, du 
willst ein paar tausend Euro für fertige Software ausgeben. Nimm lieber 
einen Mini-PC, da kannst du einfach Daten auf den USB-Stick schreiben. 
Der kann auch gleichzitig deine Daten einlesen und speichern.

MFG
Falk

von Alexander L. (lippi2000)


Lesenswert?

Hi Daniel,

da du quasi 3 Schnittstellen benötigst (2xRS232 und 1xUSB) würde ich dir 
raten, nen ATmega zu nehmen.

Mein Vorschlag:

Eine RS232-Schnittstelle reicht aus (zwei hast du beim ATmega64 drin). 
An die Leitungen Rxd und Txd am uC hängst du jeweils nen 4:1 MUX. Mit 2 
zusätzlichen Steuerleitungen kann der uC dann die Schnittstelle 
auswählen. Von dem MUX aus, gehst du 2x an nen MAX232 für deine 
RS232-Verbindung und 1x an nen FTDI-Chip (RS232 zu USB - Converter).

Wenn der interne Speicher nicht ausreicht, nimmst du entweder nen 
seriellen Speicher über SPI dazu. Oder schaust dir mal beim ATmega64 die 
Speichererweiterung an. (siehe SRAM im AVR-Tutorial auf dieser Seite)



2.Vorschlag:

Nimm nen ATmega64 und verwende beide RS232-Schnittstellen. Den FTDI-Chip 
(RS232-Eingang) steuerst du über einen Port und nen Software UART an. 
(kannst ja mal googeln, da gibts genug)


Alles geklärt?

Gruß Alexander

von Alexander L. (lippi2000)


Lesenswert?

Upps, hab gerade erst gelesen, dass du die Daten nicht an nen PC 
übertragen willst. Also USB-Stick ist echt heftig. Würde ich eher 
vergessen.

Aber ne gute Idee trotzdem. Kauf dir nen USB-Stick mit integrierter 
Flash-Speicherkarte oder einfach ein Kartenlesegerät (10€ im Supermarkt) 
die ist einfacher zu beschreiben. Dann hast du auch keine Probleme mit 
dem Speicher :-)

Alexander

von Daniel (Gast)


Lesenswert?

@ Alexander Liebhold &  Falk Brunner

Danke erstmals für eure schnelle Antwort und Hilfe ;)


die Daten müssen nicht unbedinngt auf einen USB-Stick gespeichert 
werden, könnte die Daten auch auf einen anderen Medium speichern z.B. 
mit einem Kartenlesegeräte auf SD-Karte.

Habe dazu einen Tipp von einen bekannten bekommen, zwischen den 
Mikrocontroller-System und dem USB-Kartenleser eine USB-Datenkopierbox 
einzubauen.

Dieses Datenkopierbox gibt es fix und fertig bei Conrad zu kaufen:
http://www1.at.conrad.com/scripts/wgate/zcop_at/~flNlc3Npb249UDkwX0NPUF9BVDpDX0FHQVRFMDM6MDAwMC4wMDlhLjhmMDg5YTZhJn5odHRwX2NvbnRlbnRfY2hhcnNldD1pc28tODg1OS0xJn5TdGF0ZT0zMTQ3NzEwOTM1====?~template=PCAT_AREA_S_BROWSE&mfhelp=&p_selected_area=%24ROOT&p_selected_area_fh=&perform_special_action=&glb_user_js=Y&shop=AT2&vgl_artikel_in_index=&product_show_id=&p_page_to_display=DirektSearch&~cookies=1&zhmmh_lfo=&zhmmh_area_kz=&s_haupt_kategorie=&p_searchstring=datenkopierbox&p_searchstring_artnr=&p_search_category=alle&r3_matn=&insert_kz=&area_s_url=&brand=&amount=&new_item_quantity=&area_url=&direkt_aufriss_area=&p_countdown=&p_80=&p_80_category=&p_80_article=&p_next_template_after_login=&mindestbestellwert=&login=&password=&bpemail=&bpid=&url=&show_wk=&use_search=3&p_back_template=&template=&kat_save=&updatestr=&vgl_artikel_in_vgl=&titel=&darsteller=&regisseur=&anbieter=&genre=&fsk=&jahr=&jahr2=&dvd_error=X&dvd_empty_error=X&dvd_year_error=&call_dvd=&kna_news=&p_status_scenario=&documentselector=&aktiv=&p_load_area=$ROOT&p_artikelbilder_mode=&p_sortopt=&page=&p_catalog_max_results=20


Ist das eine gute Lösung mit der Datenkopierbox oder macht das die Sache 
nur komplizierter?


lg

von Falk B. (falk)


Lesenswert?

@  Daniel (Gast)

>die Daten müssen nicht unbedinngt auf einen USB-Stick gespeichert
>werden, könnte die Daten auch auf einen anderen Medium speichern z.B.
>mit einem Kartenlesegeräte auf SD-Karte.

Das ist schon einfacher. aber für jemanden mit wenig uC Erfahung IMHO 
immer noch entschieden zuviel.Auch wenn es fertige Quellen für 
SD-Kartenzugriff und FAT16 gibt.

>Dieses Datenkopierbox gibt es fix und fertig bei Conrad zu kaufen:
>http://www1.at.conrad.com/scripts/wgate/zcop_at/~f...

Der Link geht nicht, poste mal die Bestellnummer.

MFG
Falk

von Daniel (Gast)


Lesenswert?

Hier die Artikel-Nummer bei Conrad.at

Artikel-Nr.: 973458 - 62

von Karl H. (kbuchegg)


Lesenswert?

Hmm.
Ich wüsste jetzt nicht, wie so eine Box dein Problem
vereinfachen sollte.

Wenn der Atmel die Daten auf eine SD Karte schreibt und
sie der PC von der Karte wieder runterliest, dann reicht
das doch. Wozu noch mal umkopieren?

von Falk B. (falk)


Lesenswert?

Die Box ist sinnlos für deine Problemlösung.

MFG
Falk

von Michael W. (wiebel42)


Lesenswert?

Zwei Dinge könnten dir weiterhelfen, wenn du jetzt doch so USB fixiert 
bist einmal:
Conrad: 411210
oder aber sogar:
http://www.elektor.de/jahrgang/2006/november/usb-stick-mit-arm-und-rs232.64526.lynkx
Beides vereinfacht dir die Angelegenheit doch deutlich, wobei die 
Elektorlösung,vielleicht sogar etwas overkill ist, andererseits, könnte 
der Arm vielleicht alle deine Aufgaen gleich noch mit erfüllen. -wiebel

von Daniel (Gast)


Lesenswert?

dachte mir, dass ich mir mit dieser Datenkopierbox einige 
Programmierarbeit erspare!

Damit die Daten dann auch ordentlich auf der SD-Karte angeordnet sind 
würde ich gerne die Daten pro Tag in einen Ordner speichern, laut meinen 
bekannten erstellt diese Datenkopierbox diesen automatisch.

von Karl H. (kbuchegg)


Lesenswert?

Daniel wrote:

> Damit die Daten dann auch ordentlich auf der SD-Karte angeordnet sind
> würde ich gerne die Daten pro Tag in einen Ordner speichern, laut meinen
> bekannten erstellt diese Datenkopierbox diesen automatisch.

Was bringt dir das?
Jede FAT-Software die du benutzen willst, besitzt Aufrufe um
ein Directory zu erzeugen.
Du setzt diese Box also nur dazu ein um einen einzigen (!)
Aufruf in eine Bibliothek einzusparen. Einen Aufruf einer
Funktion, die du aber im Programm hast.

Dafür wird das Handling dann doch deutlich komplizierter.
Dein µC beschreibt eine Karte. Diese Karte steckst du dann
in die Box, welche sie auf eine andere Karte (in ein
Verzeichnis) umkopiert, und mit der kopierten Karte gehst du
dann zum PC um sie auszuwerten.
Komplizierter gehts nimmer.

von Daniel (Gast)


Lesenswert?

Danke für eure Informationen!

Werde die Daten jetzt direkt über ein Kartenlesegerät auf die SD-Karte 
schreiben!

Für mein Projekt werde ich einen ATMega128 verwenden, weil dieser genug 
Speicherplatz für meine Daten besitzt!

Jetzt hätte ich nur noch eine Frage, ich müsste für meine gespeicherten 
Daten auch noch Datum und Uhrzeit anführen, wie könnte ich das am besten 
mit einem ATMega128 realisieren?

von Tobias P. (hubertus)


Lesenswert?

@Daniel:

Das klappt doch nicht:

>> Werde die Daten jetzt direkt über ein Kartenlesegerät auf die
>> SD-Karte schreiben!

Das kommt  ja am Schluss fast aufs selbe raus, wie wenn du nen USB Stick 
verwenden würdest. Ich geb dir nen Tipp, mach das folgendermassen:

Du nimmst irgend einen Atmel, welcher 2x UART und 1x SPI hat. Nun kannst 
du schon mal über die UARTS deine Daten empfangen... Und über die 
SPI-Schnittstelle steuerst du   d i r e k t  eine SD-Karte an. Denn 
SD-Karten haben eine SPI-Schnittstelle! Nun brauchst du die Karte nur 
noch mit z.B. FAT zu formatieren. Dann kannst du den Mikrocontroller die 
empfangenen Daten in einer Textdatei auf der SD-Karte speichern lassen. 
Das geht, du wärst auch nicht der erste, der sowas macht (ich allerdings 
habe noch nie mit SD-Karten gebastelt).

Wenns etwas mehr Daten werden sollten (oder auch einfach aus lauter 
Freude ;)) kannst du anstatt der SD-Karte auch eine Compact Flash 
nehmen. Die hat zwar kein SPI, ist aber auch einfach anzusteuern.

Grüsse % viel erfolg beim Basteln!

von Daniel (Gast)


Lesenswert?

Danke für deine Antwort und hast du eine Idee, wie ich das mit dem Datum 
& Uhrzeit realisieren könnte?

von Tobias P. (hubertus)


Lesenswert?

Ja hab ich.
2 Möglichkeiten:

1. du sendest das Datum/Zeit in binärer Form mit den Daten zum 
Mikrocontroller (auch über den UART).

Oder einfacher:

Man nehme eine DS1307 oder DS1337 I2C-Real time clock, pampe Quarz & 
Knopfbatterie dran und gut ist. Wenn du allerdings einen etwas grösseren 
Controller hast, und noch massig (~10..12) freie Pins, kannst du auch 
die DS12887 (oder DS12C887) RTC nehmen, die hat nämlich Quarz & Batterie 
schon eingebaut und sollte min. 10 Jahre selbständig laufen.

Eine "real time clock" ist nichts anderes, als ein IC, das im Grunde ein 
RAM ist mit Batterie- oder Akkupufferung. Es hat aber noch einen kleinen 
Zähler drin, der in bestimmte Adressen die Uhrzeit, das Datum, den 
Wochentag... reinschreibt. So musst du nur noch aus diesem RTC-IC die 
Zeit rauslesen.

Grüsse
     Tobias

von Daniel (Gast)


Lesenswert?

wenn ich für mein Projekt einen ATMega128 verwende sollte ich damit 
keine Probleme haben?

von Daniel (Gast)


Lesenswert?

wenn ich für mein Projekt einen ATMega128 verwende sollte ich damit
keine Probleme haben?

von Der M. (steinadler)


Lesenswert?

Für die USB-Geschichte kannst du nen Vinculum von FTDI nehmen.
Der lässt sich über die serielle Schnittstelle ziemlich einfach 
ansteuern.

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.