Hallo, ich möchte mit einem Atmel AT90S1200 4433 oder ATMega8 den Durchgang von mehreren Kanälen messen. Das soll allerdings mit max. 1V und weniger als 0,08A erfolgen. Bei Durchgang soll dieser dann ein Signal (z.B. für eine serielle Übertragung) bereitstellen. Ein entsprechender "Empfänger" dieses Signales soll dann dieses Auswerten und bei bestehendem Durchgang eine Meldung auf einem Display ausgeben... Leider hab ich spontan keine Idee, wie das zu realisieren ist... Danke im vorraus ... Jan
Hmm, da würde ich vielleicht einen Optokoppler an einen Ausgang des AVR (z.B. Mega8) hängen, der eine 1V-Spannungsquelle mit Vorwiderstand auf den zu prüfenden Draht gibt. An das andere Ende des Drahtes den A/D-Wandler vom AVR hängen und prüfen, ob Spannung anliegt. Ich bin mir nur nicht ganz sicher, ob es Optokoppler gibt, die so kleine Spannungen am Ausgang schalten können?!? Ansonsten Transistor nehmen. MfG Kai Markus
probier folgendes: nimm einen 74hc4051, da hast du max. 8 Leitungen, die du prüfen kannst gegen einen gemeinsamen., begrenz den Strom auf einen Wert deiner Wahl(mittels eines Widerstandes) und los gehts. Michael
danke erstmal... klingt ja schonmal interessant... aber ich wüsste immer noch nicht, wie das in die realität umzusetzten ist. Vor allem was den Code angeht.
Deine Ausführungen sind extrem schwammig, was sind z.B. Kanäle. Man kann daher nicht erkennen, was Du eigentlich willst. Wenn Du aber einen Kabeltester meinst: http://www.mikrocontroller.net/forum/read-1-16989.html#17024 Peter
stimmt... ich werde deshalb das ganze ein wenig näher erläutern: ich habe 8 Kanäle (im Sinne von 8 Kabel), die permanent auf Durchgang überprüft werden sollen. Zum Prüfen sollen maximal 1V und 0,08 A verwendet werden. Der ATMega8 soll nur bei bestehendem Durchgang von allen 8 Kanälen ein entsprechendes Signal ausgeben (am UART) das dann seriell übertragen werden kann. Ein weiterer ATMega8 am anderen Ende der Seriellen Leitung soll das Signal lesen und auf einem LCD eine Statusmeldung (z.B. "OK" oder so) angeben. Andernfalls "Fehler". Der Oberhammer wäre, wenn das Display mir sagen würde z.B. "Fehler auf Kanal 5" oder so, aber das ist nicht so wichtig. Danke im vorraus Jan
Ich habe einen Verdacht... willst du die zu überprüfende Leitung auch zur seriellen Übertragung benutzen??? Wenn ja dann mußt du dir mal gedanken machen was passiert wenn gerade die Leitung einen Fehler hat
Hi, wieso 2 Mega8? Ich hab bei mir in der Firma ein Platinentester gebaut. Dieser hat mit TTL Pegel gearbeitet und ein max Strom von 1mA. Es war relativ simpel aufgebaut. Ein 8Bit I/O Port als Ausgang , ein 8 Bit I/O Port als Eingang. Nun hab ich einfach am Ausgang Binaer "01010101" ausgegeben ... und dieses am Eingang abgefragt. Danach hab ich einfach "10101010" ausgegeben und am Eingang abgefragt . Ausgabe per LED da nur gefordet war zuzeigen ob ein Fehler vorhanden ist. Mit welcher Programmiersprache arbeitest du? wenn es Bascom oder C ist kann ich dir unter die Arme greifen. Mfg Dirk
@Sebastian: Nein, die zu überprüfende Leitung soll nicht zur seriellen übertragung genutzt werden. Es soll lediglich überprüft werden, ob ein durchgang vorhanden ist. @Dirk: Der Überprüfende ATMega und der auswertende ATMega sollen in 2 voneinander unabhängigen Geräten arbeiten. Lediglich eine Datenleitung verbindet die Geräte. Man kann es sich so vorstellen, das der überprüfende ATMega permanent ein Statussignal über die Datenleitung an den auswertenden ATMega schicken soll. Dieser erkennt das und schreibt dann einen entsprechenden Text aufs Display (z.B. "OK" bzw. "Fehler").
Irgendwie kann ich mir dein zukünftiges gerät nicht wirklich vorstellen. was hast du am anderen ende vom kabel?? also irgendwas muß da ja sein weil man meines wissens nach einen durchgang nur zwischen 2 punkten messen kann.
Ist doch nicht so schwer zu verstehen. 1 Einheit sendet ein Signal über diverse Leitungen, während die ander Anzeigt ob die Signale ankommen. Hast du denn wenigstens einen sicheren gemeinsammen Bezugspunkt, dann ist das ganze doch recht easy. Hast du meine PN bekommen Jan?
ich merk schon, es ist sehr schwierig zu verstehen. Ich werde daher mal das gesamte konstrukt komplett erläutern. Also ich bin Pyrotechniker und arbeite seit einiger zeit an einem neuen Zündsystem. Das System besteht aus einem Zündsystem (Gerät 1) und einem Kontrollpult (Gerät 2). Die Geräte sind nur mit 4 Adern miteinander verbunden und sind in der Lage bis zu 256 Kanäle zu zünden. Nun, am Zündsystem sind 2 Polige anschlüsse (+36V und GND) für die Pyroladungen, welche mit Gleichstrom gezündet werden. Um zu überprüfen, ob die Ladungen richtig verkabelt sind, macht man eine durchgangsprüfung. Spannung/Strom müssen dabei sehr gering sein, weil die ladungen sonst zünden würden. Quasi ne Durchgangsprüfung zwischen dem 36V anschluss und dem GND anschluss. Ja und jetzt möchte ich gern mittels eines ATMega8 den durchgang auf diesen Zündkanälen prüfen. Das ergebnis der permanenten Prüfung soll ebenfalls permanent dem Kontrollpult übermittelt werden, welches ebenfalls mit der Hilfe eines ATMega8 einen entsprechenden Status-Text auf einem LCD ausgeben soll. Ich hoffe, dass war verständlicher ;-) Danke im vorraus, Jan
HI, ... also ich hab mich jetzt entschlossen, die Durchgansprüfung extern zu machen. Bei durchgang schaltet jetzt ein Transistor und legt einen High-Pegel auf einen Eingang des ATMega. Jetz soll der Atmel nur noch das erkennen und ein Statussignal seriell über UART rausschicken. Das soll dann per Funk übertragen werden. (die Funk-geschichte ist schon fertig, funktioniert auch). Am anderen Ende empfängt ein weiterer Atmel das signal und gibt einen Text auf einem LCD aus. Ja, nur wie mache ich das ? Oder ist es vielleicht möglich, dass der 1. ATMega bereits den Text fürs Display sendet, den dann der andere ATMega nur noch ausgibt ? Danke im vorraus Jan
ich versteh ehrlich gesagt nicht das problem bei de textausgabe. beide wege sind möglich: du kannst den mega am zündgerät einen fertigen text für das display senden damit dieser nur noch ausgeben muss oder du kannst den status als binärwerte übertragen (weniger übertragung) indem du z.b immer die kanalnummer und den status nacheinander überträgst und der ziel mega dann aus den statuscodes und fertigen textbausteinen eine meldung generiert. such dir eine aus und beschreib und was du da für probleme an der umsetztung hast denn da sollte man dir helfen können
Hi, ... es wäre natürlich am einfachsten, den fertigen Text zu senden, der dann vom 2.Atmel ausgegeben wird. Ist diese übertragung auch über längere Leitungen möglich (bis zu 100m oder so ?) Der Jan
such mal nach rs485. ist ein rs232 ähnliches verfahren aber verträgt imo weit mehr als 100m kabel. gibts fertige leitungstreiber ic's für. kannst du per uart ansteuern
Oder nimm die RS422, das ist eine serielle Schnittstelle die der RS232 eher ähnelt. Sie besitzt für jede der beiden Datenleitungen (RXD und TXD) ein Paar (also 2) Leitungen. Das nennt sich differentielle Übertragung und hat keinen Bezug zur Masse mehr. Es wird einfach der Spunnungunterschied zwischen den beiden Leitungen gemessen. RS485 ist wie die RS422 eine differentielle Schnittstelle, allerdings laufen hier beide Signale über ein Leitungspaar, also nur halb-duplex. Natürlich kann man auch RS485-Transceiver für die RS422 nehmen, andersherum wirds wesentlich schwieriger...
kann man eigentlich nicht einfach einen rs485/422 leitungstreiber nehmen und den ganz normal mit rs232 protokoll ansteuern? das protokoll ist dem treiber ic doch so ziemlich egal, das macht nur seine diffentiellen signal und zurück. oder verrenne ich mich da gerade?
was genau klappt denn nicht?`was hast du schon und wo will es nicht so recht? da musst du konkret fragen, hier wird keiner mal eben das programm fertig posten :))
Nabend! Etwas Informationen zum Thema Schnittstellen und Protokolle: Die Bezeichnungen RS422, RS232 und RS485 sind eine Art Norm, wobei das "RS" für "recommended standard" steht, also nur eine Vereinbarung, auf die sich verschiedene Leute (Firmen) geeinigt haben. Normen werden von Instituten wie DIN (deutsches Institut für Normung) oder anderen Organisationen dieser Art festgelegt. (das jetzt nur als Einwurf). In der Vereinbarung über die RS422 etc steht eigentlich nur drin, welche elektrischen Eigenschaften die Schnittstelle hat, nicht, welche Daten übermittelt, oder dass ein bestimmtest Protokoll verwendet wird. Schliesslich findet man den CAN-Bus auch nicht nur in Autos... Zum Thema Textübermittlung: man schreibt die einzelnen Buchstaben nacheinander in den Sendpuffer der seriellen Schnittstelle und wartet bis das jeweilige Zeichen gesendet wurde. Dann folgt das nächste bis alle durch sind. Den Text kannst du aus Fragmenten (mehrere Wörter) zusammensetzen, und so für jeden Kanal den gleichen Text je nach Zustand übermitteln, wobei nur die jeweilige Kanalnummer eingetragen werden muss. Gruß Rahul
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.