# CNC vadība / mehānika >  Sešfāzu soļu motora vadības modernizācija.

## Vikings

Šīs diskusijas aizsākums meklējams lielajā CNC topikā šeit
Mosfet, par aizsardzību - laikam būsim viens otru nedaudz pārpratuši, līdzīgu aizsardzību iesakumā arī biju domājis - ir pārslodzes impulss no komparatora, tas nonāk līdz smadzenei (Alteras MAX II), kura momentāli atslēdz izejas, padod uz vadības bloku kļūdas signālu un saglabā izejas izslēgtas, līdz no vadības bloka pienāk reset signāls, kas atjauno izejas tranzistoru normālu darbību. Princips jau tas pats vien sanāk - isslēguma gadījumā momentāla izejas atslēgu izslēgšana.
Skaidrs, par Vref stabilizatoru izmantošu TL431.
Šodien nesanāks, bet rīt droši vien pabeigšu arī plates zīmējuma projektēšanu, tad ielikšu to plašakai apskatei.

----------


## Mosfet

Sarāķini laiku no Rsense impulsa lidz MaxII  ieejai.Atceries nekas nenotiek momentāni. Un Mosfeti ir ļoti jūtigi.

----------


## Vikings

Nu ja ņemam kritiskos parametrus - Rieejas 47K, Cieejas 33nF, komparatora aizture 2us, pieņemam, ka signāls līdz nostrādāšanas slieksnim pieaug 5RC laikā tad sanāk nedaudz zem 8ms. Unn...ko tālāk ar šo skaitli?

Beidzot izprojektēju plati. Projektējot centos maksimāli atdalīt jaudas daļu no ciparu daļas, lai lielās sprieguma izmaiņas jaudas daļā neietekmē ciparu daļā notiekošo. Barošanas štekeris ir kreisajā malā vidējais lielais, malējie ir motoram. Vadības štekeris atrodas augšējā kreisajā stūrī. Jaudas tranzistori labajā malā, current sense rezistori - pa kreisi

----------


## Mosfet

Max laiks aizsardzības nostrādei vjadzētu būt līdz 50 mksek. Min ap 10 mkSek.

Par plati, īsumā, jaudas čeļā  vēlams neko neveidot 90 grādu lenķī,veidot ar pludlīnijām. Barošanas kondiņu šuntēt ar keramiku 0,1 -0,47 mkf, un ieteiktu vēl ielikt supresora diodi piem.1,5ke91ca. Un kur RC dv/dt ierobežošanai, pie motora? pārējais normāli,

----------


## Vikings

> Un kur RC dv/dt ierobežošanai, pie motora?


 Njā, par šito nemaz nepadomāju... Kam tieši dv/dt jāierobežo? Tranzistoram? Bet tranzistora datasheetā neatradu šo parametru. Tur bija norādīts tikai dv/dt iebūvētajai diodei. Pēc kā izvēlēties R un C?

----------


## Mosfet

Pie lieliem dv/dt tranzim strādājot uz kompleksu slodzi var rašties problēmas Impulsa frantē ir vērojams izmetienie, lai slāpētu tos lieto piem RC snabber network. Aprēķins visai sarēzģits bet praktiski 0,1 -0,22 mkf kondensators virknē ar 2 vai vairāk watīgu pretestību. Tavā gadījuma ap 10 omiem.  Vēttību piedzen pēc oscilogrāmmām. RC pret zemi. RC elementi ar mazu induktivitāti.Info par šo lietu ir  grāmatās un app notes.Sevišķi nozīmiga lieta ir tiristoriem.
Paskatijos šorīt vēl plati nu gribetos R sensi tuvak pie Mosfetiem Max 1 colas attaluma.Ceru ka neaizmirsi katras mikrenes barošanu kājas bloķet ar keramikas kondiņu,Plati var novētēt tikai ja tur kopiju rokās.

----------


## Vikings

OK, plati pielabošu, pielikšu RC ķēdes.
Nesaprotu, kādēļ likt Rsense tuvāk pie tranzistoriem? Tranzistors sanāk pie +65V, rezistors pie masas un starp viņiem motora tinums, tā kā ar celiņu viņi nav savienoti. Tādēļ arī neredzu iemeslu satuvināt viņus abus. Vai varbūt ir kāds cits iemesls?
0,22uF kondensators paredzēts gandrīz katrai mikroshēmai.

----------


## Mosfet

Parazitāras kapacitātes un iduktivtātes. Tas tomērir mērāmais elements.Otrkārt garāks cēls lielāka aktīva pretestība.

----------


## Vikings

Tātad gribu vēlreiz noprecizēt - vai šādi jāliek RC ķēde? Ja loģiski padomā, tad spriegums momentā neuzleks uz Vmax, bet paies neliels brītiņš, kamēr caur R rezistoru uzlādēsies kondensators C, kas arī ietekmēs sprieguma augšanas ātrumu.

----------


## Vikings

Lūk, jaunā plates versija.
Kas jauns:
1. Par abu atbalsta sprieguma avotiem izmantots TL431 stabilizators.
2. Pieliktas RC ķēdes shēmas izejā.
3. Sprieguma slāpēšanas diode paralēli +65V līnijai.

----------


## Vikings

*Tās ir klāt!*

Pa vakardienu vienu jau samontēju, tagad strādāju pie softa un regulēšanas.

----------


## Epis

Baigi smuki tā plate izskatās. 
Pārbaudījis plati darbībā jau esi ??
Man tie konektori patīk . lakam tie ir tādi paši kā kompja barošanas blokam.

----------


## Vikings

Konektori pirkti Ormixā - tajā veikalā, kas pie VEF tilta pašā Barona ielas sākumā zem trepēm.
Jā, plate darbojas godam, kļūdas neesmu pieļāvis, bet ir viena reāli riebīga konstruktīvā risinājuma kļūda - diodes vajadzēja likt uz tā paša radiatora uz kura stāv tranzistori, jo viņas karst stipri vien vairāk kā traņi. Biju domājis, ka diodēm pietiks vietas priekš dzesēšanas, bet ir par maz. Lūk, kļūda no kā mācīties. Šobrīd apsveru domu kad būšu atradis normālus radiatorus diodes pārvietot uz traņu radiatora un savienot atsevišķi.
Plati izmēģināju no 24V barošanas, pie pazeminātas strāvas stabili izdevās sasniegt aptuveni 650 Hz soļa signālu, kas atbilst aptuveni 160rpm. Kamēr nebūs diodēm normālas dzesēšanas, negribas celt lielāku strāvu, pārkaršana var beigties bēdīgi.

----------


## GuntisK

Kurā kantorī pasūtīji plates? Cik tas izmaksāja, ja nav noslēpums? Forši izskatās tie konektori.

----------


## Epis

kā tu shēmā esi apzīmējis tās diodes (nav gadijumā no D1 - D6 tās lielās kas līdzīgas tranzistoriem (tikai ar 2 kājām!) ?

----------


## Vikings

Gunti:
Plates pasūtīju Takorā. Plate abpusēja abās pusēs maska. Plate izmaksāja 10Ls. Zinu, ka Takorā kvalitāte ir zemāka nekā Almiko, bet attieksme pret klientu Takorā viennozīmīgi ir labāka. Radiotehnikā sūtīt vēl neesmu mēģinājis.
par konektoriem runājot - Ormixā viņi ir diezgan plašā izvēlē. Tikai jāatceras, ka lai kvalitatīvi uzspiestu vadam kontakta dzelzīti nepieciešamas speciālas stangas, kuras maksā ap 15 Ls.
Epi:
Jā, tās ir tās pašas, kuras jautāji. Tuvākajā laikā izlikšu arī pilnu shēmu, plati un kad būs gatavs - arī smadzenes kodu STEP/DIR režīmam kādā to pašreiz darbinu.

Šovakar vēl paeksperimentējot ieguvu max soļa frekvenci aptuveni 1,6kHz. Strāvu palielināju gandrīz līdz nominālajiem 3A, šobrīd pie diodēm pieliku kompja ventu lai dzesē.
Vēl interesanti - vadības vadi man iet tuvu gar vadiem, kas iet uz motoru. Ceļot uz augšu strāvu bija tā, ka acīmredzot lauks no motora vadiem sāka darboties uz vadības vadiem un pēkšņi tika izdarīti soļi nevajadzīgajā brīdi vai izejās signāli sāka raustīties. Tad aizvietoju prastos vadības vadiņus ar ekranētu 6dzīslu kabeli un šī problēma pazuda.
Vēl ir problēma ar aizsardzību, kas nostrādā pie pārāk zemas strāvas, to ar oscilogrāvu pētīšu rīt.

----------


## GuntisK

Principā ar tiem motoriem var sasniegt 50KHz step frekvenci...

----------


## Mosfet

Apsveicu Viking, gatava plate labi izskatās.
Ir vairāki jautājumi
1, Kas notiek ar motoru kad palielini solā  frekvenci ?
2 Vai esi saktījies oscilogrammas uz R sense?
3. kas tās par    diodēm kas slāpē pret EDS?

Pilna solā rezīma max impulsafrekvence ap 20khz,tālāk griezes momenta izzušana un silsāna. Nu nezinu vai 50 khz ir iespējami.

----------


## Vikings

Mosfet:
1. Uz zemām frekvencēm motors griežas spēcīgi, paaugstinot soļa frekvenci ir tāds brīdis, kad motoru var apturēt saspiežot vārpstu ar pirkstiem, paceļot vēl nedaudz augstāk motors rūc aptuveni soļa frekvencē, bet stāv uz vietas.
2. 
t=10us/rūtiņa
U=0,2V/rūtiņa
3. HFA08TB60

Gunti:
Ja var ticēt šeit rakstītajam tad max ir 16kHz. Un tā kā man PWM frekvence ir 20kHz tad vairāk par to nu noteikti dabūt es nevaru. Lai gan šo frekvenci brīvi varu mainīt.

Ir trīs novērojumi, par kuriem man interesētu komentāri:
1. Patērējamā fāzes strāva. Pieslēdzu vienu fāzi ampermetram un noregulēju 3A kā teikts motora datos. Tad intereses pēc pamērīju kopējo patērēto strāvu un nesapratu kādēļ kopējā patērējamā strāva svārstās no 1,2 līdz 1,8A, ja teorētiski atkarībā no tā cik fāzes ieslēgtas (2 vai 3) vajadzēja svārstīties 6 - 9 A. Tad pamērīju strāvu caur current sense rezistoru, rādīja 0,6A. Vēlreiz pamērīju fāzes strāvu - 3A, tad pamērīju vēl citu fāzi - tur arī rāda 3A. Nesaprotu kādēļ tā, varbūt tas ir saistīts ar pretEDS? Teorētiski taču nav iespējams, ka trīs tinumos plūst 3A, bet kopā patērē 1,9A.
2. Kad mēģināju shēmai iebarot 70V barošanu sāka kūpēt snubber network rezistori, lai gan pārējā shēma strādāja normāli. Biju ielicis 15Om un 0,22 uF pēc augstāk ieteiktā. Kad bišķi parēķināju, man sanāca, ka pie 20kHz un 70V barošanas uz rezistora izkliedējas aptuveni 27W lai gan man stāvēja 2W rezistori. Sāku meklēt info par snubber network. Uzdūros šai te lapai. Pēc aprēķiniem man sanāk, ka Rmax=23Om, tā kā R der, bet ja pieņemam, ka dv/dt ir, piemēram, 5V/ns (pēc datasheeta 8,1V/ns) tad C sanāk 0,6nF, kas ir ievērojami mazāk nekā 0,22uF. Vai esmu kaut kur kļūdījies?
3. Mosfet, kas jāņem vērā oscilogrammās piedzenot snubber network un current sense ieejas filtrus? Pirmajā gadījumā - droši vien frontes stāvums un lai nebūtu izsitienu ne uz augšu, ne leju, otrā gadījumā lai nebūtu trokšņu?

----------


## GuntisK

Krievu džeki uz pilnīgi pārveidotām shēmām un izmantojot citu spoļu pārslēgšanas sekvenci, ir sasnieguši 50KHz frekvenci. Pašlaik RAN kur tie sešfāznieki viņu aparatūrā ir papilnam izmantoti, viņi demontē vecos vadības blokus un liek tos jaunos, uzlabotos. Kā jau krievu tehnikai raksturīgi, ka bieži vien atklājas pārsteidzošas lietas. Ar parastajām shēmām vairāk par 20KHz jau nesasniegt...

----------


## Mosfet

Komentārs oscilogrammai
1. Ton par mazu vismaz 45%, bildē apt 20%
2. Netūrumi uz umpulsa ir manuprāt parazitāra LC un paīndukcija ( varbūt grēko nedaudz draiveris - ieeja tam rc 47-220 pF ar 220 -470 om. subberu links ir Ok , viss pareizi, bet ŗeķini klāt vēl vadus ieteiktu 0,022 -0,015 mkf +22 -47 om. Otrkārt pamaini PWM frekvenci 17 -22 khz, bet skaties arī zudumus.
3 Mosfets veras ciet nedaudz par lēnu vai nu plate vai Gates ķēdē par lielu R ( pamatsimtomi).
4. Paspēlējis ar PWM frekvenci jo krievu bleķis ir dažāds.

Par strāvas iestādījumu. Nevaru komentēt nezinot ampermetra tipu un mērīšanas vietu, 
signāls nav sīnusa formas, un darbojas PWM.
Daru es tā izslēdzu PWM un līdzstrāvas režīma uz R sense mēru spriegumu čeļu barošanas U, virknē līdzstrāvas ampermetrs kad tas rāda 2,8 -3,1A pierakstam U sense, tādu pašu vērtību padod U ref komparatoram ,slēdzam PWM , U bar nomināls  vai nu ar oscili vai maiņsprieguma voltmetru kas ŗeķina faktisko vidējo U vērtību pārbaudam U senses vērtību +/- 10 % ja vajag koriģē 

Jā korīģejam filtrus pēc oscilogrammas tāpat ari snubberus.izmetumu laiki noteikti ir īsāki par Ton komparatoram , bet drošības pēc pārbaudām pēc filtra oscilogrammu.Parasti es iesākumā ŗeķinu Rc filtru PWM frekvence +5 khz .


GuntiK vai tu esi redzējis kas notiek ja pilna soļa rezīmā padod 50 khz , pat 35khz PWM ir tādi zudumi, tāpēc varbūt dod infu kur tas ir, jo ne viss ir zelts kas spīd. 

P.S. GuntiK kāda ir tava foruma adrese?

----------


## GuntisK

To Mosfet: tas draiveris nebija FULLSTEP modē, linku diemžēl nevaru vairs atrast.Var jau būt ka tas tik tāds fufelis, kas viņu zina...   ::  Es i pats šaubos, vai FULLSTEP režīmā var būt kas puslīdz normāls. Turklāt uz tādām frekvencēm....   ::  Nesen pats mēģināju iedarbināt soļu motoru fullstepā pie 2Khz-pīkst un viss.   ::  
Adrese bija: http://latmatic.id.lv/ . 
Offtop: drīzumā sākšu lodēt kopā L297+L298 bipolārā soļu motora draiveri,, kā tu ieteici.   ::

----------


## Vikings

Šodien nomainīju snubberu kondensatorus uz 22nF un uzreiz tāda bilde:

Tātad problēma ar lēni krītošo fronti atrisināta - vienkārši snubber ķēde tik ļoti pazemināja spireguma krišanas ātrumu, ka tiešām varēja likties, ka lauķis veras ciet pārāk lēni.
PWM paeksperimentēšu vēlāk. Un lai strāvu mērītu šobrīd nav pieejams nopietns reostats. Vispār strādājot pie šīs vadības sāku domāt par kārtīga barošanas bloka un impulsu ģeneratora iegādi.
Aiz current sense RC filtra izsitienu principā nav.
Kas ir šie minētie zudumi? Jaudas zudumi uz motora induktivitātes rēķina vai kas?




> varbūt grēko nedaudz draiveris - ieeja tam rc 47-220 pF ar 220 -470 om


 Lūk šo teikumu nesapratu - par kādu RC iet runa?

Un vēl vienā krievu forumā atradu šādu tekstu par pretEDS diožu uzstādīšanu.




> Диоды ставить обязательно, но через стабилитрон,
> причем напряжение стабилитрона надо выбирать таким,
> чтоб величина выброса не превышала пробивного напряжения ключа.


 Pret EDS ir viena no lietām, kas man ir vislielākajā miglā tīta saistībā ar motoru vadību. Kā lai zin tā strāvu, spriegumu, ilgumu, kā tas atkarīgs no darba strāvas, motora induktivitātes, varbūt zinot motora induktivitāti var uzzināt kādu lādiņu izkrāj spole un tad no šī lādiņa var aprēķināt strāvu un ilgumu, kas nepieciešams lai šo lādiņu neitralizētu? Jāpapēta...

----------


## Mosfet

Nu bilde ir labāka bet T on ir par īsu. vai to nosaka vadības loģika?
Par zudumiem:
.Viss atkarīgs no skārda kvalitātes ( piekausējumi, "atkvēļināšana" un utt.
Kā jau krievijas ražojumiem , ta kvalitāte klibo .Ir nācies rokās tuŗet šos motorus, kas neturēja PWM frekvenci virs 14khZ. Silst, griezes momenta straujš kritums. tos tad arī saucu par"zudumiem"- tu liec 3A strāvu un motors uzvedas kā būtu 1A strāvas-vai nu samazini frekveci līdz motors dzied vai lido tas atkritumos.

Rc pirms jaudas draivera lai pavilktu impulsu 
"trapecīgāku", jo tās loģikas ir mazu pārslēgšanas laiku , IR draiveri ir projektēti kontrolieru vadībai vai LS loģikai .

Par stabiltronu un diožu izmantošanu
Tas lietojams low side drivos, pie divlimeņa barošanas kur svarīgi ka pret indukcijas EDS transformētos uz citu spoli, palielinātu lietderību un samazinātu motora silšanu.
Par pret EDS citudien

Paldies GuntiK par adresi.

----------


## Vikings

Ton ir par īsu, jo strāva ir pārāk maza. Sagādāšu reostatu, iestatīšu vajadzīgo strāvu un tad impulsu samēram vajadzētu būt aptuveni 50%. Es mēģināju teorētiski, ja man current sense ir 0,33Om, strāva 3A, tad attiecīgi pie 3A līdzstrāvas efektīvajai Usense vērtībai vajadzētu būt 1V. Uzgriezu Vref komparatoram 1V, bet tad motors karsa ārprātīgi, diodes arī ievērojami karstākas, tādēļ atkal sagriezu teorētiski 1A. Pamēģināšu ar līdzstrāvas paņēmienu, lai gan, manuprāt, rezultāts būs līdzīgs.

Man nav RC ķēdes pirms draiveriem. Un starp CPLD un draiveriem man stāv CD4504 līmeņu pārveidotājs, jo IR2117 ieejas nav TTL, bet nostrādāšanas slieksnis ir aptuveni 0,5Vcc, tātad pie Vcc 12V tas ir 6V. Līmeņu pārveidotājs pārveido no 3,3V uz 12V. Vai šo draiveru "grēkošanu" varētu novērot pētot tranzistoru vadības ķēdes? Nu kaut kādus izsitienus frontēs vai ko līdzīgu? Pamēģināšu.

Par pretEDS man doma bija līdzīga, ka pretEDS enerģiju varētu atdot citai spolei, bet ideju nav kā tieši to izdarīt.

----------


## Epis

vikings:



> Vispār strādājot pie šīs vadības sāku domāt par kārtīga barošanas bloka un impulsu ģeneratora iegādi.


 Kādu impulsa gēnerātoru tu biji domājis (digitālo vai analogo), ja jau tu izmanto CPLD tad ar digitālajiem tač problēmām nevaidzēja būt ! analogie tā ir cita lieta.

----------


## Vikings

Epi:
Problēma ir tajā, ka man vajag pamainīt frekvenci pa nelieliem soļiem. Pielikt pie atsevišķas ieejas analogo signālģeneratoru un likt programmai PWM frekvenci ņemt no šīs ieejas nebūtu nekādas problēmas. Jā, varētu jau taisīt pats savu ciparu ģeneratoru, bet tas prasa laiku un tagad jau tā darba pietiekami lai vienkārši atvēlētu 20Ls ģeneratoram vai to kaut kur aizņemtos.

Pirmie zaudējumi.
Mērīju strāvu current sense rezistora ķēdē atlodējis vienu rezistora izvadu nost. Kad no strādājošas fāzes noņēmu nost ampermetru pēkšņi atteicās divas fāzes. Dīvainā kārtā atklājās, ka nobirušas ir divas IR2117 mikroshēmas. Acīmredzot viņas ir jūtīgas pret pārspriegumiem vai ātrām sprieguma izmaiņām.

Saregulēju strāvu. Darīju pēc Mosfet pamācības - motora tinuma vietā pieliku reostatu, ieregulēju lai caur to plūstu 3A, izmērīju spriegumu aiz attiecīgās fāzes current sense RC filtra un tādu pašu spriegumu ieregulēju uz komparatora ieejas. Rezultāts bija tuvs cerētajam - 0,98V (1V=3A*0,33Om Rsense). Pieslēdzu motoru, šoreiz izdevās iegriezt ar 5kHz soļa frekvenci. Ir problēma - motors karst tā, ka uz viņa zupu varētu vārīt. Tiešām, pēc aptuveni 10 minūšu darbošanās viņš paliek tāds, ka roku nevar klāt pielikt. Arī Rsense un pretEDS slāpējošās diodes ir ļoti karstas. Kādēļ motors tik spēcīgi karst? Ko darīt lai to novērstu?

Šābrīža Ton:

10us/rūtiņa
0,5V/rūtiņa

----------


## Vikings

Šorīt paturpinot iesākto pacēlu barošanas spriegumu līdz 50V. Soļa signālu izdevās uzdzīt līdz 7,5kHz. Bet - karšana ir vēl spēcīgāka. Parokoties pa krievu forumiem uzgāju šo te shēmu, kurā izejas uzbūve ir ļoti līdzīga oriģinālās shēmas izejai. Atšķirība no manas shēmas izskatās ir tāda, ka pretEDS tiek dzēsts nevis visu nodzēšot uz diodes tiešā sprieguma krituma, bet ļaujot izsitienam uzkāpt līdz barošanas spriegumam un tad to ierobežojot. Vai tas varētu būt iemesls karšanai? Ja tā, tad, iespējams, pret motora karšanu varētu palīdzēt katrai diodē virknē ieslēgts pāris  1.5KE33A, kas pretEDS izsitienu ierobežotu aptuveni pie 66V?
Katrā ziņā ir skaidrs, ka vajadzēs arī papildus ventilatorus gaisa cirkulācijai skapī.

Paturpinot par pretEDS.
Pārdomāju lielo atšķirību starp bloka patērēto strāvu un fāzes strāvu, kas mērot atšķīrās gandrīz divas reizes.
Tātad, brīdī, kad spole tiek pieslēgta barošanai, strāva plūst caur tranzistoru un spoli, caur diodi nekas neplūst:

Kad spole tiek atslēgta no barošanas, predEDS impulss rada strāvu caur diodi, bet strāvas virziens caur spoli nemainās:

Tātad, sanāk, ka strāva caur spoli plūst laikā, kad tā ir pieslēgta barošanai un vēl turpinās brīdī pēc tam, kad viņa ir atslēgta. Current sense rezistors mums mēra tikai to strāvu, kas plūst caur rezistoru laikā, kad tranzistors ir ieslēgts. Tad ir jautājums - vai gadījumā patiesā fāzes strāva neatšķiras no tās, kuru es ieregulēju?

----------


## Epis

Ļoti intresanti sanāk ja tu esi nolicis curent sense rezistoru pēc tranzistora lejā tad patiešām tu tīri fiziski nevari nomērīt to strāvu kas plūst caur diodi, atrisinājums būtu nolikt to curent sense rezistoru tieši pirms motora vada iejas (kā jau tu pats rakstīji) (pirms  tranzistora un diodes  ::  tad noteikti kad tu varētu redzēt kā motora pinums izlādējās jo man tā baigi dīvainas likās tavas oscilogrammas ja salīdzina ar manu soļa motora oscila bildi tad tur var redzēt kā motora pinumi pakāpeniski uzlādējās un tad izlādējās a tev tās frontes ir tik assas ka ir tāda sajūta kad motora pinumiem ir baigi zemā pretestība, ja jau tie tik ātri uzlādējās un izlādējās.

Es īsti nevaru saprast kur tavās oscila bildēs ir redzams tas ESD ?? vai viņu varēs redzēt tikai tad kad to curent sense rezistoru pārvietosi ??

Ei Viking ko domā par manu jauno ideju taisīt to jauno lattice fpga plati skaties topikā Analogais MUX, vēlāk būs jātaisa jauns topiks (fpga sadaļā par šito jauno plates ideju  ::

----------


## Vikings

Bet Epi, L298 rezistors ir slēgts tā, ka arī nejūt strāvas plūsmu caur diodēm. Vismaz man tā liekas. Jo strāva caur rezistoru var plūst tikai tad, kad kāds no tranzistoriem ir vaļā, bet pretEDS izsitiens ir brīdī, kad kāds no tranzistoru pāriem aizveras. Arī L298 shēmā pret EDS tiek dzēsts pret barošanas spriegumu, nevis pliku diodi.
Ne jau pretestība ir tā, kas nosaka cik ātri tinums uzlādējas, bet induktivitāte. Konkrētajā gadījumā tā ir 5,5mH.
PretEDS oscilogrammās nav redzams, jo to slāpē diodes. Ja diodes nebūtu, iespējams, no spēcīgā sitiena spoles atslēgšanas brīdī tranzistori var tikt nobeigti. Es domāju, ka tikšu galā rezistoru nepārvietojot, kā nekā jau viss uztaisīts uz gatavas plates, man jau traki liekas tas, ka diodes jāpārvieto uz radiatora. Galvenais tagad tikt galā ar karšanu un vēl dažiem sīkākiem niķiem.

Neapvainojies, bet man reizēm liekas, ka tu pārāk sarežģī vienkāršas lietas. Cik saprotu, tu gribi izmantot iegūto sīnusa enkoderi pamatā lai sinhronizētu ass kustību ar vārpstas apgriezieniem. Tieši šo gribēju tev pajautāt - vai nav vienkāršāk izmantot parastu enkoderi ar kvadratūro izeju un laist to pa tiešo iekšā TurboCNC programmā? Kad nesen sāku ar to iepazīties tad tieši ievēroju, ka viņai ir Spindle encoder A un B ieejas. Tiesa gan - laikam vītnes griešanas komanda G76 vēl nav iekļauta TurboCNC programmā, bet cik saprotu, drīzumā to var gaidīt.
Vairāk par plati - manuprāt, tik atbildīgai lietai kā motoru vadība nevajadzētu izmantot nobīdes reģistrus. Varbūt padomā - katram motoram labāk likt atsevišķu mazāku vadības mikreni un pietiks visam - gan enkoderim, gan motora vadībai. Vai arī uzreiz izmanto tlielāku mikreni - piemēram, savu evalution boardu uz kura stāv BGA mikrene ar pietiekami daudziem izvadiem. Un vēl nesaprotu kādēļ tikai nesen iesākot kodēt Alteru jau gribi pāriet uz Lattice...

----------


## Epis

Jā patiešām man arī viņš stāv netajā vietā   ::  līdz ar to neko redzēt nevar, tādēļ arī  tā oscilogramma bīj tāda dīvaina momentos kad motoram vaidzēja izlādēties. 
tad sanāk kad vaig papildus  curent sense rezistorus ielodēt katrā izejošajā kanālā pirms diodēm un tad laikam varēs  redzēt kas ir ar to ESD.


Laikam tev viking taisība būs jātaisa tā analogā plate priekš sava Fpga dev.kita jo tur ir viss vajadzīgais lai izveidotu labu Oscilu, un būs tā plate jāpielāgo arī tā lai viņu varētu saspraust ar pašreizējo Ep2C8 plati un moš papildus analogajai daļai pielikt klāt arī to SDRAM un Flash 32Mb. 
Un tie lielie ADC ātrumi jau domāti priekš oscila, un tādu vajadzību pēc ātrāka oscila es esu reāli izjutis jau vairākas reizes kad ar 1Msps nepietiek un kanālu skaita trūkumu arī esu izjutis ka ar 2 kanāliem ir pa maz (kautvai šitam pašam motora draiverim un citiem pēdējā laika eksperimentiem ar comparātoriem,Opampiem tur reāli vaig mērīt vairākus kanālus vienlaicīgi lai saprastu kas notiek, bet tie daudz kanālu oscili maksā baigo naudu  ::  un problēma arī ir ar iekšējo oscila atmiņu kas manam paralax oscilam ir ap 1000 provēm(ap 8Kbiti), kas reāli ir baigi maz un tad salīdzināt ar 64 vai 128Mbitiem kur var sabāzt  vairākus miljonu proves nevar, tā būtu pavisam cita lieta + par pieņemamu cenu  :: ,

Man uz to lattice pavilka jo tā Epc2 ir šausmīgi lēta un laba, ar SysDSP blokiem un viņiem tas Micro32 + micro8 Procis ir Open sorce nevis kā Nios II ko bez licenzes nevar ielādēt flash atmiņā  ::   + alterai nav neviena 8 bit proča  ::

----------


## Vikings

Šodien tiku pabakstīt  erozijas mašīnas oriģinālo vadības bloku, atrāvu vienam motoram vienu fāzi un pamērot strāvu tā svārstījās no 2,95 līdz 3,05A. Šobrīd es tiešām nesaprotu kur manā blokā ir vaina - kādēļ patērēto strāvu rāda 3A, bet fāzes strāvu - 7,5A. Stabilitroni samazināt strāvu nepalīdzēja, karst tikai viņi paši. Sāk trūkt idejas, kur rakt, tūlīt pārrēķināšu Current sense RC filtru.
Vai varbūt vainīgs pats motors? Brīžiem no viņa nāk riebīga skaņa, tāda kā graboņa pie lielākiem apgriezieniem.

Epi, netā taču daudz open source cores, vai tad nevar izmantot jau kādu no tām? Ir manīti Z80 vai PIC cores, pats taču stāstīji, ka esot pat kaut kādu cori modificējis savām vajadzībām.
Par vairākkanālu osci es pilnībā piekrītu, man pašam arī šobrīd tāds ļoti noderētu...

----------


## Mosfet

Sveiki
Beidzamā oscilogrammā ja pareizi saprotu ir mērīta uz Rsense, ja saprotu pareizi tad tur ir ap 2 V (4 x0,5V/rūtiņu) Tātad motorā plūst ja R sense 0,33 0m ap 6 Amp. Vai tās ir pareizi?
Viking tu esi mani pārpratis nevajag motora vietā slēgt reostatu bet gan ieslēgt spoli un mainot U barošanas panākt I caur spoli pie atvēta atslēgas plūst 3A PWM ir off un tad nomēra uz Rsense krītošo spriegumu. To dara tāpēc ka R kopēja  aktīva ir summa no motora R, montāžasR,  plates R un utt.
Par to stabiltronu un citu izmantošanu , tev tā neko nedos izņemot siltumu uz pāsiem elementiem, to tu arī pats esi noskaidrojis, bet supresora diodes izmantošana ir vēlama tikai pie barošanas (pārsvarā atvieglo dzīvi filtra kondiņiem un citiem elementiem spēka kēdē)
Vai var redzēt oscilogrammu kur Ton būtu plats( izvērse piem 1mks/rūtiņa), mērīts uz Rsense.Nepatīk Ton frontes izmetumi,(tāpēc iespējs  tik ļoti silst diodes, jo pie 4,5 A līdzstrāvas tās ir siltās + 40 -+ 50(IR ražojums)
Par pārējo pēc tavas atbildes, cerams rīt
Starp citu SD-5 man darba temperatura ir ap +55 -+65, termo aizsardzība pie +90, ventilācija dabiskā. 
Motora trokšnošana ir normāla lieta , jo ir mehaniskā rezonanse.
 Starp citu uz Rsensi nevar redzēt pretindukcijas EDS. tāpēc jau ir diodē
 P.S Viking uztasi oscilim 4 kanālu komutātoru un tev būs 4 kanāli uz ekrāna un līdz 500 khz pilnībā ir OK

----------


## Vikings

1. Ja pareizi esmu sapratis, jāmēra strāvas efektīvā nevis pīķa vērtība. Tātad sanāk, ka 6A*PWMimpulsu samērs=6A*50%=3A. Vai es kļūdos?
2. Izklāstītā paņēmiena pamatdomu es saprotu kā Inom panākšana caur Rsense un Inom atbilstošā Usense nomērīšanas. Es vienkārši neredzu atšķirību tajā, vai es iegūstu 3A caur Rsense ar konstantu pretestību un mainot barošanas spriegumu vai pie konstanta barošanas sprieguma mainīt slodzes pretestību. Kā nekā ja jau caur Rsense plūst 3A tad visā pārējā ķēdē arī plūst tie paši 3A.  Vienkārši man nav iespējas tik brīvi variēt ar barošanas spriegumiem, bet ja nu to vajag, tad nāksies vismaz LATRu kaut kur sagādāt pie kura pieslēgt kādu 70V trafu.
3. Oscilogrammas pie 3A fāzes strāvas un 1V/rūtiņa
1us/rūtiņa:

2us/rūtiņa:

5us/rūtiņa:

10us/rūtiņa:



Pamērīu motora temperatūru, tā nu noteikti nevajadzētu būt:


Vēl es pamēģināju pieslēgt viena cita motora vijumu, efekts tas pats - fāzes strāva ievērojami lielāka par patērēto.
Mērīju punktos A un B:

Iznākums:

----------


## Mosfet

Pāslaik īsumā
1. I caur spoli t on Max 3A un tas nav Tas nav atkarīgs no impulsa platuma, respektīvi U uz  Rsense zem  1V, nevis 6A. Mēra amplitūdes vērtību nevis efektīvo
2. Multimetri nav lietojami strāvas mērīšanai jo tie AC strāvai ir kalibŗeti uz sinusodalu signālu kas nav ne tuvu PWM taisnsturim plus pretindukcijas EDS līdz ar to B lielāks par A.  A gadijuma tuvs taisnstūrim, B taisnsturim plus pretindukcijas EDS radītā strāva.   I noteikšana izmantot R sense un oscili vai vidējokvadrātisko voltmetru.

Atkal jautājums Vai PWM strāda jo neredzu oscilogrammās strāvas stabilizāciju, visādā ziņa ne tuvu kā piem 
http://www.st.com/stonline/products/lit ... n/1679.pdf 
(piemērs nebija labākais bet ātrumā sameklēts)
  14 zīmejums V rs un IL 
vai kautko nesaprotu, jo strāvai uz Rsensi jāug un jākrītas , iznāk kā tāds zāģis
Labi šodien viss ,uz mājām.

----------


## Epis

Labs jautājums par par PWM es arī nevaru saskatīt oscila bildē nekādas pazīmes vai varbūt tā PWM frekvence ir baigi augstā, cik liela viņa īsti ir ??

----------


## Vikings

Epi, viss taču priekšā parādīts.  ::  Oscilogrammā 10us/rūtiņa, perioda garums 5rūtiņas, attiecīgi periods 50us. Pēc sakarības f=1/t iegūstam, ka f=20kHz.

Šodienas progress.
Uzlodēju shēmiņu ar vienu izeju, kas ir analoģiska oriģinālā vadības bloka izejai un uz Rsense ieguvu impulsu formu, kādai tai ir jābūt gan pieslēdzot ŠD5 motora tinumu, gan viena cita motora tinumu. Interesantākais ir tas, ka izeju pārtaisot uz tādu, kāda tā man ir lielajā vadības blokā signāls savu formu nemainīja - tas tāpat bija tāds, kā redzams oscilogrammā apakšā. Rīt ņemšu vienu vēl nesalikto plati un pa solītim likšu kopā lai izpētītu kādēļ principā identiskas shēmas strādā atšķirīgi.
Oscilogramma (Sprieguma mērogu nezinu, bet svarīgākais jau ir impulsa forma):

Un shēmiņa uz kā tas tika panākts:

----------


## Epis

šitā oscilogramma ir pavisam cita lieta kautkas līdzīgs manējā soļinieka pinumiem, baigi dīvaini tev tur viss sanāk. 
a kāds tev ir loģikas kods tai MAX cpld ?  jo varbūt kad tur ir problēma, jo ja tev šitā vienkāršā shēma iet tad moš tas cpld kods vainīgs.

----------


## Mosfet

Prieks skatīties uz tāvām ekspermentālajām platēm, kārtigas un labās 'dazī varētu pamācīties no šis bildes. Es gan biedzamā laikā nelo'deju tādas plates ,et uz reizi zīmēju un taisu plati 30 -40 min un gatava.
Ocilogramma tuvu patiesībai. Nezinot kā tev organizēta stŗāvas stabilizācija negribās būt dakterim.
ka Ton un Toff ir nepareiza attiecība.
Man ir plate ar L6506 mikreni uz kuras izmantojot ārējo ģeneratoru kam var mainīt duty padodot uz syn kājās piedzenu optimālo frekvenci un duty PWM ģeneratoram.Jo tad uz ocili tuvisu var redzēt un saregulēt.

----------


## Vikings

Tātad vēlos nokomentēt apakšā redzamo oscilogrammu.
1. Manuprāt, šī oscilogramma ir tāda kā nepieciešams. Ievērojot impusu augšas redzams, ka viņas nav līdzenas, bet slīpas - pēc laika viņas pieaug. Tas ir tieši tā, kā Mosfet dotajā dokumentā. Tātad - strāvas stabilizācija strādā. Ja godīgi es nesaprotu, kādēļ uz eksperimentālās plates es redzēju arī to, kā spole izlādējas, jo strāva taču pie atslēgta tranzistora neplūst cauri Rsense. Bišķiņ ir mistika, bet tas būs jāizpēta līdz galam. Es pieņemu, ka sākotnējiem impulsiem augšas bija tuvas taisnstūrim, jo RC filtrs pēc Rsense bija uz ļoti zemu frekvenci, attiecīgi komparators mērīja efektīvo vērtību, nevis maksimālo.
2. Izsitieni uz impulsu frontēm.
Manuprāt, tie ir redzami nevis tādēļ, ka viņi būtu uz plates, bet tādēļ, ka tie inducējas oscilogrāfa vadu neekranētajās daļās. Iespējams, jāuztaisa vads, kuram gan signāla, gan arī masas vadi tiktu ekranēti līdz pašai pievienošanās vietai.



Tātad tūlīt pārtaisīšu filtrus arī gatavajai platei un skatīšos vai gadījumā problēma nebūs atrisināta.

----------


## Mosfet

Cik tev liela ir RC ķēde ?  Ap 2-5 mks?
Izmetumus pamēri vai pie spolēs ir tādī pāsši. 
Tos jālividē ar snuberiem. Nedomāju katie ir iducijas mēsli , tad tie būtu   plakanāki
Tāgad bilde Ok,ko nevaŗja teikt par to kur impuls bij izvilts uz  visu ekrānu.Mazais pieauguma leņķis ir saistīts ar Motora zemo induktivitāti.Vai var redzēt ocilogr. tieši uz komparatora ieejas pēc filtra.
Komparatoram veido imunitāti pret izmetumiem galvenokārt divos veidos:
1. Ieejā RC ( labākais risinājums Mosfet atslēgās)
2. Programmatūriski veidojot Ton un T oFF pareizu attiecību.( parastos tranžos)

Nezinu kā ir strādāt ar oscili bēz "zondes", varbūt iducējas , bet sapini motora vadus pīnē un paskaties vai izmainās.

----------


## Vikings

Šābrīža situācija - uz plates salikta vienas fāzes vadība un smadzene. Barošanas spriegums 60V, fāzes strāva 3A.
Jautājums - kā lai es koriģēju Ton ilgumu? Teorētiski jau tas ir atkarīgs no barošanas sprieguma, fāzes strāvas un Rsense lieluma. Oscilogrammās zemāk Ton aptuveni ir 20%. Lai palielinātu Ton man ir vai nu jāpalielina fāzes strāva, kas nav izdarāms, jāsamazina Ubar, tas ir sarežģīti un iespaidos motora maksimālo ātrumu vai arī jāpalielina Rsense lai ilgāk tinums lādētos. Bet tad attiecīgi lielāka jauda pie tās paša strāvas, droši vien vēl kādi blakus efekti... Vispār kādēļ Ton ilgums ir tik svarīgs?
Par darbības principu ja nav skaidrs - programmiski izveidots frekvences dalītājs uz 20kHz, kas ar katru augošo fāzi slēdz iekšā trigeri. Trigeris vada izejas atslēgas. Trigera izeja paliek uzstādīta līdz brīdim kamēr pienāk impulss no komparatora. Komparatora impulss izslēdz trigera izeju un trigers stāv uz nulli kamēr nav pienākusi nākošā 20kHz signāla augošā fronte.

Lūk arī prasītā RC filtra izejas un ieejas oscilogramma. RC filtra elementi 220Om un 33nF.

----------


## Vikings

Šorīt strāvu ieregulēju pēc oscilogrāfa lai uz Rsense impulsā būtu 1V, kas atbilst 3A. Karšana ir ievērojami mazāka, bet parādījās daudzi mīnusi:
1. Ton ir niecīgs, zem 20%.
2. Nevaru iegriezt pat ar 1kHz, oriģinālais vadības bloks pie tiem pašiem 3A grieza ar 8kHz un spēcīgi grieza.
3. Motors "ķērc". Ir fāžu kombinācijas, pie kurām no motora nāk ķērcoša skaņa, oscilogramma uz Rsense kļūst nesaprotama, izskatās, ka ir PWM impulsi, kurus normāli neatstrādā, ieslēdz un momentāli izslēdz, tad ir garāki impulsi, kurus redzams atstrādā. Šis parādījās pēc tam kad uzliku aiz Rsense RC filtrus uz augstāku frekvenci. Pieņemu, ka ieslēgšanas brīdī šiem filtriem cauri izlaužas izsitieni, kas liek nostrādāt komparatoram un izslēgt izejas fāzi. Sagriežot aptuveni 2x lielāku strāvu šī ķērkšana pazūd. Tiesa gan, iegriezt varu tikai līdz 2kHz.

Kur ir tā problēma kādēl es nevaru griezt motoru ar lielāku frekvenci? Vēlreiz gribu pateikt, ka es mērīju (ar multimetru) oriģinālā vadības bloka fāzes strāvu - precīzi 3A. Vai problēma varētu būt pretEDS slāpēšanā ar diodēm? Krievu forumā lasīju, ka diodes paralēli tinumam motoru arī nedaudz piebremzē, tādēļ izmanto stabilitronus. Uz šo jautājumu vēl neesmu sapratis īsti atbildi...

----------


## Mosfet

Palielinot Ton laiku tu nepalielini strāvu,bet gan palielini stŗvas plūšnas laiku, tā teikt dūty, jo strāva tu esi iestādijis 3A vērtībā, 
PWM impulsa ģenerators  tev atver nosacīto trigeri, sasniedzot 3A robēžu (Atrums atkarīgs no spoles L, aktīvā R, U barošnas , tāpēc nevienmēr ir izdevīgi celt lielu U barošans spriegumu) komparators resētē nosacīto trigeri, tad vajadzētu sekot Toff , bet to precīzi izdarīt ir grūti jo LRC motoram  ir maņigs, tāpēc mēgīna likt RC ķedi komparatoram lai regulētu tā "pāslēgšanās ātrumu-var arī izmatot opamp ar frekvenču atkarīgu feedback komparatora režīmā. nosacītas problēmas ir ja PWM ģeneratora duty ir 50%.
Vai tavs trigeris reaģē uz impulsa fronti vai uz set vispārējo. ka D trigeris

Stepperim SD ir norādītā 3A pie soļu frekvences 10Hz soļa impulsa Duty 65%, temperatūra ap +70 C
Savos draiveros lieku Toff 3 mks, Ton atkarībā no frekvences 
Kaut ko par Toff skatīt šeit 2.11 sadaļā. Uzmanību pievērs 13 lpp ,pēdējai rindkopai
http://www.st.com/stonline/books/pdf/docs/8607.pdf
RC filtru samazini arī uz 1 -2,6mks( palielini R līdz 1K un darbojies ar C- R 'palielināšana  ļoti atvieglo komparatora dzīvi

----------


## Vikings

Viss ģeniālais izrādās tik vienkāršs:



> Immediately after the Power MOS turns on, a high peak current flows through the sensing resistor due to the
> reverse recovery of the freewheeling diodes. The L6208 provides a 1ms Blanking Time tBLANK that inhibits the
> comparator output so that this current spike cannot prematurely re-trigger the monostable.


 Un es kā muļķis ieciklējies uz RC ķēdes mainīšanu, ka neiedomājos to izdarīt programmiski. Ieliku 1,5us aizturi un vairs nekādas ķērkšanas. Super, paldies. Turpmāk būs jāpēta dažādu ražotāju Appnotes...




> Palielinot Ton laiku tu nepalielini strāvu,bet gan palielini stŗvas plūšnas laiku, tā teikt dūty, jo strāva tu esi iestādijis 3A vērtībā


 Bet strāvas stiprumu taču nosaka duty, vai es atkal esmu kaut ko nepareizi sapratis? Duty taču man noregulējas automātiski, Ton ir laiks pa kuru strāva pieaug līdz 3A, Toff ir atlikusī 20kHz perioda daļa. Skaidrībai pievienoju zīmējumu kā es darbību esmu sapratis un praktiski dzīvē tā it kā arī ir. Mosfet, man vienkārši nerodas skaidrība par to, kā īsti strādā Tevis minētie vadības bloki.

Trigeris slēdzas iekšā pie 20kHz augošās frontes un izslēdzas pie komparatora 1 līmeņa. Apakšā pievienoju vienkāršotu izejas kontroles kodiņu.



Izejas vadības kods:


```
--signāls onoff - signāls, kas nosaka fāze ieslēgta vai izslēgta
--signāls f_out - signāls uz vadības atslēgu
--signāls clk - 20kHz
--signāls blank - 1,5us pēc 20kHz signāla augošās frontes nomainās uz 0.
--signāls cmp - signāls no komparatora
--koda vienkāršošanai izņēmu aizsardzības un reseta kodu.

	process(blank,clk,onoff,cmp)
	begin
		if	(onoff='0') then
			f_out<='0';
		elsif (cmp='1') then
			if (blank='0') then
				f_out<='0';
			end if;
		elsif(clk'event and clk='1') then
			if	(onoff='1') then
				f_out<='1';
			end if;
		end if;		
			
	end process;
```

----------


## Vikings

Šodien lai izslēgtu iespēju, ka mazi apgriezieni ir motora dēļ aizbraucu pārbaudīt bloka darbību uz erozijas mašīnas. Arī tos motorus neizdevās iegriezt daudz ātrāk par 1kHz. Pie 500Hz  motoru ar roku nevar apturēt, bet pie 1kHz spēcīgāk ar roku saspiežot vārpstu viņš jau pārlec.
Iespējams, sapratu, kādēļ nevaru sasniegt augstus apgriezienus. Iespējams, pienākot nākošajam soļa signālam, iepriekšējā solī izslēgtās spoles vēl nav paspējušas līdz galam izlādēties. Tādēļ šobrīd ir doma motoru "paforsēt" - pienākot soļa signālam ieslēgto fāžu PWM impulsus speciāli pavilkt garākus lai motora tinumi uzlādētos spēcīgāk un attiecīgi spēcīgāk pārietu nākošajā solī.
Aprēķins.
Pēc sakarības, ka spolei ar 1H induktivitāti pieslēdzot 1V spriegumu 1A strāva tiek sasniegta 1s laikā iegūstu, ka 5,5mH spolē pie 60V barošanas 3A strāva tiek sasniegta 275us laikā. Praksē arī ir līdzīgi, pēc soļa signāla padošanas strāva līdz komparatora Vref aug aptuveni 6 PWM periodus, pie 20kHz tās ir 300us, to izdevās noķert oscilogrāfu ārēji sinhronizējot ar soļa signālu. Tātad - doma ir pēc soļa signāla padošanas jaunieslēgtās fāzes izejas tranzistoru turēt atvērtu 10 - 15 periodus lai strāva pīķī pieaugtu kaut vai līdz 5 vai 6A un tad vadību nodot PWM, kas strāvu nostabilizētu atpakaļ uz 3A.

Šo paņēmienu izmēģināšu rīt.

----------


## Vikings

Vēl bišķi teorijas:
Tātad, brīdī, kad spole tiek atslēgta no sprieguma, strāva uzlādētajā tinumā "grib" plūst tālāk tajā pašā virzienā kā iepriekš, tādēļ rodas sprieguma sitiens uz pretējo pusi. Pēc iepriekšminētās sakarības varam aprēķināt laiku pa kuru manā konstrukcijā strāva nokritīsies līdz nullei. L=5,5mH, U=diodes Vf=1,4V, strāva 3A, iegūstam, ka spole izlādējas aptuveni 12ms laikā. Paņemam tagad oriģinālo konstrukciju, kurai pretEDS neitralizējas pret barošanas spriegumu un iegūstam to pašu laiku kurā spole ir uzlādējusies - 300us. Ja mani aprēķini ir pareizi, es saprotu kādēļ mana konstrukcija pie tiem pašiem 3A vijumā un 60V barošanas griežas daudz daudz lēnāk nekā oriģinālā konstrukcija.

----------


## Vikings

Šodien nedaudz pārdomājot atklāto problēmu nācu pie atziņas, ka citreiz, kad būs jāprojektē soļu motoru vadības, būs jādara tā, ka ar H-tiltu jāizmanto gan variants, kad spole izlādējas pret zemu spriegumu laikā, kad motora fāze jāuztur uzlādēta, bet brīdī, kad motora fāzei jābūt izslēgtai palaist vaļā visas H-tilta atslēgas, lai pret lielāku spriegumu spole ātrāk izlādētos. Tā arī neesmu izpētījis slow un fast decay režīmus, cik saprotu, doma tur ir līdzīga.
"Forsēšanas"programmas rakstīšanu atlikšu uz rītu, pa dienu vēl ienāca prātā doma, ka forsēšanu jāizmanto tikai pie augstiem apgriezieniem, kad soļa frekvence ir virs 500Hz. Principā jau erozijas mašīnai tā padeve ir ļoti lēna, tā kā problēmām nevajadzētu būt arī ar šādu vadības bloku. Tikai tā stulbi sanāk - moderns vadības bloks to pašu motoru var pagriezt daudz lēnāk...

----------


## Mosfet

Sveiki. 
Visu pēc kārtas
Soļa motoriem strāvu regulē pēc amplitudas vērtibas nevis pēc effektīvās (laukuma). Uz Rsense krītošais U ir proporcionāls I spolei.. motoram norādītais I spolē ir pie duty 50%, ja nav speciālas norādes (sd-5 ir pie 45%.)
Te varbūt ir izveidojusies neliela nesaprašanās PWM režimā Ispolē  pie fiksētas frekvences, mainot duty panākam minētos 3 A , efektīva vērtība var būt ļoti zema ja duty ir mazs ,arī motora spoles lietderība ir maza un šo metodi parasti cenšas neizmantot.Efektīva ir tā sauktā chooper pie fiksētas frekvences( ko ķlūdaini arī es saucu par PWM) –ša’ja gadijumā strāva spolē sasniedz Imax  zināmā laika un to nosaka  formula Vl=LdI/dt ( ja nav aktīvas R)- taktējošais impuls (20khz parasti ar duty 50%) atver trigeri un strāva sāk pieaugt  līdz saniedz iestādīto līmeni kad komparators atslēdz strāvu un tā samazinās atkal zīnāma laikā smazinās, strāva uz R sesnse ir līdzīga noapaļotām zāģim –spoles lietderību galvenokārt  nosaka L/R , U bar , Ton un Toff –duty-ar duty mēs varam spēlēties- piem pie 20 khz- ton 10 mks spole uzlādejas pilnība un 40 Toff izlādejas arī pilnība bet pie mazāka Toff var arī neizlādēties pilnībā – bet strāva mums neskaitot rezonansi un citas lietas ir ap 3A.
Vēl ari svarīgi ir kada ir teigeru kāju prioritāte R vai S.
RC kēde pie komparatora ieejas arī efektīvi darbojas ka Toff

Par pārējo vēlāk

Lūgums sīkāk komentēt ar apreķinu vienu postu iepriekš par spoles strāvas izmaiņām laikā.

----------


## Vikings

Nu jā, to par amplitūdas vērtību es sapratu. Vispār kopumā induktivitātes raksturu es izpratu tikai dažas dienas atpakaļ. Ir viegli, ja saprot kondensatoru, tikai strāvu un spriegumu vajag samainīt vietām. Tāpat kā uzlādētam kondensatoram spriegums saglabājas bez slodzes, tāpat spolē strāva turpina plūst caur diodi kad viņu atslēdz no strāvas avota.
Tātad sakarība: Ispoles=(Ul*t)/L tas pats Vl=LdI/dt vien ir. Tā kā vēl līdz diferenciālaprēķiniem neesmu ticis tad rēķināšu pēc pirmās sakarības. Ja gribu aprēķināt cik ilgi spole uzlādējas līdz 3A salieku iekšā zināmos lielumus: 3A=(60V*Xs)/0,0055H kur Xs nezināmais laiks. Ieguvu 300us. Laikā kad spole ir atslēgta, spriegums uz viņu ir diodes Vf, kas HFA08TB60 ir 1,4V. Ieliekot iekšā lielumus iegūstam, ka -3A=(-1,4V*Xs)/0,0055H, sanāk 12ms. Ja parēķina duty, tad viņš sanāk ļoti niecīgs.
Šos pašus aprēķinus izdarot ar oriģinālā vadības bloka parametriem uzlādes laiks sanāk tāds pats kā iepriekš, un izlādes laiks ir vienāds ar uzlādes laiku, jo spriegums nemainās - spole izlādējas pret barošanas spriegumu. Lūk šajā gadījumā duty tiešām būs 50%.
Par chopper režīmu es padomāšu vai es to maz varu izveidot tādā konstrukcijā kā man tagad ir.

Trigerim R ieeja ir ar lielāku prioritāti. Ja brīdī, kad pienāk 20kHz augošā fronte no komparatora vēl aizvien nāk 1 tad trigeris vispār netiek slēgts iekšā.

----------


## Mosfet

Reālai spolei Ir R un ir tāda lieta kā L/R jeb laika konstante un pilnīga uzlāde un izlāde spolei 4-5konstantes. Tas no teorijas bet sīkķk te 
http://www.ibiblio.org/obp/electricCirc ... DC_16.html
Otrāja gadijumā izlāde tā pat ir no aptuveni 60 v( mīnus kritums uz atvērta Mosfeta un IR aktīvā) nevis no 1,4V.
Man pie 36V barošanas uzlāde un izlāde ir ap 380-400mks ( ja pareizi atceros)
Par tinumu forsāžu -var un ir darīts bet liela problēma ar silšanu un pretidukcijas Eds.
 Cik sapratu tev tācu viss irlai realizētu chopperi ( no tā neliela koda gabala). Varbūt var redzēt logīsko shēmu MaX, tas ir man paārskatāmāk

----------


## Vikings

Uzradās vēl viena problēma pareizāk sakot atklājās, jo viņa droši vien bija visu laiku. Tātad uz TurboCNC man ir uzrakstīta programmiņa, kas aizdzen asi līdz noteiktai koordinātei un atdzen atpakaļ nullpunktā. Teorētiski vajadzētu būt tā, ka pēc programmas izpildes fāzu stāvokļa gaismas diodes ir tādā pašā stāvoklī kā pirms programmas izpildes - kā nekā pozīcija ir tā pati. Pie atslēgta motora barošanas sprieguma tā arī ir. Bet kad pieslēdzu motora barošanu parādās nobīde - diožu stāvoklis ir savādāks kā sākumā. Un katru reizi šī nobīde ir savādāka. OK, pirmā ideja - indukcija no motora uz vadības signālu vadiem. Paņēmu aiz rezistoriem, kas stāv starp kompi un MAXi ieliku 470p kondensatorus. Nedaudz palīdzēja, bet tomēr nobīde saglabājās. STEP ieeja ir vienīgais signāls, kas programmā var mainīt soļu kombināciju. Šobrīd ir ideja programmā izveidot filtru - piemēram, pienākot soļu signālam, fāzes netiek pārslēgtas uzreiz, bet MAXis pagaida piem, 5us, pārbauda ieeju vēlreiz un ja signāls patiešām vēl aizvien ir uz 1 tad tikai izpilda fāzu pārslēgšanu. Tad redzēs kas pa rezultātu. Šajā gadījumā precizitāte ir daudz svarīgāka par padeves ātrumu, erozijas mašīna lēni, bet ar mikronu precizitāti griežot...
MAXa kodu arī izlikšu, vēl bišķi šovakar paeksperimentēšu.

Vēl nedaudz offtopics:
Pirmajā brīdī kad pievienoju filtrācijas kondensatorus pie MAX II CPLD ieejām situācija daudzkārt pasliktinājās. Protams, ka kondensatori izmainīja vadības signālu formu, MAXis acīmredzot kaut ko nesaprata un motoru raustīja uz vienu pusi, otru pusi, neko nevarēja saprast. Iedomājos, ka varbūt MAXim nepatīk lēzenā STEP signāla fronte ieejā, kura tāda palika pēc kondensatoru pielikšanas. Programmā nomainīju IOstandartu, no defaultā 3,3V LVTTL uz 3,3V Scmitt trigger input un gļuki pazuda kā nebijuši.  ::

----------


## Vikings

Problēma atrisināta ar šī ieejas bufera kodiņa palīdzību.



```
--STEP ieejas buferizacija
--CLK - 10MHz takts
--solis_plus - STEP ieeja
--step_internal - nobuferētais STEP signāls
--stepold - iepriekšējā soļa signāla vērtība
--stepindiv - aiztures skaitītājs

process (clk)
begin
	if (clk'event and clk='1') then
		if (solis_plus /= stepold) then
			if stepindiv=50 then
				stepold<=solis_plus;
				step_internal<=solis_plus;
				stepindiv<=0;
			else
				stepindiv<=stepindiv+1;
			end if;
		end if;
	end if;
end process;
```

----------


## Vikings

Ar šiem blokiem būšu ticis galā. Saliku blokam normālu dzesēšanu, sataisīju visu sīkumus elektronikai, pabeidzu programmā visu, kas nepatika un aiznesu izmēģināt. Uzliku uz mašīnas, izmēģinājām un īpašnieks izrādījās apmierināts ar blokiem tādiem kādi viņi ir. Izmēģinājām uz maksimālajiem griešanas ātrumiem - zudušu soļu nebija. Tātad, šobrīd viens bloks jau stāv uz iekārtas. Bildes būs kad samontēšu visus blokus. Tagad strādāšu pie pārējo divu salikšanas un jau redzamā attālumā ir vecās smadzenes aizvietošana ar datoru.
Par šī projekta publiskošanu - šodien jau normāli sazīmēju shēmas, vēl tikai uz plates detaļas jāsanumurē atbilstoši shēmai, programma jāsakarto un visu izlikšu tepat forumā.

Bet - galvenokārt tam, ka esmu šitik tālu ticis jāpasakās uz lietotājam Mosfet, bez kura es nebūtu ievērojis daudzus svarīgus sīkumus un būtu nočakarējies daudz vairāk. Mosfet, paldies, ka neskopojies ar savām zināšanām, esmu Tavs parādnieks, ceru, ka kādreiz šo parādu varēšu atdot.

Vēl viens bet - ar šo darbs pie motoriem vēl nav beidzies, drīzāk tas tikai sākās - ir vajadzība pēc šo pašu motoru vadības bloka, tikai ar lielākiem apgriezieniem priekš citas mašīnas, domāju projektēt jaunu plati ar izejām kā oriģinālajam vadības blokam. Platei paredzu optisko ieeju atsaisti, pārdomātu dzesēšanu, pielabot tās nepilnības, kas bija pirmajā platē - dažās vietās elementu atstarpes par mazu, plates stiprināšana pie korpusa utt.

Ā un vēl - ienāca prātā blokam nosaukums - HexStep v1.1  :: 

Atbilde uz Mosfet pēdējo postu:



> Otrāja gadijumā izlāde tā pat ir no aptuveni 60 v( mīnus kritums uz atvērta Mosfeta un IR aktīvā) nevis no 1,4V.


 Es nesaprotu kā manā shēmā spoles izlēdes brīdī uz viņas var būt 60V. OK, ir viņai R aktīvā, bet tā ir laikam 1 Oms, pie 3A tas ir 3V kritums, pierēķinam klāt diodes kritumu1,4V, tāpat sanāk tikai 4,5V, kas ievērojami palēnina spoles izlādes ātrumu.

----------


## Mosfet

Pa to 60V izlādi , tev taisnība es sajaucu Low side draivu.
Dažas domas 
1. Motora draiveros jo lielāks ir U bar jo lielākas problēmas veidojas,tāpēc noteikti jāizmanto Shimta trigerētas ieejas dig signālam.LVTTL ir ļoti nepiemērotas motoriem un tšpēc tās "izolējam" no spēka ķēdēm ar pārbaudītu optoizolācijas metodiku.
2. Kods,var arī tā. Galvenais lai likvīde problēmu.
3. Nu ļoti nerekomendēju darīt bez optoizolācījas (PC+ stepperis, ir nācies dažus nodedzināt).

P.S Bija patīkami ka kādam var ar kaut ko palīdzēt un sajust profesionālismu.
Kad  viss būs publiskots domāju ka būs ļoti labs un pirmais  projekts, vismaz open tipa priekš Latvijas.

----------


## Epis

Viking esi katko domājis energoefektivitātes uzlabošanas jomā savam draiverim, ar to energoefektivitāti es domāju pievadīt motoram tik daudz jaudu lai viņš varētu pavilkt tikai attiecīgo slodzi, apmēram kā servo motoriem  ::  

un ja skatās no energoefektivitātes tad cnc iekārtai izmantot veselu datoru ir liela enerģijas izšķērdība apmēram 100-200W protams izmantot veselu kompi priekš to step/dir signālu ģenešanas ir vienkārši, bet varbūt ir vērts padomāt arī tajā virzienā man patīk tā ideja par visa koda ielādēšanu iekš kādas mikrenes un tad lai viņa tos signālus ģenerē, un tā varētu ietaupīt tos 100-200W + mikrene būs lētāk nekā vesels kompis
man patīk šitāds piegājiens pie tās lietas kā fpga4fun linkā
http://www.fpga4fun.com/CNC.html 
domāju kad es pamat ideju no turienes arī ņemšu  ::

----------


## GuntisK

Ja Tu, Epi vari uztaisīt vismaz kaut ko līdzīgu FANUC vai HAIDENHAIN tad Es tevi apsveicu.   ::   Kompis tomēr ir lētāk...

----------


## Epis

Tik trakas domas man nav taisīt ko līdzīgu fanuc.
bet ja pa lētumu tad kompis rīj baigi daudz elektrības , es vienkārši nesen reiķināju to cik kompis noēd un pāris gadu laikā tā summa sanāk lielāka nekā mans kompis maksā,  tākā ilgtermiņā varbūt fanuc nebūs lētāks bet kāds cits kontrolieris kas var strādāt bez kompja būs viennozīmīgi ekonomiski izdevīgāks par kompi.

----------


## Vikings

Epi, esmu racies pa pavecu Fanuc iekārtu, varu pateikt, ka tas pats 80x286kompis vien ir. OK, forši jau ir uztaisīt G-koda apstrādes proci, bet vismaz šobrīd es izvēlos TurboCNC kā nekā tur viss iekšā jau labi pārdomāts. Manuprāt, labāk sākt no viena gala - es domāju uztaisīt normālus motoru vadības blokus, kurus vadīt ar TurboCNC un tad varbūt kādreiz ja būs nepieciešamība, tad varēs domāt par programmas apstrādes proci... Bet šai sarunai vieta citur.

----------


## Vikings

Lūk, shēma, plate (P-CAD2001) un izejas kods (Quartus). Kad būs laiks, es izveidošu arī nelielu pamācību par montāžu un regulēšanu.

Starp citu, kādēļ nevar pievienot postam failu?

----------


## Epis

Apskatījos tavu kodu saprast visu darbības principu pēc paša koda bīja baigi grūti, bišķi skaidrāka bilde palika kad apskatījos  simulātora signālus (kompis 4minūtes reiķināj), 

a tavam 6 fāžu motoram ir vispār mikrosoļu draiveri ? laikam biju lasījis kad pussoļa draiveri esot bet kā ar mikrosoļiem gan nezinu, domāju kad kautko tādu uztaisīt teorētiski būtu iespējams.

----------


## Vikings

Jau minēju, ka šis bloks ir radīts kā pilnīgs vecā vadības bloka aizstājējs, tā kā vecais vadības bloks strādāja pussoļos tad mans arī strādā pussoļos bez jebkādiem papildus režīmiem vai mikrosoļiem. Kad ķeršos pie Hexstep 1.2 tad padomāšu varbūt pielikšu iespēju arī pielāgot mikrosoļiem, bet pamata doma ir viņu grozīt pussoļos ar ievērojami lielākiem apgreizieniem kā Hexstep 1.1 kas tiks realizēts veidojot sarežģītākas izejas.
Rēķini, ka priekš mikrosoļiem vajag 3 gab DAC, labu barošanu priekš DAC, tad to visu sajūgt kopā ar komparatoriem...
Bet ja skatamaies no otras puses - vai mums praktiski maz vajag mikrosoļus? Bišķi aprēķins piemēram:
Motora soļi uz apgriezienu - 240 (nemaināms lielums)
Skrūves solis - 4mm (pieņemts piemēram kā aptuvens ilelums)
Pārnesums motors/skrūve - 5/3 zobrati (pieņemts kā reāli iespējams un priekš smuka iznākuma)

Lai apgrieztu skrūvi par vienu apgriezienu mums vajag (240*5)/3 = 400 soļus
Viena soļa noietais attālums pie skrūves soļa 4mm=4/400=0,01mm.
1/100mm, manuprāt, ir pietiekami laba izšķirtspēja priekš virpas, frēzmašīnas vai kāda gravētāja.

----------


## Epis

reiķinot tos apgriezienus tad sanāk kad mikrosoļus itkā nevaig bet ja skatās no otras puses tad mikrosoļiem vaig to DAC + comparātoru vai ADC,  kuri dod jaunas iespējas tajā motoru vadībā  (piemēram pielīdzināt jaudu slodzei) un ja ir tie mikrosoļi tad vibrācijas samazināsies un varēs to motoru precīzāk kontrollēt, + kad taisi plati tad ieliec vietu ADC pārveidotājam priekš Sin enkodera (kā es izeksperimentēju tos var viegli uztaisīt  ::  no fototranzistora + ļoti augsta izšķirtspēja.

šodien kautkas arī būs jāpalodē  ::  
esi apstījies cik maksā jaunā EP3C5F256C8 ? tik pat cik vecā EP2C5F256C8 bet jaunajā viss a ir daudz vairāk, es domāju kad jāsāk domāt pāris gabalu iepirkšanu ( $ kurss arī ideāls) moš jāņem tas BGA un jāuztaisa tā lodešanas krāsns!

----------


## Vikings

> piemēram pielīdzināt jaudu slodzei


 Interesanti kā lai izmēra motora slodzi lai zinātu cik strāvas dot? Tas jau ir daaaudz par tālu šī brīža vajadzībām.



> vibrācijas samazināsies


 Cik nu samazināsies, varu derēt, frēzējot tās vibrācijas no frēzes ir simtiem reižu lielākas.



> motoru precīzāk kontrollēt


 Nenoliedzu, bet šajā gadījumā nevajadzīgi.



> kad taisi plati tad ieliec vietu ADC pārveidotājam priekš Sin enkodera


 SIN enkoderi gan es nedomāju taisīt, priekš soļu motoriem es gribētu iztikt bez enkoderiem, bet ideju tu pasviedi noderīgu - platē paredzēšu ieeju parastajam enkoderim, bet iesākumā kodā to neiekļaušu.



> esi apstījies cik maksā jaunā EP3C5F256C8 ?


 Esmu biki papētījis, bet kā redzi man šobrīd pietiek ar "necilajiem" MAX II, tādēļ par EP3C iegādi nedomāju.

----------


## Vikings

Starp citu, vēl divi Hexstepi drīz būs pabeigti - trūkst tikai IR2111. Man vnk patīk kā tas kopā izskatās.

----------


## GuntisK

Viking-tu esi MEISTARS! Tā tik turēt!

----------


## Epis

> Interesanti kā lai izmēra motora slodzi lai zinātu cik strāvas dot? Tas jau ir daaaudz par tālu šī brīža vajadzībām.


 viens variants ir to slodzi mērīt ar enkoderi kā servo motoriem un otrs ir tā FOC "Field oriented controll" kontrolle ma liekās kad pēc tiem algoritmiem enkoderi nevaidzēja, pašus darbības principus esu piemirsis.




> Cik nu samazināsies, varu derēt, frēzējot tās vibrācijas no frēzes ir simtiem reižu lielākas.


 esu lasījis kad labs draiveris kas reaģē uzslodzi var samazināt arī pašu frēzēšans un citu procesu radītās vibrācijas regulējot slodzi, un tam vaidzētu vadīt pašu frēzes motoru + pieliekot vibrācīj sensorus var arī noteikt instrumenta nodiluma pakāpi un fiksēt instrumenta salūšanas brīdi, un pēc tam visu apstādīnāt un tie kodi tur nebīj baigi sarežģitie vienīgi vaig to vibrācijas sensoru, itkā lasīju kad Tuvā nākotnē tie sesnori baigi lēti palikušot kad viņus sāks masu produktos zimantot kā datora   bezvadu 3D  pele ar tiem paātrinājuma,kustības detektētaj sensoriem kurus varētu reāli izmanto arī priekš cnc. tākā visādu intresantu fiču vēl ir baigi daudz  :: 




> SIN enkoderi gan es nedomāju taisīt, priekš soļu motoriem es gribētu iztikt bez enkoderiem, bet ideju tu pasviedi noderīgu - platē paredzēšu ieeju parastajam enkoderim, bet iesākumā kodā to neiekļaušu.


 nu domāj kad Ātrāk vai vēlāk to enkoderi tev vaidzēs, vispār jau nek daudz tur nav jākodē visa loģika priekš kvadratūrā un sin dekodera es laikam esu ielicis tākā atliek tikai nokopēt un salikt.



> Esmu biki papētījis, bet kā redzi man šobrīd pietiek ar "necilajiem" MAX II, tādēļ par EP3C iegādi nedomāju.


 Jā pagaidām patiešām tev visa loģika salien tajā MAX II, nesen skatījos  cenas tām CPLD un mazākā MAX II maksāja 6$ 256loģikas un pareizinot ar 2 sanāk jau lētākā cyclone II mazākajā QFP iepajumā  ::  bet tur ir 20X vairāk loģikas un citu bonusu tākā tās MAX tomēr ir baigi dārās mikrenes.

----------

