Strujni izvor 0-50A

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

Poznavajući ABC-a mislim da će on ostat kod onog svog što je našao low pass voltage divider filter i ići na max. moguću frekvenciju PWM-a, jer na većoj frekvenciji može ići filtar sa manjom RC konstantom. Iako je drugi princip ideja je na mjestu, jer u konačnici težimo istom cilju:
-čitati prosječnu (srednju) vrijednost struje
-imati brzi odziv

Sad samo treba odvagnuti što je programski i hardverski lakše za izvesti.
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Meni je jedino žao što je projekt koncipiran na ovakav način u kojemu se borimo sa frekvencijom PWM-a, ADC-a i naponom shunta kad se ova problematika može izvesti čistom analogijom na 100 puta bolji način. Inače kada bi neki projektant čitao ovo što pišemo rekao bi da smo svi apsolutno ludi. Ovo sve zajedno izgleda kao da želimo napraviti novu rusku svemirsku raketu pomoću kokošijeg perija, ali dobro bitan je trud, barem cemo nauciti periferiju atmelovih mikrokontrolera :D
InTheStillOfTheNight
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

A što je najgore ako ovo ne proradi tu na forumu će nam se smijati ko najvećim budalama. :lol:
Ono, 30 stranica mudrovanja, a na kraju niš. :D
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Ma cisto sumljam da se netko uopce moze smijati na kraju svega... Ova problematika koja se postavila kao izazov nije baš shvatljiva svim forumašima. Ovakav problem može se postaviti i pred razvojni tim Siemensa i oni bi isto razbijali glavu kako to odraditi sa 8-bitnim procesorom. Ne podcjenjujem nicije znanje i iskustvo, ali ipak ovo nije LED dioda koja blinka svakih nekoliko sekundi. I prije nego što smo se upustili u ovu problematiku znali smo da je skoro nemoguce odraditi to na ovakav nacin, pa i nakon svega ako i ne proradi nema razloga zaliti zbog toga... Nije problem napraviti stabiliziran izvor od 0 - 50 A... Problem je to napraviti na ovaj nacin... :shock:
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

No nema smisla dramatizirati po forumu, ABC tebe se čeka da procijeniš što i kako dalje... Ja sam dao jednu ideju koja bi možda prošla, pa sad ti analiziraj sve ideje koje imaš i jedino je bitno da se odredi smijer kretanja... Nema smisla globalno gledati na problem... Odaberi neku lokalnu liniju po kojoj ce projekt teci dalje pa cemo usput nešto smisliti...
InTheStillOfTheNight
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Nisam juce bio na netu i danas se ulogujem i ono more poruka :D.

Na brzinu sam preletio po porukama i da kazem da je ovo sto je Nocni predlozio izvedivo hardverski sa ovim attiny461 jer ima kompleksniji PWM za pogon motora i ima fazno kasnjenje u izlazima za PWM a ima i hardversku mogucnost okidanja ADC vanjskim impulsom.

Ali uvjek postoji neka "kvaka" a to je da ovaj mc ima relativno malo memorije. U ovom slucaju trebamo racunati struju zavisno od duty cycle PWM-a. Takodje i kod vise frekvencije PWM-a je to nemoguce raditi pogotovo na vrlo malim duty cycle PWM-a.

Imam malo vremena pa jos kako sam nov u atmelima (radio sam sa PIC) treba mi i malo vise vremena. Recimo skinem kod za LCD i kompajliram i padnem sa stolice, pojede mi preko 60% memorije atmela attiny461, probam oficijelni LCD kod koji da tako kazem dolazi sa avr gcc kompajlerom i prakticno isto.

Koriste se pointeri, presipa se iz supljeg u prazno, printf itd.
Napokon nadjem na avrfreak forumu neki kod za lcd i oko 20% zauzeca ovog atmela, prihvatljivo.
Vec sam mislio da cu morati portovati kod u C-u sa PIC kompajlera, ni ovih 20% nije nesto ali izgleda bolje nemoze, to je sa punom optimizacijom.

Takodje otpada i neka "inteligentnia" regulacija struje PWM sa PI regulatorom jer je avr gcc kompajler vrlo neefikasan kada se radi o float racunanju, a neke biblioteke optimizovane za matematiku za avr gcc sa kojima bi se to moglo uraditi a da ne pojede svu memoriju nisu besplatne, a i meni se ne uci atmelov asembler :D.

Trebalo bi naci neki pojednostavljeni algoritam za racunanje struje mjerenjem na sredini pwm signala i racunati neku srednju vrijednost struje, da vidimo koliko to jede programsku memoriju.

Mislim da konkretno probam da mjerim DC komponentu struje sa shunta (pogledati atmelov dokument 444) i sa internim pojacanjem 20x to obradim i prikazem na lcd-u, takodje i nesto jednostavno za korekciju PWM-a ako je potrebno.

Nazalost i sutra necu imati vremena, tek uvece a onda mi se neda nista pocinjati.
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Ovo je definitivno višeslojni mač. Abc ti dižeš frekvenciju PWM-a sa PLL-om ovog tiny461, ali istovremeno će ti se dogoditi to da ti je ADC neupotrebljiv. Mislim da je ove špiceve od paljenja i gašenja mosfeta jako teško filtrirati i dobiti neku ravnu liniju napona. Što više digneš frekvenciju PWM-a to ti ova moja ideja više pada u vodu. sa PLL-om 64 MHz nemoguće je ubosti ADC-om sredinu aktivnog PWM-a, pogotovo ne pri malon Duty-u. Onu ideju sam napisao jer sam razmišljao kako se koristi mega8, a na njemu bi to možda i prošlo jer je manja frekvencija PWM-a. Uostalom to bi i na Mega8 povuklo neko žrtvovanje regulacije pri malom duty-u, ali bi se valjda moglo regulirati 80 ili 90% citavog strujog područja. U datasheetu tiny461 je frekvencija ADC-a također oko 200 kHz pa baš i ne bi prošlo hvatanje sredine PWM-a pri tom PLL-u na 64 Mhz i 10 bitnom brojacu. Ne znam na što točno ciljaš s visokim PWM-om i odabiru ovog procesora, pa ako mozes samo napisati koje su prednosti visokog PWM-a? Mislim da ove špiceve izbjeći ne mozes i ADC ne možeš natjerati da radi brže nego što radi tak da će ti ADC u tom slučaju ponekad naletiti na opasne špiceve... Ne znam onda koji je smisao visoke frekvencije PWM-a ako se s tim pristupon ne može dobro ispeglati napon sa shunta...
InTheStillOfTheNight
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

E to sam htio i ja napisati jos prije, ali nisam znao bas tako lijepo to objasniti, a nisam htio i sad neku glupost lupit koja nema veze s vezom... kontao sam da ta visoka freq nece bas nesto pomoci, a i kontroler ima manje memorije i tako... bolje s atmegom8, vrijeme odziva, nemora sad biti nesto savrseno brzo, ali ono, pristojno da bude, tek toliko da mozemo povecavati i smanjivati struju, znaci moze vrijeme ustaljenja struje moze biti i ajd recimo 1s, znaci okrenem potenciometar i onda 1s prodje dok struja dodje na tu vrijednost, a jedino sto mi je bitno je ono sto smo raspravljali nekoliko stranica prije - trebalo bi tocno na pola okreta potenciometra biti 25A ili bar priblizno, a na puno okret da bude 0 tj. 50A... e sad... ja sam bio stavio onu shemu, al dal je to funkcionalno za ovo, to sad neznam...
Capo Di Tutti Capi
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Ev Maniac malo da pojasnim problematiku. Da bi ti regulirao struju moraš ju stalno analizirati i prema mjerenjima dizati ili spuštati aktivni dio PWM-a. E sad PWM nema veze sa 1S niti sa nekim realnim vremenom tako da mi pišemo o problemima koji se događaju u 1ms ili 10 uS. Zapravo i imao samo jedan problem. Kada PWM pali i gasi izlazni MOSFET dogodi se naponski šiljak na shuntu i u tom vremenu je nemoguće dobro izmjeriti struju. To vrijeme traje reda viličina uS a ne S. Ono što ti štimaš na potenciometru nema nikakve veze sa našim problemom, niti mi razmišljamo o sekundama odziva nego razmišljamo o 1000000 dijelicu sekunde odziva. Tu se dosta analiziralo i mjerenje samog napona i to je kizo dobro odradio te zaključio kako vrijeme mjerenja napona traje cca 50 uS. E jedini problem koji imamo je što ako mjerimo taj napon na shuntu i baš izmjerimo vrijednost naponskog šiljka (zbog palenja i gašenja mosfeta). Time bi za struju od 5 A mogli izmjeriti i 15 A i po tome ne možemo uopće znati kolika struja zapravo teče... Tvoj odziv na potenciometru mi možemo isprogramirati toliko brže od tvog pokreta ruke da je to uopće neusporedivo.
InTheStillOfTheNight
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

E hvala na objasnjenju, ja sam onda krivo mislio... Hvala nocni...
Capo Di Tutti Capi
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Bas me zanima jel izvediva ona moja ideja sa oba OCR registra i startanjem ADC-a preko interrupta na sredini duty cycle-a PWM-a. Kako ja nisam jos nista odradio sto se tice ovog projekta (aj bar sam ideje rasipao kao papagaj kad uci francuski), ja cu se potruditi ili vikendom ili tokom sljedec tjedna analizirati ovaj svoj prijedlog, pa da vidim koliko kratak duty cycle je moguć izmjeriti na ovaj način. Kod mene je problem što svaki dan crtam neke sheme i programiram barem 8 sati dnevno i onda mi se nakon posla ne da pogledati u elektroniku. Dopizdi stalno biti napetih zivaca i konstantno u borbi sa registrima, hardwareom i vremenom tak da izbjegavam raditi i programirati doma i iz tog razloga puno vise dijelim ideje nego sto radim na nekim projektima nevezanim za posao.
Ali evo, kad se vec kizo i abc mogu natjerati da nesto rade, budem i ja uzeo ovaj dio analize pa mozda bude dobro stivo za procitati i nesto novo nauciti. A sad abc kad uhvati vremena nek se bori sa ovom svojom idejom visoke frekvencije PWM-a i filtriranja napona shunta pa cemo vidjeti kamo ce nas vjetar odpuhati...

Za test ću odabrati ATMEGA88, isti je kao i Mega8 samo ima 1 wire debug. tak da ne moram spajati nikakav display ni nista nego samo zaustavim program i pogledam u debugu sve variable koje me zanimaju...
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

PS, ako baš padnu sve ideje za osposobiti ovo sranje, imam ja još jednu koja u konačnici rješava čitav projekt na vrlo jednostavan način, ali bolje se još malo mučiti i analizirati problem čisto zbog nekog iskustva... :twisted: Inace tamo gdje radim sam rudnik dobrih ideja, tak da bi vjerojatno pronašao i način kako bez kupusa napraviti sarmu...
InTheStillOfTheNight
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

Sad si i mene malo više zaintrigirao sa ovime.
InTheStillOfTheNight wrote:da vidim koliko kratak duty cycle je moguć izmjeriti na ovaj način
Ako već nisi smislio evo ti jedne ideje kako ovo provjeriti:
Vjerujem da imaš pristup generatoru funkcija. Sa njime simuliraš rad PWM-a.

Postaviš frekvenciju na kojoj bi inače radio PWM, npr. 15 kHz. Amplitudu staviš 5V, a valni oblik napona pilasti. WTF zašto pilasti, a ne pravokutni? Čitaj dalje. Taj napon vodiš na INT0 i na ADC0. INT0 konfiguriraš kao Falling, tj. da reagira na silazni brid. U INT0 interruptu pokrećeš ADC.

Što smo sa ovime dobili? To da u idealnom slučaju ADC0 bi trebao vratiti vrijednost 0. Normalno da ovo u praksi neće biti 0, nego neka vrijednost. Iz te vrijednosti je vrlo lako izračunati
koliko kratak duty cycle je moguć izmjeriti na ovaj način
Vrlo jednostavno, zar ne, a od dodatnog hardvera imaš samo taj generator funkcija.

E, da, na dvije stvari moraš paziti:
1. vjerojatno će imati utjecaja na točnost rezultata kad se ovako kratkospaja INT0 i ADC0. Možeš zato ovaj napon dovesti na INT0 preko neke brze diode ili nekako drugačije to odvojiti, ali ovako ti je najjednostavnije.

2. da ti frekvencija "PWM-a" ne bude prevelika, tj. INT0 ti okine, a ADC pretvorba još nije gotova.
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Evo kizo, kao što rekoh, jebeni rudnik dobrih ideja:

Pod dobrom idejom podrazumjevam nemati ništa i napraviti sve na najbolji način i zato se neću zamarati kojekakvim generatorima i dubokim analizama.

Napravim jednostavno djelilo napona na izazu PWM-a sa otporima recimo 1k, 1k.
Kad mi se okida PWM na sredini tih otpornika trebao bih imati napon od 0 i 2.5V

Taj napon direktno upucavam u ADC.

Koncipiram program koji ce u interruptu OCR1B registra (Na sredini aktivnog PWM-a) startati ADC.

Sljedeci trik iz glave koji ću izvesti je taj da ću prilikom starta ADC-a dignuti neki bezvezni port u log 1, a na kraju konverzije cu ga spustiti u 0.

Sto dakle radim... jednim kanalom osciloskopa promatram PWM, drugim kanalom osciloskopa promatram ovaj bezvezni pin koji ce mi prikazati tocan trenutak paljenja ADC-a i tocan trenutak zavrsetka konverzije... U debugiranju sve vrijednosti pohranjujem u neko polje RAM memorije kako bi mogao provjeriti da li ADC dobro isčitava napon od 2.5 V aktivnog Duty ciclea... I sve ostalo što trebam raditi je sužavati Duty cicle PWM-a i promatrati kad ce ADC popizditi... :D ah te ideje :D :D :D
InTheStillOfTheNight
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

Pa i ovo tvoje je skroz jednostavno, a upravo ono što se traži. ADC bi cijelo vrijeme trebao ispisivati 512 i onda samo gledaš kad dobiješ neka odstupanja i to ti je to.

Moje je jednostavnije, ti imaš 2 otpornika, dok je kod mene samo jedna dioda. :D :lol:
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Kizo i tvoja ideja je na mjestu i moglo bi se to i tako odraditi, ali ti si odabrao savršenu uS za analizu ADC-a u dinamičkim uvjetima rada... Paralelno bi startao ADC u točnom trenutku promjene napona. To je sa neke programerske strane samoubilački potez jer taj trenutak promjene se ne može vrednovati kao realno stanje ove problematike o kojoj pricamo. Mislim da ipak treba dati lufta ADC-u da dobro ubode napon koji mjeri. Doduše i na tvoj način bi se dao odraditi neki brzi delay da malo zakasni start ADC-a, ali u tvom slučaju je nemoguće znati hoće li ADC popizditi na uskom duty cicleu iz razloga jer je tvoj PWM sa generatora funkcija tocno na 50% tako da ADC nakon starta ima čistu putanju proračuna napona. U mojoj ideji ostavljam ADC-u uski prolaz za mjerenje napona, startam ga u tocnom sredistu tog uskog prolaza i analiziram njegov proracun koji traje 50 uS bez obzira sto se prolaz mjerenja zatvorio na 25 uS. Nadam se da si skuzio o cemu pisem... :ohno:
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Kizo wrote: Moje je jednostavnije, ti imaš 2 otpornika, dok je kod mene samo jedna dioda. :D :lol:
Naravno Kizo, samo jedna dioda, i generator funkcija sa tristotinjak elemenata pod uvijetom da nisi sustav promatranja podesio na 50% napona (Zato ja imam dva otpornika da ne ciljam 1023 nego 512) :) Moze ova moja ideja bez ikakvog otpornika, ali bih namjerno stavio ADC u sredinu analize. :azdaja:
InTheStillOfTheNight
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

u tvom slučaju je nemoguće znati hoće li ADC popizditi na uskom duty cicleu
nemoguće je biti 100% siguran kao sa tvojom metodom, ali je moguće pretpostaviti
Mislim da ipak treba dati lufta ADC-u da dobro ubode napon koji mjeri. Doduše i na tvoj način bi se dao odraditi neki brzi delay da malo zakasni start ADC-a
Dobro si nanjušio na šta sam mislio. Dakle sa ovom mojom metodom bi vidio koliko taj delay za "sample and hold" iznosi, a onda iz tog delaya možeš odrediti ispod koje granice nebi smio ići sa PWM-om. Vrijednosti sam zato napisao upravo takve da bude ADC0 (delay) = OCR1A (min. vrijednost).

Nadam se da me kužiš bolje sad, ali slažem se, sa ovom tvojom metodom znaš 100% ispod koje vrijednosti PWM-a ne ići. Zato sam i rekao, samo ideja.

čije je jednostavnije je trebala biti šala :oops:
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

Mislim da je prvenstveno bitno startati ADC na naponu koji mjerimo i zato sam preferirao sredinu aktivnog duty cicle-a bez obzira koliko to bilo kratko vrijeme. Tvoj nacin pristupa starta ADC u istom trenutku promjene napona na ADC-u i nije previše bajan jer se napon nije stabilizirao. E sad ono što će se dogoditi nakon samog starta ADC-a vjerojatno znaju samo ovi projektanti atmelovih procesora. Zato bih test izvršio tako da sa sigurnošću mogu utvriditi kako sam ADC startao u čistom području signala, a sad koliko njemu vremena treba da uzorkuje taj djelić napona koji nas zanima iskreno pojma nemam. Znam samo da mu treba puno manje nego što traje čitava konverzija 50uS. Možda uzokrovanje signala traje recimo 100 nS što bi nam u projektu otvorilo oči u pravom smijeru, a možda traje i 30 uS što bi izgledalo totalno katastrofalno... Bez obzira dobre su ove ideje, samo ipak dok ne odradim ovaj test ne mogu prognozirati što će se točno dogoditi...
InTheStillOfTheNight
User avatar
InTheStillOfTheNight
Odlično uznapredovao
Odlično uznapredovao
Posts: 938
Joined: 01-06-2006, 17:54
Location: Zagreb

Re: Strujni izvor 0-50A

Post by InTheStillOfTheNight »

U svakom slučaju ako ADC treba vrlo malo vrijeme uzorkovanja signala reda veličina nS onda je obavezno izvršavanje i tvog načina pristupa iz raloga jer bi se mogla pomaknuti granica starta ADC-a sa 50% aktivnog PWM-a na manju vrijednost i time još suziti područje dobrog mjerenja duty cicle-a, ali opet samo nagađamo jer bez ove osnovne analize koju sam obećao i dalje pričamo o sexu, a još jebali nismo... (Umro sam na ovaj vic o sexu i studentima FER)... Kaze, kad zavrsis fakultet elektrotehnike to ti je isto kao da si procitao svu pornografiju svijeta, a nikad jebao nisi.... :D
InTheStillOfTheNight
Post Reply