Bodová zváračka

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
dudo02
Příspěvky: 1003
Registrován: 27 úno 2007, 00:00

Bodová zváračka

#1 Příspěvek od dudo02 »

Zdravim,

Planujem si spravit zvaracku na repasovanie akumulatorov.
Silovu cast mam vyriesenu, na a nakolko ma celkom bavi ucit sa programovat, ovladanie by som rad riesil PICkom - 16F628A.


Jednoduchu verziu programu mam,kde je pouzity 12 polohovy otocny prepinac.Vystupy prepinaca su testovane a na zaklade nich je spustena jedna z 10tich casovych smyciek.Mam to odskusane a funguje to - ale to len na okraj.

Teraz som vyhrabal 7segmentove displeje-so spolocnou anodou.
No a rad by som sa pustil do programovania softu ,ktory by robil nasledovne.



-SW1(up)a SW2(down) nastavuju pozadovany cas samotneho impulzu zvarania.Po krokoch 50ms.Rozsah 0-500ms.

-SW3 je tlacidlo po ktoreho stlaceni dojde k zvaraniu.

- LED1 , indikuje testovanie SW3 a blika v urcitom casovom intervale

-OK1 - vystup,ktory ovlada silovu cast.

-ZCD -zero cross detector.Sluzi na spustenie impulzu na vrchole periody AC.



Samotny priebeh zvarania:

-nastavenie doby impulzu zvarania pomocou SW1 a SW2
-stlacenie SW3
-snimanie ZDC +casovy usek 1/4 periody
-impulz 50ms(predhriatie materialu)
-prestavka 500ms
-snimanie ZDC +casovy usek 1/4 periody
-impulz samotneho zvarania
-nove zvaranie mozne az po uvolneni SW3.

Schema je v prilohe.
Mam problem zacat-potrebujem nakopnut,ako to riesit- zakladna kostra programu. Myslim, ze pomocou delay smyciek to asi nepojde...
V podstate viem ako funguje multiplexing 7segmentoviek-akurat sa s tym hram...
Přílohy
bodovacka led.png
(17.93 KiB) Staženo 150 x
Naposledy upravil(a) dudo02 dne 19 pro 2015, 20:13, celkem upraveno 1 x.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#2 Příspěvek od Atlan »

Ta 3 segmentovka svietit nebude, a nieje korektne ju napajat cez jeden odpor.
Tie tlacidla zablokuj kondikmi 47-100n proti zemi a namiesto pullup pouzi externe odpory 4k7. ZCD by som pripojil na RB0. A napajanie zablokuj aspon 100n +10uF blizko uP.
Uživatelský avatar
dudo02
Příspěvky: 1003
Registrován: 27 úno 2007, 00:00

#3 Příspěvek od dudo02 »

Ten 3 displej bude stale zobrazovat 0. Pokial sa zvoli vhodny rezistor,nevidim ziaden problem-alebo mi nieco unika?

No to by som mohol rovno snimat LOG 1 na vstupoch RB a tym by mi odpadli pull-upp rezistory. Alebo by mohol byt nejaky dalsi problem?

Napis mi prosim ta dovod, preco je lepsie pouzit pre ZCD PORTB0.
hakamusai
Příspěvky: 939
Registrován: 17 dub 2007, 00:00

#4 Příspěvek od hakamusai »

dudo02 píše:... Napis mi prosim ta dovod, preco je lepsie pouzit pre ZCD PORTB0.

Protože je na něm vstup pro externí přerušení.
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#5 Příspěvek od frpr666 »

Tady přijde vhod programovací jazyk C. Jeho silná stránka je, že si velký problém rozepíšeš na menší části, procedury nebo funkce. Jednotlivé funkce potom voláš ve vhodný čas.
Rozepíšeš si co má největší prioritu, např. čekání na ZCD bude důležitější než multiplex displeje.
Uživatelský avatar
dudo02
Příspěvky: 1003
Registrován: 27 úno 2007, 00:00

#6 Příspěvek od dudo02 »

No zatial pisem v asm. - priamo v MPLAB. Nie som si isty, ci je dobry napad zacat s dalsim jazykom...
Mam co robit uz teraz...
Uživatelský avatar
lesana87
Příspěvky: 4404
Registrován: 20 zář 2014, 00:00

#7 Příspěvek od lesana87 »

Dekompozice na menší části se dá dělat snad v jakémkoliv programovacím jazyce, assembler nevyjímaje, to není žádná silná stránka C.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#8 Příspěvek od Atlan »

dudo02 píše:Ten 3 displej bude stale zobrazovat 0. Pokial sa zvoli vhodny rezistor,nevidim ziaden problem-alebo mi nieco unika?
Ano led su zapojene paralelne to robia len cinania.

No to by som mohol rovno snimat LOG 1 na vstupoch RB a tym by mi odpadli pull-upp rezistory. Alebo by mohol byt nejaky dalsi problem?
ten 4k7 a 100n ti zarucia to ze uP sa nebude spravat nepredvidatelne,res to bude korektne fungovat podla programu a nebude z toho nahodny generator

Napis mi prosim ta dovod, preco je lepsie pouzit pre ZCD PORTB0.

ano sposobi ti to prerusenie v ktorom obsluzis casovac pre ovladanie casovych sluciek bodovania, a v hlavnej slucke mozes obsluhovat tlacidla a displej
hakamusai
Příspěvky: 939
Registrován: 17 dub 2007, 00:00

#9 Příspěvek od hakamusai »

Programovací jazyk lze použít i Pascal. (mám docela dobrý zkušenosti s PMP Pascal).Ve vyšším programovacím jazyce je kód přehlednější.Pokud ASM zvládáš dobře,tak je to skoro jedno(naopak lepší).Některý nástroje jako třeba MikroPascal (MikroC ap.) má hotový rutiny.Programování je jednodušší,ale za cenu většího kódu.
Uživatelský avatar
Celeron
Příspěvky: 20517
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#10 Příspěvek od Celeron »

Ono je bezpodmínečně nutný odpálit svařování v maximu sinusovky? (jak tam píšeš zero +1/4)
Pokud můžeš odpálit v nule, program si dost zjednodušíš použitím S26MD02 nebo podobnýho SSR místo optočlenu a on sám přímo odpálí triak v nule sítě. A ještě nebudeš muset bastlit detektor průchodu nulou.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
Habesan
Příspěvky: 7377
Registrován: 12 led 2009, 00:00
Bydliště: Plzeňsko
Kontaktovat uživatele:

#11 Příspěvek od Habesan »

Když ono to Spínání triakem v maximu je tak lákavé.
Škoda jen, že trafo není ideální cívka.
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
Uživatelský avatar
dudo02
Příspěvky: 1003
Registrován: 27 úno 2007, 00:00

#12 Příspěvek od dudo02 »

Atlan píše:Ano led su zapojene paralelne to robia len cinania.
No aj cinania robia nieco dobre...Nechcem sa s tebou hadat, urcite vies o com pises, len by ma zaujimal dovod, preco je paralelne zapojenie LED nevhodne.

Atlan píše:ten 4k7 a 100n ti zarucia to ze uP sa nebude spravat nepredvidatelne,res to bude korektne fungovat podla programu a nebude z toho nahodny generator
Cize vnutorne pull-upp rezistory mozu sposobovat problemy?Je to kvoli ich hodote (10k) ,alebo v niecom inom?


Atlan píše:ano sposobi ti to prerusenie v ktorom obsluzis casovac pre ovladanie casovych sluciek bodovania, a v hlavnej slucke mozes obsluhovat tlacidla a displej
Tak nejak rozmyslam aj,ale stale narazam na problem,ze pri odskoceni z hlavnej smycky kvoli bodovaniu displej zhasne a rozsvieti sa az pri navrate do hlavnej smycky...
hahamusai píše:Pokud ASM zvládáš dobře,tak je to skoro jedno(naopak lepší)
No dobre urcite nie, ale zacinam tomu rozumiet...Pokial to porovnam s dobou pred par mesiacmi, kde som bol uplne strateny, tak nejaky progress tu je...Prave mi vsade odporucovali, najprv asm(aj ked je zlozitejsie) a az potom nejake vyssie jazyky. Teraz by som mal v tom asi riadny hokej, keby som zacal s niecim vyssim...Profesionalne sa venujem silnoprudu a uz to robim dost dlho ,cize tam je to uz vsetko automaticky.Potrapit si troska mozgove zavity je super..Ja sa nedokazem nudit a v tomto pocasi sa toho vela robit neda.Ale musim uznat, ze cas pri tejto forme relaxu bezi neuveritelne rychlo
Celeron píše:Ono je bezpodmínečně nutný odpálit svařování v maximu sinusovky? (jak tam píšeš zero +1/4)
Pokud můžeš odpálit v nule, program si dost zjednodušíš použitím S26MD02 nebo podobnýho SSR místo optočlenu a on sám přímo odpálí triak v nule sítě. A ještě nebudeš muset bastlit detektor průchodu nulou.
No co som docital ja, tak odpalenie v nule je neziaduce a idealne je v maxime...Pozdejsie, sem hodim celu schemu aj so silovou castou.Inac to spinanie v maxime som riesil s Procesorom(uzivatel fora) v tejto teme http://www.ebastlirna.cz/modules.php?name=Forums&file=viewtopic&t=54471&postdays=0&postorder=asc&start=30.
Přílohy
bodovacka.png
(21.9 KiB) Staženo 135 x
Naposledy upravil(a) dudo02 dne 20 pro 2015, 06:42, celkem upraveno 1 x.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#13 Příspěvek od Atlan »

Pullup vyskusaj a uvidis a maju tusim 47k. V preruseni budes 100us ked za tu chvilu zbadas ze displej zhasne tak si borec.
Uživatelský avatar
dudo02
Příspěvky: 1003
Registrován: 27 úno 2007, 00:00

#14 Příspěvek od dudo02 »

Pull-up rezistory mam vyskusane na scheme vyssie a zapojenie na kontaktnom poli funguje bez problemov - teda ja som ziadne nepostrehol.

S tym prerusenim mi to nie je jasne :? .
V prvom programe som snimal prechod nulou a pri aktivovani vstupu som zavolal delay 1/4 T a az potom prebehlo samotne zvaranie...

Moje riesenie je v prilohe, ale displej by bol pocas zvarania vypnuty...
Přílohy
bodovacka led.png
(19.18 KiB) Staženo 127 x
Uživatelský avatar
Celeron
Příspěvky: 20517
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#15 Příspěvek od Celeron »

Nevím, co přesně umí konkrétní PIC, ale pokud má možnost přerušení od vnitřního časovače a přerušení signálem zvenčí jako Atmel 89C51, tak bych to řešil takhle:
1/ základní smyčka programu - inicializace, veškerý nastavování hodnot, obsluha tlačítek, sekvence postupu svařování, odčítání registru doby svařování od přerušení časovače, zapínání a vypínání triaku, změna hodnoty pro displej.
2/ přerušení od volně běžícího časovače cca 1mS - zobrazení další číslicovky, odčítání 1 od registru doby svařování.
3/ přerušení od detektoru zero (nejvyšší priorita) by se povolovalo jen při požadavku na svařování, po 1. detekci by se zakázalo. Nastavilo by se pouze 5 do registru délky svařování časovače. (čekání na maximum sinu).

Po 5-ti přerušeních od časovače by v hlavním programu zapnul triak, nastavila se do registru doby svařování potřebná hodnota a začalo by se odčítat z registru délky svařování těch například 500 (500mS) přerušení od časovače. Mezi tím by se normálně multiplexoval displej. Ten multiplex nemusí probíhat při každým přerušení od časovače, ale třeba každý čtvrtý.
Na 8951 by to nemělo být moc složitý ani v ASM, spoustu částí programu bych mohl použít z jiných dřívějších projektů.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“