Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
Da li ovo pije vodu?



P82B715 extender za I2C.
Reply
Makso,

mozes to da koristis. Uzmi jedan I2C port na Arduino-u i postavi taj drajver. Onda mozes na vece udaljenosti da vodis I2C. Na drugoj strani postavi jos jedan MCU isto sa I2C koji ce drajvuje tastaturu i displej i resio si problem zica.
Sto se tice U/I-a, njih postavi na SPI shift registre i imaces dosta brzih slobodnih portova na Arduino-u koje mozes da izvedes napolje.
Reply
(07-21-2017, 09:50 PM)Milan94 Wrote: Pratim temu od samog pocetka autor hoce da uradi univerzalni PLC sa arduino jer je to njemu trenutno najlaksi nacin da dodje do rezultata.

Koliko sam mogao da shvatim iz prethodnih postova ovaj PLC nebi ni bio upotrebljivan u nekim vrlo zahtevnim aplikacijama i zato podrzavam upotrebu arduino MCU .

Za nesto ozbiljniji PLC ja bih upotrebio MCU sa recimo 100 pinova i onda nema potrebe za dodatnim I/O expander cipovima a ukoliko se ukaze potreba lako se dodaju.
Kada bi ja radio PLC upotrebio bi PIC18F97J94 jeste 8/bit ali je bogat hardverom: UART 4, I2C 2, SPI 2, USB , 12/bit ADC, CLOCK 64Mhz itd... Jedino napajanje 3.6v mozda nije pogodno za PLC ali to nepredstavlja problem uostalom vecina novih MCU imaju 3.3v napajanje i moramo se tome prilagoditi.

Sa upotrebom ovog MCU ili slicnim bih mogao da se uradi jako dobar PLC.

Milane,

kada kazem da ne podrzavam upotrebu Arduina, onda mislim na software, tj. biblioteke koje su napravljene za igranje, a ne za PLC. Sam hardver je obican MCU. Cak sta vise upotrebljeni Atmega je dosta mocna masina.
Druga stvar je napon napajanja od 3.3V. Ne znam sta je tu po tebi problematicno. Nema nikakve veze da li je u pitanju 3V ili 5V. Ista stvar.
Ako ce PLC da se projektuje kao profi, onda je najbolje koristiti STM32 kao sto je Miki predlozio.
Reply
Stvari polako dolaze na svoje mesto.

****

@Milan94,
samo malo bih te ispravio.
Nema neozbiljnih PLC pa makar on imao jedan digitalni ulaz i izlaz.
Čak i takav PLC može naći primenu u veoma ozbilnoj industrijskoj primeni od čije pouzdanosti mogu zavisiti ljudi i oprema !
Ne ogleda se ozbiljnost PLC-a u broju I/O - Za ostalo se slažem !

****
@Mikikg

U tvom zadnjem postu u ovoj temi veoma lepo si objasnio softversku arhitekturu
onoga što zaista smatramo PLC. Korisnik koji piše program za PLC koji će biti
izvršen na nekoj mašini NE MORA da zna arhitekturu MCU i niže programske jezike.

To se danas može uraditi kroz crtanje blok šeme u nekom specijalizovanom softveru za odredjeni PLC
i dodavanjem prostih sintaksi izmedju zavisnosti pojedinih blokova. (grafički orijentisano programiranje)
Primer Zelio Logic http://www.schneider-electric.com/en/pro...lio-logic/ i mnogi drugi ---
Ili jednostavno pisanjem celog koda kroz namenski softver nekog PLC.

Mi kada napravimo "kontroler" a upotrebimo MCU i koristimo niže programske jezike ili ostale kompajlere nemamo baš pravo da to nazivamo PLC !
Samo jedan od razloga je opisana softverska arhitektura.

U mom postu : http://forum.yu3ma.net/showthread.php?ti...6#pid74776
gde sam prikazao jedna "takav uredjaj" na PCB možete videti oznaku MLC umeto PLC

Slovo M u oznaci MLC je ukazivalo na Mikrokontroler !
Odnosno na sasvim drugačiju arhitekturu od klasičnog PLC, a namenjenu izvršavanju identičnih funkcija !

Pozz
Reply
(07-21-2017, 09:50 PM)Milan94 Wrote: Kada bi ja radio PLC upotrebio bi PIC18F97J94 jeste 8/bit ali je bogat hardverom: UART 4, I2C 2, SPI 2, USB , 12/bit ADC, CLOCK 64Mhz itd...

Još nešto,
Niko (normalan) ne pravi PLC da bi isprobavao mogućnosti 32-bitnih procesora ili da bi se igrao na takvom hardveru.

***

PLC se pravi da bi se prodao, odnosno ugradio na neku mašinu.
Pod uslovom da nema nekih fensi zahteva (tač skrin, grafika, komunikacija sa jahtom itd ...) odnosno kupac traži samo "najosnovniji nivo opreme" da bi mašina radila - tu dolazimo do šanse za naš "simple PLC" !

Može se napraviti i gore opsiani "fensi" ali mislim da je puno isplatljivije radite te "simple PLC" zbog mnogo bržeg razvoja.
U takvoj primeni, kupca jedino zanima radi li mašina ili ne ! - Ništa mu ne znače pojmovi : bitovi, volti itd ...

Sa takvog aspekta, mogu slobodno reći da onaj ko nije sposoban "zaraditi" na 8 bitnom MCU
- neće ništa bolje proći ni sa 64 bitnim !

Istina je da se ne mogu porediti stari 8bit i STM32, ali kao što Macola skoro lepo reče:
Ne treba pucati topom na komarca !

8 bitni MCU će još dugo imati OGROMNU primenu !
U najvećem broju slučajeva kod PLC (kompleksnost funkcija) 8 bitni MCU je sasvim dovoljan
a za početnika je mnogi lakši za naučiti nego ostali moćni i komplikovani novi MCU.

Zato je Milanov predlog za dobru 8 bitnu "stonogu" sasvim dobar !

Pozz
Reply
Vidi Zeljo, Blue Pill plocica sa sve STM32F103C8 procesorom na sebi, sa kristalom, USB konektorom, plocicom i ostalim R/C komponentamam je odprilike tri puta jeftinija nego klot npr PIC18F4550! Ne znam sto je taj PIC tako skup, sto ima DATA FLASH u sebi? Pa taj FLASH bar meni ne zavrsava posao, ne moze da se pise po njemu vise od milion puta i tu je kraj price, moram da stavim nesto externo poput FRAM ...

I da nije jeftiniji, ne pada mi napamet da na najbitnijem mestu u masini, MCU, stedim!
Ta razlika u ukupnoj ceni kontrolera ce da se promeni samo ugradnjom npr najkvalitetnij elektrolita, PCB ce da kosta drasticno vise nego sam materijal posebno ako opet forsiramo kvalitet pa idemo na 4 slojnu ili vise slojnu stampu!

Dalje, "povezivanje sa jahtom", po nekima "fancy" opcija, uopste nije fancy nego stvar ciste potrebe, i evo to sam pre neki dan sam-sebi dokazao, umesto da idem i bijem put 150km u jednom pravcu po ovoj vrucini da bi izvrsio modifikaciju na SW koja se svodi na 3 neke linije coda-a (nije bug nego drugacija funkcionalnost - menjali su mehaniku), ja sam lepo se ukacio na SSH tunel, rutovao trafik da izadje na WAN i od kuce odradio tu modifikaciju za 15 minuta i svi srecni i zadovoljni!
Malo sutra bih to odradio da sam koristio "jeftine" (tj ispada jos i skuplje) 8 bitne kontrolere!

Ja vam samo kazem da ce funkcionalne potrebe za nekim obicnim stvarima jako da porastu u buducnosti i da treba makar razmisljati o njima, najbolje i ako je moguce da se ostavi prostor za te funkcije u buducnosti na toj platformi i ako trenutno nema potrebe za tim.

Opet ponavljam, moj predlog vam je da koristite sad u 21. veku najbolje kontrolere koji imaju na trzistu, zatrebace vam koliko sutra neka od stvari koje imaju unutra. Gazili ove ili one kontrolere, isto vam dodje, ovako bar ulazete u neku tehniku koja definitivno ima perspektivu.
Reply
Evo jedna poslastica za sve one koji bi da strpaju sve u jedan 8 bitni mikrokontroler : ), ovde na fotki se vide odprilike 9 komada 32bitnih mikrokontrolera medjusobno povezanih, tu je i FPGA jedan i to sve je odprilike samo pola HW-a, druga polovina je bazirana na PC racunaru koji ce verovatno morati da ima neki Intel i7 procesor ako ne i Xeon!

Tu je jedan MCU odprilike jedna funkcionalasnost, resavao sam jedan po jedan, jedan kada sam resio ja se ne vracam vise na to osim nekih sitnih dorada i ne zelim da mi se te funkcionalnosti preplicu u jednom programu jer je ceo sistem vrlo slozen i da nisam razbio na posebne delove poludela bi mi glava da sam to pokusao sve da spakujem u jedan MCU, sto bih to radio, da ustedim par desetina EUR za masinu koja kosta 1000x vise nego ta boranija od kontrolera ...

Sto mislite da su napravili ove XMOS mikrokontrolera sa po 8 i 16 jezgra? Bas zbog ovakvih stvari gde jednu funkcionalnost treba da radi jedan MCU i da se ne mesa sa ostalim i pravi pometnju po programu, i naravno zbog perfomansi ...
http://www.xmos.com/products/silicon#devices

Macola je spomenuo da se moze pojaviti problem sinhronizacije tih pojedinacnih MCU, sto po podacima sto po dogadjajima, i to stoji, postoji taj problem, ali samo treba mao da se oslobodite skucenih okruzenja i naporavite funkcije koje to resavaju (spomenuto generisanje C++ koda u MCU i copy/paste).
Ja na svakom ovom MCU imam seriski terminal, imam HELP ekrane u terminalu, imam diagnostiku ...
Dakle jednom se sedne i napravi se dobar progam za jednu funkcionalnost, dodaju se svi mehanizmi koji kasnije mogu da pomognu oko razvoja ili debagiranja i to je to, resen je jedan problem za duzi vremenski period i ne vracam se vise na to.


Attached Files Thumbnail(s)

Reply
Miki podržavam tvoj stav, ALI samo u slučaju ukoliko se pomeniti STM32xxx dokazano dobro pokazao u praksi po pitanu stabilnosti. Naročito ako je industrijska primena u pitanju. "Opekao" sam se par puta.

Sa druge strane, u sve moje projekte nebitno koju MCU arhitekturu koristio (8/16/32 bita) obavezno imam bootloadere, tako da je moguće i sa njima uraditi daljinsku promenu FW-a. Ni to nije ograničavajuć faktor. Ne spadam u previše konzervativne osobe, ali mi se više puta desilo da prelaskom na nešto "bolje" ispadne da me više glava boli sa time u eksploataciji, tako da tu ide jedan poen više za već isprobane platforme i sa demode MCU-ovima.

I konačno, blue-pill ne bih uzimao kao referencu za cenu u profi projektima, jer ipak to u finalu treba postaviti kao stand-allone PCB sa ugrađenim MCU na njoj, bez dodatnih modula, a tu STM ima malo jače cene od recimo Microchip-a.

Recimo 90% mojih projekata u PLC fazonu, neka automatika, kontroleri i slično je bazirana na PIC16F193x i sa njima sam prezadovoljan. Cena oko 1.1-2Eura + PDV zavisno od FLASH mem.

Takođe obratiti pažnju da je FLASH koji je potreban za isti kod u 32bita MCU okvirno 4x veći nego kod 8 bit MCU. Da ne pominjem što HAL framework zauzme bar 8-10kBy u startu.

A po pitanju FRAM-a, možda ti koristi informacija, za potrebe velikog broja upisa ako su u pitanju neki counteri i slično, koristio sam RAM koji se nalazu u RTC-u DS1338, DS1307 i sličnim. On ima oko 56By što mi je bilo dovoljno za razne parametre koji se često menjaju i imaju višemilionske vrednosti, recimo dbIndexi kod logera i slično... ako su veće količine podataka u pitanju, onda ili SRAM ili FRAM Smile
Reply
Miki uopšte se ne radi o ceni, Macola je to lepo opisao tamo gde je spominjao top i komarce.
Jako cenim tvoje mišljenje ali isto tako znam da si i megaloman po pitanju izbora komponenti.

Tebi jeste svejedno po pitanju razvoja koristiš li 32bit ili 8 bit procesore, ali početnicima nije.
Ja samo hoću da kažem da se u mnogim situacijama ništa neće dobiti upotrebom moćnijih MCU
(kao što si ispravno primetio - čak i jeftinijih).

Sve zavisi šta je krajnji cilj samog korisnika?
Sticanje znanja do besvesti i taman kad savladaš nešto, opet izadje nova generacija koja zahteva
višemesečno upoznavanje sa istim. Ili upotreba već stečenog znanja u komercijalne svrhe.

Ako je u pitanju čist hobi, onda treba "razgaziti" svaki novi MCU koji izadje bez obzira na kompleksnost.
Ako je u pitanju zarada - tu treba pronaći kompromis, jer u suprotnom od silnog učenja i usavršavanja
nikada nećeš imati dovoljno vremena za proizvod /uslugu/ ili šta već neko prodaje.

***

Lično poznajem u svom gradu dva krajnja primera za to što sam napisao:

Prvi je izvrstan elektoničar, pre svega programer. Čovek je u stanju da napravi čuda.
Uvek je u "trendu" a to mu uzima jako mnogo vremena. Kada pogodi neki posao,
to se onda otegne do besvesti, jer u medjuvremenu uvek nadje sebi novu zanimaciju
koja ga uspori. Sve u svemu - zaradio bi puno više da se bilo gde zaposli !
Prava šteta.

Drugi je sušta suprotnost. Što se tiče znanja - on je na nivou Omovog zakona i to je TO.
Ali zato rastura, ima ideju šta raditi - mahom mora prekopirati nešto, jer sam ne ume ništa.
Uposlio je par bravara da mu rade mehaniku /kućišta/ i taj deo.
Skoro je napravio proizvodnu halu ...

***

Miki,

Ne pišem ovo zbog tebe a ni zbog ostalih "formiranih članova".
Samo pokušavam skrenuti pažnju početnicima da se ne "zaglave" ako žele jesti hleb od elektronike.

Ja recimo i dan danas koristim za PCB dizajn matori Protel 2.71
Ne postoji ni jedan razlog za to po pitanju mogućnosti i funkcionalnosti naspram novijeg Altium-a
Jednostavno nikada nisam imao toliko vremena da sednem i savladam Altium i napravim migraciju
izmedju ta dva softvera (znam da Altium iima direktan import starih Protel formata)

Meni Protel 2.71 100% završava posao za ono što mi treba, i znam žmurećki u njemu da radim.
Ujedno sam svestan da mi Altium ne bi doneo ni jednog jedinog Eura dodatne zarade a oduzeo mi
mi vreme kojeg nemam.

Naravno, nikada ni jednom početniku ne bih savetovao da počne sa radom u softveru matorom 20 godina !!
Treba u svemu naći meru !

Pozz
Reply
Miki, pridruzujem se svim tvojim pricama. Znamo se dosta dugo i ja tacno znam koje su bile tvoje vizije 90-setih i na dalje. Ako imas neku fotku, molim te pokazi matore plc-ove mikro, nano i 2000 sa 8-bitnim lontrolerima. Primera radi stari zaboravljeni S7-200 je bio sa 16-bitnim. STM32 je pravi izbor. Da sada moram da projektujem plc, izbor mcu-a bi sigurno pao na neki iz te serije.
Kao sto je Miki vec rekao, mcu je najjeftiniji. Pcb i sve ostale komponente kostaju mnogo vise. Samo izracunajte koliko kosta izolacija, napajanje itd. O pcb-u da ne pricam. U danasnje vreme plc bez 4 sloja stampe ne postoji. Upravo jer se cena za cetiri sloja skoro pa izjednacila sa 4 sloja.
Jako bitna stvar je ethernet i promena koda na daljinu. Danas svi plc-ovi to pozdravaju. Miki se seca kada sam ja krenuo u prvu pricu sa projektovanjem plc-a. Ovo o cemu svi pricaju i potenciraju je istorija.
Mozda ne znate, ali Macolin plc je projektovan pre 15 god za potrebe njegove industrije. Svi znaju da je Maki genijalac. To ne znaci da svaki plc treba da bude njegov klon. On je projektovan prema posebnim zahtevima da zadovolji odredjenu klasu procesa.
U danasnje vreme treba ici ka ozbiljnijim stvarima i opet ponavljam sagledati potrebe ili klasu potreba i prema tome projektovati.
Treba maksimalno iskoristiti hardcerske resurse mcu-a.
Reply
Aj'd još malkice da "dolijem" Smile
ETH bootloader/stack koji i danas koristim a radi fenomenalno i nikada me nije izneverio je upravo na PIC18F67J60, dakle na 8 bita MCU Smile Mislim da je napravljen pre 10 godina. Usudio bih se da kažem da mi je uzorak preko 500 komada uređaja na njemu negde u eksploataciji. Neki i preko 8 godina.
Na uređaju se inače nalazi kompletan HTTP stek, sa web stranicama, podešavanjem preko browsera, opslužuje nekoliko senzora, GSM modem, externe uređaje preko RS422, LCD, tastatura itd...

Nekoliko puta u poslednjih par godina sam razmišljao sve ovo da portujem na STM32, uh... uvek ispadne kalkulacija da će mi trebati bar 3-4 meseca da dođem na isto uključujući i testiranje. Veliki problem mi je recimo ethernet stack za STM32. Postoji u free verziji, ali je po meni zahtevniji u vratolomijama nego što je to uradio Microchip u "zlatno vreme" kada su dobro radili na SW podršci.
Komercijalno sam kontaktirao par proizvođača ETH steka i tražili su preko 3500 Eura za ETH stek za STM32 i to PO JEDNOM projektu. Nije malo.

I tako, verovatno da uskoro moram uraditi migraciju, ipak je sada doba SSL-a i sličnih, ali eto samo jedan osvrt da ako postoji dobar alat koji radi, ne treba ga menjati dok radi.
Reply
(07-22-2017, 01:37 PM)vojinilic Wrote: Jako bitna stvar je ethernet i promena koda na daljinu.

Uh, ko nije probao... ne može znati o čemu pričamo! Smile
Stress-free varijanta u današnje vreme. Retko kada sve funkcije stižemo da implementiramo u roku isporuke koji je maksimalno 2-3 nedelje. U suprotnom klijenti nas smatraju neozbiljnima. Ovako isporučiš bazični deo i nakon recimo 60 dana nadogradiš specijalne želje klijenta na terenu putem remote pristupa.
Reply
Jedan konstruktivan predlog oko LCD-a i tastera. Ukoliko se koristi standardni alfanumerički LCD 2x16 ili 4x20, veoma lako se mogu dodati tasteri u multipleksu sa pinovima za kontrolu LCD-a ukupno 6 komada. Ja obično tako i radim, na istom konektoru se nalazi LCD+Keyboard. Od dodatnog HW-a potrebno je samo još 6 otpornika koji se redno sa tasterima vezuju ka masi na pinovima D4-D7 (obično mi je dovoljno 4 tastera za sve kontrole koristeći menije). Ukoliko je moguće samo radi pojednostavljenja povezati LCD direktno na MCU I/O pinove.

Ako je potrebno, nacrtaću električnu šemu i postaviti izvorni kod kako to radi.
Reply
(07-22-2017, 02:07 PM)npejcic Wrote: Jedan konstruktivan predlog oko LCD-a i tastera. Ukoliko se koristi standardni alfanumerički LCD 2x16 ili 4x20, veoma lako se mogu dodati tasteri u multipleksu sa pinovima za kontrolu LCD-a ukupno 6 komada. Ja obično tako i radim, na istom konektoru se nalazi LCD+Keyboard. Od dodatnog HW-a potrebno je samo još 6 otpornika koji se redno sa tasterima vezuju ka masi na pinovima D4-D7 (obično mi je dovoljno 4 tastera za sve kontrole koristeći menije). Ukoliko je moguće samo radi pojednostavljenja povezati LCD direktno na MCU I/O pinove.

Ako je potrebno, nacrtaću električnu šemu i postaviti izvorni kod kako to radi.

Nebojsa,

to sam namerno izostavio u tekstovima, posto sam video da Maksa insistira na ugradjenim bibliotekama.
Po meni su najbolje stvari za ucenje app notovi microchipa. Tu je sve jako lepo objasnjeno. Resenje koje si predlozio je optimalno, ali ipak zahteva malo programerske egzibicije. Ovo malo je stvarno malo.
Reply
(07-22-2017, 01:52 PM)npejcic Wrote: ETH bootloader/stack koji i danas koristim a radi fenomenalno i nikada me nije izneverio je upravo na PIC18F67J60, dakle na 8 bita MCU Smile Mislim da je napravljen pre 10 godina.
Moj prvi rad sa PIC18F97J60 tačno pre 10 godina. Odličan je to mikrokontroler.
Reply
Ipak dislocirani mcu moze pruziti i podrsku za touch panel.
Reply
Umesto alfanumeričkog LCD 2x16 ili 4x20 ja bih pre gurnuo neki SPI/I2C 2.8" ili 3.2" LCD. Prikaz na njima je neuporedivo bolji. Jednostavno, mogućnosti su mnogo veće.
Reply
(07-22-2017, 01:29 PM)npejcic Wrote: Recimo 90% mojih projekata u PLC fazonu, neka automatika, kontroleri i slično je bazirana na PIC16F193x i sa njima sam prezadovoljan. Cena oko 1.1-2Eura + PDV zavisno od FLASH mem.

PIC16F193x je verovatno najpovoljniji 8-bitni microchip kontroler kada se gleda odnos hardver/cena. Ima i integrisani LCD kontroler.
Od microchip 8-bitnih, verovatno će se i Nebojša složiti, odličan PIC16F1793.
Reply
@npejcic

Znam za one Dallas-ove SRAM, ali opet ono moje "preterivanje", taj SRAM je i sa cenom i sa footprint odprilike isto sto i jedan FRAM, ne treba mi sad toliko memorije, meni je bitno da u narednih X godima mogu da racunam na to i da imam lufta kada mi se bude ukazala potreba (sigurno ce da se ukaze) i da izbegnem da menjam komponente ili postavke samo zato sto tad nisam predvideo te stvari.
Reply
@vojinilic

Tako je, imao sa i tad vizije, imam i sad vizije a jedna od njih da napravim postavku koja moze sve ove kontrolere/automate da uveze preko jednog centralnog servera gde mogu da radim neke krajnje korisne stvari, remote-diagnostika, statiskitika, analitika, predikcija, stvari koje ce i meni i klientu puno da znace i mogu da ustede gomilu vremena samim tim i novac.
Cak to ide dotle da u ovom trenutku mogu samo da obezbedim mehanizam za prikupljanje podataka, trenutna tehnologija cak nema resenje da se ti podaci obraduju u realnom vremenu (na neki prost nacina) i da ce tek dodji tehnologija koja ce to moci da resi.
Nisam ja to bas izmislio, video sam kod kod nekih USA firmi kada sam bio u poseti, oni trenutno samo skupljaju podatke (BigData), tek ce da se bave procesiranjem tih podataka ... Terabajti podataka su u pitanju i sa danasnjom tehnikom ne moze da se izvuce neki konkretan podatak iz te hrpe a da to ne traje jedno bar pola sata sa najbrzim serverima ...
Reply


Forum Jump:


Users browsing this thread: 15 Guest(s)