VAŽNO! Ovdje pročitajte kako se registrirati na forum. Bez registracije, nećete biti u mogućnosti pisati na forumu.

Pomoć oko projekta

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 6:29 pm

Pozdrav svima,

Naručio sam maketu mosnog spoja (H Bridge) u svrhu pokretanja istosmjernog motora. (Link artikla kojeg sam kupio: https://e-radionica.com/hr/jednostavni- ... onica.html).
Pratio sam tutorial (KKM) koji se nalazi na linku https://e-radionica.com/hr/blog/2019/06 ... -h-bridge/ .
Kada spojim prema tutorialu sve funkcionira ispravno, no htio bih malo prilagoditi shemu spajanja.


slika

Kratko pojašnjenje sheme, za napajanje koristim vlastiti istosmjerni izvor napajanja, kojeg reguliram pomoću ZK-4KX buck boost convertera (obični step up/down istosmjerni pretvarač). Ideja mi je bila da spojim istosmjerni motor prema shemi prikazanoj na gornoj slici te pomoću potenciometra mijenjati brzinu vrtnje motora.

Problem koji se pojavi jest kada spojim INPUT makete na vanjsko napajanje (prilagodim na +5V), na displayu mi pokazuje da vuče struju preko 2A (pretpostavljam da je došlo do kratkog spoja negdje) i motor ne radi. Nije došlo do trajnog oštećenja jer kada spojim prema KKM shemi opet funkcionira (koristio sam Arduino kod priložen u KKM shemi).

Druga stvar jest sam potenciometar, odnosno zanima me kako ga ispravno spojiti. Pretpostavio sam da vanjske nožice predstavljaju GND i +5V, dok srednja ide na jedan od analognih input pinova Arduina. Pretpostavljam da ima nekakve veze sa samim kodom, no nisam siguran.

Znači te 2 stvari me zanimaju, kako koristiti vanjsko napajanje makete umjesto napajanja iz Arduina te kako ispravno spojiti potenciometar na zadanu shemu?

Svaka pomoć je dobrodošla.

Lijep pozdrav.
domagoj#5279
Supporter
Supporter
Postovi: 327
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la domagoj#5279 » čet svi 06, 2021 9:47 pm

Pozdrav!
Ovako na prvu mi se čini da je sve dobro spojeno ali fali jedan detalj. GND od Arduina i boost convertera bi trebali biti spojeni. Ovako ispada da može nastati razlika potencijala između dva GND-a, a onda možda boost converter podivlja. Nisam elektroničar pa je možda u pitanju neki drugi razlog, ali uvijek su me učili da svi GND-ovi različitih trošila i izvora napajanja moraju biti povezani ako dijele iste signale. Možda postoji razlog kada to i nije tako ali ja se nisam sreo s njim. Nisam koristio konkretno ovaj H-Bridge al jesam neke druge i uvijek sam povezao GND kad sam imao vanjsko napajanje.
Druga stvar koja bi mogla biti problematična je uprabo boost converter. Ja sam imao problema kad sam direktno preko convertera spojio kolektorski el. motor ili bilo kakvo indukcijsko trošilo, npr. el. ventil za vodu. Očitavao bi daleko veći napon na konverteru u odnosu na namješteni (bez trošila). Probao sam ga namjestiti s uključenim motorm ali onda se nije dao namjestiti. Možda ovakvo ponašanje ovisi od konvertera do konvertera a da bi bio siguran, ja bi za probu umjesto njega spojio bateriju. S njom neće biti takvih problema.
Što se tiče potenciometra spoj mi izgleda ok, ali da bi mogao komentirati morao bi vidjeti program koji čita stanje potenciometra.
Pozdrav, Domagoj
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 10:04 pm

bok;
postavi ovdije tvoj kod da vidim kko čitaš pot i kako vrijednost pota šalješ na A i B pinove pomoču kojih uprevljaš smjerom i brzinom vrtnje motora.
paziti moraš da A i B nisu odjedanput high jer če bridge zgoreti.
ako ne uspiješ sa viču upomoč pa ču ti napisati mali programčiič za ganjajne motora pomoču PWMa i pota
LP
Halužan
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 10:07 pm

Bravo Domagoje gnd je greška koja onemogučuje rad.
A i bez koda se nemože pomoči
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Re: Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 10:09 pm

Pozdrav,
Prije svega hvala na pomoći. Zahvaljujući Domagoju sam uspio popraviti pogrešku koju sam imao (GND je bio problem) te sam uspio pokrenuti motor.
Što se tiče samog Arduino koda, budući da nisam iskusan u programiranju tražio sam neke online tutoriale i ovaj kod sam nekako sklopio. Načelno razumijem koja funkcija ima koju svrhu, no svakako bih volio povratnu informaciju.

slika

Još jednom zahvale na pomoći.
Lijep pozdrav
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 10:20 pm

Meni izgleda pin A na pinu 4 a pin B NA PINU 3 a u programu je aktivan pin 4i5.
pin koji je o setiran se nesmije drajvati PWM signalom jer više nije nula i more bridge zgoreti
Daj kod textualno da ti ga popravim
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Re: Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 10:32 pm

To sam samo isprobavao kod. Originalno su korišteni pinovi 3 i 4 u priloženom KKM, ali sam probao koristiti drugi pin za PWM. Kada promijenim pinove nazad u 3 i 4 opet je ista situacija.
int pinA = 4;
int pinB = 3;
int SpeedControl = A1;
int MotorSpeed = 0;

void setup() {
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
}

void loop() {
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);

MotorSpeed = analogRead(SpeedControl);
MotorSpeed = map(MotorSpeed, 0, 1023, 0, 255);

analogWrite(pinA, MotorSpeed);
analogWrite(pinB, MotorSpeed);
}
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 11:11 pm

probaj ovaj kod

Kod: Označite sve

int pinA = 5;// pin 4 nema pwm mogučnost
int pinB = 3;
int SpeedControl = A1;
int MotorSpeed = 0;

void setup() {
  Serial.begin(9600);
  pinMode(pinA, OUTPUT);
  pinMode(pinB, OUTPUT);
  digitalWrite(pinA, LOW);
  digitalWrite(pinB, LOW);
}

void loop() {
  unsigned long currentMillis = millis();
  currentMillis += 30000;
vrti:
  if (millis() < currentMillis) {
    lijevo();
  }
  else {
    goto vrti;
  }
  currentMillis = millis();
  currentMillis += 30000;
                 vrti1:
  if (millis() < currentMillis) {
    desno();
  }
  else {
    goto vrti1;
  }

}

void lijevo() {
  MotorSpeed = analogRead(SpeedControl);
  MotorSpeed = map(MotorSpeed, 0, 1023, 0, 255);
  analogWrite(pinA, MotorSpeed);
  digitalWrite(pinB, 0);
}
void desno() {
  MotorSpeed = analogRead(SpeedControl);
  MotorSpeed = map(MotorSpeed, 0, 1023, 0, 255);
  digitalWrite(pinA, 0);
  analogWrite(pinB, MotorSpeed);
}

[code]
domagoj#5279
Supporter
Supporter
Postovi: 327
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la domagoj#5279 » čet svi 06, 2021 11:18 pm

Mi smo jedna vesela družina. :violin:
Drago mi je da je uspjelo.
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 11:25 pm

jesi probao kod Domagoje ??
ja trenutno nemam hardver pa sam samo napamet složio priču.
zanima me dali sada radi ??
LP
Halužan
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Re: Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 11:29 pm

Pozdrav
Copy pasteao sam kod, samo se čuje kako motor "pišti", odnosno nekakva visoka frekvencija se čuje. Motor ne mijenja brzinu nakon promijene vrijednosti potenciometra.
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 11:32 pm

PROBAJ SADA


int pinA = 5;// pin 4 nema pwm mogučnost
int pinB = 3;
int SpeedControl = A1;
int MotorSpeed = 0;

void setup() {
Serial.begin(9600);
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
}

void loop() {
unsigned long currentMillis = millis();
currentMillis += 30000;
vrti:
if (millis() < currentMillis) {
lijevo();
}
else {
goto dalje;
}
goto vrti;
dalje:
currentMillis = millis();
currentMillis += 30000;
vrti1:
if (millis() < currentMillis) {
desno();
}
else {
goto van;
}
goto vrti1;
van:
delay (500);
}

void lijevo() {
MotorSpeed = analogRead(SpeedControl);
MotorSpeed = map(MotorSpeed, 0, 1023, 0, 255);
Serial.println(MotorSpeed);
analogWrite(pinA, MotorSpeed);
digitalWrite(pinB, 0);
}
void desno() {
MotorSpeed = analogRead(SpeedControl);
MotorSpeed = map(MotorSpeed, 0, 1023, 0, 255);
Serial.println(MotorSpeed);
digitalWrite(pinA, 0);
analogWrite(pinB, MotorSpeed);
}
Zadnja izmjena: haluzanpavao#4932, dana/u čet svi 06, 2021 11:45 pm, ukupno mijenjano 1 put.
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Re: Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 11:38 pm

Pozdrav,
Sada se vrti konstantnom brzinom, ali i dalje nema promjene što se tiče potenciometra.
Avatar
haluzanpavao#4932
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 80
Pridružen/a: sri lip 13, 2018 12:19 pm
Lokacija: Zagreb

Re: Pomoć oko projekta

Post Postao/la haluzanpavao#4932 » čet svi 06, 2021 11:39 pm

dali mijenja smjer vrtnje nakon 30sec??
jheller031#1106
Novak
Novak
Postovi: 6
Pridružen/a: čet pro 03, 2020 8:26 am

Re: Pomoć oko projekta

Post Postao/la jheller031#1106 » čet svi 06, 2021 11:43 pm

Da
Odgovorite