Skocz do zawartości

[serwokontroler] Mini Maestro 12


Pomocna odpowiedź

Chce tak zrobić tylko powiedz mi czy takie ustawienie USART jest dobre:

void ustaw_USART(void) 
  { 
  UBRRL=51; 


  UCSRB =_BV(RXEN)|_BV(TXEN); // włączenie odbiornika RX i nadajnika TX 

  UCSRC|=_BV(URSEL)|_BV(UCSZ1)|_BV(UCSZ0); // transmisja 8N1 
  } 

Doszedłem w końcu do tego jak wysłać chociaż jedną ramkę dzięki małej pomocy. Opisuje to tutaj by forumowicze którzy tego szukają mogli to odnaleźć. Przy symulacji używałem Real Term a kod do programu wygląda tak:

#include<avr/io.h>
#include<util/delay.h>
#define F_CPU 8000000UL

#define USART_BAUDRATE 9600 
#define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1) 
void wyslij_bajt(unsigned char bajt);
void wyslij_bajt(unsigned char bajt) 
{


UDR=bajt; //wyślij bajt
while(!(UCSRA&0x20));// czekaj na wysłanie

}
void ustaw_USART(void) 
  { 

   UBRRH=(BAUD_PRESCALE>>8);
UBRRL=BAUD_PRESCALE; 
 UCSRB =_BV(RXEN)|_BV(TXEN); // włączenie odbiornika RX i nadajnika TX 
UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1); //8-n-1
  } 

int main()
{
ustaw_USART();
DDRB|=0xff;
while(1)
{

wyslij_bajt(0xaa); //start	
wyslij_bajt(0x0c); //Mini Maestro 12
wyslij_bajt(0x04); //komenda _ ustaw pozycje 
wyslij_bajt(0x00); //kanał 0
/*pozycja neutralna*/
wyslij_bajt(0x70); 
wyslij_bajt(0x2e);




}
}

Mam nadzieje że pomoże i prosze bardziej doświadczonych o sprawdzenie 🙂

  • 10 miesiące później...

Przepraszam, że odkopuję temat i trochę go hijackuje ale ma taką nazwę ogólną więc mysłałem że się pod niego podepnę.

Otóż czy ktoś próbował i wie jak czy można i jak najlepiej wyprowadzić sygnały PWM z tego kontrolera na inną płytkę?

Otóż mam dwa zestawy serw i jedne muszą kożystać z jednego napięcia a drugie z większego. Myślałem żeby zrobić małe płytky do których wepnę serwa zasilając je odpowiednim napięciem a sygnał PWM doprowadzę właśnie z Mini Maestro (które ma zasilanie wszystkich 12 serw jednym napięciem).

Czy ktoś już czegoś takiego próbował? Czy czychają jakieś niespodzianki czy problemu (w stylu że np. trzeba i tak podłączyć masy do Maestro albo coś), na pewno dobrze by było poprowadzić każdy sygnał PWM skręcony z masą, albo lepiej w ekranowanym przewodzie podpiętym do masy?

Masy zawsze musisz połączyć, bo przecież chcesz mieć jakiś wspólny poziom odniesienia.

To są na tyle wolne i rzadkie sygnały, że o ile nie prowadzisz ich na dużą odległość możesz spokojnie wykorzystać jakąś tąsmę czy cokolwiek i nie będzie problemu.

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...