Elektrotechnische Schaltung von Roboter Greifer mit Arduino?

Hallo Zusammen!

Ich habe ein Problem und komme nicht so recht weiter. Ich muss dazu gestehen, dass mir Elektrotechnik nicht so gut liegt und ich mich aber gerade mittels zahlreicher Tutorials und Internetbeiträgen zu mehr Wissen hinarbeite.

Mein Problem:

Ich habe einen Cobot, welcher mit 24V Betriebsspannung arbeitet. Ich wollte für diesen Cobot nun einen Greifer entwickeln, dieser soll mittels eines Servos öffnen und schließen. Die Mechanik des Greifers ist 3D gedruckt und funktioniert soweit. Der Cobot hat einen 24V Versorgungsausgang. Diesen möchte ich gerne zur Steuerung meines Arduino nutzen. Zudem verfügt der Cobot über 7 Digital Inputs und 7 Digital Outputs, wovon ich gerne einen oder zwei Outputs nutzen möchte, um das Signal zum Schließen und Öffnen zu realisieren. Leider fehlt es mir einfach an grundlegendem Verständnis.

Ich habe mal grob eine kleine Zeichnung meines Schaltkreisverständnisses aufgezeichnet (siehe Anhang).

Mein Plan ist es, ein Step-Down-Modul zu verwenden, um die Spannung von 24V auf 5V für den Arduino zu reduzieren. Dann würde ich den Digitalen Output des Roboters mit einem Optokoppler oder einem Spannungsteiler (hier verstehe ich noch nicht, wie ich einen Spannungsteiler in ein digitales Output-Signal von 24V einbaue) verbinden und in den Eingang des Arduino geben. Die Ansteuerung des Servos würde ich dann vom Arduino aus steuern. Ein Problem dabei ist, dass, soweit ich das richtig verstanden habe, der Servo mit 6V arbeitet und mein Arduino nur 5V liefern kann. Zudem verstehe ich in der gesamten Schaltung nicht, wieso ich den Strom nicht begrenzen muss. Ich reduziere zwar die Spannung für den Arduino, aber wieso muss ich nicht auch den Strom reduzieren bzw. woher weiß ich überhaupt, wie viel Ampere der Cobot liefert? Ich glaube, hier verstehe ich trotz zahlreicher Videos nicht den Zusammenhang zwischen Spannung und Strom.

Ich wäre sehr dankbar, wenn mir jemand bei meinem Problem helfen könnte und mir erklären könnte, wie ich meine Schaltung richtig aufbaue, um meinen Greifer mit dem Arduino zu steuern und dabei die richtigen Spannungs- und Stromwerte zu berücksichtigen.

Vielen Dank im Voraus!

Bild zum Beitrag
Roboter, Elektrik, Spannung, Arduino, Elektrizität, Physik, Schaltung
Arduino Bildschirm kaputt?

Hallo ich habe einen Arduino Elegoo 2560, und wollte einen 2*16 LCD-Display nutzen. Jedoch ist mir aufgefallen, das er nichts anzeigt (siehe Bild). Ich hab schon alles versucht und weiß nicht wo das Problem liegt. Könnt ihr mir da weiterhelfen? Da es schlecht erkennbar ist, hab ich noch dazu geschrieben, welche Pins ich wie angeschlossen habe.

Code:

#include <LiquidCrystal.h> // Importiere die LiquidCrystal-Bibliothek

// Konfiguriere den Anschluss des LCD-Displays an den Arduino

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

 // Initialisiere das LCD-Display mit der Anzahl der Zeilen und Spalten

 lcd.begin(16, 2);

 // Setze den Cursor in die linke obere Ecke des Displays

 lcd.setCursor(0, 0);

 // Gib den Text "Hello, World!" aus

 lcd.print("Hello, World!");

}

void loop() {

 // Setze den Cursor in die untere linke Ecke des Displays

 lcd.setCursor(0, 1);

 // Gib die Anzahl der Millisekunden seit dem Start des Sketches aus

 lcd.print(millis());

 // Warte für eine Sekunde, bevor die Schleife erneut ausgeführt wird

 delay(1000);

}

Pins:

  LCD Pin  | Function | Arduino Pin

----------------------------------------

    1   |   GND  |   GND

    2   |   +5V  |   +5V

    3   | V0 (Pot) | Potentiometer

    4   |   RS   | Digital Pin 12

    5   |   RW   |   GND

    6   |   E   | Digital Pin 11

    7   |   D0   |    -

    8   |   D1   |    -

    9   |   D2   |    -

   10   |   D3   |    -

   11   |   D4   |  Digital Pin 5

   12   |   D5   |  Digital Pin 4

   13   |   D6   |  Digital Pin 3

   14   |   D7   |  Digital Pin 2

   15   |   A   |   +5V

   16   |   K   |   GND

Bild zum Beitrag
PC, Elektrik, Arduino, LED, Physik
expected ';' before numeric constant?

Hallo!

Für mein Spalierobst habe ich eine Bewässerung gebaut. Das Wasser ist in einem hoch gestellten Gartenfass. Über einen selbst gebauten Dauermagnet-Wasserhahn soll das gesammtelte Wasser in Abhängigkeit der Bodenfeuchtigkeit in ein Schläuchlein mit Tropfern fließen, und so den Boden befeuchten

Ein Arduino soll über einen Servo das Stellen realisieren.

Ist der Boden zu trocken, ermittelt das ein capazitiver Soil Moisture Sensor v2.0. Ein Servo schwenkt einen an ihm befestigten Dauermagnet über die Stelle des Dauermagnet-Wasserhahnes, unter dem ein Dauermagnet-Ventil angezogen wird.Somit ist der Weg des Wassers frei.

Ist der Boden feucht genug, schwenkt der Servo seinen Magneten zurück in die Ausgansposition. Das Dauermagnet-Ventil fällt und schließt die Wasserzufuhr.

Schön wäre, wenn der Servo zwischen den Aktionen stromlos sein könnte. Das bekomme ich auch nicht hin.

Ein Arduino soll die Regelung übernehmen.

Vielen Dank Demjenigen, der mir helfen kann.

Mein bisheriger Code ist im folgendem Foto.

#include<Servo.h>

Servo S;

const int SensorPin = A0;

void setup() {

 Serial.begin(9600);

 pinMode (A0, INPUT);

 S.attach(9);

}

void loop() {

               // serieller Monitor geht nicht mit { } hinter if

  int analogWert = analogRead(A0); // Auslesen des analogen Sensorwertes

 Serial.println(analogWert);   // Ausgabe des Wertes auf der seriellen Konsole

 delay(1000); 

 if (analogRead(A0)> 270) // zu trocken   

  {S.write (65);  //Servo geh auf 65 GRad //dies geht nicht 

 delay(6000);}//pendelt 0 -- 65 -- 0 im 6000, 500 Takt

 //Wenn delay (6000) deaktiviert wird geht nichts mehr!

 

 else (analogRead(A0)< 260) ; // zu nass - dies funktioniert

  S.write (0); //Servo geh auf 0 Grad

  delay (500);

  }

Der Code wird kompilliet, aber funktioniert noch nicht zufriedenstellend.

Bild zum Beitrag
Arduino, C (Programmiersprache)
Arduino gyro inakkurat?

Servus. Ich bin gerade an einem Projekt für das ich einen Sensor brauche der die Orientierung und die G Kräfte misst. Bin noch komplett am Anfang, aber scheitere hier schon.

Mein teurer BMI088 V1.0 bringt sehr variierende Werte. Sieht eigentlich schon fast willkürlich aus, aber reagiert auf bewegungen.

Ist es mein Code der Falsch ist? Bin jetzt schon seit über 2 Stunden dran und so weit gekommen bis jetzt:

#include "BMI088.h"
#include "SensorFusion.h" //SF
SF fusion;

float deltat;
float pitch, roll, yaw;

float ax = 0, ay = 0, az = 0;
float gx = 0, gy = 0, gz = 0;

float gx_all;
float gy_all;
float gz_all;
float ax_all;
float ay_all;
float az_all;

BMI088 bmi088( 0x19, 0x69 );


void setup(void) {
    Wire.begin();
    Serial.begin(115200);
    Serial.println("Bereit");
    while (!Serial);
    Serial.println("BMI088 Raw Data");
    

    while (1) {
        if (bmi088.isConnection()) {
            bmi088.initialize();
            Serial.println("BMI088 is connected");
            break;
        } else {
            Serial.println("BMI088 is not connected");
        }

        delay(2000);
    }
}

void loop(void) {
    bmi088.getAcceleration(&ax, &ay, &az);
    bmi088.getGyroscope(&gx, &gy, &gz);

/*
    Serial.print(ax);
    Serial.print("(ax), ");
    Serial.print(ay);
    Serial.print("(ay), ");
    Serial.print(az);
    Serial.print("(az), ");

    Serial.print(gx);
    Serial.print("(gx), ");
    Serial.print(gy);
    Serial.print("(gy), ");
    Serial.print(gz);
    Serial.print("(gz), ");

    Serial.println();
*/

//Nimmt den Mittelwert aus 10000 Messungen
for (int i = 0; i < 10000; i++) {
  gx_all = gx_all + gx;
  gy_all = gy_all + gy;
  gz_all = gz_all + gz;
  ax_all = ax_all + ax;
  ay_all = ay_all + ay;
  az_all = az_all + az;
}

  Serial.println("Fertig :");
    gx_all = gx_all / 10000;
    gy_all = gy_all / 10000;
    gz_all = gz_all / 10000;
    ax_all = ax_all / 10000;
    ay_all = ay_all / 10000;
    az_all = az_all / 10000;

    deltat = fusion.deltatUpdate();
    fusion.MahonyUpdate(gx_all, gy_all, gz_all, ax_all, ay_all, az_all, deltat);

    pitch = fusion.getPitch();
    roll = fusion.getRoll();
    yaw = fusion.getYaw();

    Serial.print("Pitch: ");
    Serial.print(pitch);
    Serial.print(", Roll: ");
    Serial.print(roll);
    Serial.print(", Yaw: ");
    Serial.print(yaw);
    Serial.println();
    delay(1);
}

Und wenn ich gerade schon dabei bin, ich finde online über den BMI088 in kombination mit einem Arduino fast nichts. Wie bekomme ich die Beschleunigung und die wirkenden G Kräfte?

Danke und Grüße, Leo

Arduino
Zahl mit Arduino an MySQL Datenbank senden?

Moin,

Vielleicht kann mir jemand helfen. Ich will, dass mein Arduino den Wert einer stinknormalen Variable an eine MySQL-Datenbank schickt. Ich bin mehr oder weniger am Verzweifeln, weil mir niemand helfen kann... Es kann doch nicht so schwer sein, ne blöde Zahl irgendwie in Form einer Variable an die Datenbank zu senden...

Ich benutze einen normales Arduino Uno, und ein W5100 ethernet shield

Mein bisheriger Ansatz war so: (Logindaten der Datenbank entfernt)

#include <Ethernet.h>

#include <MySQL_Connection.h>

#include <MySQL_Cursor.h>

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server_addr('localhost'); 

char user[] = "root";       

char password[] = "secret";    

// Sample query

char INSERT_SQL[] = "INSERT INTO Test (Sensor) VALUES ('3')";

EthernetClient client;

MySQL_Connection conn((Client *)&client);

void setup() {

 Serial.begin(115200);

 while (!Serial);

 Ethernet.begin(mac_addr);

 Serial.println("Connecting...");

 if (conn.connect(server_addr, 3306, user, password)) {

  delay(1000);

 }

 else

  Serial.println("Connection failed.");

}

void loop() {

 delay(2000);

 Serial.println("Recording data.");

 

 MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);

 cur_mem->execute(INSERT_SQL);

 delete cur_mem;

}

SQL, HTML, Webseite, programmieren, Java, Cplusplus, Arduino, Datenbank, MySQL, PHP, Programmiersprache, Python, Softwareentwicklung, Webentwicklung, phpMyAdmin, Raspberry Pi
Elektrolumineszenz Kabel Kostüm Projekt mit Arduino Nano?

Hallo Zusammen,

ich brauche Hilfe bei der Umsetzung meines Kostüm Projektes. Ich muss gestehen, dass ich mich nicht so gut in der Eleektrotechnik auskenne. Programmieren kann ich allerdings einigermaßen gut.

Ich möchte gerne Reissdorfmännchen als Kostüm entwickeln. Mein Plan war es, die Leuchten durch EL Kabel also Elektrolumineszenz Kabel zu realisieren. Ich habe bereits einige Meter von rot, gelb und blau zuhause. Diese sind bisher mittels Batteriehandgerät steuerbar. (https://www.ebay.de/itm/394118155897?var=662643642384)

Nun meine Frage, dass anbringen und verkabeln des Kostüms ist nicht das Problem, jedoch habe ich mittlerweile verstanden, dass das EL Kabel aufgrund einer hohen Wechselspannungsfrequenz leuchtet. Da diese nicht aus dem Arduino zu holen ist, mittels diesem ich nachher alles steuern möchte, frage ich mich nun wie ich die Steuerung und Stromversorgung des Kabels am besten ansteuere.

Mein Plan war es mittels eines Relais für den Arduino die Dauerbleuchtung (Lichtleisten die ständig leuchten) zu steuern.

Jedoch halte ich es für sehr ineffizient für jeden gelben Strich ein Relais zu nutzen. Viel besser wäre eine Art Zeitverzögerung mittels der die EL Kabel nacheinander eingeschaltet werden.

Für alle die keine Vorstellung von dem Ablauf des Männchens, habe ich hier ein Video des originalen Männchen:

https://www.youtube.com/watch?v=y0Q4hfqg3qY

Das wechseln der Geschlechter ist für mein Kostüm nicht erforderlich.

Würde mich über gute Tipps sehr freuen!

Bild zum Beitrag
Elektrik, Kabel, Arduino, Kostüm, Projekt, Stromversorgung, Inverter

Meistgelesene Beiträge zum Thema Arduino