Skocz do zawartości

Steronaie silnikiem DC z układu mostka H na stm32


faustin

Pomocna odpowiedź

@faustin,

jeśli nie podasz linku do sterownika silnika, to nikt nie będzie w stanie Ci pomóc (bez znajomości typu sterownika). Dlaczego: ponieważ sterowniki silnika się różnią. Najczęściej są przynajmniej 3 wejścia sterujące: wejście sygnału PWM (do sterowania obrotami silnika - prędkością), direction - kierunek obrotów silnika: lewo, prawo, pin Enable, który załącza silnik. Jeśli nie podasz linku do strony WWW z opisem sterownika, to nikt Ci nie pomoże. Tak samo typ płytki Nucleo - jest napis na płytce (a jeszcze lepiej wklej link do strony WWW z twoim zestawem Nucleo). Elektronika i programowanie to ścisłe dyscypliny i bez podania odpowiednich informacji pomoc jest niemożliwa.

Pozdrawiam

Link do komentarza
Share on other sites

Dzięki za link do strony sterownika 😃. Muszę znaleźć jakiś opis tego sterownika - postaram się jutro odpowiedzieć (niestety na dzisiaj muszę kończyć). Jak będziemy wiedzieć jak ten sterownik działa, to będzie można narysować schemat podłączenia do płytki Nucleo. Środowisko którego używasz jest OK dla tego projektu.

Pozdrawiam

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

juz nie trzeba ogarnełam juz jak powinnam połaczyc ten sterownik z płytką i silnikiem aby silnik sie krecił otóz potrzbna była dodatkowa bateria i wpiełam ją tam gdie próbowałam wczesniej wpiąć piny z płytki a te piny z płytki powinny byc wpiete do tych wejść ponadto jeszcze trzeba było podpiac zworke z innym wejsciem(nie pamietam jak ono na sterowniku sie nazywało) ale tak aby czerwoe swiatełko sie swieciło

kod tez trzeba było lekko zmodyfikowac (a sugerowałam sie kodem arduino)

oto kod:

#include "stm32f1xx.h"

void delay(int time)
{
    int i;
    for (i = 0; i < time * 570; i++) {}
}

int main(void)
{
	HAL_Init();

	__HAL_RCC_GPIOA_CLK_ENABLE();

	GPIO_InitTypeDef gpio;				// obiekt gpio będący konfiguracją portów GPIO
	gpio.Pin = GPIO_PIN_4; 				// konfigurujemy pin 5
	gpio.Mode = GPIO_MODE_OUTPUT_PP;
	gpio.Pin = GPIO_PIN_1; 				// konfigurujemy pin 5
		gpio.Mode = GPIO_MODE_OUTPUT_PP;// jako wyjście
	gpio.Pull = GPIO_NOPULL;			// rezystory podciągające są wyłączone
	gpio.Speed = GPIO_SPEED_FREQ_LOW;	// wystarczą nieskie częstotliwości przełączania
	HAL_GPIO_Init(GPIOA, &gpio);		// inicjalizacja modułu GPIOA

	while (1)
	{
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); 
		delay(100);
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); 
		delay(400);
	}
}

a tutaj zdjecie aby wszyscy uwierzyli ze sie udało:

 

IMG_20220213_021506353.jpg

  • Lubię! 1
Link do komentarza
Share on other sites

6 godzin temu, faustin napisał:

juz nie trzeba ogarnełam juz jak powinnam połaczyc ten sterownik z płytką i silnikiem aby silnik sie krecił otóz potrzbna była dodatkowa bateria i wpiełam ją tam gdie próbowałam wczesniej wpiąć piny z płytki a te piny z płytki powinny byc wpiete do tych wejść ponadto jeszcze trzeba było podpiac zworke z innym wejsciem(nie pamietam jak ono na sterowniku sie nazywało) ale tak aby czerwoe swiatełko sie swieciło

kod tez trzeba było lekko zmodyfikowac (a sugerowałam sie kodem arduino)

oto kod:


#include "stm32f1xx.h"

void delay(int time)
{
    int i;
    for (i = 0; i < time * 570; i++) {}
}

int main(void)
{
	HAL_Init();

	__HAL_RCC_GPIOA_CLK_ENABLE();

	GPIO_InitTypeDef gpio;				// obiekt gpio będący konfiguracją portów GPIO
	gpio.Pin = GPIO_PIN_4; 				// konfigurujemy pin 5
	gpio.Mode = GPIO_MODE_OUTPUT_PP;
	gpio.Pin = GPIO_PIN_1; 				// konfigurujemy pin 5
		gpio.Mode = GPIO_MODE_OUTPUT_PP;// jako wyjście
	gpio.Pull = GPIO_NOPULL;			// rezystory podciągające są wyłączone
	gpio.Speed = GPIO_SPEED_FREQ_LOW;	// wystarczą nieskie częstotliwości przełączania
	HAL_GPIO_Init(GPIOA, &gpio);		// inicjalizacja modułu GPIOA

	while (1)
	{
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); 
		delay(100);
		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); 
		delay(400);
	}
}

a tutaj zdjecie aby wszyscy uwierzyli ze sie udało:

 

IMG_20220213_021506353.jpg

Cześć @faustin,

cieszę się, że udało się doprowadzić do działania układu. Wniosek z tej lekcji jest taki, że przed próbą podłączenia nowego modułu należy zajrzeć do jego dokumentacji 😃.

Pozdrawiam

  • Lubię! 1
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.