Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
UEh, mnogo pitanja Smile

Generalno CPU/MCU prvo moras da "ušuškaš" raznim metodama, dobro filtriranje napona, razvodjenje GND po principu zvezde, masivan decoupling, ako treba i metalno oklapanje plocice i na kraju optocoupleri, gomila, za sve ulaze/izlaze, nista sto je fizicki vezano za MCU plocicu ne sme da napusti kutiju tj onaj prostor koja PCB zauzima.
Ta jedinica mora da se dodatno smesti u prostor preko kojeg ne prolaze nikakvi strujni vodovi, dakle prvo MCU resis pa onda energetske delove koji bi po pravilu trebali da idu u posebnu kutiju/orman.

Moras samo imati sliku da ti procesori i digitalija radi na 3.3V ili 5V, tu par volti gore-dole vec igra ulogu a to je nista sta mogu da proizvedu smetnji energetski delovi koji prave 1000x vece naponske/strujne pikove, cas se desi problem ako dobro sve pre toga ne osmislis i prakticno odradis, smetnje se prenose i kroz vazduh i kroz prikljucene zice, tvoje je da se sto je vise moguce izolujes od "spoljneg sveta", parazitivni kapacitet/spregu da dovedes na nivo pF.

Skoro radio jednu PCB za STM32, kada se pogleda skroz cudna, MCU zauzima jedno "ostrvo" i oko toga sa svih strana 5mm margine pa na optocouplere, to mi trazi 4 izolovana napajanja ali tako se prave "medvedi" od sprava Smile
Isto kao i kod tebe imam LCD 2x16 (i mali kbd) i naravno da i to ide preko optocouplera, u mom slucaju seriskom vezom i dodat jos jedan STM32 lokalno uz LCD samo da bih mogao tu postavku da pokrenem, ali to je onda prava masina, mogu jedino glavni MCU da zaglupim sa SW, HW tesko Smile
Naravno kada sam vec usvojio tu postavku, onda sam "zloupotrebio" STM koji stoji kod LCD i napravio "smart LCD", totalno rasteretio glavni MCU taskova oko osvezavanja displeja, napravio mini-protokol tako da se komunikacija svodi na nekoliko bajtova. Npr obrada tastature sa prikazom sta unosis se sve lokalno obradjuje kod LCD, kad stisnes Enter samo se pljucne preko seriske glavnom MCU nekoliko bajtova (obicno unosimo brojeve na ovakvim malim LCD) ... to je milina za rad, ali moras da prodjes tu tacku razvoja ...
Ima posla oko svega toga ali resavas jedno po jedno pragmaticno, dodatno pravis da bude sto vise modularno ...
Reply
Ja sam počeo ozbiljno da razmišljam, sve više gledam kako je to čika Macola odradio na sopstvenom mini plc-u sa pic-om. Dolazim do toga da i ja tako napravim sebi za Arduino, samo što bi ja umjesto pic-a ubacio svoju Arduino Nano pločicu (naravno gotovu samo da se ubode) i izbacio one male kondenzatore i kristal jer to imam sve već na Nano pločici, a onda bi prilagodio samo veze na pcb za izlaze i ulaze.
Onda bih lcd vezao preko i2c načina i imao bih samo 2 žice za komunikaciju sa lcd-om i 2 žice za napajanje, i puno više slobodnih I/O pinova slobodnih nego što sam do sada vezao lcd pa mi treba 6 pinova za komunikaciju.
Tu bih ostavio i Macolino napajanje.

Nadam se da Macola neće imati ništa protiv ako bih se upustio u prepravku njegovog pcb-a za mini plc na kojoj bih ja koristio Arduino umjesto pic-a?.

Šta vi mislite za taj poduhvat, naravno morao bih sakupiti dokumentaciju od pcb-a za taj mini plc?



A izbacio bih i RS konektor i njegovu periferiju.
Reply
Kreni polako i sigurno ćeš imatu podršku na forumu.

Meni se jedino ne svidja koncept sa Arduino, uvek bih pre stavio konkretan MCU,
mada će i Arduino zarvršiti posao.

Mikijev savet je dobar, razmisli o modularnom konceptu.
Napraviš osnovnu ploču sa procesorom i napajanjem
a posebno uradiš module koje povezuješ sa flat kablom i IDC konektorima.

Kada budeš imao sve uradjene module, posle sastaviš po potrebi PLC za par minuta
samo pobodeš šta ti tačno treba i uradiš softver. Drugačije bi svaki put morao raditi
namensku PCB za odredjenu primenu.

Pozz
Reply
Ako stigne možda počnem lagano i za vikend crtati, ili sledeće sedmice lagano.

Mikijev prijedlog neću izostaviti, a li za sada ću odraditi po Macolinom postupku, jer će mi to za početak biti dovoljno, a poslije lagano raditi modularno, samo da stanem u kraj sa tim problemima smetnji i šumova.

Unaprijed se zahvaljujem na podršci, a i ovoj do sada. Smile

@Želja
Misliš na Arduino kao Ardunio, ili na Atmel procesore, vidim da Schneider radi plc-ove sa Atmega128 procesorima (zelio serija).?
Reply
(07-14-2017, 07:39 PM)Makso Wrote: @Želja
Misliš na Arduino kao Ardunio, ili na Atmel procesore, vidim da Schneider radi plc-ove sa Atmega128 procesorima (zelio serija).?

Nisam mislio na Atmel MCU, već sam "Arduino kao Arduino".
Reply
Na ovaj Macolin PLC, Blue Pill Arduino bi cucnuo samo tako, DIP40 i samo malo da se preprave neke veze/nozice ...
Jedina bitna razlika je sto je kod Blue Pill 3.3V I/O, neke nozice mogu da budu 5V tolerante dok za izlaze ako se guraju otptocoupleri samo malo smanjiti redni otpor da bi se odrzala ista struja LED od optocouplera.
Reply
Zasad sam uradio ovoliko:
Top 

Bottom 
.

Moraću raditi dvostranu štampu, ne znam još kako će ispasti dok ubacim podnožje za Arduino, pa dok se to sve poveže, gledaću da što više mognem da izbjegnem veze na bottom strani, da bude jednostavnije za izradu.
Malo me zeza to što nemam vrijednosti i oznake elemenata da i to unesem.

Ako imate nekih kritika ili prijedloga, pišite.? Smile
Reply
(07-16-2017, 07:49 PM)Makso Wrote: Zasad sam uradio ovoliko:
Top 
Bottom .

Moraću raditi dvostranu štampu, ne znam još kako će ispasti dok ubacim podnožje za Arduino, pa dok se to sve poveže, gledaću da što više mognem da izbjegnem veze na bottom strani, da bude jednostavnije za izradu.
Malo me zeza to što nemam vrijednosti i oznake elemenata da i to unesem.

Ako imate nekih kritika ili prijedloga, pišite.? Smile

Makso,
ako si se odlucio za dvoslojnu PCB, onda se trudi da ti ceo plane bude GND, tj. MCU GND. Takodje mozes da postavis i izolovane mase. Vodovi se seku pod uglom od 135 stepeni i trudi se da imas sto je moguce krace vodove. U prilogu imas zaokruzeno sta moze da se sredi.
Mislim da ti projektovanje PCB-a bez konkretne seme nije bas najbolja ideja. Prvo nacrtaj semu, pa onda kreni sa projektovanjem PCB-a. Ovako ne znas sta gde ide.
Vodi racuna da je Macola projektovao PLC za svoje potrebe, a ta okruzenja gde je on koristio PLC nisu bas najsjajnija. Pitanje je da li tebi treba bas sve sto je on uradio. Pogledaj prvo svoje potrebe.


Attached Files Thumbnail(s)

Reply
Ovo je još uvijek ugrubo sve nacrtano, dok ne ubacim Arduino i da sve povežem pa ću onda gledati šta se može skraćivati od vodova. Ja baš i hoću da imam imun plc na svakakve smetnje i gluposti što bi ugrozilo njegov rad.
Reply
Ako zelis da projektujes PLC, onda prvo postavi zahteve za projektovanje i nacrtaj semu, pa tek onda PCB. Kada se projektuju ozbiljni uredjaji, onda ne moze da se ide ugrubo, pa posle da se koriguje. Kod tih stvari o svakom detalju moras da vodis racuna. Duzina linije, brzina signala, ternimacija da/ne, komunikacija, ESD/EMI zastite, pravilno napajanje i rasprezanje, odvajanje analonih i digitalnih delova, duzina kablova koji idu ka periferijama tipa LCD, tastatura itd. Da li PLC treba da ima mogucnost prosirenja ili ne. Koji je potreban broj diskretnih ulaza/izlaza i kakvi treba da budu. Potreba za analognim ulazima/izlazima i kog tipa i opsega treba da budu. Da li su potrebni brzi ulazi/izlazi. Mogucnost rada sa inkrementalnim enkoderom. Mogucnost povezivanja sa drugim PLC-ovima i/ili uredjajima itd. Lista je dugacka.
Zato ti predlazem da prvo postavis listu zahteva, pa na osnovu tih zahteva da nacrtas semu, pa tek onda PCB.
Nemoj da precrtavas 1:1 Macolin PLC, posto ne znas sta je tamo radjeno i koja je svrha. Mozda je namena njegovog PLC-a skroz drugacija od tvoje (ovde nemoj pogresno da me razumes, ne govorim o imunosti na smetnje, vec o prirodi signala sa kojima je Macola radio i za koje je projektovao PLC).
Reply
Potpuno se slazem sa Vojinom, treba krenuti od pocetka a to je specifikacija, pa onda sastavljanje sheme pa na kraju PCB.
Reply
Ajde onda da krenemo iz početka.
Za početak bi napravio neki plc sa Arduinom, na kojem bih imao osnovne stvari, jer bih ja to poslije po potrebama modifikovao, znači koristio bi klasične digitalne ulaze i izlaze, očitavanje nekih senzora, prekidača, tastera to za ulazne signale, za izlazne digitalne bi se vezao ssr ili klasični relej i tome slično, a analogne bi isto tako ostavio na pcb-u da imam ako zatrebaju, a trebaće jer bi koristio preko njih LCD preko i2c komunikacije (koristila bi se samo dva analogna pina) i lcd da bar ide do 1m kabal koji će se vezati na plc.
To su neke osnovne potrebe koje meni za početak trebaju, enkoderi, brzi izlazi i ulazi, nemam za to potrebe, bar ne za sada, možda bi koristio neke senzore za pritisak, temperaturu i slično tome.

Ono što je najbitnije je da bude momački imun na smetnje, u jednoj firmi gdje održavam razne mašine, bilo je slučajeva da je čak i rulni sat sa mehanizmom ludovao, nije mogao raditi od silnih aprata za varenje, invertorskih, co2 i punkt aparata, čak je i jedan frekventni svaki put kada bi ga upalio, morao je unositi parametre iznova (mislim da je bio Yaskawa, sad da li je bilo do frekventnog ili do nekih smetnji, ne znam).

To bi meni za početak trebalo.
Reply
Maxo,

Nemam noćas vremena da ti detaljno to opisujem, ali potraži na ES ili ovde temu koja je vezana za pitanje: da li je PIC imun na smetnje (ili nešto u tom fazonu). Tu sam do detalja razgazio tematiku, postavio svoje napajanje sa in/out kapacitetom od <10pF, ograničenom energijom tranzijentne pojave koje taj smps može preneti...

Takođe sam masivno razglabao na nekoj temi koja glasi čini mi se ovako nešto: nešto oko in i out kod MCU...

Tu imaš sve što ti treba.

Inače, bazična stvar je da koliko god možeš, moraš supresovati smetnje na izvoru. Ne postoji kontroler koji ne može biti oboren varničnim i hf pojavama, ma ko ga pravio.

Pozz
Reply
Tu prvu temu (PIC i smetnje) sam malo čitao na ES forumu, na početku teme sam našao dosta korisnih i bitnih informacija, samo da je prelistam čitavu.

A ta druga tema (oko in i out) ima na našem forumu i nju sam detaljno pročitao još prije par mjeseci, ali eto sad mi je to zatrebalo.
Reply
Hajde da pomognem, predlazem da se baziras na Blue Pill STM32, na tom procesoru ostavis SPI port i jedan Chip Select za to, dodatno da ostavis dva seriska i sve ostale nozice iskoristis za I/O, pola ulazi pola izlazi, analogni deo za sad preskoci jer to moze da se resi preko raspolozivih seriskih portova.

Pogledaj raspored pa prema tome vidi kako stojis sa brojem I/O
http://wiki.stm32duino.com/images/a/ae/B...pinout.gif

Sto se tice digitalnih I/O linija tu iskoristi sve 1:1 kako je Macola uradio sa optocouplerima i rasporedom.

Za ove seriske veze ako pricamo o LCD i duzini 1m, najbolje da se iskoristi stari dobri MAX232, sa obe strane kabla gde ces LCD i KBD gurati sa posebnim procesorom.

Za drugi seriski port razmisli tacno sta ti treba, tu mozes da stavis RS-485 mrezu ili I2C periferije koje bi valjele da budu izolovane, ima dobar IC za to MAX14850.

SPI port obavezno ostavi, zatrebace ti, mozes jedino da predvidis npr FLASH memoriju ili ostavi padove da se nesto drugo prikljuci.

Ako ti bude preostalo malo digitalnih I/O linija, mozes upotrebiti odlican MCP23S17 16 I/O expander i on da ti ide na SPI port ali onda ostavi jos jednu liniju za dodatni CHIP SELECT.

---

Probaj da nacrtas konceptualnu shemu (bez detalja oko napajanja i tome slicno), samo da imas tacan pregled gde bi ti koji I/O prema Blue Pill isao.
Posle mozemo da diskutujemo oko toga, napajanje ostavi za kasnije, samo razmisli sta tu jos mora da ima izolovano napajanje.

Mozemo oko sve ovoga i u novoj temi poput "Arduino PLC", kako mislite da je zgodnije ...
Reply
Po ovom principu, samo da imamo pregled gde bi sta vezao pa posle da se razradjuju detalji jedan po jedan:
http://forum.yu3ma.net/showthread.php?tid=700&pid=72367#pid72367
Reply
@mikikg
Onda da pokrenemo novu temu za to i da se prebace ovi postovi tamo.

U kojem programu je crtana ta šema?
Reply
U LTspice, to mi najbrze za crtanje, nije za simulaciju : )
Reply
Napraviti potpuno univerzalan PLC na jednoj plocici je neizvodljivo, to niko jos nije uspeo, ni Siemens, ni ECM ni Macola ... Smile

Moze da se napravi kao taj Macolin koji bar njemu zavrsava sta znam 70% stvari, za one ostale procente (cak ne sve) ostaviti/predvideti nekako nadogradnju i prosirenje a obicno se svodi na upotrebu nekih od raspolozvih kominikacionih portova na MCU, stim sto i to ima limite, po brzini najpre pa onda problemi oko duzine vodova, protokola, sad sve vise i kripcije koja "jede" resurse ...

Ne znam da li neko od vas prati ove likove:
http://tibbo.com

Oni su pre skoro 10 godina poceli prvi da prave LAN module (konektore) gde su pored samih kontakata uglavili i feritne elemente (magnetics) i uspeli tada da uglave i MCU sve u jednom kucistu. To je totalno otvorilo neke nove price gde su uspeli da povezu "stari" svet sa "novim" tj sa druge strane LAN konektora je bila RS-232 komunikaqcija, tako je dolazio taj modul vec isprogramiran i jos na sve to su dali Basic i IDE da korisnik moze jos nesto da dodada pored toga jer je bilo slobodnih I/O linija!
To su uspeli da rese tako sto su napravili univerzalne LAN drajvere za razne OS gde se LAN mapira u Serisku komunikaciju i to je to! Niti si menjao firmware na nekom svom MCU niti si na PC menjao SW koji radi sa tim, sve je vec reseno od strane proizvodjaca a premestio si jednu stepenicu koja da si je resavao na svom MCU i PC (dakle TCP i UDP stack) poludela ti bi ti glava od kodiranja Smile


Sada Tibbo pravi "kockice", jedan modul jedna funkcionalnost, input, output, PWM, A/D, imaju dosta razlicitih, sjajno su smislili to ... 
http://tibbo.com/store/tps/tibbits.html
Reply
Evo par sitnica za razmisljanje oko koncepta PLC-a.
Kao sto je Miki rekao, napajanje cemo poslednje da razradjujemo. PLC ti je u principu sklop koji iscitava ulaze, izvrsava neki program i taj rezultat prikazuje na izlazima. Generalno postoje 4 nacina projektovanja PLC-a.
1. Direktno povezivanje - ovde svaki pin od MCU-a konfigurises da li zelis da ti bude ulaz ili izlaz i postavljas izolaciju. Direktnim iscitavanjem pina, ti gledas fizicko stanje na ulazu PLC-a. Ovde su ti svi pinovi MCU-a angazovani za impementaciju U/I modula, da ih tako nazovem. Ovaj nacin je najbrzi sto se tice pristupa.
2. SPI komunikacija - drugi nacin koji zahteva dosta manje linija MCU-a (4-5) je SPI. Na red postavis shift registre sa paralelnim ulazom i serijskim izlazom (kao ulazne - HC165) i shift regisre sa serijskim ulazom i paralelnim izlazom (kao izlazne - HC595). Ovde teoretski mozes da postacih koliko zelis registara na red, ali prakticno ne mozes, posto su brzine SPI komunikacije dosta velike i linije koje tu idu moraju da se posmatraju kao karakteisticni vodovi i da se vrsi pravilna terminacija kako ne bi doslo do refleksije signala. Ovaj nacin podrzava i jednostavan nacin na prisirivanje. Na kraj lanca mogu da se postave diferencijalni drajveri i dobija se jednostavan nacin da se prosiri broj kanala/modula PLC-a. Svi moduli mogu da se projektuju kao SPI periferije. Ovaj nacin je zauzeo mali broj linija MCU-a i ostale su slobodne linije za brze periferije (enkoder itd). Glavni problem je jer ne mozes lako da pristupis jednom bitu, vec moras da napises mini OS (da ga tako nazovem) koji ce periodicno da cita ulaze i smesta ih u neku memoriju, i vrednosti neke memorije da smesta na izlaze. Ovo se kod svih PLC-ova zove ciklus skeniranja.
3. Memorijski prostor - U/I moduli mogu da se izmeste i u ekterni memorijski prostor MCU-a (ako ga MCU ima). Ovo zahteva malo vise egzibicije oko projektovanja samog PLC-a, jer je neophodno napraviti mother board, pa backplane itd. Ovako se projektuju iskljucivo veliki sistemi.
4. Kombinacija pomenutih nacina.

Po meni je najbolje kombinovati nacine 1 i 2. To opet zavisi od tvojih zahteva za brojem ulaza i izlaza.
Sto se tice tastature i displeja, to mozes uraditi na 2 nacina. Lokalno na samom PLC-u ili kao npr. Siemens, da imas jedan port bas za to, npr. RS485 komunikaciju. Prilikom projektovanja ja bih implementirao izolovani RS485, pa bih po potrebi ubacivao izolaciju. Da ne mora ista stvar da se radi vise puta. LCD+tastatura, mogu da budu zaseban MCU uredjaj, kome ce se pristupati preko RS485. Za te stvari su diferencijalni signali broj 1.
Ovde ne bih uopste spominjao EMC/EMI zastite, vec samo koncept, pa bismo posle dodavali zastite.

Preko SPI mozes jednostavno da dodajes i analogne U/I.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)