Kümi
29.05.2010, 15:01
Hallo,
ich möchte mit der Motorsteuerung von meinem Asuro einen Motor und eine Heizplatte ansteuern. Dazu habe ich die Anschlüsse MR+ und Ml- abgelötet und an einen FET und eine Relais angelötet.
Mein Programm sieht folgendermaßen aus und soll mir eine Spannung von 5V auf MR+ und und 0V auf ML+ geben:
#include<asuro.h>
#include<myasuro.h>
int main (void)
{
int wert;
Init ();
DDRB |= (1 << PB5);
DDRB |= (1 << PB2);
DDRB |= (1 << PB4);
DDRD |= (1 << PD4);
DDRD |= (1 << PD5);
DDRB |= (1 << PB1);
while (1)
{
PORTB &= ~(1 << PB5);
PORTB |= (1 << PB2);
PORTB |= (1 << PB4);
PORTD &= ~(1 << PD4);
PORTD |= (1 << PD5);
PORTB &= ~(1 << PB1);
}
return 0;
}
Wen ich das Programm am Ausro nun starte dreht sich der Motor wie gewünscht aber das Relais ist an. Nach wenigen Sekunden wird der Motor langsamer und die Spannung fällt dann auf 0.
Ich habe keine Ahnung was da passiert.
Kann mir jemand helfen?
Gruß Robin
ich möchte mit der Motorsteuerung von meinem Asuro einen Motor und eine Heizplatte ansteuern. Dazu habe ich die Anschlüsse MR+ und Ml- abgelötet und an einen FET und eine Relais angelötet.
Mein Programm sieht folgendermaßen aus und soll mir eine Spannung von 5V auf MR+ und und 0V auf ML+ geben:
#include<asuro.h>
#include<myasuro.h>
int main (void)
{
int wert;
Init ();
DDRB |= (1 << PB5);
DDRB |= (1 << PB2);
DDRB |= (1 << PB4);
DDRD |= (1 << PD4);
DDRD |= (1 << PD5);
DDRB |= (1 << PB1);
while (1)
{
PORTB &= ~(1 << PB5);
PORTB |= (1 << PB2);
PORTB |= (1 << PB4);
PORTD &= ~(1 << PD4);
PORTD |= (1 << PD5);
PORTB &= ~(1 << PB1);
}
return 0;
}
Wen ich das Programm am Ausro nun starte dreht sich der Motor wie gewünscht aber das Relais ist an. Nach wenigen Sekunden wird der Motor langsamer und die Spannung fällt dann auf 0.
Ich habe keine Ahnung was da passiert.
Kann mir jemand helfen?
Gruß Robin