Skocz do zawartości

PWM silnik DC na Atmega8


stanekcr

Pomocna odpowiedź

Może trochę więcej szczegółów ? Mi to wygląda na za małą wydajność prądową ale napisz co to za silnik i co to za bateria...

__________

Komentarz dodany przez: Bobby

Poprawiłem byka 😉

Link do komentarza
Share on other sites

Dnia 17.02.2011 o 14:38, olimek napisał:

1,2 A ustalanie kierunku obrotów pierwszego silnika

1,2 E ustalenie prędkości silnika 1

3,4 A ustalanie kierunku obrotów drugiego silnika

3,4E ustalenie prędkości silnika 2

Odświeżam temat. Problemem jest sterowanie jednocześnie kierunkiem i szybkością obrotów silnika. Podłączyłem wszystko tak jak wyżej kolega opisał i pokazuje to ostatni schemat (mam tylko jeden silnik) lecz silniczek obraca się tylko w jedną stronę. Kiedy zmieniam PD5 i PD6 (obecne ustawienie w kodzie) nic się nie dzieje. Nie wiem jak dokładnie sterować kierunkiem obrotu. Myślę że zależy to od ustawienia odpowiednio bitów na PD5 i PD6. Dodaję mój kod.

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

#define 	PWM_A	(1<<PB1)
#define 	PWM_B	(1<<PB2)
#define 	W1		(1<<PD5)
#define 	W2		(0<<PD6)
#define		LED		(1<<PC5)

int main(void) {
	//ustwaienie na wyjście
	DDRB |= (PWM_A|PWM_B);
	DDRD |= (W1|W2);
	DDRC |= (LED);

	//Inicjalizacja PWM
	TCCR1A |= (1<<WGM10); //FAST PWM 8bit
	TCCR1B |= (1<<WGM12);
	TCCR1A |= (1<<COM1A1)|(1<<COM1B1);
	TCCR1B |= (1<<CS10)|(1<<CS11); //Preskaler

  	//ustawienie na stan wysoki
	PORTB |= (PWM_A);
	PORTB |= (PWM_B);
	PORTD |= (W1);
	PORTD |= (W2);
	PORTC |= (LED);
	
  	//prędkość obrotów
	OCR1A = 100;
	OCR1B = 100;

	while(1) {
		PORTC ^= (LED);
		_delay_ms(2000);
	}
}

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.