Häiretekindlad süsteemid robootikas
#1
Ehitan mootorikontrollerit robotile. Tekkis probleem seoses häiretega.

Mootorikontrolleri elektroonika koosneb juhtosast ja 24V-ga ühilduvast üldisest toitesüsteemist. Juhtosa ja protsessor saavad toite +5V otse USB-st ja on kõigest ülejäänust optiliselt lahtisidestatud. Ka maad ei ole kokku ühendatud.

24V jõuosa sisaldab küllaltk võimast mootorit (voolutarve ligikaudu 3 - 4A) ja mõningaid releesid, mis seda juhivad. Praegune mootor on ainult testimise eesmärgil. Hiljem tuleb sinna tunduvalt suurem isend. Kõik see lugu (väljaarvatud mootor) paikneb metallist karbis.

Probleem seisneb selles, et kui neid releesid lülitada või teha 24V toitesüsteemis muid sädelahendusega lõppevaid toiminguid, siis juhtprotsessori töös ilmnevad häired.

Ossiga on näha kõiki lülitamise hetki protsessori 5V toiteahelas, ehki seal olin arvestanud juba varem sellise võimalusega ja vajalikesse kohtadesse piisavalt kondensaatoreid lisanud.

Seega otsin erinevaid ideid ja lahendusi antud süsteemi töökindlamaks muutmiseks. Teemas võib arutada ka teisi robootikas esinevaid häireid ja ka "Mikrokontroller häireterikkas keskkonnas" temaatikat.
Vasta
#2
Pane siia võimalikult täpne skeem ning tee layoudist pilt. Ma tean ilmselt, mis sel värgil viga on, kuid pilti ja skeemi on vaja et näpuga näidata.
Vasta
#3
Lisasin pinnalaotuse, kuhu üritasin muu vajaliku kah peale kanda.

[Pilt: DropBox?authkey=Gv1sRgCOzX66DtmJqzgQE&pl...5850265666]

MCU moodul on eraldi. See kujutab endast plaati, kust kõik vajalikud viigud on otse pistikutesse välja toodud. Otse sinna moodulisse jookseb ka USB, kust saab toite. Kiibid on kõik optronid. NC (not connected) tähendab pole hetkel kasutuses.

Polegi varem süsteeme, kus lähedal nii suured voolud varem teinud. Eks ta praegu üks prototüüp ole rohkem.


Manustatud failid Pisipilt (pisipildid)
   
Vasta
#4
Minu meelest jooksevad prose ja jõuosa rajad pikalt lähestikku - nii need häired sisse tulevadki. KaruTEC leiab kindlasti veel kahtlasi kohtasid.
USB-st otse prose toitmine pole ka hea mõte. Vähemasti 1 LC-filter võiks vahel olla. Kui prose kannatab, võib proovida talle üle nt. 3,3V LDO toidet anda. Katseks.

PS. See 4A polegi nii eriti suur vool kui võrrelda nt. lennumudelite kiiruseregudega. TREX500 regu logi näitab keskmiselt 60A voolu, tipus 80A. Ja seda on veel vähe...
6-purgine 2,2A/h aku tõmmatakse lohku kuskil 6minutiga...
Vasta
#5
Eks siis kui seda kavandasin, väga häirekindlusele ei mõelnud. Pigem kasutasin optrone kui lihtsat vahendit 5V nivoolt juhtsignaalide üleviimiseks 24V osasse.

USB toiteosa sisaldab loomulikult LC filtrit ja ESD kaiset. Prose toide on 3,3V ja vastav regu vahel. Tegu ARM tuumaga isendiga.

Pigem vool ei ole nii väga probleem. Probleemiks on siiski kontaktoride lülitamisel tekkiv jama (seal tekib alati mingi intensiivsusega sädelahendus).

Seda, kui suur vool sealt õiges konditsioonis läbi hakkab jooksma pole veel hetkel teada. Jõuosa arvestasin igaks juhuks 80A-ga pidevat.

Just sädelahenduste poolt tekitatud häired kipuvad igale poole edasi kanduma. Eks ma veel katsetan erinevate filtritega ja ka proovin konded kontaktoride klemmide peale visata. Võibolla saab vähemaks.

Hetkel huvitavadki tegelikult erinevad võtted sädelahenduste mõju ja häirete vähendamiseks. Ega see hea ei ole, kui need mööda toitesüsteemi rändavad.

Eks plaadi disaini pean kah kunagi paremaks tegema. Niigi sinna juba igasugust läbu juurde riputatud, mida algselt ei olnud kavandatud. Plaan siis ka optronide alune radadevabaks jätte ja jõuosa võimalikult kaugele juhtosast viia.
Vasta
#6
Asi hakkab huvitavaks minema. Tegin selle seadmega terve rida teste.

Nende käigus selgus, et kontrolleri USB osa kokkujooksutamiseks piisas, kui eelpooltoodud trükkplaat asus kuskil releede mooduli lähedal. Häirekindlus oli küll veidike tõusnud. Siiski kolmest lülitusest kontaktoriga piisas.

Kui selle plaadiga ühendada ükskõik milline toitejuhe (+24V või ka üldmaa), siis tekkisid anomaaliad praktiliselt iga lülitusega.

Mikrokontrolleri plaadi peal istub siis LM3S5632. Seda, et sellel USB kontroller veidi nõrk on, sellest olen teadlik. Probleemi on ka erratas mainitud.

Eks katsetan mõningaid tekkinud ideid veel. Kõike kontaktivabaks teha nagu päris ei tahaks, ehki usun, et see lahendaks selleks korraks probleemi, kui elektroonika osa jätta samaks.
Vasta
#7
(26-05-2010, 02:36 PM)Digirebane Kirjutas: Asi hakkab huvitavaks minema. Tegin selle seadmega terve rida teste.

Nende käigus selgus, et kontrolleri USB osa kokkujooksutamiseks piisas, kui eelpooltoodud trükkplaat asus kuskil releede mooduli lähedal..

Ah et lausa indutseeritud häirest piisab? Relee kontaktidega pannakse paralleeli RC ahel. Paljas konde pole hea. Samuti on kasulik organiseerida asi nii, et lülitus toimuks ilma vooluta olukorras.
Kas asja jooksutab kokku kommuteeritav suure voolu ahel või lihtsalt relee mähisel tekkiv pulss. Skeemis on sul kaitsedioodid olemas aga kas ka plaadile joodetud ?

Kas mudelite kiiruseregusid ei annaks kasutada - täiesti kontaktivabad.
Vasta
#8
Tundub, et tolle ARM-i USB-kontroller on ebanormaalselt vastuvõtlik välistele häiretele, mis on ka antud probleemi tegelik põhjus. Tegu pigem vist seda marki prosede iseärasusega, kui apsakaga plaadi disainis. MCU plaat on tavaline tööstuslikult valmistatud kahepoolne, seega lisa ground-planee ei ole.

Jõuahel koosneb mootorikontrollerist, mille abil toimub suuna ja kiiruse reguleerimine. Need releed on kaitselülituse osa. Kui liikuv süsteem jõuab lülitini, et siis igasugustest kontrolleritest sõltumatult mootor seiskuks.

Vooluta olukorras (mootor seisab) ja väikestel kiirustel toimib kõik ideaalselt. Siis võib neid releesid klõpsutada lõpmatult.
Vasta
#9
Toide ja maa on täiesti jubedalt ruuditud.
Mõistlik oleks teha uus plaat ground planega, sul on top layer niikuinii praktiliselt tühi, sinna teedki. Kõik maaotsad otse plane külge, ei mingeid radasid.
Split-ground on jube bullshit, ära seda kunagi kasuta, ehkki vahel tundub et oleks nagu hea mõte.
Toiterajad vea nii: toitepistiku juurde üks suurem lüüt, selle jala küljest läheb üks rada jõuosa juppidele ja teine rada mõistuse toiteregullile.
Igale kivile paralleelselt toitega üks 100n kondekas, kui on DIP kivid siis võta jalgadega konde ja pane "diagonaalis" peale, hoiad natuke plaadiruumi kokku.
Kõik digisignaalid tuleb kergelt termineerida - vastuvõtvasse otsa pane nt. kilone takisti. Kõik välised digisisendid varusta RC ahelaga - nt. 470 oomi jadamisi, 100n paralleelselt ja koormuseks veel 10k takisti paralleelselt. Optroneid ei pea kasutama, kui kogu kola on ühe robot küljes.
Kiirete digiahelatega (SPI) ei tohi panna jadamisi takistit, siis on p****
Releedele paralleelselt otse jalgadele vastudiood, ei pea olema midagi erilist, 1N4007 käib küll (see diood ei pea "kannatama jubedat laksu", dioodi korral ei tekigi mingit ülepinget).

Kui kasutad MOSFETe, siis võib gate takistit suurendada, väga kiire lülitamine tekitab häireid. Kui on nt. mingi transs, mis lülitab mootorit sisse-välja aga PWMi ei tee, siis võid rahulikult panna kilose gate takisti. Igaks juhuks tõmba gate paralleelselt vastu maad 100k takistiga, muidu (kui nt. proged juhtotsa kogemata sisendiks) võib huvitavaid anomaaliaid ja lühiseid tekkida, MOSFET jääb lolli seisu.

Ja siis töötab kõik nagu kellavärk. Ei ole vaja häireid summutavaid ahelaid (LC jms.), need on kõrgepingeliste jõuelektroonikalahenduste jaoks. Igatsorti "abiahelad" on sama nagu oleksid munepidi sahtli vahel ja sööksid valuvaigisteid. Probleemi algallikas tuleb korda teha, mitte sümptomitega tapelda.
Ja veel täienduseks sinu viimasele postitusele: valesti tundub Smile
Been there done that. Probleemi algallikas on:

MCU plaat on tavaline tööstuslikult valmistatud kahepoolne, seega lisa ground-planee ei ole.

Jõudu !
Vasta
#10
Tänx. Tulemustest annan kunagi teada, kui tööle saan. Igatahesh senine ideoloogia lendas täiega...

(26-05-2010, 09:32 PM)KaruTEC Kirjutas: Toide ja maa on täiesti jubedalt ruuditud.
Mõistlik oleks teha uus plaat ground planega, sul on top layer niikuinii praktiliselt tühi, sinna teedki. Kõik maaotsad otse plane külge, ei mingeid radasid.
Split-ground on jube bullshit, ära seda kunagi kasuta, ehkki vahel tundub et oleks nagu hea mõte.
Toiterajad vea nii: toitepistiku juurde üks suurem lüüt, selle jala küljest läheb üks rada jõuosa juppidele ja teine rada mõistuse toiteregullile.
Igale kivile paralleelselt toitega üks 100n kondekas, kui on DIP kivid siis võta jalgadega konde ja pane "diagonaalis" peale, hoiad natuke plaadiruumi kokku.
Kõik digisignaalid tuleb kergelt termineerida - vastuvõtvasse otsa pane nt. kilone takisti. Kõik välised digisisendid varusta RC ahelaga - nt. 470 oomi jadamisi, 100n paralleelselt ja koormuseks veel 10k takisti paralleelselt. Optroneid ei pea kasutama, kui kogu kola on ühe robot küljes.
Kiirete digiahelatega (SPI) ei tohi panna jadamisi takistit, siis on p****
Releedele paralleelselt otse jalgadele vastudiood, ei pea olema midagi erilist, 1N4007 käib küll (see diood ei pea "kannatama jubedat laksu", dioodi korral ei tekigi mingit ülepinget).

Kui kasutad MOSFETe, siis võib gate takistit suurendada, väga kiire lülitamine tekitab häireid. Kui on nt. mingi transs, mis lülitab mootorit sisse-välja aga PWMi ei tee, siis võid rahulikult panna kilose gate takisti. Igaks juhuks tõmba gate paralleelselt vastu maad 100k takistiga, muidu (kui nt. proged juhtotsa kogemata sisendiks) võib huvitavaid anomaaliaid ja lühiseid tekkida, MOSFET jääb lolli seisu.

Ja siis töötab kõik nagu kellavärk. Ei ole vaja häireid summutavaid ahelaid (LC jms.), need on kõrgepingeliste jõuelektroonikalahenduste jaoks. Igatsorti "abiahelad" on sama nagu oleksid munepidi sahtli vahel ja sööksid valuvaigisteid. Probleemi algallikas tuleb korda teha, mitte sümptomitega tapelda.
Ja veel täienduseks sinu viimasele postitusele: valesti tundub Smile
Been there done that. Probleemi algallikas on:

MCU plaat on tavaline tööstuslikult valmistatud kahepoolne, seega lisa ground-planee ei ole.

Jõudu !
Vasta


Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 1 külali(st)ne