WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hilfe mit Arduino und Servosteuerung

 

Burak
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 18.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2021, 20:01     Titel: Hilfe mit Arduino und Servosteuerung
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 18.05.2021, 20:22     Titel:
  Antworten mit Zitat      
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))
Private Nachricht senden Benutzer-Profile anzeigen
 
Burak
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 18.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2021, 21:47     Titel:
  Antworten mit Zitat      
Vielen Dank erstmal für die schnelle Antwort
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 19.05.2021, 12:23     Titel:
  Antworten mit Zitat      
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))
Private Nachricht senden Benutzer-Profile anzeigen
 
Burak
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 18.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2021, 21:35     Titel:
  Antworten mit Zitat      
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

aimu.jpg
 Beschreibung:

Download
 Dateiname:  aimu.jpg
 Dateigröße:  339.66 KB
 Heruntergeladen:  177 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 20.05.2021, 18:16     Titel:
  Antworten mit Zitat      
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))
Private Nachricht senden Benutzer-Profile anzeigen
 
Burak
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 18.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2021, 13:27     Titel:
  Antworten mit Zitat      
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?


bild1.jpg
 Beschreibung:

Download
 Dateiname:  bild1.jpg
 Dateigröße:  224.94 KB
 Heruntergeladen:  180 mal
bild3.jpg
 Beschreibung:

Download
 Dateiname:  bild3.jpg
 Dateigröße:  250.12 KB
 Heruntergeladen:  170 mal
bild2.jpg
 Beschreibung:

Download
 Dateiname:  bild2.jpg
 Dateigröße:  337.42 KB
 Heruntergeladen:  176 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.