www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PCF8475/ULN2803 Schrittmotoransteuerung


Autor: OLLI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an das Forum!

Ich habe folgendes Problem. Ich möchte einen 5pol Schrittmotor Schaltung 
PCF8574/ULN2803 über den I2C Bus ansteuern.
Hier habe ich mal einen C Code als Ansatzpunkt geschrieben:
#include "main.h"

#include "i2c.h"

#define STEPPER_DEV    0x42 //Adresse für PCF8574

int motorStep[4];  // Array für Steppersequenz
 
void stepper_left(void) 
{
InitI2C();
StartI2C(STEPPER_DEV);

motorStep[0] = 0x0A;   //   Binär: 0000_1010;
motorStep[1] = 0x06;   //   Binär: 0000_0110;
motorStep[2] = 0x05;   //   Binär: 0000_0101;
motorStep[3] = 0x09;   //   Binär: 0000_1001;
    
for (int i=0;i < 4;i++)
WriteI2C(motorStep[i]);
StopI2C();
}

void stepper_right(void) 
{
    
InitI2C();
StartI2C(STEPPER_DEV);
  
motorStep[0] = 0x09;   //   Binär: 0000_1001;
motorStep[1] = 0x05;   //   Binär: 0000_0101;
motorStep[2] = 0x06;   //   Binär: 0000_0110;
motorStep[3] = 0x0A;   //   Binär: 0000_1010;
    
for (int i=0;i < 4;i++)
WriteI2C(motorStep[i]);

StopI2C();    
} 

Bin ich mit dieser Routine auf dem richtigen Weg. Bin noch unerfahren in 
C Code. Hat jemand für mich einen Link indem soetwa in C Code realisiert 
ist

Danke für eure Mühe von OLLI

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Egal, was Du auch programmierst: PCF8574 + ULN2803 passen nicht 
zueinander. Vergleiche Ausgangsstrom vom '74 und Eingangsstrom vom '03 
und suche eine andere Lösung.

Autor: OLLI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Gast,

Danke für die schnelle Antwort. Es existieren aber Schaltungen im Inet
mit dieser Kombination. Nur der Code ist hald in BASIC geschrieben.
Ich gehe doch davon aus das diese Schaltungen funktionieren oder?

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn die Schaltungen PullUp-Widerstände für die Ansteuerung der 
2803-Eingänge benutzen, spricht auch nichts gegen diese Verwendung.

Gruß aus Berlin
Michael

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Nachtrag: gerade so eine Schaltung im Netz gefunden...
http://www.the-starbearer.de/Roboter/Baugruppen/i%...
Bei solcherart Schaltungen hat Gast eindeutig recht.

Der PCF kann liefert bei H nur 30 bis 300µA, typisch 100µA
Das ist für einen 2803 zuwenig, wenn er niederohmige Schrittmotore 
sicher ansteuern soll. Da wird der Darlington im 2803 nicht voll 
durchgesteuert, die Verlustleistung steigt an und dem Schrittmotor fehlt 
unnötigerweiser der Spannungsavfall am 2803.

Wenn schon, dann 470 Ohm...1k von hedem Eingang des 2803 gegen die 
Betriebsspannung des PCF8475. Bei L am Ausgang dürfen max. 25mA fließen.

Gruß aus Berlin
Michael

Autor: OLLI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

Das ist die Schaltung die ich verwendet habe. Nur habe ich das mit den 
PullUps übersehen. An dem wirds warscheinlich liegen! Der Motor zuck ja 
schon aber er dreht sich hald nicht so wie er soll.

Trotzdem Danke für die schnelle Antwort



Grüße aus München nach Berlin von OLLI

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.