Motoransteuerung mit L293D

Christian8

Neues Mitglied
08. Dez. 2008
51
0
0
Sprachen
Hallo,

ich habe mir eine kleine Schaltung mit dem L293D aufgebaut, um einen Motor anzusteuern. Der Schaltplan ist als Bild dabei.
Nun habe ich Motoreingang A auf High gesetzt, Motoreingang B auf Low. Als Motorspannung habe ich einfach die Spannung des gesamten Systems genommen (also +5V). Die Leitung Enable habe ich mit einem PWM-Port verbunden. Nur wenn ich jetzt die Spannung über PWM verändere, bleibt die Geschwindigkeit des Motors gleich, doch eigentlich sollte man über diese PWM
doch die Geschwindigkeit verändern können oder?

Vielen Dank und freundliche Grüße, Christian
 

Anhänge

  • Schaltplan_Motor.JPG
    Schaltplan_Motor.JPG
    16 KB · Aufrufe: 41
Hallo Christian,

das sollte eigentlich funktionieren. Bist du dir sicher, dass du den Timer für die PWM richtig konfiguriert hast? Du könntest auch einfach mal manuell unterschiedliche PWM-Verhältnisse mit Pausen in einer Schleife und direktem Zugriff auf die Portpins erzeugen und die Hardware so austesten.

Grüße,
Dirk
 
Hallo,

ich habe jetzt folgendes Programm als Test geschrieben:
Code:
#define F_CPU 18432000UL

#include <avr/io.h>
#include <util/delay.h>


int main(void)
{

	DDRD |= (1<DDD5); 	// PD5 als Ausgang (PWM-Leitung)

	DDRB |= (1<<DDB0) | (1<<DDB1);	// Die Motoreingänge als Ausgang

	while (1)
	{
		PORTB |= (1<<PB1);		// Motoreingang 1 setzen
		
		PORTB &= ~(1<<PB0);	      // Motoreingang 2 löschen
		
		_delay_ms(5);			// 5 Millisekunden warten
		
		PORTD &= ~(1<<PD5);		// PD5 löschen

		_delay_ms(5);			// 5 Millisekunden warten

		PORTD |= (1<<PD5);		 // PD5 setzen		
		
	}

	return 0;
}

Durch die delays müsste ich doch eigentlich so etwas wie eine PWM erzeugt haben? Wenn ich jetzt die Anzahl der Millisekunden verändere, dann ändert sich ja auch die Spannung (habe ich nachgemessen). Nur der Motor läuft mit der gleichen Geschwindigkeit! Was habe ich falsch gemacht?

Danke!

Gruß, Christian
 
Hallo Christian,
Wenn ich jetzt die Anzahl der Millisekunden verändere, dann ändert sich ja auch die Spannung (habe ich nachgemessen).

wo hast du genau gemessen, am Pin PD5, oder am Motor direkt?

Was passiert, wenn du das Enable-Signal EN permanent auf low setzt?

Du darfst in deinem Programmbeispiel nur ein Delay verändern, sonst hast du immer 50% PW-Verhältnis.

Grüße,
Dirk
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)