DC ovládač motora - pomoc s komunikáciou UART

Si začinajúci elektronik? Tak táto rubrika je určená práve tebe.

Moderátori: mirosne, Moderátori

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 12 Nov 2023, 08:52

Ahojte,
týždeň sa strápim, ako nastaviť čas spomalenia na tejto doske:
https://pwrcontroller.com/product/croco ... ontroller/
manuál je tu:
https://pwrcontroller.com/wp-content/up ... mplete.pdf
s predajcom som nekomunikoval, písal som mu 5 emailov a som bez odpovede.

PWM dosku si spojím cez TTL prevodník s PC, nastavím rýchlosť na 9600 a pekne komunikujem jednoduchou UART komunikáciou s doskou.
Napr. napíšem príkaz:
0x80 0x3F 0x85 0x0F - a doska sa mi rozbehne na rýchosť 3F /cca 50% z maximálnej 7F/ aj sa mi nastaví požadované spomalenie.
Ale po strate napájania a jeho obnovení sa mi tieto hodnoty nezapíšu do FLASH pamate.... Neviete mi poradiť, ako rýchlosť spomalenia zapisat do pamate?
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: DC ovlácač motora - pomoc s komunikáciou UART

Príspevok od používateľa peterple » 12 Nov 2023, 09:27

Čitaj dokumentáciu https://pwrcontroller.com/wp-content/up ... pdf#page=3
RX/TX serial communication:
Serial communication is availale in all operation modes (potentiometet,joysick, PWM input and RC
receiver mode). It is possible to read or set additional parameters in the controller while it is in any
operation mode.Other possible option is to controll the the controller with only serial
communication commands. The way of communicaton can be Simple mode or Advanced mode. (For
information use theserial comunication sheets).
Pohľadaj dokument a postupuj podľa neho. Príkaz na zápis bude asi 0xA0
0xA0 0x00-7F saving_bits L for saving use advanced mode
Ale kam to sa dozvieš keď si naštuduješ ako funguje Advanced mode
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovlácač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 12 Nov 2023, 11:05

Celý týždeň som manuál študoval,, aj som sa pokúšal ukladať hodnotu spomalenia cez príkaz:
0xA0 0x00-7F saving_bits L
ale nepodarilo sa mi to uložiť do pamate. Mimochodom prvý krát pracujem s komunikáciou UART... preto vedel by mi niekto poradiť presnú skladbu príkazov, ktoré by som vyskúšal použiť?
DAKUJEM
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovlácač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 12 Nov 2023, 16:08

Nedaří se ti hodnoty uložit, protože komunikuješ v "simple commands" režimu. Musíš UART přepnout do "advanced commands". Trvalo mi to necelou minutu v tom datasheetu najít, jak to udělat.
0

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 12 Nov 2023, 17:15

Myslíš prepnúť na advanced commands pomocou prepínača DIP4 alebo pomocou príkazu 0xE1?
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 12 Nov 2023, 21:58

Přepínač 4 je správně, ale jak jsi přišel na E1 ? Četl jsi, co E0 a E1 dělá ?

Datasheety musíš číst POZORNĚ a pokud potřebuješ detailní informace, tak CELÉ. Nebo aspoň relevantní část celou.
0

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 13 Nov 2023, 07:14

Príkaz 0xE1 má znamenať "USART command mode " , preto som si myslel,že tým aktivujem príkazy USART namiesto UARTu.
Nemám okrem tejto nastavovačky žiadne skúsenosti s UART/USART komunikáciou,,, preto si sám neviem dať rady. Akými príkazmi by si to teda nastavil, aby mi zapísalo spomalovanie do FLASH pamate?
K tomu PIDu 4 mám ho na ON.
Skúšal som aj príkaz :
0xA0 0x72 ale nepomohlo...
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 13 Nov 2023, 08:54

A PID4 na ON znamená co ?

Pročti si ten datasheet POŘÁDNĚ !

Malá nápověda : for saving use advanced mode

Jinak UART a USART je totéž.
0

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 13 Nov 2023, 13:50

PID4 podla mna znamenalo, že môžem komunikovať s doskou cez jednoduché USART príkazy,,,
Teraz už neviem, čo to reálne znamená....
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 13 Nov 2023, 15:26

Ano - ale pokud komunikuješ přes jednoduché UART příkazy, tak nemůžeš ukládat do paměti.

Proto je tam for saving use advanced mode.

Takže pokud chceš ukládat do paměti, musíš přepnout do ADVANCED režimu.

Tohle všechno se z datasheetu dozvíš, ale musíš číst pozorně, dokud nepochopíš, co tam píšou.
Pokud to nepochopíš ani na několikátý pokus, musíš číst pozorně a zkoušet, dokud to nepochopíš.
No - a pokud to nepochopíš ani pak, musíš to opakovat a zkoušet tak dlouho, dokud na to nepřijdeš.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa Lennox » 13 Nov 2023, 17:11

Však už mu konečne povedzte, že DIP spínač č. 4 má mať v polohe OFF. Netrápte ho, je evidentné že nevie čítať :mrgreen:
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa maskrtnik01 » 13 Nov 2023, 17:24

To nie je úplné riešenie. V advanced mode sa používajú iné registre - samozrejme aj tie sú v manuáli.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa Lennox » 13 Nov 2023, 17:46

No veď to je samozrejme jasné. Ale mám za to, že doteraz mal DIP č.4 prepnutý v polohe ON. Potom mohol skúšať advanced commandy koľko len chcel, nefungovalo by mu to aj keby ich zadal správne.
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 13 Nov 2023, 18:25

marekbe napísal:
13 Nov 2023, 07:14
...
K tomu PIDu 4 mám ho na ON.
...
On to tady i píše ...
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 13 Nov 2023, 18:33

balu napísal:
12 Nov 2023, 21:58
Přepínač 4 je správně, ale jak jsi přišel na E1 ? Četl jsi, co E0 a E1 dělá ?

Datasheety musíš číst POZORNĚ a pokud potřebuješ detailní informace, tak CELÉ. Nebo aspoň relevantní část celou.
Tady jsem Tě asi neúmyslně zavedl na špatnou cestu - spíš to mělo znít jako
"Že se to přepíná přepínačem 4 je správně, ale ..."
0
Naposledy upravil/-a balu v 13 Nov 2023, 19:21, upravené celkom 1 krát.

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa maskrtnik01 » 13 Nov 2023, 18:34

Tak potom teda treba prepnúť dip switch do advanced režimu, a začať používať advanced príkazy.

Je to o čítaní datasheetu, to je základná zručnosť. Na druhú stranu každý nejak začínal.
0

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 15 Nov 2023, 06:51

Áno, aj ja len začínam,, verím, že sa to naučím, a nebudem zbytočne otravovať.
Prepol som DIP4 na OFF, zmenil rýchlosť komunikácie na 19200 a skúsil som skúšobný príkaz 0x80 0x05 , ale jednotka mi neodpovedá.
Preto som sa doteraz uchyloval k jednoduchým príkazom,,, Pretože pri tých s jednotkou bez problémov komunikujem.
Zapojenie káblov pre simple aj advanced komunikáciu mám takéto:
PWM nastavovač → USB TTL
RX → TX
TX → RX
GND → GND
a používam program Real Term . Treba nejako prestaviť zapojenie? Alebo niečo iné spraviť, aby mi ten advanced mód komunikoval?
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 15 Nov 2023, 07:17

Co bys chtěl předrátovávat ? UART je pořád stejný, jen posíláš trošku jiná data.

Poslal jsi adresu (0x80) a příkaz (0x05) - a data a CRC ?

U Advanced režimu je psáno Sending data from master device must be 5 bytes.
Pokud jsi poslal jen 2 byty, tak kontroler čeká na zbytek. Proto neodpovídá.

Takže Adresa : 0x80 (bit 7 = 1, adresa = 0)
Command : 0x05
Data : 2 byty hodnota - musíš ji rozdělit a posunout tak, aby bit 7 byl vždycky 0
CRC : 1 byte

Jak rozdělit hodnotu a jak spočítat CRC máš dokonce v datasheetu napsaný, takže ani nemusíš vymýšlet, jak to naprogramovat. Stačí CTRL-C, CTRL-V.


!!! ČÍST POZORNĚ !!!
0

marekbe
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 22 Feb 2023, 07:09

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa marekbe » 15 Nov 2023, 12:01

Áno, ale v manuály tiež čítam:
Reading data:
Requesting data from master device must be 2 bytes when the controller received the 2th byte it will send
the answer 3 bytes (1th DATA byte ; 2th DATA byte ; CRC)

Chcel som čítať dáta, ako je v pämati nastavené spomalenie jednotky, treto som poslal dáta /adresu + príkaz/:
0x80 0x05

Zle čítam?
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: DC ovládač motora - pomoc s komunikáciou UART

Príspevok od používateľa balu » 15 Nov 2023, 12:12

A jo - máš pravdu. Na zápis je 0x45 ...
Tak to by mělo fungovat.

Zkus stejnou rychlost komunikace jako pro Simple režim. Vím, že se v datasheetu píše 19200, ale pár nepřesností jsem tam odhalil, tak to vyzkoušej, jestli nemůže být chyba tam.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok