[ Horvat I @ 18.05.2013. 11:19 ] @
Za potrebe pozicioniranja, merenja, upravljanja potrošnjom i potrošačima potreban mi je kontrolerski sistem, arduino sistem zato što je jednostavno pisati za njeg. Za 6502 sam ponešto pisao pa se nadam da ću se ponovo uključit.
Glavno pitanje Šta kupiti? Oklen poručiti? Nemam iskustva sa paypal om. Kodnas dani da se napravi?Ne bi da nabavljam duvaljku i pržilicu.
Dal ići odmah na dvojku i njegove klonove?
[ Zlatni_bg @ 18.05.2013. 13:13 ] @
Nemoj na dvojku, vec na Uno.

Svejedno ti je da l' uzeo klon ili original, razlika je samo u zavrsnoj obradi. U Srbiji ima "ovlasceni" distributer, kod njih je Uno oko 3000, za oko 12-13$ mozes da nadjes klon, a za 17$ nalazis Mega2560 klon. Ako ti je cilj pakovanje kontrolera u krajnji proizvod u kucnoj radinosti, uzmi Uno bez razmisljanja, i najpreporucljiviji je za pocetnike generalno.

Arduino ti je u sustini sastavljen iz regulatora napona na 5v, par pinheadera zenskih, par kondenzatora, kristala jednog na 16MHz i ono sto je ja mislim najskuplji deo, USB to Serial. U novijim verzijama to je reseno koriscenjem jos jednog mikrokontrolera koji ima USB komunikaciju na sebi. Sem toga ti vise nista nije potrebno. Ako bi da pravis, u Srbiji su FTDI cipovi oko 700 din (oko 7EUR), iz inostranstva moze da se nadje jeftinije nesto ali nije FTDI, a moze i sam FTDI jeftinije. Moj savet ti je da ga ne pravis sam vec narucis sa nekog sajta ili kupis u Srbiji/Hrvatskoj.
[ abitbp6_ @ 18.05.2013. 13:58 ] @
Od kineza:

www.aliexpress.com
www.dx.com

http://www.aliexpress.com/item...ing-Best-prices/873591106.html

Ili možda nešto od mikroelektronike, ja imam mini-at:
http://www.mikroe.com/mini/

[ Horvat I @ 18.05.2013. 18:01 ] @
Radi boljeg sagledavanja potrebnog modela da napišem šta treba bit u njemu:
Tabela ili proračun uglova sijanja sunca (istok - zapad i visina nad horizontom).
Određivanje trenutne moguće max snage panela i upravljanje potrošačima po trenutnom prioritetu.
Odkočivanje pozicioniranja pri jakom vetru i ponovo uključenje po prestanku.
Kad je samo difuzno svetlo postavljanje panela vodoravno iključenje praćenja sunca.
Kad je samo difuzno svetlo i ima snega postavljanje panela iključenje praćenja sunca uspravno.
kad pada sneg postavljanje panela iključenje praćenja sunca uspravno.
Do ovih potreba sam došao skoro godišnjim korišćenjem fotonaponskih panela.
[ bogdan.kecman @ 18.05.2013. 18:20 ] @
uno bi trebalo da ti zavrsi posao i po broju pinova i po kolicini flash-a ali ako ti je prvi projrkat onda bolje mega2560 za svaki slucaj
[ Horvat I @ 18.05.2013. 18:46 ] @
Kontroler da 1.
Za Atari 800XL prikačio veš mašinu (nisam mogao naći programator za nju) proširio memoriju za 512kB...
za ST ispitivač ic proširio memoriju AD pretvarač/sempler...
[ Zlatni_bg @ 18.05.2013. 19:23 ] @
Citat:
bogdan.kecman:
uno bi trebalo da ti zavrsi posao i po broju pinova i po kolicini flash-a ali ako ti je prvi projrkat onda bolje mega2560 za svaki slucaj


S Megom ce teze da se snadje ako tek krece da radi sa mikrokontrolerima. Ipak su svi primeri na netu pisani za Uno sa Atmega328p, plus sto je mnogo lakse ubaciti u krajnji projekat 328p nego atmega256 ili kako se vec zove SMD kontroler na megi. Gomila dodatnih library-ja je takodje napravljena da funkcionise se Unom primarno. Ipak mislim da je najbolje prvo da uzme Uno, vidi kako sta radi, pa ako bude imao potrebu, a cisto sumnjam da ce, nek uzme Megu.

P.S. sto se pinova tice, ima mnogo lep nezvanican library koji preko 595 shift registera kreira "virtualne" pinove, ima i opciju vezivanja vise shift registera, ali za 3 pina na Arduinu moze trenutno preko tog libraryja da se zakaci samo 4 registera. Ume da skrati vreme vezivanja i pisanja koda za vise "redno" vezanih 595.

Ovo sto si ti naveo moze da stane u 32k flasha na Unu definitivno. Samo trebace ti dosta senzora i lepog razmisljanja sve to da realizujes, a cini mi se i externi EEPROM.
[ Horvat I @ 18.05.2013. 19:52 ] @
Za senzore, principe merenja... ne berite brigu jer ovo je trebalo Cmos kolima biti rešeno, al godina rada s panelima je pokazala da puno parametara nije kao sto je opisano, a raditi prepravke na logičkim kolima ... uf.
Ovako modifikuješ program i pratiš efekte.
[ Zlatni_bg @ 18.05.2013. 21:06 ] @
Pogledaj koliko imas ukupno senzora, koliko imas izlaza, ulaza za podatke, ako je broj oko 10, Uno ti radi posao, ako je preko 10-15, onda Mega ili Uno sa nekim prosirenjima. Za programski kod cisto sumnjam da ces preci 32k memorije, meni se to jos nije desilo osim ako koristim posebne libraryje poput TV-OUT i nekih koje povuku po 15-20k samostalno.

Takodje, Uno se lakse prepakuje na gotov proizvod u kucnoj radinosti, ne moras da radis sa SMD komponentama, ja iskreno nikad nisam imao posla sa ovim IC sa 100 pinova u SMD tehnici, a da su tipa 20mmx20mm. To mislim da bez profi napravljene plocice neces moci da napravis.
[ Horvat I @ 18.05.2013. 22:21 ] @
Ulazi
7bit uglomer horizontale
9bit uglomer vertikale
7bit uglomer vetra
2bit difuzno svetlo - ne/postojanje snega
1 prekid+1 bit+vreme20` jak vetar/prestanak
1 prekid+1 bit+vreme20` sneg/prestanak
2 AD pretvarača Merenje snage panela
1 AD pretvarača Merenje aku
Izlazi
5 PWM
6bit pokretanje po x i y osi
2bit deblokada x, y ose
Časovnik realnog vremena s kalendarom
Registrovanje parametara
+5% za naknadno uočene potrebe
Mikroelektronikin at se ne uklapa


I već par izmena:
8bita za upravljanje x y osama zbog jednostavnije mehanike (Bogdan je u 2.temi apsolvirao paralelne koračne motore)

+2 analogna ulaza i 1 PWM izlaz

[Ovu poruku je menjao Horvat I dana 19.05.2013. u 07:13 GMT+1]

[Ovu poruku je menjao Horvat I dana 19.05.2013. u 07:13 GMT+1]
[ bogdan.kecman @ 18.05.2013. 22:24 ] @
sto se kompleksnosti programa tice, ja sam gledao kako pocetnici trose flash ko da je dzabe, zato rekoh sta sam rekao ... a sto se smd-a tice ja kapiram da je covek pocetnik sa mcu ali ne sa elektronikom, 100 pina tqfp se lemi za 2 sekunde na pcb ecovan u klonji sa klozetarom bez problema... kada se naviknes smd je mnooooogo zahvalniji od trough hole za kucnu radinost (lakse se i brze lemi, nekoliko via koje imas zalemis zickom i super, dok trough hole mora se uslikas dok zalemis nesto sa obe strane
[ Horvat I @ 23.05.2013. 18:15 ] @
Pošto se pojedini elementi nalaze udaljeni i do 80m trebam upotrebiti 2 kontrolera.
Pregledom karakteristika dostupnih kontrolera i prilagođivanjem funkcija zaključio sam da mi ATMEGA16-16PU odgovara.
Bila bi sledeća podela funkcija:
ulazi analogni
2 za merenje U,I panela
2 za merenje x,y pozicije panela
2 za detekciju difuznog svetla
2 za smer i jačinu olujnog vetra
prekidni
1 Olujni vetar
1 padanje snega
Izlazi digit
1 nibl za koračni motor x
1 nibl za koračni motor y
bit ukljućenje vodene pumpe.
serijski port za komunikaciju s unutarnjim kontrolerom.
E sad par pitanja:
Postoje li specifični demux nožica, il se koriste od starih mikroprocesora ili cmos kapijama?
Praćenje sunca kako se prati? Iz tablice i kolka je tablica za celu godinu po 20min, proračunom Keplerovog pravila?
Ili je jednostavnije praćenjem svetla i pamćenjem 1.koordinate za sutra ili 1 naredni sunčani dan?
[ Zlatni_bg @ 23.05.2013. 23:55 ] @
Jel za mux mislis da multipleksiras, tj iskoristis manje pinova na mcu, posto nisam bas najbolje razumeo sta zelis da uradis? Imas integralna kola (595 generalno) koja od 3 konektora na mcu prave 8 izlaza/ulaza. Nije mi poznato da postoji softverski multiplekser u kontrolerima, mislim da i ne bi bilo izvodljivo tako nesto jer bi onda morao da koristis te pinove koji bi bili na mcu.

http://arduino.cc/en/Tutorial/ShiftOut - neki osnovni primer

Inace, ako ces Arduinom da radis, Atmega328 ti je standardan, ostali rade sa custom bootloaderima. Stare verzije podrzavaju Atmega8 i Atmega168. Kod ostalih, problem moze da nastane koriscenjem nekih funkcija.


[Ovu poruku je menjao Zlatni_bg dana 24.05.2013. u 01:06 GMT+1]
[ bogdan.kecman @ 23.05.2013. 23:58 ] @
ako ti treba i ulaz i izlaz pogleda I2C ili SPI port extendere
[ Horvat I @ 24.05.2013. 15:21 ] @
Code:
XCK/T0)  PB0
(T1)  PB1
(INT2/AIN0)  PB2
(OC0/AIN1)  PB3
(SS)  PB4
(MOSI)  PB5
(MISO)  PB6
(SCK)  PB7
RESET
VCC
GND
XTAL2
XTAL1
(RXD)  PD0
(TXD)  PD1
(INT0)  PD2
(INT1)  PD3
(OC1B)  PD4
(OC1A)  PD5
(ICP1)  PD6
PA0  (ADC0)
PA1  (ADC1)
PA2  (ADC2)
PA3  (ADC3)
PA4  (ADC4)
PA5  (ADC5)
PA6  (ADC6)
PA7  (ADC7)
AREF
GND
AVCC
PC7  (TOSC2)
PC6  (TOSC1)
PC5  (TDI)
PC4  (TDO)
PC3  (TMS)
PC2  (TCK)
PC1  (SDA)
PC0  (SCL)
PD7  (OC2)

Košto se vidi osim 8 nožica sve su multiplexirane imaju po 2-3 funkcije.
8 bitni mikroprocesori su imali tipska kola za odvajanje funkcija. Imaju li i kontroleri, odnosno ima li kontolera da ima portove i analogne ulaze samostalne.
Konkretno meni su potrebni svih 8 analognih ulaza, 2 interapta, 9 digitalnih izlaza i kompletan serijski port.
[ Zlatni_bg @ 24.05.2013. 16:00 ] @
Sad te razumem... pa onda ti treba neka ATmega sa vise portova, posto i 8, 16, 168, 328 i ostale imaju po 6 analognih ulaza. To sto su multipleksirane nozice ne treba da te brine, ali ti treba vise analognih ulaza sto to arduino uno ne pruza. Ako hoces i dalje 8bitne kontrolere da gledas, treba ti mega: http://arduino.cc/en/Main/arduinoBoardMega

A ako hoces 32bitno nesto, imas sa ARM-om, arduino due. http://arduino.cc/en/Main/ArduinoBoardDue
[ Horvat I @ 24.05.2013. 21:07 ] @
Ovo su izvodi ATmega16 i košta 619 din dil podnožje lako ću ga lemiti.
Trebam videt primere kako su 2. demuxovali izlaze/ulaze
[ ZAS011 @ 24.05.2013. 21:38 ] @
Izlazi/Ulazi se ne "demux-uju", izbor tipa pin-a (ulaz/izlaz/štagodjoš) se obavlja preko registara u mikrokontroleru.
Ako hoćeš da se baviš sa uC, zaboravi na uP.
[ Horvat I @ 24.05.2013. 22:26 ] @
Uf uf, hvala, odlično za početak.
Dosad sam radio samo sa procesorima i njihovom periferijom, logičkim i analognim kolima
[ bogdan.kecman @ 24.05.2013. 23:17 ] @
pogledaj datasheet imas izlaznu semu na svakom pinu, vidis da se periferija switchuje samo nije muxovana, imas 3 mogucnosti

1. zakacis externu periferiju na neki od postojecih basova (pmp, spi, i2c...)
2. uzmes cip sa PPS opcijom (pheripheral pin select) gde mozes da biras koji hw u mcu-u je vezan na koji pin, obicno je taj select moguc samo pri butu mcu-a (dakle mozes da promenis gde ti je koja periferija, resetujes cip i nastavis da radis sa novim configom, to nije preterano komplikovano ali traje, dakle menjanje funkcija na pinu traje koju milisekundu dok se cip ne resetuje .. ne znam da li ima mcu-a koji imaju PPS koji moze real time da se menja (bez reseta) osim u kombinaciji sa CY SoC cipovima
3. uzmes cip koji ima takav raspored da ima odvojeno sve to sto tebi treba (obicno == mnogo pinova)

najcesce, posebno kada je atmel u pitanju, prva opcija je najlaksa i najjeftinija .. (atmel pravi odlicne mcu-e ali nisu filovani hw-om kao npr mchip) ... uzmes neki mcu sa kojim si dobar koji ima osnovnu periferiju koja ti treba, tajmere, dovoljno flash-a i ram-a i na spi bus mu zakacis gpio, adc, dac etc etc ... sta god ti treba

zaboravi "lako ces lemiti", ako pravis plocice kod kuce smd ti je 10x laksi i za pravljenje plocica i za lemljenje, samo treba da napravis taj korak.... ja sam se godinama bojao smd-a i nisam hteo nikako .. sada kada vidim trough hole ne bi me naterao da busim rupe na pcb-u i da lemim dip pa nema teorije .. jos jedino SIL/DIL konektore radim trough hole posto nekako ne verujem smd konektorima uopste (kazu ljudi radi to ok al jbg, ja sam seljak covek, vucem za kabl, gurnem u kutiju .. volim da se lepo zalemi to) ... tqfp sa vecim pitchom 0.5 ili 0.8mm to se lemi na slepo bukvalno posle desetog cipa, ovi ispod 0.5 su malo nezgodniji ali i na to se naviknes .. o soic nema sta da pricam to se lemi 10x lakse nego dip ... tako da .. uzmi neku staru smd plocu i skini pa vrati nekoliko cipova i posle 2 dana vezbanja nece ti pasti na pamet vise da busis rupe za trough hole :D a otvorice ti se mnogo novih mogucnosti :D
[ Horvat I @ 25.05.2013. 08:38 ] @
Ok, hvala Vam ovo za izvode shvaćeno.
Sad ključno za izbor mi je i memorija, koliko mi je u stvari potrebno?
Osnovni zadatak Praćenje sunca sa +- 5 stepeni
[ ZAS011 @ 25.05.2013. 08:57 ] @
Upoznaš se, prvo, sa "protivnikom" (uC), odabereš jezik/okruženje u kome bi pisao program, počneš da pišeš program i kod kompajliranja ćeš znati kolika ti je zauzetost programske memorije. Kada ti iste zafali, odabereš uC koji ima više memorije
Nije lako davati procene koliko je programske memorije potrebno za određenu vrstu programa. Takođe, količina potrebne memorije zavisi i od načina pisanja programa
[ Horvat I @ 25.05.2013. 09:09 ] @
Da dopunim prethodni post, položaj panela x,y se prati potenciometrima.
I tu sam u škripcu. mC se uglavnom obrađuje u C , a meni je pascal bliži zbog lakšeg ubacivanja asemblera. Ustvari C osim bezveznih primera, nikad ništa uradio nisam.
[ ZAS011 @ 25.05.2013. 09:27 ] @
Šta god da ti je aplikacija, kod kompajliranja ćeš tek znati koliko ti je zauzeće programske memorije. Da li ćeš da pratiš poziciju potenciometrima, apsolutnim enkoderima, ili bilo čime drugim, to nema veze.
Pascal kompajlere imaš kod MikroElektronike.
[ Horvat I @ 25.05.2013. 13:21 ] @
Neznam kako da pitam Gugleta, praćenje sunca kako se prati? Iz tablice i kolka je tablica za celu godinu po 20min, proračunom Keplerovog pravila?
Ja kako bi rešio verovatno je glupo za kontrolere, metodom suncokreta vršit praćenje i 1.vredost 2bajta čuvat za sutra ili 1. naredni sunčani dan.
[ rsinisa @ 25.05.2013. 18:45 ] @
http://www.timeanddate.com/wor...;obj=sun&afl=-11&day=1

Pozdrav.
Sinisha


P.S. Bolje da si otvorio novu temu kad si prešao sa klonova na praćenje sunca.
[ Horvat I @ 25.05.2013. 20:47 ] @
Tema je bila u elektronici, kontroler je trebao biti sredstvo povezivanja elektronike.
Pošto se ispostavilo da p o j m a nemam o kontrolerima počela je expresna obuka i Jova je s pravom prepakovao temu ovamo.
Pregledom dokumentacije vdim da je Zoran opet u pravu kontroler nemože računati ko procesor zbog malo ram-a, a tabela bi odnela ~ 40KB praćenje sunca rešavam analogno i više ga neću spominjati.
[ rsinisa @ 25.05.2013. 22:12 ] @
Ja sam vreme izlaska i zalaska sunca rešio sa tabelom od 96 bajtova za celu godinu. Moglo je i 72, ali sam hteo da budem malo precizniji. Ali dobro, rešio si kako ćeš to da odradiš i mislim da ti je bolje tako.

Pozdrav.
Sinisha
[ Odin D. @ 25.05.2013. 23:33 ] @
Citat:
Horvat I: kontroler nemože računati ko procesor zbog malo ram-a

Pa ne bi trebalo da je problem i izračunati, jednačine za azimut i elevaciju Sunca i nisu naročito komplikovane.
Ako ti je neka standardna math biblioteka prevelika, možeš i sam napisati funkcije za sin, cos, arcsin... i šta je već potrebno, ima tih procedurica koliko hoćeš.
[ Zlatni_bg @ 26.05.2013. 06:14 ] @
Citat:
Horvat I:
Tema je bila u elektronici, kontroler je trebao biti sredstvo povezivanja elektronike.
Pošto se ispostavilo da p o j m a nemam o kontrolerima počela je expresna obuka i Jova je s pravom prepakovao temu ovamo.
Pregledom dokumentacije vdim da je Zoran opet u pravu kontroler nemože računati ko procesor zbog malo ram-a, a tabela bi odnela ~ 40KB praćenje sunca rešavam analogno i više ga neću spominjati.


Sticem neki utisak da imas strah od mikrokontrolera :) Ta tabela moze da se cuva u EEPROM-u, i neces je sigurno ucitavati celu u RAM, vec obradjivati deo po deo ako je to vec neophodno. 2kB RAM-a koliko vecina nekih jeftinijih, prosecnih, mcu ima, je sasvim dovoljno za njih, mislim, pogledaj kad vec ljudi kace i LCD displeje u boji i touchscreenom da li je malo :)

Nema tu puno mozganja, u sustini sva ta logicka kola koja si ti planirao da implementiras, zamenis sa programskim kodom. Veruj mi, za pocetak batali AVR studio i ostalo, i baci se na Arduino, mnogo ces brze skapirati sta i kako.

Nego, jel to radi u jednoj ili 2 ose?
[ ZAS011 @ 26.05.2013. 08:11 ] @
Zlatni, šta je Arduino?
Zar to nije AVR sa bootloader-om :)
[ Horvat I @ 26.05.2013. 08:44 ] @
Siniša super si uspeo smanjit tabelu! Uklavirio sam da je dovoljna 1/4 tabele jer od podne su promene ogledalski odraz promena do podne istoje i sa periodom najkraći dan - ravnodnevica. No nastavićemo u novoj temi.

Zlatni varaš se, sad sam ga tek steko kad sam shvatio da jedva liči na mikroprocesore, mislio sam da ću ko nekad na 8bita u makroasembleru pozivati makroe i gotovo.
[ Zlatni_bg @ 26.05.2013. 17:51 ] @
Citat:
ZAS011:
Zlatni, šta je Arduino?
Zar to nije AVR sa bootloader-om :)


Zar ne vidis da sam mislio na softversku stranu, s obzirom da sam napisao AVR Studio (pravilno Atmel Studio) ?