PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taktbaustein



DanielSan
06.02.2009, 20:51
Hallo,

ich verwende eine C-Control Munit 1.2 und steuer damit einen Schrittmotor.
Das Funktioniert soweit auch ganz gut. Aber leider ist die C-Control mit einem Motor schon etwas überfordert. Da sie das Clock-Signal über einen Digitalport selbst erzeugt.
Gibt es da evtl einen Taktbaustein, der solange port x hi ist einen takt erzeugt und wenn port x wieder lo ist damit aufhört?
Kann ich dann immernoch nachvollzihen wieviele Schritte der Motor gemacht hat? Falls nicht was könnte ich da machen? Wäre ein Atmega 32 o.ä. schnell genug? Ich möchte später 2 Motoren parallel betreiben und noch einige Sensoren hinzufügen.
Später sollen die schritte noch gespeichert werden und mit ihnen wird noch gerechnet.
Wäre super wenn ihr mir da Helfen könntet. Wenn ich das falsche forum erwischt habe, dann tut es mir leid aber ich denke im Moment ist mein Problem ja noch relativ allgemein.

VG Daniel

Besserwessi
06.02.2009, 21:29
Die AVR Controller können an einigen Pins so ein Taktsignal per hardware erzeugen, das sind die PWM Ausgänge. Wenn es um den normalen Takt für Schrittmotoren geht, sollte das auch in Sftware noch keine Problem sein, das kommt aber auf die Programmiersprache an.
Man kann das auch wie vorgeschlagen mit einem externen IC in Hardware machen. da würde schon ein einfacher NE555 reichen, einfach mit dem reset Eingang zum steuern.

hardware.bas
07.02.2009, 12:26
Ich habe lange mit C-Control gearbeitet und das System gefiel mir auch
ganz gut, hab mich jedoch jetzt mehr oder weniger davon getrennt, da
zeitkritische Projekte mit dem C-Control-Spezifischen BASIC nicht machbar
sind... und natürlich mit AVR alles preisgünstiger realisierbar ist. Die
Idee von besserwessei ist daher nicht schlecht. Andere Alternative wäre
die Einbindung von Maschinenspracheroutinen in die C-Control. Da kenne
ich mich jedoch leider nicht so aus. VG Micha

DanielSan
07.02.2009, 13:27
Da ich eigentlich kein Problem damit hätte auf einen AVR umzusteigen, denke ich das die Sache mit den Maschinensprachenroutinen etwas zu kompliziert wird und auch etwas "fusch" ist. So ein atmel kostet ja auch nicht die Welt. Ich habe hier sogar noch ein Atmega128 Embedit Board rumliegen. Der wäre zwar wohl etwas Oversized aber damit könnte ich sicher in die "Zukunft" gehen.

Da ist dann nur die frage ob der schnellgenug für mein Vorhaben ist. Weiss einer wieviel Mips die C-Control schafft? Der Atmega 128 kann ja 16Mips.

Edit: Ich möchte dann in C Programmieren, Assembler kann ich nicht und das möchte ich momentan auch nicht ändern ;)

Mit den Externen Taktbausteinen wäre es sicher eine komfortable Lösung, aber da kann ich so wie ich das bis jetzt gelesen habe die Schritte nicht mitzählen.

Danke
MFG Daniel

Besserwessi
07.02.2009, 14:43
Wieviel langsamer das C-Controll ist weiss ich nicht, aber für die Controlle von 1 oder 2 Schrittmotoren reicht die Geschwindingkeit beim AVR Controller mit C (z.B. Winavr) sicher aus. Von C Controll auch einen richtigen Compiler hat man sicher schon mal einen deutlichen Geschwindigkeitsvorteil (könnte 10-100 mal schneller werden ?). Von C nach ASM gewinnt man oft nur 20-50% und nur selten mehr als eine Faktor 2.