Show Posts
Pages: 1 ... 199 200 [201] 202 203 ... 232
3001  Forum 2005-2010 (read only) / Deutsch / Re: attach/detachInterrupt Problem on: December 07, 2009, 03:37:40 pm
OK, dann ist die Sache klar. Im Datenblatt steht in Abschnitt 12:

The INT0 and INT1 interrupts can be triggered by a falling or rising edge or a low level. This is
set up as indicated in the specification for the External Interrupt Control Register A – EICRA.
When the INT0 or INT1 interrupts are enabled and are configured as level triggered, the inter-
rupts will trigger as long as the pin is held low. Note that recognition of falling or rising edge
interrupts on INT0 or INT1 requires the presence of an I/O clock, described in ”Clock Systems
and their Distribution” on page 26. Low level interrupt on INT0 and INT1 is detected asynchro-
nously. This implies that this interrupt can be used for waking the part also from sleep modes
other than Idle mode. The I/O clock is halted in all sleep modes except Idle mode.

Du hast die Interrupts auf die Flanke gesetzt. Also kommt die Verzögerung dadurch, daß die Flanke auftritt während ein anderer Interrupt gerade aktiv ist. Typischerweise wird das wohl der Timerinterrupt sein.

Wenn Du den Timer0 anhältst bevor Du int0 aktivierst sollte das Problem weggehen. Also

Code:
cbi(TIMSK0, TOIE0);

vor der Messung und

Code:
sbi(TIMSK0, TOIE0);

hinterher.

Natürlich darfst Du Dich dann nicht mehr auf Timer0 verlassen. D.h. Delay funktioniert solange nicht (delayMicroseconds aber schon).

Gruß, Udo

P.S. Sag bescheid ob's das wirklich war




3002  Forum 2005-2010 (read only) / Deutsch / Re: attach/detachInterrupt Problem on: December 07, 2009, 12:37:53 pm
Ich tippe auf den Akku. Du bist 5ms hinter der fallenden Flanke der PWM wenn ich Dich richtig verstehe. Und der Akku wird von Dir vor und während der Messung nicht belastet, oder?

Wenn dem so ist, dann würde ich darauf tippen, daß der Akku sich schlicht und ergreifend nicht so verhält wie Du das erwartest. Ein Akku ist kein Kondensator der sich in 5ms garantiert beruhigt. Wenn Du der Sache richtig auf den Grund gehen willst, dann hilft nur ein Speicheroszi.

Schau erst einmal das Verhalten an ohne PWM. D.h. Ladespannung für 1 Minute anlegen und dann 1 Minute messen. Einmal mit und einmal ohne Last. Danach weißt Du wo das Problem liegt smiley-wink

Da Deine Frequenzen mit 500 Hz aber sehr niedrig sind würde ein Arduino als Speicheroszi schon völlig ausreichen. Oder was anderes aus der untersten Preisklasse:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1223639021

http://www.youritronics.com/arduino-oscilloscope/
3003  Forum 2005-2010 (read only) / Deutsch / Re: attach/detachInterrupt Problem on: December 06, 2009, 10:34:02 am
Noch ein Nachtrag. Auf was für eine Frequenz ist Deine PWM eingestellt? Der ADC braucht ja relativ lange um zu konvertieren. Wenn die PWM zu schnell ist, dann ist sowieso klar, daß Du immer Probleme bekommen wirst.

Gruß, Udo
3004  Forum 2005-2010 (read only) / Deutsch / Re: attach/detachInterrupt Problem on: December 06, 2009, 09:09:45 am
Naja, Akkus messen ist nicht trivial. Vieleicht wäre es eine gute Idee den Akku kurz vor der Messung zu belasten. Genaugenommen ist es vermutlich sogar eine sehr gute Idee. Stichwort "Reflexlader".

Was genau hast Du eigentlich vor? Akkulader  (und auch richtig gute) gibt es ja günstig zu kaufen. Was soll Deiner besser oder anders machen?

Gruß, Udo
3005  Forum 2005-2010 (read only) / Deutsch / Re: attach/detachInterrupt Problem on: December 06, 2009, 05:46:26 am
Ich verstehe nicht wieso Du überhaupt einen Interrupt für sowas brauchst. Ich würde einmal pro Sekunde messen und gut.

Der ADC hat von sich aus ein Rauschen, aber das eigentliche Problem sind die Akkus. Direkt nachdem Du die Spannung abschaltest (und auch noch einige Zeit danach) können die sehr merkwürdige Sachen machen. Das liegt daran, daß es eben reale und keine idealen Bauteile sind.

Da hilft nur kräftig Filtern und Glätten.

Gruß, Udo
3006  Forum 2005-2010 (read only) / Deutsch / Re: Projekt Wärmebildkamera ( Jugend forscht ) on: September 08, 2009, 04:28:19 pm
Nur so aus Neugier: wie kommt man mit 16 an so eine professionell aussehende Konstruktion? Mit 16 hätte ich das nie gekonnt und heute würde mir das sicher auch nicht leicht fallen. Das würde mich echt interessieren. Das nächste (ähm erste) Roboterprojekt kommt bestimmt...
3007  Forum 2005-2010 (read only) / Deutsch / Re: Projekt Wärmebildkamera ( Jugend forscht ) on: September 08, 2009, 04:25:00 pm
Nicht schlecht die Konstruktion. Vieleicht willst Du mal mit Jörn Loviscach reden:

http://www.j3l7h.de/ideas.html

"Poor Man's Thermographic Camera"

Gruß, Udo
3008  Forum 2005-2010 (read only) / Deutsch / Re: Frequenzmessung on: November 30, 2009, 05:18:01 pm
Was Du brauchst sind mindestens 8 analoge Eingänge, richtig? Dann wäre die einfachste Lösung eine Arduino Variante zu nehmen die das schon kann:

Seeduino, Sangduino oder Arduino Mega fallen mir da ein.

Seeduino kostet bei Waterott nur 23 Euronen:
http://www.watterott.com/Seeeduino-V328-Assembled-Arduino-compatible

und ist meiner Meinung nach eh besser als das Original smiley

Was die Wandlerfrequenz angeht: die ist nicht so toll, einfach mal im Atmel 328 Datenblatt nachschauen. Da Du ja 8 Eingänge brauchst mußt Du für 8kHz schon mal auf 64kHz Wandlerfrequenz kommen.

Laut Datenblatt geht das wohl schon noch, aber Du kommst dann nicht mehr auf 10 Bit Auflösung. Lies es Dir durch und überlege ob Dir das reicht.

Gruß, Udo
3009  Forum 2005-2010 (read only) / Deutsch / Re: Frequenzmessung on: November 28, 2009, 11:32:47 am
Der Code klappt allerdings nur bei niedrigen Frequenzen und wird auch durch Timer 0 gewaltig gestört. Wenn Du höhere Frequenzen messen willst wirst Du nicht drum rum kommen einen Hardware Counter zu nehmen. Die Details stehen im Datenblatt

http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf

Ist am Anfang etwas "hart", aber man gewöhnt sich dran. Schau Dir das Kapitel zu Timer 1 an.

Man lässt in der Regel einen Counter möglichst lange laufen und rechnet dann die Frequenz aus. Man darf aber das Fentster nicht zu groß machen um "wrap around" zu vermeiden. Alternativ kann man auch zählen lassen bis man eine feste Zahl Ticks gesehen hat (IRQ auslösen, nicht pollen). Während man gleichzeitig einen anderen Timer laufen lässt um dann die Zeit dafür zu ermitteln.

Ist aber alles zugegeben nicht besonders einfach.

Wie hoch sind die Frequenzen die Du messen willst?
3010  Forum 2005-2010 (read only) / Deutsch / Re: Steuerspannung erzeugen on: November 28, 2009, 09:52:04 am
@Mike:
klar, MOSFET geht auch. Aber wieso Du einen OP Amp vorgeschlagen hast versteh ich nicht ganz.

 @hole: probier's mal mit einem Transistor wie von mir vorgeschlagen. Strom sollte nicht das Problem sein. Anders als ein FET ist ein bipolarer nicht so empfindlich bei statischer Aufladung, d.h. anfängerfreundlicher smiley-wink

Wenn richtig Leistung geschaltet werden soll kommen dann MOSFETs, IGBTs oder Thyristoren. Aber das halte ich in Deinem Fall für ziemlich unnötig.

Gruß, Udo
3011  Forum 2005-2010 (read only) / Deutsch / Re: Steuerspannung erzeugen on: November 28, 2009, 04:04:40 am
Eben habe ich ein sehr ausführliche Beschreibung gefunden. Schau mal da:

http://www.elektronik-kompendium.de/sites/slt/0204302.htm

Anstelle von R_c wird der Verstellpropeller angeschlossen.

Bleibt die Frage was für ein Transistor und Basisvorwiderstand.

Also: rs-online.com
Transistor --> diskrete Halbleiter --> bipolar

jetzt schauen bei VCEO Max > 32V
--> aha, bei 60V gibt es viele und der Sicherheitsabstand zu 32V ist gut also 60V wählen

Polarität NPN (das wollen wir uns ist auch das was in dem Schaltbild eingezeichnet ist, sozusagen "guter Default") wählen

Sortieren nach Preis, ersten nicht SMD Transistor nehmen:
BD137, 30 cent pro Stück
oder
ZTX851 5 Stück 75 cent.

OK, wir nehmen ZTX851 weil vieleicht doch nochmal irgendwann einer gebraucht wird.

--> Datenblatt runterladen
60V 5A

FEATURES
* 60 Volt VCEO
* 5 Amps continuous current
* Up to 20 Amps peak current
* Very low saturation voltage
* Ptot=1.2 Watt

Aha, klarer Fall von ausreichend leistungsfähigem Schalttransistor. Vermutlich etwas überdimensioniert, aber er ist ja schön billig.

Schauen wir mal nach hfe --> >100 für die Ströme die wir erwarten. Das reicht sicher.

Basisstrom scheint das Teil reichlich zu vertragen, also wird der Arduino das limitierende Teil sein. Nehmen wir mal 25mA (das sollte reichen um nacher 500mA zu schalten). Ausgangspannung des Arduino ist 5V, also 5V / 25 mA = 200 Ohm.

Nächster Schritt bei RS   200 Ohm 1/4 Watt Widerstände auch noch in den Warenkorb --> Versandkostenfrei bestellen, 2 Tage später sind die Teile im Briefkasten.

Gruß, Udo



3012  Forum 2005-2010 (read only) / Deutsch / Re: Steuerspannung erzeugen on: November 28, 2009, 03:05:35 am
Nachtrag:

1) Basisvorwiderstand nicht vergessen.

2) Ein OP ist für sowas keine wirklich gute Wahl.

Gruß, Udo
3013  Forum 2005-2010 (read only) / Deutsch / Re: Steuerspannung erzeugen on: November 27, 2009, 12:49:57 am
Die Standardschaltung sieht so aus:
http://www.elektronik-kompendium.de/sites/slt/1206121.htm

Probier das erst einmal ohne Tiefpaß.

Gruß, Udo
3014  Forum 2005-2010 (read only) / Deutsch / Re: Steuerspannung erzeugen on: November 25, 2009, 05:06:04 pm
Ich würde versuchen (mit einem Transistor als Schalter) die 32 V per PWM zu regeln. Hintendran falls nötig noch ein Tiefpassfilter und fertig. Vermutlich reicht PWM alleine aber schon aus.

Im Zweifelsfall schau mal hier:
http://www.arduino.cc/playground/Main/InterfacingWithHardware

Und auch hier:
http://crackburg.wordpress.com/2009/08/01/relaistreiber-0-2/
An Stelle des Relais kommt Dein Verstellpropeller und die Ansteuerung wie gesagt per PWM.

Wenn Du dann noch einen Tiefpass brauchst, guckst Du hier:
http://de.wikipedia.org/wiki/Tiefpass

Gruß, Udo
3015  Forum 2005-2010 (read only) / Deutsch / Re: Anfängerfrage zu Relais on: November 28, 2009, 04:06:48 am
Schau mal meine Kommentar hier an:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1259160971/0

Du kannst genaus vorgehen. Freilaufdiode nicht vergessen. im Zweifelsfall 1N4004. Die ist billig und bewährt und man muß nicht nachdenken.

Gruß, Udo
Pages: 1 ... 199 200 [201] 202 203 ... 232