Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
07-21-2017, 03:47 AM
(This post was last modified: 07-21-2017, 03:48 AM by mikikg.)
Upravo tako, sve ima svoje i zavisi iz kog ugla se gleda.
Evo jedan konkretan primer/zadatak ako hoce neko da resi, da se uradi algoratam koji moze da koristi RPi kamericu/port i da u realnom vremenu analizira sliku/frejmove koja je ustvari jedan veliki + koji se pomera levo-desno gore-dole, program treba da ga "juri" i centrira tacno i da daje neki ouput za dve dimenzije, X i Y. Advanced algoratam bi bio da to sve radi samo na vise razlicitih boja, svaka boja poseban izlaz.
Posts: 1.966
Threads: 29
Joined: Jan 2015
Reputation:
669
07-21-2017, 06:36 AM
(This post was last modified: 07-21-2017, 06:39 AM by Želja.)
(07-21-2017, 03:32 AM)vsavic Wrote: previse novih stvari odjednom ume da bude veoma odbojno i da obeshrabri nekog da nastavi dalje, pototovu ako se ne radi o nekom ko je mladji i ko ima nema puno slobodnog vremena, i ko mora da i te low level stvari uci sam. Naravno, nije nemoguce, ali je dosta teze.
Pa kada će biti vremena za učenje ako ga nema u tom dobu ???
Kad posle pritisne žena sa jedne strane i deca sa druge, godine sa treće - misliš da će biti lakše i bolje ???
Problem kod mladjih je što su nestrpljivi i odmah hoće brz/momentalni rezultat i napredak, a to ne može ...
To polako dolazi sa godinama , odnosno akumulira se u čoveku.
P.S.
Moj stric je uvek govorio:
U životu nikada ne možeš spojiti kaplarski *urac i generalsku platu
Pozz
Posts: 1.244
Threads: 10
Joined: Apr 2015
Reputation:
509
To Zeljo silo. Ne moze prvo da se uci citanje i pisanje, a posle toga, kad se nadje vremena da se nauce slova.
Posts: 1.517
Threads: 19
Joined: Apr 2013
Reputation:
211
@mikikg
To je što sam sinoć stigao da samo iscrtam izlaze, znam šta ću da uradim i sa ulazima, nekako mi je ovde šematski puno teže nego na pcb-u nacrtati, ali nacrtaću nekako, idem isto na Macolin fazon, idem na obrtanje optokaplera sa zenericama na ulazu i otpornikom a onda sa optokaplera na MCU sa pull down otpornikom i serijskim otpornikom na pin MCU. Vidjeću da ito danas nacrtam.
Sa rx i tx ću da obrišem izlaze. A za LCD nisam još odlučio šta i kako za ovu početnu verziju, da idem direktno sa dva analogna pina, tj. da dodam 4 pinski konektor i dva jumpera kad se koristi LCD ili in/out pa da se bira i da ga povežem sa cat6 kablom (širmovanim) pa da to testiram kako će raditi.?
Posts: 1.966
Threads: 29
Joined: Jan 2015
Reputation:
669
(07-21-2017, 07:38 AM)vojinilic Wrote: To Zeljo silo. Ne moze prvo da se uci citanje i pisanje, a posle toga, kad se nadje vremena da se nauce slova.
Ja sam više puta rekao direktno ili izmedju redova da zavidim mladjim članovima koji su se na vreme učlanili u ovakve forume.
Ako to pametno iskoriste - gde će im biti kraj ...
Posts: 1.157
Threads: 27
Joined: Oct 2014
Reputation:
313
Uzmite u obzir da početnik danas nije isto što i početnik od pre 20godina.
U taj svet danas ulaze i deca od 12-13 godina kroz nastavu u osnovnoj školi (micro:bit platforma, arduino itd). I njima je neophodna priča o registrima i asembleru ali kroz totalno drugačiji pristup. Mora im se dati i malo šargarepe koja će ih navući da dalje rade a sve to kroz jednostavniji pristup problemima. Ja sa svojim detetom radim scratch a ne asembler.
Početnik je i "klinac" sa četvrte godine elektrotehnike koji verovatno ubija programiranje u C/C++ ili asembleru. Šta njemu ili njoj treba ko da priča o arhitekturi i registrima kad će oni to da razgaze za čas posla i to bez ičije pomoći. Verovatno je da sad puno više rade na fakultetu o tome nego pre 20 godina. O finesama se i onako uči čitav život.
Početnik je i onaj koji je video da se o tome dosta priča pa bi on malo da se dohvati ali da se ne muči mnogo. Taj je beznadežan slučaj, po meni. Tako nešto nema nigde pa ni u ovom svetu mikrokontrolera.
Posts: 700
Threads: 102
Joined: Jul 2016
Reputation:
222
07-21-2017, 11:48 AM
(This post was last modified: 07-21-2017, 11:49 AM by vsavic.)
@zelja, napisao sam ako neko nije mladji, nisi lepo procitao :-)
Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
@Makso
Mora shema da se nacrta, to je prvestveno zbog tebe a i za nas koji pratimo temu da mozemo da ti dajemo sugestije i savete pre nego sto pocnes da crtas PCB.
LCD ce ti biti malo komplikacija, i sa SW i sa HW.
Sa SW i nekako, mislim da imaju gotove biblioteke koje su predvidjene za I2C expandere na koje se kace 2x16 LCD.
Medjutim, HW za to mora malo da se osmisli, prvo trebas da odlucis da li ces da galvanski izolujes taj I2C port sto bi bilo idealno i nesto malo skuplja varijanta (trebaju oni chipovi poput MAX14850).
Takodje trebas imati u vidu da I2C nije predvidjen za provodnike duze od nekih 20-30cm, nije predvidjen ni da "napusta kutiju" uredjaja. I2C kao sto mu ime kaze je predvidjen za internu komunikaciju izmedju IC na jednoj plocici.
Na tom Arduino Nano vise nemas drugih raspolozivih seriskih portova, jedan ti otisao za programator i ostaje ti samo jos jedan I2C.
Zato sam ti u startu rekao da se baziras na STM32/Blue Pill posto je povoljan, Arduino kompatibilan i imas vise seriskih portova koji bi fino tu cucnuli. Moze i neki "veci" Arduino sa vise pinova, ali opet dolazis na isto, STM32 je za sve njih tata.
Posts: 700
Threads: 102
Joined: Jul 2016
Reputation:
222
07-21-2017, 12:46 PM
(This post was last modified: 07-21-2017, 12:47 PM by vsavic.)
@Makso, baci pogled na ovo isto, mozda ti koristi.
MCP23017 (ili nesto sl.) da ne ide sve preko onih arduino pinova direktno, tj. da ti ostanu za jos nesto drugo ako ti zatreba.
A ovde imas i za LCD 2x16 ako ne ides preko I2C-a.
Nisam probao u praksi, ali znam da za arduino imas i ovo resenje za software I2C za arduino.
Posts: 1.517
Threads: 19
Joined: Apr 2013
Reputation:
211
07-21-2017, 06:24 PM
(This post was last modified: 07-21-2017, 06:26 PM by Makso.)
@mikikg
Išao bih da koristim što je moguće manje žica za LCD, ali da ostane i standardna Arduinova biblioteka za LCD, samo hoću da se ne mijenja ništa u SW-u, ako je ikako izvodivo?
Ono što sam ja zamišljao je da ostavim ethernet konektor na PLC-u i na LCD-u neku malu pločicu i na njoj ethernet konektor i da se povezuje tako?
STM ostavljam za narednu verziju PLC-a, dok se uhodam malo sa ovim, a poručiću jedan STM da se i sa njim poigram malo.
@vsavic
Mislim da smo već spominjali taj expander, ali njega ostavljam za poslije, imam do njega još dosta.
Posts: 1.244
Threads: 10
Joined: Apr 2015
Reputation:
509
Makso, ako ides lcd na daljinu, stavi diferencijalne transceivere na strani mcu i na strani lcd-a
Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
07-21-2017, 07:12 PM
(This post was last modified: 07-21-2017, 07:46 PM by mikikg.)
Komplikuje se malo situacija sa diferencialnim transiverima, na koji onda port to staviti?
Ostao je samo I2C slobodan na Arduino Nano, biblioteke koje to koriste su bazirane na nekim PCF expanderima ...
Cuveni problemi sa MCU, uvek zafale neki pinovi ili portovi
Inace nisam ljubitelj SW implementacija za seriske portove umesto HW modula, posebno sad kada u ponudi ima gomila kontrolera sa vise nozica.
Keyboard nismo ni spomenuli a to jos vise sve komplikuje ...
Eto kako jedan relativno prost zahtev moze da se isomplikuje ...
Posts: 1.517
Threads: 19
Joined: Apr 2013
Reputation:
211
Što se keyboard-a tiče, to za sad neću ubacivati u ovu verziju, sad trebam samo LCD, jer za sada nisam imao neke potrebe da mi treba veći broj in/out pinova, obično do sada sam koristio 2 tastera koja sam vezao na svaki ulaz posebno i imam ostatak izlaza koji mi trebaju i čak sam još vezao i LCD na klasičan način i analogni izlazi su mi svi slobodni, zato kažem ovo će biti najosnovnija verzija za neke ne zahtjevne mašine i potrebe, a sada kada bih smanjio broj pinova za LCD to bi mi bilo za početak sasvim dobro, a kasnije unapređivati sa STM-om ili Arduino Mega i kombinacija sa expanderima i sl...
Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
Kratak si sa nozicima na Arduino Nano, da bi to nadomestio moras onda malo da izmisljas "toplu vodu" ...
Uzgred, STM32 Blue Pill, iz tvog ugla gledanja tj iz ugla Arduina je isto sto i Nano, prakticno se sve svodi na iste komande i funkcije. Ono sto je ispod haube razlicito je u slucaju Arduino platforme neko drugi resio umesto tebe i sveo na iste funkcije za razlicite kontrolere.
STM32 spominjem iz vise razloga, prvi je sto ima kao sto spomenuh 3 UART seriska porta. Asinhrona seriska komunikacija (RS-232) je zgodna sto moze vrlo lako i efektno da se transportuje, bilo diferencialnom vezem, bilo izolovanom vezom ili cak najbolje obe te kombinacije zajedno i sto je opet iz tvog ugla gledanja bitno nista ti to ne utice na SW sta je tansportni kanal (cak i WiFi, BlueTooth i slicno).
Ono sto u ovoj kombinaciji sa STM32 kompolikuj stvar je ta sto moras da imas MCU sa strane LCD-a i moras da imas neki osmisljen protokol kako oni medjusobno komuniciraju.
Ja mogu jedino oko toga da ti pomognem sto to ima vec sve razradjeno pa mogu da ti dam neki gotov code-a.
Posts: 1.244
Threads: 10
Joined: Apr 2015
Reputation:
509
Mislim da nije kratak sa nozicama, vec mora da promeni sistem projektovanja. Svi U/I idu na SPI. Mislim da Makso ne zna tacno sta hoce.
Pod broj 1, mora da batali biblioteke i da sam napise sistemski deo za svoje potrebe. Drajver za lcd, kb i slicne stvari je kesa za pisanje. Mora da koristi maksimalno hardverske resurse mcu-a i da na taj nacin pravi plc, da ne kazem projektuje.
Posts: 1.966
Threads: 29
Joined: Jan 2015
Reputation:
669
Tačno Vojine, ali taj pristup ga udaljava od Arduino koncepta.
Kao pas koji vija svoj rep ...
Posts: 1.244
Threads: 10
Joined: Apr 2015
Reputation:
509
Na kraju ce sve da se svede na nasu pricu. Ljudi moraju da razumeju da je PLC JAKO, JAKO kompleksna stvar. Koliko god on sa stanovista posmatraca izgledao trivijalno, on je izuzetno kompleksan uredjaj. Tu mora da se vodi racuna o svemu. Makar on imao primenu kao stepenisni automat. Cim se PLC projektuje, nema mesta vise za arduino biblioteke. To nije PLC. To je igracka. Moc PLC-a se ogleda u kombinaciji harvera i softvera i tu nema prostora za adaptaciju necega sto nije predvidjeno za te stvari. To je ono o cemu ja konstatno pricam, a i dosta clanova foruma.
Na kraju ce biti najjednostavnije krenuti od nule.
Posts: 556
Threads: 11
Joined: Apr 2014
Reputation:
150
07-21-2017, 09:50 PM
(This post was last modified: 07-21-2017, 09:52 PM by Milan94.)
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.
Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
07-21-2017, 09:54 PM
(This post was last modified: 07-21-2017, 10:20 PM by mikikg.)
Kod pravih PLC previdjamo jednu vrli bitnu stvar, takav uredjaj bi trebao da ima jedan isti firmware u sebi za sve razlicite potrebe, mi preko toga dodajemo "progaram masine" koji je obicno osmisljen u nekom visem nivou programiranja, nas PLC treba da taj program "interpretira", u PLC je samo SW baza koja pokriva razlicite funkcije i periferije i izvrsava nas program liniju po liniju.
To povlaci nekakve dodatne EEPROM memorije, najbolje na SPI port ...
Mozda je ipak bolje da se krene od pocetka kako Vojin kaze, da se sav I/O gura preko expandera, pa tu da bude i memorija i ostalo sto treba.
Funkcija interpretera moze naknadno da se odradi, to je vec slozena prica, bitno je da u postavci HW-a predvidimo i tu mogucnost ...
I Milan94 je u pravu, uvek je zgodnije imati MCU sa vise nozica i periferija nego to kaciti dodatno a treba u svakom slucaju.
Da mene pitate ja bih tu grunuo STM-ov modul baziran na F429Z jezgru, to ima i LAN na sebi i jos gomilu I/O linija ...
Posts: 8.729
Threads: 138
Joined: Apr 2013
Reputation:
3.629
07-21-2017, 10:57 PM
(This post was last modified: 07-22-2017, 02:18 AM by mikikg.)
Na ovaj modul sam mislio:
http://www.st.com/en/evaluation-tools/nu...429zi.html
Hehe, ne secam da je bilo to do skora, ali evo na vrhu strane sam ST kaze "supports Arduino". Mora da su se posle ovog naseg pisanja ipak odlucili da dodaju podrsu i za ovaj MCU
Salim se malo, ali ima tu i malo istine. Momci koji su radili port Arduino platforme (nastala od Mable platforme koju su originalni autori batalili) na STM32 su vrlo brzo dobili publiku i izazvali veliko interesovanje. Bili su u direktnom kontaktu sa ST i oni su im izasli u susret i pomogli u vise navrata oko raznih stvari vezanih za tu problematiku.
Dok ST pomaze ovim ljudima ja iskreno nema sta tu da trazim! Prihvatam i verujem da je njihov SW dobar (sa ogranicenjem najvise vezanim za sigurnost!), mogu da ga testiram i to potvrdim ako je potrebno jer je i to predvidjeno u tim programskim postavkama.
Open Source, solidan kvalitet, objektno orijnetisan, podrzava ih proizvodjac aktivno ... TO je dobra prica! Za software.
Pored toga ovaj STM32F429ZI ima tako opako dobre periferije i tako puno, do 21 seriskih komunikacionih portova : ) da stvarno sta mi tu izmisljamo kad ljudi sve lepo predvideli samo sto opet ponavljamo da mora da se zna sta hoces, a alat za sve postoji.
Iskreno, u 21. veku je besmisleno praviti PLC koji ima vise I/O linija nego sto pruza neki MCU. Ako treba vise od toga, lepo u MREZU opet isti pa moze sve lepo da se pokrije. Zato je ovaj konkretan ST-ove modul pogodan i ODRZIV na duzi period i isplati se svako ulaganje u njega i tu platformu.
Expanderi kao stand-alone IC-ove su proslost, to je trosenje prostora i resursa prakticno bez veze, svaki taj expander treba u stvari da bude MCU jer nam treba sve vise stvari po jednom I/O pinu, nije to samo logicko stanje, sta ako mi treba struja po tom pinu, pa to niko zivi sa tim nebi mogao da napravi i dodadno si totalno zabrljao koncept odrzivosti ako na tom mestu ne stavis pametnu periferiju.
Takodje sta da pricam kada sada jedan "radio tranzistor" oni mali na par baterija imaju u sebi SDR, pa ima DSP procesor FIR/IIR filterima pa pored toga i dva A/D i dva D/A konvertera, iz "zezanja", pa valjda jedan moderan PLC zasluzuje bar nesto od tih dobrobiti, bez obzira koliko mozda imamo konzervativno misljenje za neke banalne stvari kao sto je jedna I/O linija.
Ja kada sam pricao da SOIC-8 OP treba da ima u sebi DSP i da bude totalno programabilan, neki me popreko gledali, kao sta ce ti to tu, a pazi tek sad su se samo dohvatili da digitalno trimuju OP-ove
Hocu "DSP" po svakoji I/O nozici, samo za filtriranje, HW filter se podrazumeva ali mi treba jos i u MCU i da radi oanako kako ga konfigurisem i necu da mi se nigde dalje vise spominje po programu, ako me razumete : ). STM32 ima bas tako nesto, ne toliko sofisticirano ali ima digitalni filter koji arbritrira vremenom pa se dodje na slicnu stvar.
Tesko mene prati ova javno dostupna tehnologija, mozda je krajnje vreme da sednem i napravim svoj kontroler bas kako meni odgovara, kao sto Mladja seo i napravio Forth kontroler bas onako kako njemu treba i Caaaaaooo Sad na toj bazi cuuuuda pravi!!! Na kraju ce Apple da dodje i da ga pripupitaju par stvari, pazite sta vam kazem!!!
Sto bi bilo lepo da imam "upali(OUT1)" ili "procitajFRAM(0x01)" koja je ustvari HW komanda, izvrsava se u jednom ciklusu, ne kompajlira se nista, radi 1:1, ha? i tako jedno 20-30 komandi i ne treba mi nista vise bar narednih 5 do 10 godina ...
U FPGA je sigurno to sve izvodljivo, masivni paralelizam, ono sto je u SW objetno orijntisano to da budu HW objekti, da radi "odmah", sve da se svede na proste funkcije ali napravljene na HW nivou u nekom sloju, sta je jos dublje tu to su stvari koju su vec poznate iz CPU i MCU i neka se vrte na koliko hoce MHz ili GHz, meni treba ovo sve da se vrti na recimo 4MHz i puuuuuna kapa ....
|