Strujni izvor 0-50A
Moderators: pedja089, stojke369, trax, InTheStillOfTheNight
Re: Strujni izvor 0-50A
Evo napisan program i isproban u stvarnosti.
Koliko god neki sa sprdnjom gledali na bascom toliko su neke stvari puno jednostavnije za napraviti i izkonfigurirati.
Jedino nisam baš najsretnije napisao program zbog korištenja wait naredbi koje blokiraju procese (nije mi se dalo bespotrebno gnjaviti sa timerima), no kako je ovo samo test, u tu svrhu je i više nego dovoljno.
Koliko god neki sa sprdnjom gledali na bascom toliko su neke stvari puno jednostavnije za napraviti i izkonfigurirati.
Jedino nisam baš najsretnije napisao program zbog korištenja wait naredbi koje blokiraju procese (nije mi se dalo bespotrebno gnjaviti sa timerima), no kako je ovo samo test, u tu svrhu je i više nego dovoljno.
- Attachments
-
- pwm m8.zip
- (956 Bytes) Downloaded 213 times
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Strujni izvor 0-50A
Hehehe Kizo, programe isprobavas u stvarnosti, a gdje ih onda programiras???... Zivio SF
InTheStillOfTheNight
Re: Strujni izvor 0-50A
Ma samo sam htio reći da sam isprobao i na pločici, ne samo u simulatoru.
Zaboravio sam napomenuti da se ledica pali 2sec isto toliko gasi, umjesto 1sec. Nekako se bolje vidi ta postupna promjena, pa sam tako ostavio.
Zaboravio sam napomenuti da se ledica pali 2sec isto toliko gasi, umjesto 1sec. Nekako se bolje vidi ta postupna promjena, pa sam tako ostavio.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
Evo... Sad sam provjerio one advanced settings i sve je isto osim "high fuse" tebi je C9, meni je D9...
Capo Di Tutti Capi
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
Evo programirao sam atmegu s tim hex-om sto je Kizo poslao i radi... znaci ledica ide od 0-max i nazad... (nisam mijenjao ono D9 u C9)
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
Nije ti uključen CKOPT fuse o čemu je Noćni govorio zato ti je D9. Promjeni u C9.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
Jesam promijenio... isto radi ... Za recimo 2 sec se poveca od 0-max i obrnuto...
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
Iz datasheeta:
Ili laičkim rječnikom, žrtvuješ nešto veću potrošnju MC za stabilniji rad.The CKOPT Fuse selects between two different Oscillator amplifier modes.
When CKOPT is programmed, the Oscillator output will oscillate a full rail-to-rail
swing on the output. This mode is suitable when operating in a very noisy environment or
when the output from XTAL2 drives a second clock buffer. This mode has a wide frequency
range. When CKOPT is unprogrammed, the Oscillator has a smaller output swing. This reduces
power consumption considerably. This mode has a limited frequency range and it cannot be
used to drive other clock buffers.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
Aha... OK... Eto sad i taj dio "testiranja" napravljen... ... Sad pravim sa onom zaruljom od auta ili???
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
Tako je. Sad kad ovaj dio radi spajaš žarulju za probu, kako je ABC predložio. Ja sam u onom videu spojio ovako:
Koristiš ovaj isti hex i žarulja se treba slično ponašati kao ledica.
Ovaj tvoj mosfet bi trebao da bude hladan/mlak i bez hladnjaka, ipak pripazi na temperaturu, pa makar prst metodom i preporučam da montiraš barem neki komadić pleha reda radi.
Eto, samo pripazi pri spajanju i neće biti problema.
Koristiš ovaj isti hex i žarulja se treba slično ponašati kao ledica.
Ovaj tvoj mosfet bi trebao da bude hladan/mlak i bez hladnjaka, ipak pripazi na temperaturu, pa makar prst metodom i preporučam da montiraš barem neki komadić pleha reda radi.
Eto, samo pripazi pri spajanju i neće biti problema.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
ok, sutra cu otici kupiti zarulju... a montirat cu na taj mosfet svakako jedan od hladnjaka, imam ih par komada sto sam povadio iz starih napajanja iz kompa i sl... E da... to je ona halogena zarulja??? One sa oznakama H1. H2, H3 ... H11 ???
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
Da to su te zarulje, kupi neku koja je najjeftinija, spojis one standardne kleme na nju ali ih prvo moras rasiriti samo jednu stranu jer su na zarulji siri oni limovi koji se utaknu u grlo od fara automobila, i poslije kad ih nataknes malo sa klijestima stisnes klemu da ima bolji spoj da se ne grije.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
evo isprobano i radi... Naravno... nestigne se ugasiti do kraja halogena, al to je zato sto sam ju platio 22kn, nije neka bas skupa, a i kad ju obicno maknem sa 12V, smanji joj se intenzitet i jos svijetli 1-2sec...
Al u biti radi... znaci poveca se od 0 do max i onda se smanjuje... MOSFET jedva mlak i to bez hladnjaka...
Al u biti radi... znaci poveca se od 0 do max i onda se smanjuje... MOSFET jedva mlak i to bez hladnjaka...
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
Ostavi nek to radi 15minuta pa onda provjeri, ako ti se da placati racun za el.energiju. Znaci, sada kontrolises samo desetak puta manju struju
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
A pustio sam 5min da radi i sve ok, kazem, taj mosfet se jedva zagrijao ...
Capo Di Tutti Capi
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Strujni izvor 0-50A
Moja preporuka sljedeceg testa bila ocitanje onog potenciometra za vrijednost struje i to direktno izbaciti na PWM....
Kizo daj mu napravi hex, i naravno provjeri ovo jer ja ne radim u bascomu... Princip je isti, sve su ostalo nijanse
' define crystal speed and include file
$regfile = "m8def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$baud = 19200
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Config Portb.1 = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
'Program begin
Do
Ocr1a = Getadc(0)
Waitms 10
Loop
Kizo daj mu napravi hex, i naravno provjeri ovo jer ja ne radim u bascomu... Princip je isti, sve su ostalo nijanse
' define crystal speed and include file
$regfile = "m8def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$baud = 19200
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Config Portb.1 = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
'Program begin
Do
Ocr1a = Getadc(0)
Waitms 10
Loop
InTheStillOfTheNight
Re: Strujni izvor 0-50A
Ne vjerujem, doslovno mi čitaš misli.InTheStillOfTheNight wrote:Moja preporuka sljedeceg testa bila ocitanje onog potenciometra za vrijednost struje i to direktno izbaciti na PWM....
Ovaj program si ti radio?
Vidim da ti lijepo ide u bascomu, a šta je sa C-om?
U programu sam jedino promjenio prescale sa auto na 128, jer prema datasheetu
Pa neznam kako bascom definira „auto“, bolje to ručno postavit.By default, the successive approximation circuitry requires an input clock frequency between 50
kHz and 200 kHz to get maximum resolution.
Izbacio sam i waitms, jer getadc naredba ionako čeka dok se ne završi konverzija, tako da ne treba ovaj dodatni waitms.
Evo ti Maniac hex pa probaj dok mi ne izmudrovamo čini mi se zadnji korak, to sve povezat sa shuntom.
Dakle spojiš potenciometar na ADC0 i trebao bi moći regulirati svjetloću žarulje.
- Attachments
-
- ADC+PWM.zip
- (803 Bytes) Downloaded 229 times
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Strujni izvor 0-50A
A sta cu pisati u C-u kad nitko uopce ne misli raditi nista u c-u...
Sto se tice Waitms namjerno sam ga ubacio da usporim promjenu OCR registra jer je besmisleno stalno pristupati PWM registru... Uostalom orginalni program ne bi trebao odmah reagirati na taj ADC nego bi recimo trebalo raditi uzorkovanje u neko polje i uzeti 10, 15 uzoraka, proracunati srednju vrijednost i tek onda to postaviti kao zeljenu vrijednost... I ovaj postupak ponavljati u nekim intervalima od 200 300 500 mS..
Mislim da Bascom i ovome uzima auto prescaler za ADC prema ovome $crystal = 16000000.. U hex-u je sigurno samo jedna vrijednost u registru...
PS nekad sam ja tipkao sve u BASCOMU... pa ostalo u nekom laganom sjecanju... Prije jedno 7, 8 godina...
Sto se tice Waitms namjerno sam ga ubacio da usporim promjenu OCR registra jer je besmisleno stalno pristupati PWM registru... Uostalom orginalni program ne bi trebao odmah reagirati na taj ADC nego bi recimo trebalo raditi uzorkovanje u neko polje i uzeti 10, 15 uzoraka, proracunati srednju vrijednost i tek onda to postaviti kao zeljenu vrijednost... I ovaj postupak ponavljati u nekim intervalima od 200 300 500 mS..
Mislim da Bascom i ovome uzima auto prescaler za ADC prema ovome $crystal = 16000000.. U hex-u je sigurno samo jedna vrijednost u registru...
PS nekad sam ja tipkao sve u BASCOMU... pa ostalo u nekom laganom sjecanju... Prije jedno 7, 8 godina...
InTheStillOfTheNight
Re: Strujni izvor 0-50A
Kako ne nitko. Pa evo ja sam skinuo AVR studio i WinAVR, pošto imam volju nešto naučiti nešto novo, a ti me tako odbijaš
Što se tiče koliko je besmisleno pristupat stalno OCR registru toliko je besmisleno nepotrebno zakrčit CPU NOP-ovima. A ionako konverzija traje cca 1ms. Pa to je cijela vječnost.
Za ovaj krajnji korak slobodno neka netko uskoči, pa čemo valjda nešto sklepati
edit: E, da, što se tiče programa, ovo uzimanje uzoraka, pa mjerenje srednje vrijednosti, pa intervali, sve mi to nekako zvuči presporo. Ja sam imao na umu što brže mjenjanje PWM-a kako bi se što prije poklopili naponi na potu i shuntu. Šta recimo da napravi kratki spoj? Trebalo bi da što prije pwm padne na 0. tj, kolebat će se između 0 i 1, jer iako je KS, pokušat će koliko toliko održavat stalnom zadanu struju. Analogiji u ovo nema premca.
Što se tiče koliko je besmisleno pristupat stalno OCR registru toliko je besmisleno nepotrebno zakrčit CPU NOP-ovima. A ionako konverzija traje cca 1ms. Pa to je cijela vječnost.
Za ovaj krajnji korak slobodno neka netko uskoči, pa čemo valjda nešto sklepati
edit: E, da, što se tiče programa, ovo uzimanje uzoraka, pa mjerenje srednje vrijednosti, pa intervali, sve mi to nekako zvuči presporo. Ja sam imao na umu što brže mjenjanje PWM-a kako bi se što prije poklopili naponi na potu i shuntu. Šta recimo da napravi kratki spoj? Trebalo bi da što prije pwm padne na 0. tj, kolebat će se između 0 i 1, jer iako je KS, pokušat će koliko toliko održavat stalnom zadanu struju. Analogiji u ovo nema premca.
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: Strujni izvor 0-50A
Ok, budem onda ja ovaj zavrsni kod pisao u C-u...
Evo kako bi ja to napravio:
Znaci treba najprije logicki osmisliti program. Puno nam je vazniji napon sa shunta neko ovaj sa potenciometra, pa bi ja to recimo stavio na omjer 1:50... Znaci 50 puta mjerim napon sa shunta, a jedamput napon sa potenciometra...
Naponom sa potenciometra punim neko polje od recimo 5 uzoraka, te kada god dođe nova vrijednost sa potenciometra zašiftam vrijednosti polja, upisem novu vrijednost u polje te izracunam srednju vrijednost i nju postavim u variablu kao PWM target... Razlog ovog je da izbjegnemo greske mjerenja, i nagle promjene napona na potenciometru.
Mjerenje ADC-a je malo zajebano jer dosta traje, no ja ne moram tu zamrznuti procesor jer se mogu osloniti na interrupt complete, ali se opet pitam što da radim dok se ne izmjeri napon??? Očito i nemam nekog posla sa procesorom jer ne mogu utjecati na PWM bez novog eventa sa shunta, tako da mi iz trenutne perspektive izgleda kao da i nema smisla ovaj ADC pisati za interrupt nego jednostavno pricekati dok se napon ne izmjeri....
Koji su prijedlozi???
I kada ce hardware biti kompletan da mozemo to isprobavati???
Evo kako bi ja to napravio:
Znaci treba najprije logicki osmisliti program. Puno nam je vazniji napon sa shunta neko ovaj sa potenciometra, pa bi ja to recimo stavio na omjer 1:50... Znaci 50 puta mjerim napon sa shunta, a jedamput napon sa potenciometra...
Naponom sa potenciometra punim neko polje od recimo 5 uzoraka, te kada god dođe nova vrijednost sa potenciometra zašiftam vrijednosti polja, upisem novu vrijednost u polje te izracunam srednju vrijednost i nju postavim u variablu kao PWM target... Razlog ovog je da izbjegnemo greske mjerenja, i nagle promjene napona na potenciometru.
Mjerenje ADC-a je malo zajebano jer dosta traje, no ja ne moram tu zamrznuti procesor jer se mogu osloniti na interrupt complete, ali se opet pitam što da radim dok se ne izmjeri napon??? Očito i nemam nekog posla sa procesorom jer ne mogu utjecati na PWM bez novog eventa sa shunta, tako da mi iz trenutne perspektive izgleda kao da i nema smisla ovaj ADC pisati za interrupt nego jednostavno pricekati dok se napon ne izmjeri....
Koji su prijedlozi???
I kada ce hardware biti kompletan da mozemo to isprobavati???
InTheStillOfTheNight