Werbung
Meine Homepage:
www.bluesmash.roboterbastler.de
Vielleicht geht auch die Messung auf der Zeit-Achse, also messen, wie lange ein vorgegebener Stromanstieg braucht. Zeitmessungen sind mit der CapCom-Einheit des AVR ja sehr genau machbar, bis auf ca 100ns je nach MCU-Takt.
Fraglich ist dann nur, wo/wie man den unteren und oberen Schwellstrom einstellt. Den oberen könnte man zB in den AC füttern und den mit dem CapCom verdrahten. Für den unteren über einen externen Komparator an einen PCINT oder XINT. Entscheidend wird dann aber die Geschwindigkeit, mit der man es schafft, den Timer zu starten. (IRQ-Latenz, Programm-Effizienz, etc).
Disclaimer: none. Sue me.
da kommen ja ganz neue welten auf mich zuwas ist den die capcom-Einheit?
Aber ich denke es ist einfacher den stromanstieg über eine fixe zeit zu messen, somit kann ich auch in Bascom den stromanstieg relativ einfach bestimmen...
von wo bis wo ist es sinvoll den strom für die berechnung zu bestimmen? direkt von 0 aus bis ca. 100 im oberen diagramm? oder von ca. 10 aus?
achja zu deiner formel: ΔI = U/L·Δt
ist das folgendermasen zu interpretieren?: ΔI = (U/L)·Δt
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
Ja, so ist's gemeint. Bei gleicher Rangfolge der Operatoren wird von links nach rechts ausgewertet, ebenso wie bei a-b+c. Sonst kämen schon die falschen Einheiten raus![]()
CapCom = Capture-Compare-Einheit, zB die von Timer1. Heisst da Input Capture oder so. Damit kann man recht genau Zeiten messen. Herausforderung ist dann, das Ergbnis schnell genug abzuholen bzw. auszuwerten.
Wie willst du den Strom denn messen? Der ADC ist IMHO nicht dafür geeignet da zu langsam. Wie ist den sie Bemaßung oben auf der t-Achse? Sind das ms?
Disclaimer: none. Sue me.
vielen dank schonmal für die antworten![]()
wie die bemassung der t-achse oben ist weiss ich momentannoch nicht![]()
ich habe einfach die spule eingeschaltet und direkt danach in einer for...next schleife ein array mit 254 werten gefüllt und dabei einfach die verzögerung durch die befehle genutz... muss bei gelegenheit noch die zeit messen die er dafür benötigt...
aber wie man oben ja schön sieht sollte der adc dafür schon geeignet sein... die auflösung ist einfach noch nicht sehr berauschend...
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
Das war hier mal eine Diplomarbeit ^^
Der Herr hat das so gelöst wie im Anhang. Das heist ein Beliebiges Objekt hat immer in der Lichtschranke geschwebt... durch mehrere Lichtempfindliche Sensoren hat er dann das PWM Signal für die E-Magneten geregelt.
Mal grob, genaueres weis ich nich. Man kann da echt alles zwischen hängen was nich zu schwer und groß ist![]()
Meine Homepage:
www.bluesmash.roboterbastler.de
du siehst eigentlich nur ne lame und ne scheibe plexiglas ^^*g*
Das hort sich Gut an! Vor 10 Jahren (Schulezeit-Probearbeit) habe ich zo etwas gesehn. Ist genau wie SprinterSB sagt, messen geht via den angetriebenen Magnet. Est ist moglich aber Mathematisch und Pyshich swerig. Das ist weil z.B. man ein Beschlunigung hat wegen der Gravitation und Umgekert muss man die Kugel in gegenseitige richtung beschlunigen. Aber der Magnet ist gunstig weil die Feldstarke liniar am Stromstarke lauft. Ich bin sehr neukierig und werde Projeckt genau folgen!
so ich habe jetzt mal schnell die zeit gemessen für das obere diagramm![]()
der code sieht momentan folgendermassen aus:
dabei kam der zähler auf 911838 takte dies entspricht einer zeit von 57msCode:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $framesize = 128 $swstack = 32 $hwstack = 64 Config Portb.0 = Output Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Dim X(254) As Word Dim I As Byte Dim Zeit As Word Dim Zeit1 As Word Dim Inter As Byte Config Timer1 = Timer , Prescale = 1 Enable Timer1 On Timer1 Timer1isr Enable Interrupts Portb.0 = 1 Start Timer1 For I = 0 To 254 X(i) = Getadc(0) Next Stop Timer1 Zeit = Timer1 For I = 0 To 254 Waitms 1 Print X(i) Next Print "zeit: " ; Zeit Print "interrupts: " ; Inter Wait 5 Portb.0 = 0 End Timer1isr: Incr Inter Return
ich denke etwa 1/4 der zeit würde reichen um die induktivität zu bestimmen, in dieser zeit verläuft die kurve auch noch annähernd linear, dann währe ich bei einer zeit von ca. 14.25 ms
dadurch ergäbe sich eine induktivität nach obiger Formel:
blaue kurve: 2.023288047 H
gelbe kurve: 2.191895385 H
rote kurve: 2.287195184 H
kann das stimmen? die anstiegszeit der kurve von 57ms finde ich extrem lange... ich habe leider keinen bezug zur grössenordnung der induktivität. habe sonst auch keine daten zu der spule... ich weiss nur dass sie für 24V gebaut wurde und dann ca. 300mA aufnimmt...
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
Lesezeichen