Elektronika.lt
 2025 m. vasario 12 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 02 12, 03:56. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Arduino Serial port (master + 2...n slave)
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 12
Pereiti prie 1, 2  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 07:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Tai va žaidžiu su savo Arduino ir mąstau, kaip čia padaryti tokį dalyką.
Mano kompiuteris yra master. Ta prasme valdo Arduino (slave) plokštę.
Turiu susiprograminęs kompiuteryje ale programelę ir Arduino kad dirbtų.
Programavau dar nežinodamas ar tai, apie ką mąstau, veiks. Bet principas labai paprastas kompiuterio programa per Serial siunčia komandą arba apklausinėja mikrokontrolerį. Komanda 3 baitai, tada vienas baitas adresas (Arduino plokštės) ir po to visa kita informacija, jei reikia.

Aš dar labai nesigilinau tik vakar paskaitinėjau truputį apie galimybes. Bet atsakymo vienareikšmiško neradau ir man įdomu ar galima taip jungti: kompiuteris kaip master ir prie kompiuterio prijungta pora slave Arduino plokščių. Ta prasme kad kitą Arduino jungti lygiagrečiai prie esamo plokštės TX RX.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 08:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
mindogas
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Be problemų. Jungi master Tx prie kievieno iš slave Rx ir master Rx į kiekvieną slave Tx. Valdymas tavo irgi protingas - kiekvienas sleivas turi savo ID ir reaguoja tik į savo komandas. Tik protokolas turėtu būti kiek blatnesnis - siulau komandas pradėti bei baigti iš anksto žinomais baitais kad Sleivai žinotu po kurio simbolio tikėtis savo adresiuko bei kitų duomenų. Aplamai verta paskaitinėti ir apie labai patogu toki modbus rtu protokoliuką: http://www.rtaautomation.com/modbusrtu/
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 08:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Seniau RS485 mikres daug kainuodavo, tad darydavau taip:
Iejimo optronas (su apsauga nuo perdideles sroves) jungiamas nuosekliai su isejimo optronu (su bendra apsauga nuo perdideles itampos) taip, kad "tylos" rezime butu prasidare (sroves kilpoje teketu ~10..20mA srove).
trukumai: taip jungiant ant kiekvienos grandies krenta ~3,4V, todel nuo 12V galima uzmaitinti masteri ir vos du sleivus, dar ir linijos varza daro itaka, bet kilpos itampa galima kelti iki nepavojingos optronams.
privalumai: tiek masteris, tiek sleivai gauna tiek tai kas jiems siunciama, tiek tai ka patys siuncia, todel pilna rysio linijos kontrole.

Dar nesunkiai galima realizuoti rysi per maitinimo vyta pora moduliuota srove (CLKOUT & TX, RX detektorius), reiks maitinima paduoti per droseli, signala moduliuoti per kondensatoriu.

Siais laikais yra aibe alternatyvu (irda, radio rysio, wifi, bluetooth, powerline, moduliukai).
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 09:01 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
mindogas rašo:
Be problemų. Jungi master Tx prie kievieno iš slave Rx ir master Rx į kiekvieną slave Tx. Valdymas tavo irgi protingas - kiekvienas sleivas turi savo ID ir reaguoja tik į savo komandas. Tik protokolas turėtu būti kiek blatnesnis - siulau komandas pradėti bei baigti iš anksto žinomais baitais kad Sleivai žinotu po kurio simbolio tikėtis savo adresiuko bei kitų duomenų. Aplamai verta paskaitinėti ir apie labai patogu toki modbus rtu protokoliuką: http://www.rtaautomation.com/modbusrtu/


Pabandysiu šiandien pasiskolinti kitą Arduino ir pabandyti.

Dėl perdavimo tai pas mane ir yra panašiai pradžia tai 3 baitai tarkim get arba set arba kokia kita komanda, tada eina vienas baitas adresas, tada jei reikia dar informacijos ir siuntimas baigiasi '\n' simboliu. tai yra 10 arba 13, jei gerai pamenu. Kai gauna visus baitus ir adresas atitinka mikrovaldiklis atlieka veiksmus.

Man tik buvo įdomu ar fiziškai įmanoma taip sujungti.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 09:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
AlgisL rašo:
Seniau RS485 mikres daug kainuodavo, tad darydavau taip:
Iejimo optronas (su apsauga nuo perdideles sroves) jungiamas nuosekliai su isejimo optronu (su bendra apsauga nuo perdideles itampos) taip, kad "tylos" rezime butu prasidare (sroves kilpoje teketu ~10..20mA srove).
trukumai: taip jungiant ant kiekvienos grandies krenta ~3,4V, todel nuo 12V galima uzmaitinti masteri ir vos du sleivus, dar ir linijos varza daro itaka, bet kilpos itampa galima kelti iki nepavojingos optronams.
privalumai: tiek masteris, tiek sleivai gauna tiek tai kas jiems siunciama, tiek tai ka patys siuncia, todel pilna rysio linijos kontrole.

Dar nesunkiai galima realizuoti rysi per maitinimo vyta pora moduliuota srove (CLKOUT & TX, RX detektorius), reiks maitinima paduoti per droseli, signala moduliuoti per kondensatoriu.

Siais laikais yra aibe alternatyvu (irda, radio rysio, wifi, bluetooth, powerline, moduliukai).


Tai nieko nekeičiant nesigaus pajungti jungiant RX ir TX lygiagrečiai?

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 09:33 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
jei isiskaitytum, pastebetum, kad mano pasiulyme ir yra tx/rx logiskai lygiagreciai (naudojama viena vyta pora), tik sprendimai transporto dalyje skiriasi:
1) optronai (sroves kilpoje) jungiami nuosekliai, nes kitaip ir nesigaus;
2) home/power-line emuliacijoje naudoji arba droseli arba impulsini trafuka su 2/3 apvijom. 1..8Mhz signalas gana gerai persiduoda vyta pora ir lengvai detektuojasi, tad be dideliu bedu gausi 38400bps ir spartesni rysi.

P.S. jungtis tiesiai prie COM porto nera gerai, ypac kai linija pasiekia >15m ar paklota triuksmingoje aplinkoje.
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 09:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
AlgisL rašo:
jei isiskaitytum, pastebetum, kad mano pasiulyme ir yra tx/rx logiskai lygiagreciai (naudojama viena vyta pora), tik sprendimai transporto dalyje skiriasi:
1) optronai (sroves kilpoje) jungiami nuosekliai, nes kitaip ir nesigaus;
2) home/power-line emuliacijoje naudoji arba droseli arba impulsini trafuka su 2/3 apvijom. 1..8Mhz signalas gana gerai persiduoda vyta pora ir lengvai detektuojasi, tad be dideliu bedu gausi 38400bps ir spartesni rysi.

P.S. jungtis tiesiai prie COM porto nera gerai, ypac kai linija pasiekia >15m ar paklota triuksmingoje aplinkoje.


Aš supratau. Bet pradžiai noriu pasižaisti su keliom arduino plokštėmis nieko per daug neperdarinėjant, patikrinti kaip veikia gaunant klaidingas užklausas ir tt. O šiaip vėliau galima jungti ir per 485.

Bet šiuo momentu noriu pasibandyti ant stalo nieko per daug nekeičiant, todel ir paklausiau ar taip veiktų.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 10:12 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Jei numatytas target-address komandoje/atsakyme, tai kokios trabliemos?
reikia tik sistemos, kad jei griztantis simbolis nesutampa su siunciamu, random laikui atideti siuntima (tipo collision detection)
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 10:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
AlgisL rašo:
Jei numatytas target-address komandoje/atsakyme, tai kokios trabliemos?
reikia tik sistemos, kad jei griztantis simbolis nesutampa su siunciamu, random laikui atideti siuntima (tipo collision detection)


Šitą aš ir pagalvojau. Taigi pradžiai vienam iš slave pridėsiu vėlinimą atsakymui.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 13:17 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
faktiskai darai taip:
Kodas:

#define BPS 9600
#define TX_DELAY 11000000UL / BPS

int USART_TransmitBuf( char *data, int cnt )
{
int ok = 1;

  while ( ok && cnt )
  {

    while ( !( UCSR0A & (1<<UDRE0)) );

    UDR0 = *data;
    _delay_us(TX_DELAY); // pagal 1 simbolio is siuntimo greiti

    if ( (UCSR0A & (1<<RXC0)) )
    {
      if ( UDR0 == *data )
      {
           data++;
           cnt--;
      }
      else
        ok = 0;
    }
    else
      ok = 0;
  }
  return ok;
}
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 19:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai va nustačiau skirtingus adresus vienai plokštei atsakymams uždėjau vėlinimą 3 sekundes. Toks dalykas: kazkaip keistai atskirai veikia, sujungių lygiagrečiai neveikia. Gla kokių minčių yra? gal reikia kokių diodų ar kažko?
Gal turit minčių dėl ko taip gali būti?

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 20:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
"lygiagreciai" pas tave cia trumpikliu ar logiskai?

trumpikliu gali lygiagretinti tik tam tinkama schemini sprendima, o ne uPU TX kojas.

pvz: atrisus optronais, optronus gali apjungti bendro kolektoriaus jungimu.

isristi gali ne optronais, o pvz lauktranziais su atvira santaka.
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 21:25 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Babajuss
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Lygiagrečiai tai trumpikliu rx prie rx o tx prie tx.

dabar supratau.

_________________
Do not argue with an idiot. He will drag you down to his level and beat you with experience.
mane rasite: mano profilyje
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 21:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Jei naudotum ATmega32E5 tai galetum ir trumpinti tiesiogiai.
Gali ir per diodus, bet tik pabandymui, o ne realiose salygose.
 Arduino Serial port (master + 2...n slave)
PranešimasParašytas: 2014 02 18, 22:14 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Is esmes tau reikia visas slave'u TX kojas perjungti i GPIO iejimo rezima, nes kitu atveju jos viena kita blokuos (sujunges keleta TX'u lygiagreciai gaunasi taip, jog sujungi keleta isejimu lygiagreciai). RX visus jungi lygiagreciai (kadangi master tera vienas isejimas, o slave'ai visi iejimai) ir leidi slave'ams klausytis komandos. Siunti su komanda pirma baita kaip adresa ir tinkamas slave'as pagaves savo adresa iskart susikonfiguruoja TX koja kaip isejima, o visi like slave'ai ir toliau laiko ta koja iejimu. Jau atmega man senai pamirstas reikalas, tad nezinau ar atskirai kojos konfiguruojasi, jei UART peripheral'as ijungtas.
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie 1, 2  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
KCD2 Mods
Installing KCD 2 Mods, KCD 2 Guides, KCD 2 Cheats
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Wiki
GTA 6 Map, GTA 6 Characters, GTA 6 News
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama