Das Programm ändert immer nur die Phase die notwendig ist. Und so konnte ich beim programmieren die notwendige Änderung besser erkennen.
Das Programm ändert immer nur die Phase die notwendig ist. Und so konnte ich beim programmieren die notwendige Änderung besser erkennen.
ev. kurze Pikes in die falsche Richtung?
Seinerzeit habe ich die Ansteuerung in einen GAL gepackt:
;-------------------------------------------------------------------
;PALASM Design Description
;---------------------------------- Declaration Segment ------------
TITLE SM5P.PDS
PATTERN AREVISION 1.1
AUTHOR Peter
COMPANY privateDATE 15.11.2008
CHIP SM5P PAL22V10
;---------------------------------- PIN Declarations ---------------
DECLARATIONS
PIN 1 NC * *; VCC
PIN 2 NC * *; GND
PIN 3 NC * *; GND
PIN 4 NC * *; GND
PIN 5 A4 * *; INPUT MC ADR
PIN 6 A3 * *; INPUT MC ADR
PIN 7 A2 * *; INPUT MC ADR
PIN 8 A1 * *; INPUT MC ADR
PIN 9 A0 * *; INPUT MC ADR Halbschritt
PIN 10 NC * *; GND
PIN 11 NC * *; GND
PIN 12 GND
PIN 13 CC * *; INPUT Stromregler, L=On H=Off
PIN 14 MEL * *; OUTPUT
PIN 15 MEH * *; OUTPUT
PIN 16 MDL * *; OUTPUT
PIN 17 MDH * *; OUTPUT
PIN 18 MCL * *; OUTPUT
PIN 19 MCH * *; OUTPUT
PIN 20 MBL * *; OUTPUT
PIN 21 MBH * *; OUTPUT
PIN 22 MAL * *; OUTPUT
PIN 23 MAH * *; OUTPUT
PIN 24 VCC
SIGNATURE = SM5P
;---Decoderdeclaration-------------------------------------------
; 5Bit Dezimaldecoder
STRING Z00 '( /A0 * /A1 * /A2 * /A3 * /A4 )'
STRING Z01 '( A0 * /A1 * /A2 * /A3 * /A4 )'
STRING Z02 '( /A0 * A1 * /A2 * /A3 * /A4 )'
STRING Z03 '( A0 * A1 * /A2 * /A3 * /A4 )'
STRING Z04 '( /A0 * /A1 * A2 * /A3 * /A4 )'
STRING Z05 '( A0 * /A1 * A2 * /A3 * /A4 )'
STRING Z06 '( /A0 * A1 * A2 * /A3 * /A4 )
'STRING Z07 '( A0 * A1 * A2 * /A3 * /A4 )'
STRING Z08 '( /A0 * /A1 * /A2 * A3 * /A4 )'
STRING Z09 '( A0 * /A1 * /A2 * A3 * /A4 )'
STRING Z10 '( /A0 * A1 * /A2 * A3 * /A4 )'
STRING Z11 '( A0 * A1 * /A2 * A3 * /A4 )'
STRING Z12 '( /A0 * /A1 * A2 * A3 * /A4 )'
STRING Z13 '( A0 * /A1 * A2 * A3 * /A4 )'
STRING Z14 '( /A0 * A1 * A2 * A3 * /A4 )'
STRING Z15 '( A0 * A1 * A2 * A3 * /A4 )'
STRING Z16 '( /A0 * /A1 * /A2 * /A3 * A4 )'
STRING Z17 '( A0 * /A1 * /A2 * /A3 * A4 )'
STRING Z18 '( /A0 * A1 * /A2 * /A3 * A4 )'
STRING Z19 '( A0 * A1 * /A2 * /A3 * A4 )'
STRING Z20 '( /A0 * /A1 * A2 * /A3 * A4 )'
;---------------------------------Doc-------------------------------
;Def: N -> GND *MxH=L MxL=L
; * * * P -> 12P * MxH=H MxL=H
; * * * X -> OFF *MxH=L MxL=H;
;Step A B C D E
; 0 ** *X X X X X * *nur nach RESET
; 1 * * X X N X P
; 2 * * P X N X P
; 3 * * P X N X X
; 4 * * P X N N X
; 5 * * P X X N X
; 6 * * P P X N X
; 7 * * X P X N X
; 8 * * X P X N N
; 9 * * X P X X N
;10 * *X P P X N
;11 * *X X P X N
;12 * *N X P X N
;13 * *N X P X X
;14 * *N X P P X
;15 * *N X X P X
;16 * *N N X P X
;17 * *X N X P X
;18 * *X N X P P
;19 * *X N X X P
;20 * *X N N X P
;----------------------------------- Boolean Equation Segment ------
EQUATIONS
;Der ICL7667 invertiert das Signal...
;High-Seite decodieren,H wenn P & (I<xA)*
MAH = (Z02 + Z03 + Z04 + Z05 + Z06) * /CC*
MBH = (Z06 + Z07 + Z08 + Z09 + Z10) * /CC*
MCH = (Z10 + Z11 + Z12 + Z13 + Z14) * /CC*
MDH = (Z14 + Z15 + Z16 + Z17 + Z1* /CC*
MEH = (Z18 + Z19 + Z20 + Z01 + Z02) * /CC*
;Low-Seite decodieren, L-Aktiv bei N
/MAL = Z12 + Z13 + Z14 + Z15 + Z16
/MBL = Z16 + Z17 + Z18 + Z19 + Z20
/MCL = Z20 + Z01 + Z02 + Z03 + Z04
/MDL = Z04 + Z05 + Z06 + Z07 + Z08
/MEL = Z08 + Z09 + Z10 + Z11 + Z12
Geändert von Peter1060 (13.11.2011 um 17:48 Uhr) Grund: falsche Formatierung
Den Link zum Datenblatt musste ich noch raussuchen.
Hier ist er http://berger-positec.at/files/5_mot-rdm_d-ds350d.pdf
Peter1060,
wenn ich das richtig verstehe benutzt du eine andere Sequenz als ich. Bei dir sind maximal 3 Wicklungen bestromt. Bei mir sind es 4 im Vollschritt und 5 im Zwischenschritt. Vieleicht kommt es daher das du keine Probleme hast.
Peter1060,
testweise habe ich jetzt mal deine Sequenz implementiert. Der Motor dreht immer in die richtige Richtung. Aber leider ist das Drehmoment auf diese Art eher bescheiden.
Leder ist das für mich noch nicht die Lösung meines Problems. Ein möglichst hohes Drehmoment ist wichtig in meiner Anwendung.
Ach, die Berger Lahr![]()
Von den Dingern hab ich auch noch welche rumliegen. Ich bin aufgrund des Ansteueraufwandes aber lieber auf 2 Phasen umgestiegen.
MfG
Manu
"Ja, diese Knusperflocken sind aus künstlicher Gans und diese Innereien aus künstlichen Täubchen
und sogar diese Äpfel sehen unecht aus aber wenigstens sind ein paar Sternchen drauf..."
Also nach dem was ich zurzeit überall gefunden habe und ich mich nicht verguckt habe sollte die Sequenz richtig sein. Tritt das Ändernd der Drehrichtung auch im Vollschritt auf?
Vielleicht liegt es ansonsten doch am Aufruf der Tabelle/Werte. Bei meiner 2 Phasen Endstufe bin ich einfach über Increment und Decrement die Tabelle abgegangen und am Tabellenende einfach wieder zum Anfang gesprungen. Deswegen fragte ich auch nach der doppelten 1 und 20.
MfG
Manu
"Ja, diese Knusperflocken sind aus künstlicher Gans und diese Innereien aus künstlichen Täubchen
und sogar diese Äpfel sehen unecht aus aber wenigstens sind ein paar Sternchen drauf..."
Ja, im Vollschritt habe ich das gleiche Problem.
Ich benutze keine Tabelle. Im Programm wird einfach nur geändert was notwendig ist und dann wartet er auf einen neuen Schritt. Bei Schritt 20 gibt es einen Sprung nach vorne. Ich habe es extra so einfach wie möglich programmiert. Da kann fast kein Fehler drin sein. Im Halbschritt kann eigentlich auch kein Peak auftreten, da immer nur eine Phase geändert wird. Wird sie bestromt war sie davor aus. Ich setze erst das Richtungsmuster und danach aktiviere ich die Brücke.
Lesezeichen