Výpadek proudu

Andrews13
Příspěvky: 10
Registrován: 12 zář 2020, 21:38
Reputation: 0

Výpadek proudu

Příspěvek od Andrews13 » 12 zář 2020, 21:46

Ahoj
prosím jak by ste ošetřili případný výpadek proudu u arduina které ovládá servomotor?
"ovladaní dvířek"
Pokud vypadne proud a před vypadkem byl stepper.moveTo(600); tedy nahoře tak po výpadku bude stepper.moveTo(0); a pojede opět nahoru a přetrhne provázek.
stepper.moveTo - nejde vnutit hodnota po výpadku
knihovna <AccelStepper.h> - nemá možnost vnutit hodnotu kroku jen nulovaní

#include <AccelStepper.h>

#define dirPin 2
#define stepPin 3
#define motorInterfaceType 1

AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);

void setup() {

stepper.setMaxSpeed(200);
stepper.setAcceleration(30);
pinMode(10, INPUT);
pinMode(9, OUTPUT);
}

Díky za radu

void loop() {
delay(3000);

if (digitalRead(10)) {
digitalWrite(9, HIGH);
stepper.moveTo(600);
stepper.runToPosition();
}

digitalWrite(9, LOW);

if (!digitalRead(10)) {
digitalWrite(9, HIGH);
stepper.moveTo(0);
stepper.runToPosition();
}

digitalWrite(9, LOW);

}

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Výpadek proudu

Příspěvek od gilhad » 12 zář 2020, 23:10

Ja bych tam dal nejake senzory dorazu - a prikaz jed, dokud nesepne koncovy detektor.

(alternativne oddelit napajeni motoru a arduina, arduino zalohovane, testovat stav napajeni motoru a az se obnovi, tak dojet, co zbyvalo)

Hafajs
Příspěvky: 151
Registrován: 10 bře 2019, 10:19
Reputation: 0

Re: Výpadek proudu

Příspěvek od Hafajs » 13 zář 2020, 07:16

Ahoj. U serva se to řešit nemusí, ono ví v jaké je poloze (v první větě píšeš o servu). U krokace bych, jak píše kolega, volil koncak pro nalezení domácí pozice.

Andrews13
Příspěvky: 10
Registrován: 12 zář 2020, 21:38
Reputation: 0

Re: Výpadek proudu

Příspěvek od Andrews13 » 13 zář 2020, 17:23

Hafajs píše:
13 zář 2020, 07:16
Ahoj. U serva se to řešit nemusí, ono ví v jaké je poloze (v první větě píšeš o servu). U krokace bych, jak píše kolega, volil koncak pro nalezení domácí pozice.
Po výpadku proudu v tomto konkrétním kódu o informaci kde je se vynuluje

Andrews13
Příspěvky: 10
Registrován: 12 zář 2020, 21:38
Reputation: 0

Re: Výpadek proudu

Příspěvek od Andrews13 » 13 zář 2020, 17:23

Hafajs píše:
13 zář 2020, 07:16
Ahoj. U serva se to řešit nemusí, ono ví v jaké je poloze (v první větě píšeš o servu). U krokace bych, jak píše kolega, volil koncak pro nalezení domácí pozice.
Koncákům jsem se chtěl vyhnout ;)

Andrews13
Příspěvky: 10
Registrován: 12 zář 2020, 21:38
Reputation: 0

Re: Výpadek proudu

Příspěvek od Andrews13 » 13 zář 2020, 17:24

Jde mi o knihovnu AccelStepper.h zda s ní nekdo nemáte zkušenosti jak ji ovládat. :?:

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Výpadek proudu

Příspěvek od ondraN » 14 zář 2020, 06:34

A proč pro tak jednoduchou aplikaci nepoužiješ klasickou stapper knihovnu, která je dokumentována víc než dost? Každopádně, po výpadku proudu máš tři možnosti, jak nastavit polohu krokového motoru. První je senzor dorazu (spínač, Halova sonda, optická závora). Druhá je, pokud má motor shield fukci snímání nadproudu, jet na jednu stranu, než se motor zarazí a začne při krocích generovat nadproud (u některých typů motorů to nemusí moc fungovat). Třetí možnost je, udělat určitý počet kroků jedním směrem. Ten počet muí být minimálně na přestavení z jedné polohy do druhé. Motor se prostě zastaví o doraz a kroky "proklouznou".

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Výpadek proudu

Příspěvek od pavel1tu » 14 zář 2020, 12:40

Záloha Aruina (jen Arduina) třeba tímto ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Výpadek proudu

Příspěvek od ondraN » 14 zář 2020, 20:54

pavel1tu píše:
14 zář 2020, 12:40
Záloha Aruina (jen Arduina) třeba tímto.... ?
A jak se bude řešit situace kdy je třeba arduino restartovat, protože se sekne a nebo se restartne samo díky nějakému ruchu?
Krokový motor je z podstaty zařízení, s nezjistitelným počátečním stavem. Proto tam každý dává něco, aby ten počáteční stav zjistil a zaručil další správnou funkci.

Hafajs
Příspěvky: 151
Registrován: 10 bře 2019, 10:19
Reputation: 0

Re: Výpadek proudu

Příspěvek od Hafajs » 14 zář 2020, 21:43

Andrews13 píše:
13 zář 2020, 17:23
Hafajs píše:
13 zář 2020, 07:16
Ahoj. U serva se to řešit nemusí, ono ví v jaké je poloze (v první větě píšeš o servu). U krokace bych, jak píše kolega, volil koncak pro nalezení domácí pozice.
Po výpadku proudu v tomto konkrétním kódu o informaci kde je se vynuluje
Nezáleží na kódu. Jestli je tam krokac, musíš nějak zjistit kde je (viz ostatní), jestli servo tak to servo ví, kde je. Ty jen zadáváš požadavek na konečnou pozici a ono se na ni otočí.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů