Kraft-Weg Messung für Auszugskurven.

Selbstgebaute Befiederungsgeräte, Spinetester, etc.
Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 09.11.2015, 15:50

Walta,
Die Schrittmotor Idee hatte ich oben schon angesprochen. Da ich auch ein Gerät für ohne PC haben möchte, habe ich darauf letztlich verzichtet, wobei ich die Schrittmotor Ansteuerung leichter ans Laufen bekam (mit kleinen Drehzahlen, für anderes ist Arduino nicht gut) als diesen Encoder. Ein einfacher Gleichstrom Getriebemotor mit verstellbarem Endschalter wäre noch eine Alternative gewesen. Dazu in zukunft noch eine Bluetooth Schnittstelle zum Handy oder ein kleines TFT Display. Liegt alles schon im Keller aber gut Ding will Weile haben. Ist ja nicht mein Vollzeit Job.
Rainer

Benutzeravatar
mbf
Hero Member
Hero Member
Beiträge: 1504
Registriert: 01.09.2004, 11:14

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von mbf » 09.11.2015, 16:07

Ja, genau so läuft das Ganze. Anbei mal ein Beispiel von 2 meiner Bögen (Vollsynthetikrecurve... sorry).

Ein paar Anregungen kann man sich auch Hier holen. Da sieht man auch recht gut, was für Unterschiede es geben kann. Und wie wichtig es ist, eine gute Datenbasis zu haben.

Die Kurven werden erst dann so richtig spannend, wenn man was zum Vergleich hat... ;-)
Dateianhänge
ableitung.jpg

Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 09.11.2015, 19:00

ah, das sind wirklich interessante Kurven. Dann werde ich meine Bögen doch demnächst auch so mitbewerten. Vielen Dank für den Link und Deine Kurven

Rainer

Benutzeravatar
walta
Forenlegende
Forenlegende
Beiträge: 5016
Registriert: 05.11.2005, 21:58

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von walta » 09.11.2015, 19:25

Das mit dem Schrittmotor hab ich überlesen. Nur, was hat der Schrittmotor damit zu tun ob du mit oder ohne PC arbeitest? Probleme mit der Stromversorgung?

Walta

Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 10.11.2015, 15:56

Walta,
nun ja, wenn ich einen Schrittmotor nehme für den Antrieb, dann wäre für mich der nächste logische Schluss, dann mit Programmen gesteuert verschiedene Auszuggeschwindigkeiten , -Wege oder sonstiges zu fahren. Zudem sind die meisten Schrittmotorsteuerungen, die ich kenne über USB oder serielle Schnittstelle an den Rechner gekoppelt, um der Steuerungssoftware zu ermöglichen, mit dem Schrittmotor bzw. dessen Endstufe zu sprechen.
Ich könnte natürlich dem Arduino sagen, er soll den Schrittmotor nur um 25000 Schritte fahren und alle n Schritte die Kraft ablesen, meintest du es so?

Rainer

Benutzeravatar
walta
Forenlegende
Forenlegende
Beiträge: 5016
Registriert: 05.11.2005, 21:58

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von walta » 11.11.2015, 17:20

Der Schrittmotor kommt an einen Treiber (braucht ja mehr Strom als der Arduino liefern kann) und der Treiber wird direkt vom Arduino gesteuert.
Vom Prinzip könnte man es so machen wie du sagst. Fahre n Schritte in der Geschwindigkeit s und und miss alle x Schritte. Ausser ein paar Spielchen mit fertigen Programmen hab ich noch nicht viel mit Schrittmotoren gemacht, aber die Ansteuerung selber ist nicht schwer. Schwierig für mch ist da schon eher die mechanische Umsetzung und die Berechnung wie stark der Motor sein muss.

Und wenn du es in der freien Wildbahn mit einer kleinen Batterie versorgen willst: an den Schrittmotor eine Kurbel und die Spulenanschlüsse als Impulsgeber verwenden. Schliesslich ist jeder Elektromotor auch ein Generator. Dann sparst du dir den Encoder.

Aber das nur als Anregung.

Walta

Benutzeravatar
Galighenna
Forenlegende
Forenlegende
Beiträge: 8836
Registriert: 19.07.2004, 21:59

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Galighenna » 12.11.2015, 10:06

Die Frage ist, ob der Arduino in der Lage ist, die Daten schnell genug zu lesen und zu speichern. Wenn das gut programmiert ist, dann sollte das gehen.

Der Schrittmotor ist Problematisch, der muss schon einiges an Leistung haben und dürfte entsprechend teuer sein. Wenn man da mit einem Getriebe arbeitet wegen der Kraft, brauchts halt mehr Drehzahl und das muss der Arduino dann halt in der Geschwindigkeit auch steuern können und der Schrittmotor muss die Drehzahl auch bringen. Das muss man ausprobieren. Schrittmotoren sind ein wenig Problematisch was lasten angeht. Die sind eher dazu gedacht, relativ Lastfrei eine genaue Position an zu fahren.
Besser funktioniert ein kräftiger normaler Motor, auf dessen Welle man eine Lochscheibe als Signalgeber anbringt. Mit einem Fotowiderstand und einer LED kann man dann x Impulse pro Umdrehung erzeugen und so die Position genau feststellen. Am Ende des Auszugs muss das Ganze dann aber automatisch in der Position gehalten werden, damit der Bogen nicht wieder zurück schnellt, also evtl eine Schnecke einbauen oder so.
Übel übel sprach der Dübel,
als er elegant und entspannt
in der harten Wand verschwand

Wer das Forum unterstützen möchte, möge auf den Paypal-Button klicken, oder einen der Moderatoren um die Kontodaten bitten ;)

Benutzeravatar
mbf
Hero Member
Hero Member
Beiträge: 1504
Registriert: 01.09.2004, 11:14

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von mbf » 12.11.2015, 15:56

Im Eröffnungspost steht , dass das Ganze über eine Spindel läuft, die halt noch per Handkurbel bedient wird. Da kann man auch einen Akkuschrauber nehmen, wenn man weiterhin über den Encoder die Position ausliest. Eventuell kann man da die Genauigkeit etwas rausnehmen (ein Impuls pro Umdrehung?), damits von der Abtastrate her noch hinkommt.
Sollte also passen.

Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 12.11.2015, 22:47

Hallo zusammen,
Freut mich, dass das Thema auf Resonanz stößt.
Die Spindel selbst ist selbsthemmend, da die 4mm Steigung und Trapezgewindespindel noch keinen automatischen Rücklauf erlauben. Ist hier ja auch gut so.
Die Schwierigkeit beim Arduino ist die, dass er offensichtlich viel Zeit benötigt, um die Daten in die Datei zu schreiben und auf einem Display darzustellen. In der zwischenzeit gehen einige Pulse verloren mit meinem jetzigen 600P/R Encoder. Sobald ich den anderen habe mit nur 100p/r wird es etwas entspannter und ich kann dann auch entweder schneller kurbeln oder einen Gleichstrom Getriebemotor anschließen (oder einen Akku Schrauber). Die Schrittmotor Option ist allerdings auch noch da und schon programmiert. Allerdings kostet hier der 3Nm Schrittmotor mit Endstufe schon einiges und die Funktion wird nicht wirklich aufgewertet.

Rainer

Benutzeravatar
fatz
Forenlegende
Forenlegende
Beiträge: 4113
Registriert: 12.05.2015, 21:54

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von fatz » 12.11.2015, 23:11

Schreibst du die Daten waehrend der Messung weg? Wenn das kleine Ding genug Speicher hat, dann halt sie doch im
Speicher und schreib erst am Ende alle auf einmal. Das ist normal deutlich schneller
Haben ist besser als brauchen.

Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 13.11.2015, 10:34

fatz,
da hast Du völlig recht. Ursprünglich hatte ich sie ja auch immer auf dem Terminal mit angezeigt und weggeschrieben und erst so langsam dämmerte es mir, dass die verwendeten Zeiten dafür etwas lang sind. Wie lange welcher Vorgang genau dauert, konnte ich bisher noch nicht finden. Wenn ich die Daten tatsächlich nicht mehr zwischendurch anzeigen kann (wollte sie auch gleich bei der Aufnahme grafisch darstellen), dann sehe ich mir das Schreiben in ein Array an oder Zwischenspeicherung im EEPROM (die angeblichen 100000 Zyclen sind mir mehr als genug). wieder an.
Das schöne ist, dass ich im Moment kein Messende deklarieren muss, da die Datei nach jedem Schreibzyklus wieder geschlossen wird, ich kann also jederzeit die Karte herausnehmen und die Datei verwerten.
Rainer

Benutzeravatar
Galighenna
Forenlegende
Forenlegende
Beiträge: 8836
Registriert: 19.07.2004, 21:59

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Galighenna » 13.11.2015, 10:45

Also ich würde mir evtl mal den Programmcode ansehen, ob man da was optimieren kann.

Ich schätze du müsstest das Auslesen des Encoders mithilfe von Interrupts abwickeln. Auf die Art geht dir kein Puls verloren.
Dann kannst du eine Variable nutzen um zu zählen und 1x alle 600 Pulse schiebst du den kram weg in eine zweite Variable, die du dann in eine Datei schreibst. Das könnte der Arduino dann zwischen den Interrupts fertig bekommen, immerhin hast du dann 600 Pulse Zeit zum schreiben. Auf die Art könntest du auch die Daten während der Messung auf den Bildschirm bringen. Der Bildschirm und das Datenschreiben wird halt durch die Interrupt-Lösung nachrangig behandelt.

Wenn du willst kann ich mir den Code mal ansehen...


Edit hat sich den Code angeguckt:
Der arbeitet schon mit Interrupts. Ich glaube aber, das man da noch einiges optimieren kann. Im ersten Moment sieht das für mich so aus als ob der viel Code und Befehle mit jedem Loop ausführt, die gar nicht nötig sind. Ich hab ihn jetzt nur überflogen. Aber vielleicht hab ich ja nächste Woche mal Zeit und bastle daran herum.
Übel übel sprach der Dübel,
als er elegant und entspannt
in der harten Wand verschwand

Wer das Forum unterstützen möchte, möge auf den Paypal-Button klicken, oder einen der Moderatoren um die Kontodaten bitten ;)

Benutzeravatar
fatz
Forenlegende
Forenlegende
Beiträge: 4113
Registriert: 12.05.2015, 21:54

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von fatz » 13.11.2015, 11:01

@Rainer:
Dateien staendig zu und wieder aufmachen dauert. Wenn du die Datei offen laesst, geht's schon mal schneller.
Am besten waer, du alloziert je nach bedarf Speicher (verkettete Liste oder sowas) und schreibst erst am Ende weg.
Wenn du genug Speicher hast und ned rumallozieren willst, kannst auch einfach Q&D ein fettes Array anlegen. Ist halt
nicht so schoen, muss es aber auch nicht sein.

Wieviel Speicher hat das Spielzeug und wieviele Messpunkte hast du?

Wenn du willst, kannst den Code gern mal posten. Dann schau ich mal rein. Ich verdien mein Geld mit sowas.
Haben ist besser als brauchen.

Rainer_K
Sr. Member
Sr. Member
Beiträge: 442
Registriert: 30.12.2005, 17:16

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von Rainer_K » 13.11.2015, 21:50

hallo, vielen Dank für Euren Hilfen.
ich benutze interrupts für jeden Puls und alle ca. 1500 Pulse lese ich die Kraft aus und schreibe ich zwei Werte weg.
Ich hatte bei dem Data Loger shield so verstanden, dass ich bei jedem Werte schreiben die Datei öffnen-schreiben-schließen muss, da erst dabei die Werte wirklich in die Datei geschgrieben werde. Sonst hätte ich sie einmal am Anfang geöffnet und zum Schluss einmal geschlossen.
Den code hatte ich schon gepostet, ist auf der ersten Seite der Kommentare zu finden als Anhang.
Es ist ein Arduino Uno, die Speicher habe ich so definiert gefunden:
Flash 32k bytes (of which .5k is used for the bootloader)
SRAM 2k bytes
EEPROM 1k byte
Ein Array wird nach meinem Verständnis im SRAM gehalten. Ich möchte eine Auflösung von 0,1", also max. 250Wertepaare als Floating macht zusammen etwas ein kB?

Rainer

Benutzeravatar
fatz
Forenlegende
Forenlegende
Beiträge: 4113
Registriert: 12.05.2015, 21:54

Re: Kraft-Weg Messung für Auszugskurven.

Beitrag von fatz » 13.11.2015, 22:22

Kommt drauf an, wie der einen Float definiert. Aber so grob...

Deinen Code hatte ich iwie uebersehen. Kannst du mir ganz kurz erklaeren wie da welche Funktionen aufgerufen werden?
setup() wird am Anfang aufgerufen. countA() wenn der Interrupt kommt. Aber wann kommt loop() dran? So ganz klassisch
C/C++ ist das nicht.

Das mit dem wegschreiben der Daten stimmt so. Normal puffert das Betriebssystem, bis es mehr beisammen hat.
Du brauchst die Datei aber nicht schliessen um das Wegschreiben zu erzwingen, flush reicht auch. Unter C heisst's fflush,
C++ weiss ich grad nicht auswendig.
Haben ist besser als brauchen.

Antworten