mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC + Lichtschranken + FlashCard


Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Bin ziemlich neu auf diesem Gebiet. Hab mal etwas mit Mikrocontrollern
rumgespielt vor ein paar Jahren (damals C-Control von Conrad).

Nun will ich ein System aufbauen, bei dem ein µC ca. 20-40 Kanäle
(Signale von Lichtschranken oder Mikrofonen ->Schwellenwert) erfassen
und aufzeichnen soll. Meine Frage ist jetzt, welchen µC ihr mir
empfehlen würdet. Günstig wäre es natürlich, wenn sich die Zahl der
Kanäle später vllt. erweitern ließe. Ich weiß nicht, ob's da
mittlerweile Möglichkeiten gibt.

Außerdem würd es mich interessieren, ob ich einen
Kartenleser/-schreiber zum Beschreiben von Speichermedien
(CompactFlash-Card oder ähnliches) an solche µCs anschließen kann. Wenn
ja, würds mich interessieren, wo ich Informationen dazu finde, wie das
geht und was man da nimmt.

Wäre schön, wenn ihr mir weiterhelfen könntet.

Vielen Dank schon mal im Voraus.

see4far

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

du solltest deine Anforderungen etwas spezifizieren. Um CompactFlash
oder andere Speicher anzusteuern, gibt es hier im Forum ne Menge
Beispiele da kannst du drin stöbern. Einfach die Suche benutzen.

wichtig wäre z.B. zu wissen welche Spannung, genaue Anzahl an
Lichtschranken bzw. Mikro's, Einsatzziel,...

Seb

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich werd mal weiterstöbern...

ich habe quasi in einem raum 40 lichtschranken. nun soll von einem µC
(oder wenns anders nicht geht auch von zweien) jede lichtschranke
einzeln überwacht werden. im prinzip soll dabei vom µC die anzahl der
zustandsübergänge pro zeit gezählt werden. wie genau, ist aber denke
ich  erstmal nicht so wichtig. der µC muss ja erstmal genügend eingänge
besitzen. die daten sollen dann zwischengespeichert werden. günstig wäre
eben ein flash-speicher, damit man auch bei hoher daten-rate alles
loggen kann. daher hatte ich an speicher-karten gedacht. die über einen
bestimmten zeitraum gesammelten daten sollen dann später von einem
computer ausgelesen werden. das soll dann entweder über eine RS232
schnittstelle oder direktes auslesen der speicherkarte geschehen.

ich würd jetzt gerne wissen, welchen mikrocontrollerl ihr mir empfehlen
würdet. das mit den mikrophonen soll dann analog zu den lichtschranken
funktionieren. das signal müsste praktisch dann schon hardware-seitig
als 0-1-Signal vorliegen.

see4far

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir echt keiner eine empfehlung geben? ihr spielt doch täglich mit
AVRs rum und müsstet doch wissen, was man da nimmt, oder täusche ich
mich? ;-)

gruß
see4far

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Lichtschranken und alles kann man mit fast jedem beliebigen
auswerten. Wie oft werden die Lichtschranken getriggert? Wie groß ist
der Raum? Was ist wichtig zu wissen (Anzahl pro Zeit oder genauer
Zeitpunkt)? Welche Ausgänge haben die 0/24V oder 0/5V,...

Im Prinzip brauchst du ja nur ein paar Bausteine die als Eingänge
dienen. Dann wird in kurzen Abständen geschaut ob sich was geändert
hat.

Oder man macht das per Interrupt,....

Im Prinzip ist der ATMEGA32 gut geeignet. Hat ne Menge Flash und ist im
DIP Gehäuse.

Seb

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die lichtschranken sind noch nicht vorhanden. wäre natürlich günstig,
welche mit 5V zu nehmen ;-)
interrupt wird wohl schwer oder? weil 40 interrupt-eingänge? gibt es so
einen µC? oder legt man dann alle auf den interrupt-port und zusätzlich
auf einen anderen port?
ob anzahl pro zeit oder genauer zeitpunkt soll nicht von vornherein
festgelegt werden. aber wahrscheinlich ist eine zählung über ein
intervall von einigen minuten. danach wird dann eben ein neues
intervall gestartet usw.

welche boards würdet ihr empfehlen für den ATMEGA32, das vllt neben
RS232 auch USB und ne speicherkarte oder sogar ethernet unterstützt?
gibt es da fertige zu kaufen? oder momentan nur dieses projekt:
http://www.ispf.de/modules.php?name=News&file=arti...

das is jedenfalls das einzige was ich bis jetzt gefunden hab.

thx
see4far

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es per Interrupt sein sollte, findet sich bestimmt ne Lösung. Der
Mega hat 3 ext Interrupts, wenn man die gut verschaltet geht das schon.
Erweitern lässt sich die Sache mit 74x165. Wenn du SMD löten kannst,
kannst du auch nen Mega128 oder auch mehrere nehmen. Die haben dann
genug Interrupts. Was fertiges wird es wohl nicht wirklich geben.

Autor: Philipp Sªsse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und es stört nicht, wenn 40 Leitungen durch den Raum laufen? Klingt für
mich eher, als solltest Du einen Bus nehmen. Dann kommt z.B. an jede
Lichtschranke ein Zählerbaustein, der ab und zu (wie genau Du es halt
brauchst) über den Bus abgefragt und zurückgesetzt wird. Dann hast Du
keine Sorge mit einem Dutzend gleichzeitiger Interrupts und sparst die
aufwendige Verkabelung. Welcher Bus sich eignet, hängt von der Größe
des Raumes ab.

Schreibe die Daten lieber auf MMC statt CompactFlash (falls das interne
EPROM nicht sogar ausreicht oder Du das Flash des µC nutzen kannst), das
dürfte einfacher zu implementieren sein.

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
smd löten hab ich noch nicht wirklich (gut) gemacht. sollte mir vllt mal
anleitungen und material besorgen...

40 leitungen würden nicht unbedingt stören, man könnte notfalls auch 2
µCs nehmen. um an allen lichtschranken vorbeizukommen, wird man
vermutlich ne kabellänge von 50m brauchen. genaueres weiß ich aber auch
noch nicht. der abstand von den lichtschranken zum µC wird aber wohl
nicht mehr als 15m betragen.

MMC hatte ich auch schon angepeilt, nachdem ich das forum durchstöbert
hatte. scheint ja auch recht gut "erforscht" zu sein. wie viel
speicher haben denn die AVRs? doch nicht mehr als 512kB oder?

kriegt man sowas echt nirgends fertig? auch nicht die einzelnen teile
als module? das zusammenzubasteln wäre ja dann nicht mehr das problem.

vielen dank für eure (weitere) hilfe.

see4far

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na eigentlich braucht man ja nicht viel. Der Prozessor und ne
Spannungsversorgung. Evtl. nen Pegelwandler für die RS232. Nen
Steckkontakt für die MMC Karte. Das gibt es alles bei Reichelt.
Entweder du nimmst noch ne Hartpapier Karte und lötest das drauf oder
machst ne richtige Platine.

Dann solltest du noch ein Stecksystem draufmachen für die Schranken.

http://www.atmel.com/dyn/products/param_table.asp?...

Hier findest du alle Parameter der Atmels.

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welcher bus-typ würde sich denn für die lichtschranken-applikation
eignen? praktisch wäre es, wenn man auch noch mehrere µCs an diesen Bus
hängen könnte. aber mit bussen kenne ich mich leider überhaupt nicht
aus.

wie würde ich überhaupt die lichtschranke an den bus anschließen.
"zählerbaustein" klingt ja schön und gut, aber wie baue ich den?
lohnt sich das dann auch noch von den kosten?

kann man an solch einen bus dann auch sowas wie tastatur und display
anschließen? wäre ja praktisch, weil man dann evtl gleich mehrere µCs
mit einer einheit versorgen könnte.

entschuldigt mein großes unwissen. aber ihr könnt mir sicherlich ein
paar tipps geben. wenn ihr mir so grob sagt, wies geht, krieg ich den
rest auch alleine hin. hab eben nur nicht die erfahrung und weiß daher
nicht, wie man es am besten angeht. danke.

see4far

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keiner ne idee, welchen bus ich da nehmen kann?

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mich jetzt mal etwas umgeschaut. Der I²C-Bus is ja eigentlich für
kleinere Distanzen ausgelegt. Bei Conrad hab ich allerdings ein
Leitungstreiber-Modul gefunden, welches das Problem angeblich bei
Installation eines solchen Bausteins alle 20m behebt (Artikel-Nr.:
198280). Was haltet ihr davon?

Bis jetzt habe ich aber nur einen Zählerbaustein gefunden, bei dem sich
nur 2 Adressen einstellen lassen:
http://www.fernando-heitor.de/pic/datasheets/PCF8583.pdf
Da ich aber 40 von den Bausteinen bräuchtet, bietet sich das wohl nicht
so an. Oder gibt es da eine Lösung?
Wo finde ich ansonsten passende Zählerbausteine?

Vielen Dank schon mal.
see4far

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem bei den Längen ist meist die Geschwindigleit. Wenn du nur ne
sehr langsame Geschwindigkeit brauchst, ist das meist kein Problem.
Ansonsten bietet sich CAN,LIN,.... an. Da gibt es aber hier im Forum
einiges an Info's.

Seb

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die nächste Frage wäre dann nur:
Wo krieg ich die Zählermodule her? (aber die Frage stellt sich bei mir
auch noch beim I²C-Bus)

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja da könntest du nen ATTiny11 oder so nehmen und dann das selber
schreiben. S.N.A.P. oder SNAP kann dir dann helfen.
Am einfachsten und wohl auch preiswertesten ist aber wohl die Kabel zu
legen. Die Lichtschranken müssen ja auch Strom bekommen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wieviel Int pro Sekunde können denn auftreten?
Das ist bei 40 Eingängen nicht trivial !!

Martin

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit mehr als einem Zustandsübergang brauch mal voraussichtlich nicht
rechnen.

Mir wären übrigens fertige Zählerbausteine (oder auch ATtinys) lieber
als die Lösung über die separate Verkabelung. Wenn genug Adressen zur
Verfügung stehen, kann man einen Bus eben viel leichter erweitern, oder
täusche ich mich da?

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... äh.. meine natürlich: einen Zustandsübergang pro Sekunde und Kanal
...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jain. Klar kann man das dann erweitern, aber man muss diese Möglichkeit
in Betracht ziehen und schon vorher dafür auslegen. Mit der
Direktverkabelung geht das auch recht einfach. Einfach noch nen 165 und
den dann mit abfragen.

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"nen 165"???

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja wie oben bereits geschrieben nen 74HC165 oder 74HCT165,....

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso... gut, das teil bräuchte ich nur, wenn ich einen Mega32 und nicht
Mega128 nehmen würde bei der direktverdrahtung, richtig?

ich hab jetz mal n bissl nach lichtschranken geschaut. irgendwie hab
ich noch nichts zufriedenstellendes gefunden. die müssten nämlich schon
ne reichweite von 1-2m haben. und bei 40 stück ... kann's sein, dass
das teuer wird? habt ihr da irgendwelche empfehlungen?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Mega128 genug Pins hat. Du wirst das aber dann nicht großartig
erweitern können.

Ein Lösung für die Lichtschranken wäre diese auch noch selber zu bauen.
Einen NE555 auf der Senderseite welcher das Signal moduliert. Als
Empfänger nen TSOP1736 oder so und diesen an nen uC. Da kannst du noch
mehrere ransetzen und so z.B. 8 Lichtschranken an einen setzen. Über
Uart werden die alle vernetzt und Voila. Du solltest dir aber erstmal
Gedanken machen was du damit anstellen willst, wieviel Knete du hast,
...

Autor: see4far (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab mir jetzt erstmal ein paar datenblätter reingezogen. durch den NE555
steige ich noch nicht ganz durch, aber erstmal noch ne andere frage.

könnte ich mit einer LD274 und den anderen bauteilen eine reichweite
von 2-3 metern erreichen?

und ist es evtl. günstiger statt dem NE555 das modulationssignal vom uC
zu beziehen? ich weiß nicht, ob ich das signal für mehrere
lichtschranken mit einem port erzeugen könnte. bei sagen wir mal 20
ports würde es ja nichts ausmachen, wenn ein port für die
sendeeinheiten drauf gehen würde, und ich noch 19 zum empfangen hätte.
ich weiß aber nicht, ob das so praktisch ist. schließlich muss der uC
ja auch noch arbeiten und kann sich nicht voll aufs senden
konzentrieren.. was meint ihr?

knete scheint im moment noch nicht das problem zu sein. brauch ich
momentan noch nicht so sehr drauf zu achten.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. in Fernbedienungen ist die auch oftmals verbaut. Wenn es nicht
aussreichend ist, kannst du auch 2 nehmen. Da die nicht immer an sind,
kann man die Pulsen und so kommt man auf die Reichweite. Wie du das
Signal modulierst und ob du das modulierst ist egal. Der
Mikrocontroller kann das ohne Probleme nebenbei erledigen. Die Timer
laufen parallel zum Programm und wenn der uC nen PWM Ausgang hat
brauchst du den nur starten und los gehts. Problem ist halt immer die
Versorgung. Du musst dann ein Kabel vom Sender zum Empfänger legen.
Kannst natürlich auch mit Spiegeln experimentieren.

Seb

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute

Ich hab da noch eine Idee für die Beschaltung der Lichtschranken:
Versuch's doch mit einer Matrix. Dies habe ich vor allem bei
Taster-Feldern gesehen und das geht so: Für 40 Lichtschranken brauchst
du 8 mal 5 Leitungen. Mein MSP430F149 hat für die 8 Eingänge an Port2
genau einen Interrupt zur Verfügung, wir wählen also diesen Eingang.
Von Port3 verwenden wir fünf Leitungen zur Versorgung aller
Lichtschranken mit Strom. Jeder Ausgang versorg eine Lichtschranke pro
Eingang.

Standardmässig sind alle Ausgänge auf High und die Interrupts für die
Eingänge aktiviert. Wird eine Lichtschranke unterbrochen, so wird ein
Interrupt ausgelöst, was wiederum eine Auswertungsroutine im
Hauptprogramm anwirft.

Die Auswertungsroutine schaltet als erstes alle Ausgänge ab. Nun wird
der Reihe nach ein Ausgang angeschalten und alle Eingänge abgefragt.
Danach wird der nächste Ausgang angeschalten und wieder alle Eingänge
abgefragt. So kann der Zustand jeder einzelnen Lichtschranke bestimmt
werden und du brauchst nur 13 Pins sowie ein wenig Software.

HTH

Tom

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist noch der Link auf die Application Note (PDF), von wo ich das
Prinzip kenne:
http://www-s.ti.com/sc/psheets/slaa139/slaa139.pdf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.