Skocz do zawartości

Silnik krokowy program [C]


d3xxer

Pomocna odpowiedź

Witam chce napisać bardzo prosty programik który ma działać następująco:

Potencjometr+silnik krokowy. Od zakresu 0-512 silnik kręci sie w lewo im wyższa wartość tym wolniej w zakresie 512-1024 kręci się w prawo im wyższa tym szybciej.

Oto program:

 main(void)
{
Inicjalizacja();  // Inicjalizacja kontrolera

while(1)
{

			ADCSRA |= _BV(ADSC);         // Rozpoczęcie przetwarzania
			while(bit_is_set(ADCSRA,ADSC))	// Oczekiwanie na zakończenie przetwarzania
			{};	
			pomiar=ADCH;			     // Zapisanie starszych 8 bitów wyniku konwersji do



	if(pomiar<512){
	d=pomiar/3;
	if(d<10){
	d=10;}

	//polkrok jedna cewka i troche :)

	PORTD=0x08;// 1000
	_delay_ms(d);
	PORTD=0x0c;// 1100
	_delay_ms(d);
	PORTD=0x04;// 0100
	_delay_ms(d);
	PORTD=0x06;// 0110
	_delay_ms(d);
	PORTD=0x02;// 0010
	_delay_ms(d);
	PORTD=0x03;// 0011
	_delay_ms(d);
	PORTD=0x01;// 0001
	_delay_ms(d);
	PORTD=0x09;// 1001
	_delay_ms(d); 
	}
	if(pomiar>512)
	{
	d=10000/pomiar;
	if(d<10){
	d=10;}

	PORTD=0x09;// 1001
	_delay_ms(d); 
	PORTD=0x01;// 0001
	_delay_ms(d);
	PORTD=0x03;// 0011
	_delay_ms(d);
	PORTD=0x02;// 0010
	_delay_ms(d);
	PORTD=0x06;// 0110
	_delay_ms(d);
	PORTD=0x04;// 0100
	_delay_ms(d);
	PORTD=0x0c;// 1100
	_delay_ms(d);
	PORTD=0x08;// 1000
	_delay_ms(d);

	}





}
}

Problem jest taki kręci się troche wolniej szybciej ale tylko w jedna stronę nie ważne ile kręcę potencjometrem. Co jest nie tak?

Link do komentarza
Share on other sites

OO niee dzięki Elvis!!(oczywiście piwo) ale ze mnie niechluj 2^8 to 256 a ja sobie myślę 1024 nie wiem w ogóle czemu tak strzeliłem nie myśląc i jeszcze sobie zmniejszyłem do <256 na próbę 😉 Teraz wszystko chodzi ładnie piknie. Czas na Timmery

I jeszcze jedno pytanie co byście polecili do projektu z 6 bądź więcej silnikami ? Jaką atmege? Narazie na stanie mam 3 atmegi8 i atmege16 ale do 128 też mam dostęp. Czy jakoś można łączyć dwie atmegi ?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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.