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
Re: schnelle Schrittsynchrone Datenerfassung mittels AD-Wandlerkarte und USB-Schrittmotorsteuerung W
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__schrittmotor_positioniersteuerung_smci21__de.html Ist zwar vergriffen, aber vielleicht geht da noch was.
Re: schnelle Schrittsynchrone Datenerfassung mittels AD-Wandlerkarte und USB-Schrittmotorsteuerung W
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?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.