... grübelgrübel - könnte das Sinn machen, EINEN Impulsgeber an einen separaten Port anzuschließen - dann hat die ISR nur mehr zu gucken, wie dessen Niveau ist ... ?
Hallo!
Weil ich noch sehr geringe Erfahrung mit Steuern von Getriebemotoren mit einem µC habe, möchte ich meine Idee den mehr erfahrenen beurteilen lassen.
Da der von mir vorgesehener µC nur einen Eingang für externen Interrupt hat, möchte ich zwei Signale aus auf den Motorachsen befestigten Impulsgeber hardwermässig per OR zusammenbündeln und als externen Interrupt dem µC zuführen.
Bei jedem Impuls sollte eine Interrupt Service Routine (ISR) die Zustände den beiden Impulsgeber vergleichen und entsprechenden Motor bis zum nächsten Impuls abschalten. Es sollte, wie PWM mit Variabler Frequenz funktionieren. Der µC wird beim geradeaus Fahren sonst (fast) nichts zu tun haben und die Interrupts werden nicht stören. Hat es Sinn?
MfG
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
... grübelgrübel - könnte das Sinn machen, EINEN Impulsgeber an einen separaten Port anzuschließen - dann hat die ISR nur mehr zu gucken, wie dessen Niveau ist ... ?
Ciao sagt der JoeamBerg
Ich habe erst meine Frage gepostet und deine Antwort war schon da...
Vielen Dank, das Fragen hat sich schon gelohnt!
So wie ich es verstanden habe, brauche ich die OR Funktion nicht und ich könnte einen Impuslgeber an externen Interrupt und den zweiten an biliebigen Portpin anschliessen. Es wäre also noch einfacher...
MfG
NEIIIIIIN - denn wie würdest Du denn dann feststellen, dass der "zweite" Impuls kommt ? ? ? ? Stell Dir mal vor, der "erste" kommt nie - und der zweite mit xx Hz. Dann musst Du doch den zweiten pollen - und das recht flink.
Aber mit I1orI2 auf Pinx und I1 auf Piny - das müsste zweifelsfrei laufen
Ciao sagt der JoeamBerg
Sorry, aber irgendwie war mir deine erste Antwort nicht ganz klar. Ich habe entweder "ja" oder "nein" erwartet, da mir nur ums Prinzip geht. Detailierte Analise mit Programmablaufdiagramm (PAD) werde ich erst direkt vorm Programmschreiben machen.
Du bist zu schnell für mich, ich muß es der Polizei melden...
Noch mal herzlichen Dank!
MfG
Hallo!
Ich habe noch einfachere Lösung gefunden: Die zwei Impulsgeber an Portpins mit "interrupt on change" anzuschliessen. Dann brauche ich keine externe Hardware, da die OR Funktion schon realisiert ist.
MfG
Ich weiss nicht ob ich da etwas überlesen habe, aber wie weisst du welchen Motor du stoppen musst.
Oder probierst du das einfach aus, wenn der Abstand der Impulse größer wird, dann was es der falsche?
Hallo Hubert.G!
So wie ich schon geschrieben habe, mir ist nur ums Prinzip und nicht um Details gegangen. Ich werde mich mit Software beschäftigen erst wenn die Mechanik und Hardware fertig sind.
MfG
Eine andere Möglichkeit wäre, die 2 Signale über Dioden am Interrupt zusammenzulegen und zusätzlich auf 2 andere Pins legen, dann kann man in der ISR gemütlich abfragen welcher Geber ausgelöst hat.
mfg
Hallo Netzman!
Das war meine erste Gedanke die ich in meinem erstem Beitrag presentiert habe. Danach ist mir etwas noch einfacheres eingefallen.
MfG
Lesezeichen