mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik schnelle Schrittsynchrone Datenerfassung mittels AD-Wandlerkarte und USB-Schrittmotorsteuerung Wie?


Autor: taxus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hoffe Ihr könnt mir Tipps geben könnt, wie ich eine schnelle, 
schrittsynchrone Datenerfassung mittels AD-Wandlerkarte und 
USB-Schrittmotorsteuerung erreichen kann.

Mit steht im Augenblick eine "USI-2" Schrittmotorsteuerung von ELV und 
eine A/D-Wandler PCI-Karte (KPCI3107 von Keithley) zur Verfügung.

Die USI-2 und die KPCI3107 werden von einem Vb.net Programm 
angesprochen.

Das Problem ist, daß es einen erheblichen zeitlichen Unterschied macht, 
ob man z.B. der USI-2 einen Befehl sendet 800 Schritte in einem Stück 
auszuführen oder 100 Mal einen Befehl (in einer For..Next Schleife) 
sendet 8 Schritte auszuführen.
Bisher muß ich letztere Möglichkeit wählen, weil ich nach jeweils 8 
Schritten einen Messwert über die AD-Wandlerkarte erfasse.
Dazu muß das VB-Programm nach jedem Befehl auf die Rückmeldung der USI-2 
warten, bevor das es weiterlaufen kann, damit die Messung 
schrittsynchron erfolgt.

Mir schwebt als Lösung vor, daß die Schrittmotorsteuerung einen externen 
Takt an die AD-Wandlerkarte gibt und das VB Programm an Schluß den 
Datenpuffer ausliest.

In der USI-2 ist ein ATMEL ATMEGA8-16AU Microcontroller und L6219 
Schrittmotortreiber-Bausteine verbaut. Über die Atmega-Ports PD6 und PD7 
kann man Schaltausgänge steuern.
Am einfachsten wäre, wenn pro Schrittmotor-Step ein Impuls auf Pins PD6 
ausgegeben würde.
ELV führt aber keine individuelle Modifikationen der 
Microcontrollerfirmware durch.


Das bedeutet doch, daß man die Firmware nur löschen kann und dann selbst 
die Schrittmotorsteurung von Grund auf neu programmiert?
Wie hoch ist der Aufwand?
Wer kann mir das Teil umzuprogrammieren?

Oder wäre es besser gleich eine andere Schrittmotorsteuerung zu 
besorgen?

Viele Grüsse aus Duisburg

Autor: Michael Korb (michaelkorb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir mal die ANleitung von dem ELV-Ding durchgesehen - 
offensichtlich macht das Ding nur Vollschritte oder? Der L6219 könnte 
zwar mehr, aber per Steuerbefehl kann man die Schrittauflösung nicht 
einstellen.

Am besten, Du hängst Dich mal mit nem Oszi an die Eingänge des L6219 ran 
und versuchst mal herauszubekommen, was da so abgeht. Im Datenblatt des 
L6219 kann man ersehen, wie die Steuersignale bei Voll oder Halbschritt 
laufen. Mit ein wenig nachgeschalteter Logik kannst Du da evtl. die 
Schritte mitzählen.

Besser wäre allerdings eine Steuerung mit Positionskontrolle. Ich denke 
da an die Chips von Trinamic.

Wenns ein Fertigmodul sein soll, schau Dir male die Teile von Nanotec 
an, z.B.: SMCI-21-1, da kannst Du die Istposition direkt abfragen. Das 
Teil hab ich bei mir getestet, konnte es leider nicht einsetzen, weil 
die Geschwindigkeitseinstellung zu grob ist.
Schau mal hier 
http://de.nanotec.com/page_product_archive__schrit...
Ist zwar vergriffen, aber vielleicht geht da noch was.

Autor: taxus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die USI-2 kann anscheinend nur Vollschritte (laut Doku). Der Tipp mit 
den Logikbausteinen hat mich mit minimalen Aufwand schon weitergebracht, 
vielen Dank.
Ich habe die Phase 1 und Phase 2-Signale, die zum L6219 führen, auf ein 
XOR Gatter (74hC86) gelegt.
Damit erhalte ich eine Anzahl Impulse, die gleich der Hälfte der 
Schrittanzahl sind.
Gibt es einen Schaltungstrick, wie man die Impulsanzahl verdoppeln kann?
z.B. mit ansteigenden/abfallenden Flanken ein MonoFlop antriggern oder 
ähnliches?

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.