Hallo, bei einem RS485 Bus möchte ich gern eine LED installieren, die mir anzeigt, ob traffic über den RS485 Bus übertragen wird. -> dazu schließe ich die LED mit einem Vorwiderstand zwischen die bieden RS485-Busleitungen. Jedoch soll die LED über einen Pfostenstecker auf eine andere Platine platziert werden. Data- ----------------|---- | |Vorwiderstand| RS485-Bus | ----- Stecker ----|LED| Data+ --------------------- Kann man das so schalten? Ist es schlecht, wenn eine Datenleitung des RS485-Busses mehr belastet wird durch die LED und die andere Leitung gar nicht? Oder macht man das anders? Hans
@ Hans (Gast) >bei einem RS485 Bus möchte ich gern eine LED installieren, die mir >anzeigt, ob traffic über den RS485 Bus übertragen wird. -> dazu schließe >ich die LED mit einem Vorwiderstand zwischen die bieden >RS485-Busleitungen. Jedoch soll die LED über einen Pfostenstecker auf Das wird so nicht solide funktionieren. Di meisen RS485 Tranceiver erzeugen +/-1,5V Differenzspannung zwischen A und B (Data + /-). Allerdings sind bis zu +/-200mV noch als gültiges Signal definiert. Wenn es also solide laufen soll brauchst du einen RS485 Empfänger, der dann ein TTL-Signal ausgibt. Dort kannst du ganz normal deine LED dranhängen. Und wen du es richtig schön machen willst, nimmst du noch ein 74HC123 Monoflop mit ca 100ms Pulszeit, um auch kurze Datenpakete sichtbar zu machen. MfG Falk
also Data+/- wären die Ausgangpins von einem RS485-Pegelwandler von Maxim MAX3070E. MAX3070 Pin-Data- ----------------|----------- hier gehts zur XLR-Buchse | |Vorwiderstand| RS485-Bus | ----- Stecker ----|LED| MAX3070 Pin-Data+ --------------------------- hier gehts zur XLR-Buchse auf der anderen Seite des MAX3070 befindet sich ein Optocoupler. Hans
Je nach Vorwiderstand änderst Du eben ZL oder ZG und das führt zu einer Fehlanpassung des RS485 Busses bei Z0 des Kabels von typ. 120 Ohm. Daraus resultiert eine kapazitiver Gesamtimpedanz, wenn ZG und ZL größer als Z0 sind. Das führt zu einer kürzeren Datübetragungsstrecke, einer geringeren Bitrate und es können nicht entsprechend viele Nodes am Bus betrieben werden. Schaltung gegen Masse sollten vermieden werden, weil die Supressordioden am Eingang dann sinnlos für Transienten und Überspannungen sind. Auch das BIAS kann gestört werden. Besser wäre das Anklemmen der LED auf der Eingangsseite des RS-485-Treibers (TTL). Manche Treiber-IC's haben auch einen extra Anschluß. So kann auch in Senden/Empfangen unterschieden werden.
mit Eingangsseite meinst du zwischen Optocoupler und Pegelwandler? Der MAX3070 hat leider keinen extra-Pin für eine LED. http://datasheets.maxim-ic.com/en/ds/MAX3070E-MAX3079E.pdf verändere ich das Signal stark wenn ich zwischen Optocoupler und Pegelwandler eine solche LED installiere mit Vorwiderstand Optocoupler HCPL-260L http://www.avagotech.com/products/product-detail.jsp?navId=H0,C1,C7189,C4950,P90987 Hans
HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin | |Vorwiderstand LED| | ------|Stecker|-----|LED| Hans
@ Hans (Gast) >mit Eingangsseite meinst du zwischen Optocoupler und Pegelwandler? Ja. >verändere ich das Signal stark wenn ich zwischen Optocoupler und >Pegelwandler eine solche LED installiere mit Vorwiderstand Nein, der Optokopplerhat doch einen starken Digitalausgang. Nimm ne Low Current LED, dann ist alles paletti. >HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin > | > |Vorwiderstand LED| > | > ------|Stecker|-----|LED| Ja so. Aber Masse braucht die LED auch ;-) MfG Falk
Haste den Oprokoppler schon bei hohen Bitraten ausprobiert? Die meisten versagen ohne BIAS (Tiefpaßverhalten). Problemloser gehen die ICoupler von Analog Devices. Ob Du die LED auf die TTL-Seite nach dem ICoupler oder davor anbringst, ist von der Funktion egal. Es gilt allerdings zu überlegen, daß der galvansich getrennte! DC/DC-Wandler für die Betriebsspannug des RS485-Treibers zusätzlich den Strom der LED's aufbringen muß. Der Wandler sollte nach Möglichkeit übrigens eine Trennung von 5 kV aufweisen, dann biste selbst für den DNV gewappnet!
@ STS (Gast) >Haste den Oprokoppler schon bei hohen Bitraten ausprobiert? Die meisten >versagen ohne BIAS (Tiefpaßverhalten). Problemloser gehen die ICoupler >von Analog Devices. DMX hat doch max. 250 kbit/s, der Optokoppler ist auf 15 Mbit/s ausgelegt. MFg Falk
ne den Optocoupler hab ich noch nicht ausprobiert - meine Bitrate beträgt 250kBit/s. der Output High Level Current beträgt laut Datenblatt max. 50µA (Seite8) - ich hoffe das stimmt. Vorwiderstand R = U/I mit U=3.3V Forward Current von der LED ist maximal 20mA http://www.farnell.com/datasheets/70612.pdf also brauch ich nur einen vorwiderstand von ca. 200 Ohm. Hans
der DC-DC-Wandler hat nur eine Isolation von 2kV DC... sollte doch ausreichend sein, oder?
@ Hans (Gast) >der Output High Level Current beträgt laut Datenblatt max. 50µA (Seite8) >- ich hoffe das stimmt. Hmm, ich sollte das Dateblatt lesen :-( Der hat nen Open Collector Ausgang. Da musst du die LED LOW-Aktiv schalten. Also Anode fest an VCC und Anode über den Vorwiderstand an den Ausgang des Optokopplers. >Vorwiderstand R = U/I mit U=3.3V LED >Forward Current von der LED ist maximal 20mA Nimm doch einfach ne Low Current LED. MFG Falk
Bei der Dimensionierung des Kollektorwiderstandes solltest Du die Kurven des Datenblatts beachten, Ic bestimmt auch die Grenzfrqequenz des Optokopplers! Deswegen meine Anmerkung mit der Datenrate.
HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin | |Vorwiderstand LED| | ------|Stecker|-----|Anode LED Kathode|---GND Sollte sich der Vorwiderstand eher bei der LED befinden oder näher beim Optocoupler? Die LED sitzt ja auf einer anderen Platine. Bei Low Current LEDs muss ich noch schauen, ob es weiße LEDs gibt als SMD-Ausführung. Hans
@ Hans (Gast) Falsch, ich sagte doch LOW-Aktiv. HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin | |Vorwiderstand LED| | Kathode LED Anode ------|Stecker|---------|<-------VCC >Sollte sich der Vorwiderstand eher bei der LED befinden oder näher beim >Optocoupler? Die LED sitzt ja auf einer anderen Platine. Ist egal. >Bei Low Current LEDs muss ich noch schauen, ob es weiße LEDs gibt als >SMD-Ausführung. Du kannst auch normale LEDs nehmen. Aber du musst keine 20mA da durchjagen, auch wenn die LED das kann. Meist reichen 1..5mA absolut aus. MfG Falk
viele dank und bezüglich des Output-Stroms vom Optocoupler der Wert bei Output Collector Current ist der richtige? Bei maximal Ratings ist dieser mit 50mA angegeben. Rechnet man dann auch mit diesem Stromwert den Vorwiderstand aus --> also bei 4mA für die LED und 3.3V Spannung Vorwiderstand R = 3.3V / (50mA - 4mA) = 72 Ohm Hans
bezüglich des DCDC-Wandler da verwende ich diesen hier (mit 3.3V In- und Output Voltage) http://www.recom-international.de/pdf/econoline/RN.pdf von diesen Ausgängen müssen insgesamt vier versorgt werden, so dass ich ca. 300mA Strom benötige... Ist dieser Wandler für die Aufgabe gewappnet? Hans
HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin | |Vorwiderstand LED| | Kathode LED Anode ------|Stecker|---------|<-------VCC warum ist diese Variante besser gegenüber LED gegen GND schalten? So muss man VCC auch über den Stecker an die zweite Platine routen, weil VCC ja galvanisch getrennt ist... Norbert
@ Hans (Gast) >und bezüglich des Output-Stroms vom Optocoupler der Wert bei Output >Collector Current ist der richtige? Bei maximal Ratings ist dieser mit Das ist der maximal mögliche/zulässige Kollektorstrom. >50mA angegeben. Rechnet man dann auch mit diesem Stromwert den >Vorwiderstand aus --> also bei 4mA für die LED und 3.3V Spannung Hääää??? Bitte mal in Ruhe über das ohmsche Gesetz nachdenken. Reihenschaltung, Parallelschaltung etc. >Vorwiderstand R = 3.3V / (50mA - 4mA) = 72 Ohm ??? >http://www.recom-international.de/pdf/econoline/RN.pdf >von diesen Ausgängen müssen insgesamt vier versorgt werden, so dass ich >ca. 300mA Strom benötige... >Ist dieser Wandler für die Aufgabe gewappnet? Sieht so aus, wenn dort 378 mA angegeben sind. MfG Falk
@ Norbert (Gast) >HCPL-Pin VO-Pin----------------------------DI MAX3070-Pin > | > |Vorwiderstand LED| > | Kathode LED Anode > ------|Stecker|---------|<-------VCC >warum ist diese Variante besser gegenüber LED gegen GND schalten? So Weil der Optokoppler einen Open Colletor Ausgang hat, der kann nur gegen GND ordentlich Strom schalten. Ausgangsstufen Logik-ICs >muss man VCC auch über den Stecker an die zweite Platine routen, weil >VCC ja galvanisch getrennt ist... Tja, Pech. Oder man muss einen Transistor spendieren. MFg Falk
laut datenblatt vom MAX3070 ist der Input Current von DI (Eingang) 1µA. 50mA kann der HLPC-260L zur Verfügung stellen - jedoch fließen diese auch nur wenn sie benötigt werden. die LED wird parallel zum DI-Eingang geschaltet mit Vorwiderstand in Reihe. wenn an der LED z.B. 4mA anfallen sollen nimmt man einfach noch einen vorwiderstand von z.B. 100 Ohm und fertig...
ok Reihenschaltung... aber die Dimensionierung mit dem Vorwiderstand hab ich noch nicht begriffen - gibt es da keine regeln?
Den DC/DC-Wandler kannste nehmen, wenn die 4 Schnittstellen nicht auch untereinander galvanisch getrennt sein müssen???. 2 KV sind halt erforderlich, wenn der Wandler für die (Schiffs-)Industrie (DNV) zertifiziert werden soll. Dann sollte allerdings auch ein Überspannungsschutz mit Suppressordioden zusätzlich angedacht werden. Die Dimensionierung des Kollektorstromes sollte man nicht auf die leichte Schulter nehmen. Dadurch kann man die Bandbreite des besten Kopplers kaputt machen. Wie gesagt sehr einfach finde ich da die ICoupler von AD<-Werbung!
Forward Voltage sollten typischerweise 2Volt sein bei der LED;Strom z.B. 2mA damit sie nicht so hell leuchtet... R = (3.3V - 2V) / 2mA = 650 Ohm that`s it...
äh muss das nicht R = (3.3V – U_LED) /( I_LED + I_Pegelwandler) heißen?
nein weil durch R nicht der STrom vom Pegelwandler fließt... aber die Spannung von der LED ist 0.7V und nicht 2V
hab noch ein paar fragen beim durchlesesn dieses artikels: >Je nach Vorwiderstand änderst Du eben ZL oder ZG und das führt zu einer was wird hier genau als ZL und ZG bezeichnet? >Fehlanpassung des RS485 Busses bei Z0 des Kabels von typ. 120 Ohm. wenn man eine LED verwendet die einen hohen Strom abkann - wie groß muss man dann dennoch den vorwiderstand wählen und warum? >Daraus resultiert eine kapazitiver Gesamtimpedanz, wenn ZG und ZL größer >als Z0 sind. Das führt zu einer kürzeren Datübetragungsstrecke, einer >geringeren Bitrate und es können nicht entsprechend viele Nodes am Bus >betrieben werden. >Schaltung gegen Masse sollten vermieden werden, weil die Supressordioden >am Eingang dann sinnlos für Transienten und Überspannungen sind. Auch >das BIAS kann gestört werden. wenn sich aber die LED nach den supressordioden, die zwischen Data+/- des RS485-Busses geklemmt werden, spielt das dann auch noch eine Rolle, und warum? sorry für die Newbie fragen
@ Hans (Gast) >ok Reihenschaltung... aber die Dimensionierung mit dem Vorwiderstand hab >ich noch nicht begriffen - gibt es da keine regeln? Sag mal, liest du eigentlich auch mal die Links die dir die Leute empfehlen??? :-( LED!!!!!! @ Newbie (Gast) >>Je nach Vorwiderstand änderst Du eben ZL oder ZG und das führt zu einer >was wird hier genau als ZL und ZG bezeichnet? Das Posting solltst du weitgehend ignorieren, ist nur akademisches Gefasel. >>Fehlanpassung des RS485 Busses bei Z0 des Kabels von typ. 120 Ohm. >wenn man eine LED verwendet die einen hohen Strom abkann - wie groß muss >man dann dennoch den vorwiderstand wählen und warum? An den RS485 hängt man keine LEDs. Fertig. MfG Falk
>An den RS485 hängt man keine LEDs. Fertig aber bei DMX-Tester wird doch auch die LED mt Vorwiderstand in den RS485-Bus gehängt und vom widerstand gibt das ja auch keine fehlanpassung, wenn der vorwiderstand groß gewählt wird.
@ Newbie (Gast) >>An den RS485 hängt man keine LEDs. Fertig >aber bei DMX-Tester wird doch auch die LED mt Vorwiderstand in den >RS485-Bus gehängt Wo? Bei einem offiziellen Aufbau oder nur bei diesem Bastelprojekt? Lies mal mein erstes Posting, dann weist du warum das keine solide Idee ist. > und vom widerstand gibt das ja auch keine >fehlanpassung, wenn der vorwiderstand groß gewählt wird. Ja. Aber die Spannung reicht nicht m die LED leuchten zu lassen. MfG Falk
>Wo? Bei einem offiziellen Aufbau oder nur bei diesem Bastelprojekt? Lies >mal mein erstes Posting, dann weist du warum das keine solide Idee ist. irgendwas dazwischen würd ich sagen http://www.soundlight.de/produkte/wg18/dmxsteck.htm außerdem gibt es ja viele dmx-geräte, bei denen es leds gibt, die anzeigen wann datenpakete geschickt oder gesendet werden... wo werden denn dann diese leds platziert? die hinter dem pegelwandler zu platzieren macht doch keinen sinn, weil man dann nicht anhand dieser leds erkennen kann ob dieser defekt ist oder nicht? Newbie
@ Newbie (Gast) >irgendwas dazwischen würd ich sagen >http://www.soundlight.de/produkte/wg18/dmxsteck.htm Murks! Ich wiederhole! RS485 Tranceiver erkennen noch +/-200mV als gültiges Signal, da gehen die LEDs nie und nimmer an. >außerdem gibt es ja viele dmx-geräte, bei denen es leds gibt, die >anzeigen wann datenpakete geschickt oder gesendet werden... wo werden >denn dann diese leds platziert? Hast du den Thread gelesen? Glaube ich kaum. >die hinter dem pegelwandler zu platzieren macht doch keinen sinn, weil >man dann nicht anhand dieser leds erkennen kann ob dieser defekt ist >oder nicht? Es geht ja meist nicht darum zu erkennen ob der Pegelwandler defekt ist sondern ob Daten übertragen werden. MFG Falk
>Hast du den Thread gelesen? Glaube ich kaum. d.h. sie werden stets zwischen Optocoupler und Pegelwandler platziert? >Das wird so nicht solide funktionieren. Di meisen RS485 Tranceiver >erzeugen +/-1,5V Differenzspannung zwischen A und B (Data + /-). >Allerdings sind bis zu +/-200mV noch als gültiges Signal definiert. bei dmx beträgt die differenzspannung +/- 2.5V; d.h. einmal ist DATA+ auf 2.5V und gleichzeitig Data- auf null volt und vica versa (DATA- -2.5V) wann treten denn die +/- 200mV auf?
@ Newbie (Gast) >>Hast du den Thread gelesen? Glaube ich kaum. >d.h. sie werden stets zwischen Optocoupler und Pegelwandler platziert? Man KANN das machen, muss aber nicht. >bei dmx beträgt die differenzspannung +/- 2.5V; d.h. einmal ist DATA+ >auf 2.5V und gleichzeitig Data- auf null volt und vica versa (DATA- >-2.5V) ??? Ich denke DMX basiert auf RS485, oder? >wann treten denn die +/- 200mV auf? Bei RS485. MFg Falk
bei dmx werden definitiv +/- 2.%V Differenzspannung übertragen - keine 200mV wenn nur +/- 200mV übertragen werden, dann kann natürlich keine led zwischen Data+/- gesetzt werden - bei +/- 2.5V Differenzspannung aber schon! Und RS485 legt die Spannung zwischen DATA+/- auch nicht endgültig fest - weil jedes anders signal über rs485 andere spannungen verwendet, deshalb sind diese pegelwandler auch teilweise bis +/- 7V oder sogar 12V ausgelegt Beitrag "DMX Kontroll Led"
@ Newbie (Gast) >bei dmx werden definitiv +/- 2.%V Differenzspannung übertragen - keine >200mV Man muss schon etwas differenzieren. Die meisten RS485 Tranceiver spucken unter Last (Bus mit 2x110 Ohm terminiert) noch 1,5V aus. Ohne Terminierung auf dem Bus (was bei kurzen Leitungen machbar ist) ist es natürlich mehr. Aber die Empfänger müssen bis runter auf +/-200mV noch sauber arbeiten. Die +/-200mV entstehen bei langen Kabeln und hohen Datenraten. >Und RS485 legt die Spannung zwischen DATA+/- auch nicht endgültig fest - >weil jedes anders signal über rs485 andere spannungen verwendet, deshalb >sind diese pegelwandler auch teilweise bis +/- 7V oder sogar 12V >ausgelegt Du verwechselst da was. Die +/-7V bzw 12 V sind der Gleichtaktbereich der Eingangsspannung. Die Differenz zwischen Data+/- ist immer im Bereich kleiner 5V. >Beitrag "DMX Kontroll Led" Dort sind auch ein paar Sachen verwechselt. MFG Falk
>Aber die Empfänger müssen bis runter auf +/-200mV noch sauber arbeiten. >Die +/-200mV entstehen bei langen Kabeln und hohen Datenraten. da hast du recht... aber sind die max. 32 Teilnehmer, die an einem dmx-bus dranhängen dürfen auf +/- 200mV oder auf +/- 2.5V ausgelegt? >Du verwechselst da was. Die +/-7V bzw 12 V sind der Gleichtaktbereich >der Eingangsspannung. Die Differenz zwischen Data+/- ist immer im >Bereich kleiner 5V. ja vertan - stimmt natürlich...
@ Newbie (Gast) >da hast du recht... aber sind die max. 32 Teilnehmer, die an einem >dmx-bus dranhängen dürfen auf +/- 200mV oder auf +/- 2.5V ausgelegt? Werder noch. Das ist wie gesagt in erster Linie von der Datenrate und Kabellänge abhängig. Die 32 Teilnehmer stellen zusammen max. eine ohmsche Last von 12kOhm/32=375 Ohm dar. Wenn die Tranceiver aber selbst bei 54 Ohm noch 1,5V liefern spielt das keine grosse Rolle. MFg Falk
>Werder noch. Das ist wie gesagt in erster Linie von der Datenrate und >Kabellänge abhängig die sind ja auch festgelegt.. 250kBit/s und die Kabellänge ist glaub ich auf 1000m ausgelegt.. Aus diesen werten müsste man doch ausrechnen können, welche minimale spannung dadurch resultiert? nur nach welchen formeln? wie kommst du auf den wert 12kOhm für alle 32 Teilnehmer...?
@ Newbie (Gast) >die sind ja auch festgelegt.. 250kBit/s und die Kabellänge ist glaub ich >auf 1000m ausgelegt.. >Aus diesen werten müsste man doch ausrechnen können, welche minimale >spannung dadurch resultiert? nur nach welchen formeln? Ganz einfach. Das Ohmsche Gesetz. Rechne mal aus wie gross der Widerstand von 1000m Kabel ist (Durchmesser, Leitwert von Kupfer). >wie kommst du auf den wert 12kOhm für alle 32 Teilnehmer...? 12 kOhm ist der definierte Eingangswiderstand der RS485 Tranceiver. Wenn davon 32 parallel am Bus hängen . . . MfG Falk
d.h. mit dieser rechnung kommt man ungefähr auf die 12kOhm (bzw. das ist der maximale wert)... aber welchen strom nimmt man für die rechnung an, um die spannung ausrechnen zu können? der output-strom vom pegelwandler? Driver-Short-Circuit-Output Current bei 3.5V Differenzspannung max. 40mA?
Hallo Hans einfach einen dummy anhängen (nur einen sn75176) und am R Ausgang die LED mit vorwiederstand
>54 Ohm noch 1,5V liefern spielt das keine grosse Rolle
wo steht dieser wert - bzw. wie kommt man auf dieser festlegung...?
@ Newbie (Gast) >>54 Ohm noch 1,5V liefern spielt das keine grosse Rolle >wo steht dieser wert - bzw. wie kommt man auf dieser festlegung...? Das steht in den Datenblättern drin. Z.B. beim MAX485, Differential Driver output. MFG Falk
Noch einen Hinweis zum akademischen Gefasel von mir: Z0 ist der Wellenwiderstand des Kabels (Kabel für RS485 hat i. d. R. 120 Ohm). ZG ist der Innenwiderstand des Generators und ZL der Innerwiderstand der Last. Der Bus muß also mit ZL=ZG=Z=120 Ohm abgeschlossen, sein um Reflexionen zu vermeiden (Wellengleichung). Also kommt an jedes Ende des Busses (nicht jeden Nodes) ein R von 120 Ohm. Findet also keine Reflexion durch Fehlanpassung statt, wird das Rechteck auch als Rechteck übertragen. Bei kapazitiver Fehlanpassung werden die Flanken verschliffen (integrriert), bei induktiver Fehlanpassung sehen sie aus, wie nach einem Differenzierglied. Diese Fehlanpaasungen resultieren in kürzerer Übetragungsstrecke, weniger Nodes oder auch niedriger Bitrate. siehe dazu auch http://kurt.steudler.ch/Elektro/Uebt/Ulei.pdf , S. 44 ff. Wellentheorie, Bergeronverfahren, Leitungsabschluß
Noch was zur LED parallel zur Suppressordiode: Die Suppressorkombination ist für die maximale Spannung -7/+12 V ausgeleget. Darüber schaltet sie durch. Die gängigen Dioden können 600 W kurzzeitig abführen (P6SMBxxx). Wenn aber deine LED parallel am Bus schon früher gegen Masse durchschaltet, als die Suppressorkombi bei Transienten bis 4 kV, wird wohl die LED eher hinüber sein als die Schutzdiode begrenzt.
@ Karl (Gast) >>AUA. Wie kann man mit einem 16MHz!!! uC so einen riesigen Fehler bei >>dermassen niedrigen Frequenzen machen. Unverständlich. >Danke dir für deine Sachlichkeit und Konstruktivität deines Betrages. Immer wieder gern geschehn. ;-) Warum einfach, wenn es auch umständlich geht. 16 Mhz Takt (was hier zumindest Overkill ist). Prescaler 1024 macht ~16 kHz. Bei 10 Hz macht das eine Auflösung von 1600 Zählern ~0,6 Promille. Bei 16 kHz braucht ein 16 Bit-Zähler ca. 65536/16kHz ~4 Sekunden bis zum Overflow. Passt. Alles was man mun tun muss ist die Differenz der Zählerstände zu berechnen. Das wars. Im Falle eines Overflows ist die negativ, dann muss invertiert werden. Das ist der ganze "Trick".
1 | volatile uint16_t delta_t; |
2 | uint16_t old_time; |
3 | volatile uint8_t flag; |
4 | |
5 | void main(void) |
6 | {
|
7 | // timer initialisieren
|
8 | |
9 | TCCR1B = 5; // Prescaler 1024 |
10 | |
11 | // interrupt initialisieren
|
12 | |
13 | TIMSK |= (1<<TOIE1); // Overflow Interrupt ON |
14 | |
15 | sei(); |
16 | |
17 | while(1) |
18 | {
|
19 | while(flag==0); // Warte auf Messung |
20 | flag =0; |
21 | |
22 | // hier jetzt die Auswertung/Speicherung des Messwertes delta_t
|
23 | }
|
24 | }
|
25 | |
26 | // steigende Flanke an INT2
|
27 | |
28 | ISR(INT2_vect) |
29 | {
|
30 | uint16_t tmp, tmp1; |
31 | |
32 | tmp = TCNT1; |
33 | tmp1 = tmp - old_time; |
34 | if (tmp1>32768) tmp1 -= 32768; |
35 | old_time = tmp; |
36 | delta_t = tmp1; |
37 | flag = 1; |
38 | }
|
@ Läubi Mail@laeubi.de (laeubi) >Hat der AVR nicht nen ICP interupt? Ja. >Ich denk das sit für Frequenzmessung genauer... Oder miß doch eine Für DIE Frequenzen tuts auch der externe Interrupt. >Sekunde lang wieviel Pulse kommen... Tut er nicht, aber er macht es sehr kompliziert und falsch. MFG Falk
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.