-
-
Erfahrener Benutzer
Roboter-Spezialist
AVR Ausgang gegengleich zu PWM Ausgang schalten
Hallo alle zusammen,
also ich bin hier völlig neu und habe auch gleich ein Problem:
Ich möchte die Motoren eines Kettenfahrzeuges mit einem ATmega32 Drehzahlregeln, um ein Lenken möglich zu machen. Das Problem besteht darin, dass die Ketten so gut am Boden haften, dass wenn linke Motor bei voller Geschwindigkeit läuft, auch der rechte, der zum Beispiel nur halb so schnell PWM geregelt wird, einfach mitgezogen wird. Das heißt, anstatt dass die rechte Kette über den Boden "rutscht" und somit das Fahrzeug lenkt, wird der Motor in der aus - Periode der PWM einfach mitgezogen. Folge ist, dass man fast gerade aus fährt.
Ich habe an eina aktive Bremse in der Aus - periode der PWM gedacht, also dass der Motor über einen Widerstand oder einfach ein dickeres Kabel kurzgeschlossen wird und somit die Energie, die durch die unerwünschte Drehung erzeugt wird, einfach in wärme verpufft und Folge dessen der Motor in der
Aus - Periode fast nicht mehr zu drehen ist.
Dazu müsste natürlich der AVR einen Ausgang immer gegengleich zum PWM
Ausgang schalten, sodass ein Transistor den Motor immer im richtigen Augnblick kurzschließt. Und nun zu meiner eigenlichen Frage:
Gibt es da irgenteinen Befehl oder eine Funktion, sodass der AVR einen normalen Ausgang immer gegengleich zu einem PWM Ausgang schaltet? Ich kann mir keinen zweiten PWM Ausgang leisten, da ich mindestens drei Motoren betreiben möchte und der Mega32 aber nur 4 PWM - Ausgänge hat.
Ich bin dankbar für jede Hilfe, denn mir scheint, so etwas machen nicht gerade viele, auf jeden Fall finde ich nichts brauchbares dazu im Web.
Gruß
Thegon
-
Erfahrener Benutzer
Begeisterter Techniker
nimm doch einfach ein not-gatter (ist dann zwar hardware mäßig, aber so wie ich das verstanden hab, müsste es gehen)
-
Erfahrener Benutzer
Roboter-Spezialist
Also erst mal vielen dank für die Schnelle Antwort,
und :
Wäre sicherlich möglich und so möchte ich es auch machen, wenn es nicht anders möglich ist aber geht das nicht auch softwaremäßig? Es wäre nämilch von Vorteil, wenn der Atmel die Bremse schalten kann, wann er will, also nicht nur dann, wenn gerade PWM verwendet wird. Und er soll sie auch deaktivieren können, wann er möchte da das Bremsen nicht immer erwünscht ist (zwar nur ganz selten, aber dann doch)
Mfg
Thegon
-
Erfahrener Benutzer
Begeisterter Techniker
machst du deine pwms hardware oder software mäßig?
-
Erfahrener Benutzer
Roboter-Spezialist
Also ein Ausgang am AVR (OC1A) Steuert einen Transistor an, der den Motor auf Masse bringt, der Andere Ausgang sollte einen Transistor nach oben, also auf 12 V schalten, damit er kurzgeschlossen ist. Der zweite pol des Motors ist auch auf 12 V. Den Takt und das Verhältnis zwischen An - Aus - Periode bestimmt aber natürlich der AVR. Ich hoffe, ich habe die Frage damit beantwortet.
Mfg Thegon
-
Erfahrener Benutzer
Begeisterter Techniker
wie wärs, wenn du ein nand gatter nimmst, und dann den einen eingang an ocr1a tust und den anderen an einen beliebigen ausgang, und wenn du diesen dann auf low tust, schaltet das nand gatter durch, und steuert dann deinen zweiten transistor an.
softwaremäßig fiele mir nur etwas ein, wenn du den pwm auch softwaremäßig machen würdest, aber du verwendest den hardwre pwm des avr
-
Erfahrener Benutzer
Roboter Genie
Welche Motortreiber verwendest du denn? Die meisten können den Motor auch kurzschließen (bremsen) wenn man z.B. die Eingangssignale für die Richtung auf gleiches Potenzial legt. Dann wären der extra Aufwand für Transistoren & Co unnötig.
Oder schaltest du die Motoren nur über FETs? Also dass die nur "vorwärts" oder "stop" fahren können (und nicht rückwärts)?
-
Erfahrener Benutzer
Begeisterter Techniker
aber mal im ernst, ich weiß nicht, ob das mit dem bremsen überhaupt so funktionieren kann.
-
Erfahrener Benutzer
Roboter-Spezialist
Problem gelöst!
Das mit dem nand - Gatter ist gut, denn das kann ich ja auch mit einem anderen Pin anschalten, den ich auf masse bringe. Und mit der PWM gehts auch. Und da ein nicht - Bremsen während einer PWM - Aus - Phase eh nie erwünscht ist, werde ich das wohl so machen.
Vielen Dank für die Hilfe!
zum letzten Kommentar: Das mit dem Bremsen funktioniert recht gut, das habe ich schon ausprobiert, allerdings nur mit kabelzusammenhalten Gruß Thegon
-
Erfahrener Benutzer
Roboter-Spezialist
Sorry, das kommentar von BMS habe ich ganz übersehen:
Also gesteuert wird nur über die Beiden Transistoren pro motor, halt noch ein paar Widerstände, aber "Kurz vor dem Motor" kann das Ganze noch einmal durch ein 2 UM - Relais umgepolt werden, sodass man auch rückwärts fahren kann.
Mfg Thegon
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen