-
-
Erfahrener Benutzer
Fleißiges Mitglied
Denkansatz von mir (keine Ahnung ob so korrekt):
Ich betreibe den AVR mit 16Mhz. Dann bin ich bei Taktzeiten von wenigen Nanosekunden. Wenn ich also ohne Pause zwei mal Toggle hintereinander, ist der Impuls wahrscheinlich zu kurz. Genauso beim manuellen umschalten. Der IC L297 braucht laut Datenblatt minimum eine Taktlänge von 0,5µs. Da ich ungern an Grenzen gehe wären meiner Meinung nach 2-3µS perfekt (bei den Taktraten von den Motoren um 1kHz auch locker möglich.
Die Programmierung möchte ich mit Bascom machen und die einzelnen Takte per Timerinterrupt. Daher sollte die Interruptroutine möglichst kurz sein. Wenn ich da dann eine Pause einbaue ("waitus"), wird die CPU damit ja blockiert und könnte in dieser Zeit schon andere Dinge tun (Sachen auf LCD anzeigen, Schritte vorberechnen, Daten von SD-Karte holen usw.) Der AVR hat sowieso schon genug zu tun, da möchte ich nicht auch noch eine Zwangspause einprogrammieren. Wenn das ganze extern geschieht haben die Pulse immer die richtige Länge und das Programmieren wird einfacher.
Mir schwebt da eine Art FIFO buffer vor das von der CPU gefüllt wird und von der interruptroutine abgearbeitet wird, damit die Takte schön gleichmässig sind.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen