Skocz do zawartości

Pomocna odpowiedź

Napisany mam oczywiście kod, zapalam stanem wysokim :]

#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
#define B(x) (1<<x)

void Zapal( int p1, int p2, int p3 )
{
if( p1 == 1 ) PORTB |= B(0);
else PORTB &= ~B(0);
if( p2 == 1 ) PORTB |= B(1);
else PORTB &= ~B(1);
if( p3 == 1 ) PORTB |= B(2);
else PORTB &= ~B(2);

_delay_ms(1000);
}
int main(void)
{
  DDRB = 0b111;

  while(1)
  {
     Zapal(1,0,0);
     Zapal(1,1,0);
     Zapal(1,0,1);
     Zapal(0,1,0);
     Zapal(0,1,1);
     Zapal(0,0,1);
     Zapal(1,1,1);
  }
}

[ Dodano: 16-02-2012, 23:04 ]

Pomijając brak węzłów jest ok.

Jakich węzłów?

Jakich węzłów?

Chodzi o te kropki na przewodach, gdzie się spotykają więcej niż 2 przewody - w twoim przypadku przy ledach od strony GND, ta środkowa.

Oraz przy kondensatorach. Oznacza to że połączenia się łączą, gdy nie ma węzła to po prostu przecinają się ale nie są ze sobą połączone.

W Eagle jest to opcja "Junction"

edit:

Piotrek, ubiegłeś mnie 🙂

PCB swojego pewnie nie będę narazie robić, ale dzięki 😋 Wczoraj doszedł mi programator i na rysunku opisującym mam:

W rzeczywistości jest odbicie lustrzane tego, więc jak przyjdą mi części( a z nimi wejście ) to robić tak jak na tym schamacie, tylko w odbiciu lustrzanym?

Co do 1 i 15: mogę podłączyć do +5V i będzie ok tak?

Dlaczego do 15 pinu przecież to jest linia sterująca?

Na wyprowadzenia 1 i 9 podajesz sygnał PWM - jeśli chcesz ustawić silniki na 100% możesz podłączyć te wyprowadzenia do zasilania. Na wyprowadzenia 16 i 8 podajesz 5V (na 8 możesz podać do 24V) służą kolejno do zasilania części cyfrowej i analogowej. Do sterowania silnikiem podłączonym do pinów 3 i 6 służą piny 2 i 7 kolejno A i B natomiast po drugiej stronie analogicznie 15 i 10.

Aby wał silnika kręcił się w prawo na A podajesz stan wysoki a na B stan niski. W przypadku obrotów w lewo na odwrót. Jeśli chcesz zahamować silnik podajesz ten sam stan na A i B.

Nie do końca. Przyczepiam się do tej części:

Jeśli chcesz zahamować silnik podajesz ten sam stan na A i B.
By zachamować silnik musisz podać Stan Niski na A i B. Gdy na A i B dasz stan wysoki to mostek pójdzie z dymem. 😅

PS. Mam nadzieję, że się nie pomyliłem.

Nie do końca. Przyczepiam się do tej części:
Jeśli chcesz zahamować silnik podajesz ten sam stan na A i B.
By zachamować silnik musisz podać Stan Niski na A i B. Gdy na A i B dasz stan wysoki to mostek pójdzie z dymem. 😅

Nie wiem skąd taka uwaga poniżej dołączam fragment noty katalogowej interesuje nas przedostatni wiersz gdzie EN mamy ustawione, na 100% czyli stan wysoki natomiast na 1A i 2A (u nas A i B) podajemy stany wysokie.

W praktyce zawsze realizuję hamowanie na tym układzie poprzez podanie stanów wysokich na te wyprowadzenia i nigdy nic nie stało się ani z silnikiem ani z mostkiem.

Czy zdarzyło Ci się kiedyś spalić ten mostek przez takie wysterowanie?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...