|
|
Hilfe mit Arduino und Servosteuerung |
|
Burak |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 18.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.05.2021, 20:01
Titel: Hilfe mit Arduino und Servosteuerung
|
|
|
|
|
Hallo zusammen,
Ich bin neu in Matlab bzw Simulink und benötige dringend Hilfe.
Ich möchte mit Simulink erstmal zum Verständnis ein mini arduino Projekt aufbauen. Mit 3d drucker und allen hardware Komponenten habe ich schon ein prototype erstellt.
Die wichtigen input und output Komponenten worum es geht sind
2 servo Motoren und
5 Licht Sensoren.
Ziel ist je nachdem auf welchem sensor mehr Licht ist dass sich eine auf den 2 servo Motoren befindene Plattform in die jeweilige Richtung bewegt.
Zur Einfachheit versuche ich es erst einmal nur mit einem Motor und 2 sensor Daten.
Auslesen der sensor Daten funktionieren einwandfrei.
Servo Motoren bewegen durch ein voreingestelltes pwm Signal Funktioniert auch.
Mein Problem ist dass ich es nicht hinbekommen das bei bestimmten input Daten der zb 2 Sensoren der servo in eine bestimmte Position geht.
(Beispiel : wenn Sensor1 > Sensor2 ist soll Servo1= auf pos 180
wenn Sensor1 < Sensor2 ist soll Servo1= auf pos 50)
Habe mit if/ action if subsystemem herum experimentiert ohne Erfolg.
Könnt ihr mir vlt da behilflich sein mit einem Beispiel bzw Lösung?
|
|
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 18.05.2021, 20:22
Titel:
|
|
Da du keinerlei Informationen über die Art der Signale gibst, kann ich nur raten.
Meine Standardlösung sind R-S-FlipFlops.
Input >= Schwelle --> an Setzen Eingang des Flip Flop
Input < Schwelle --> an Rücksetzen
Q dann an Servo oder an getriggertes Subsystem mit Servo drin.
!Q auf Terminator.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Burak |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 18.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.05.2021, 21:47
Titel:
|
|
Vielen Dank erstmal für die schnelle Antwort
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 19.05.2021, 12:23
Titel:
|
|
Burak hat Folgendes geschrieben: |
Bei Lichtsensor1 - > Motor1 auf 10 & Motor2 auf 60,
Bei Lichtsensor2 - > Motor1 auf 30 & Motor2 auf 80,
Bei Lichtsensor3 - > Motor1 auf 60 & Motor2 auf 120,
Bei Lichtsensor4 - > Motor1 auf 150 & Motor2 auf 90,
Bei Lichtsensor5 - > Motor1 auf 180 & Motor2 auf 180,
|
Grundlegend: Entscheidungen werden mittels 0/1 getätigt.
D.h. du musst Vergleiche auf den Sensorinput einfügen, die dann entsprechend zu wahr oder falsch werden und die Aktionen starten.
Vermutlich sollte einen Schwelle von ca. 200 ausreichen, um hell || dunkel zu unterscheiden.
Jeden Input durch einen eigenen Schwellwertvergleich jagen.
Könnte auch ganz gut mit Switch-blöcken für die Motorwerte funktionieren. Je Motor ein Switch, ein Eingang und die 5 Stellwerte.
Der Eingang schaltet dann je nach Inputauswertung einen der Stellwerte durch.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Burak |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 18.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.05.2021, 21:35
Titel:
|
|
|
|
|
Vielen Dank nochmals.
Habe jetzt mit switchs die Motoren machen können und habe auch noch meine eingangssignale in binär umgewandelt, 1 und 0 für ein und aus. (siehe schaltung).
Mir fehlt nur noch die Verbindung um die jeweigen switch Positionen ansteuern zu können. Dazu benötige ich ja switch eingangssignale von 1-5 wenn ich von meinem Beispiel aus gehe.
Alles schön und gut aber jetzt habe ich 5 einzelne binäre Signale die ich irgendwie erstmal in eine binäre Zahl zusammen führen würde.
Und dann würde ich die Zahl vom dualen ins dezimal convertieren. Wie das geht weiß ich. Ich brauche nur Hilfe wie ich aus 5 einzelne binäre Signale eine binäre Zahl erstellen kann.
Beispiel:
Wenn ich von den Lichtsensorren jeweils Werte wie 1,0,0,1,1 bekomme will ich dann aus denen irgendwie ein dualsystem erstellen wo bei dann 10011 erstellt werden soll was dann wiederum in dezimal 19 entspricht.
Allerdings werden dann alle Ergebnisse von 6-31 & 0 ausgeschlossen da ich nur die 1,2,3,4,5 (10000,01000,00100,00010,00001) als Ergebnis für die switch Steuerung erstmal brauche. Später werde ich mehr hinzufügen damit ich die Motoren in etwas mehr als 5 Positionen steuern kann.
Also gibt es in simulink irgendein einfaches Bauteil mit dem ich eine binäre Zahl aus eignen zahlen erstellen kann oder muss ich irgendwie es anders lösen?
Ich bitte um Verzeihung falls ich es etwas barbarisch versucht habe zu erklären
Beschreibung: |
|
Download |
Dateiname: |
aimu.jpg |
Dateigröße: |
339.66 KB |
Heruntergeladen: |
265 mal |
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 20.05.2021, 18:16
Titel:
|
|
1. Warum vergleichst du Pin2 gegen 0?
2. die Ausgänge jeweils per Gain auf 1||2||3||4||5 bringen und direkt als Input für Switch nutzen?
Wobei du dann natürlich nur genau einen positiven Input haben darst.
Was sollen die Motoren denn machen, wenn mehrere Inputs aktiv sind?
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Burak |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 18.05.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.05.2021, 13:27
Titel:
|
|
|
|
|
Danke , konnte es leider so irgendwie nicht hinbekommen.
da ich kurz ohne sensoren experimentiert hatte ,hatte ich einige werte so geändert ,deswegen die 0 an pin2. richtige werte sollten später folgen.
jetzt habe ich es anders gelöst bzw mit einem matlab block und if bedinungen.
so funktioniert alles top.
ziel war es je nach sensorwerte dass sich die motoren in die gewünschte positionen bewegen.
wenn ihr verbesserungswünsche habt bitte direkt melden.
Mmmartina hat Folgendes geschrieben: |
1. Warum vergleichst du Pin2 gegen 0?
2. die Ausgänge jeweils per Gain auf 1||2||3||4||5 bringen und direkt als Input für Switch nutzen?
Wobei du dann natürlich nur genau einen positiven Input haben darst.
Was sollen die Motoren denn machen, wenn mehrere Inputs aktiv sind? |
Beschreibung: |
|
Download |
Dateiname: |
bild1.jpg |
Dateigröße: |
224.94 KB |
Heruntergeladen: |
266 mal |
Beschreibung: |
|
Download |
Dateiname: |
bild3.jpg |
Dateigröße: |
250.12 KB |
Heruntergeladen: |
244 mal |
Beschreibung: |
|
Download |
Dateiname: |
bild2.jpg |
Dateigröße: |
337.42 KB |
Heruntergeladen: |
254 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|