# CNC vadība / mehānika >  Bipolarā stepera Draiveris ar L298+fpga

## Epis

Šodien aizbraucu uz argusu un nopirku jaunu L298 čipu (un jaunas 75ns fast diodes HER105) un kādas 3 stundas lodēju un šeit jaunā eksperimentu plate (visas detaļas pilnīgi svaigas  ::  ) 
Ā + paņēmu 0.5 Omu 2W curent sense rezistorus (tie lielielie) un vēl pieliku Enable signāliem 10K pull-DOWN rezistorus (tie ir mazie SMD un atrodās plates otrājā daļā) šitos pieliku lai tad kad padod priegumu enable vads būtu pievilkts pie zemes (ja fpga mikrene nav pieslēgta vai arī kamēr fpga mikrene pate iestartēsies (konfigurēsies) tad lai H tilta tranzistori būtu izslēgti.)  vēl lasot L298 dokumentu tur ir teikts kad nosākuma jāpadod Logīkas 5V spriegums un tikai pēc tam tranzistoriem un jāslēdz ārā arī nosākuma tranzistori un pēc tam loģika (savādāk itkā var tranzistori sadegt!) un šito es pats aizmirsu bet pameklēšu moš atradīšu kādu slēdzi kuru tad varētu ielikt starp tranzistoru Barošanas vadu, vienīgi šitā sanāks manuāli slēgt to visu iekšā (gribētos jau lai varētu digitāli to ieslēgšanu un izslēgšanu darīt, bet pagaidām būs labi ar parasto slēdzi.
šeit jaunā bilde

----------


## Vikings

1. priekš kam tev slēdzis ja jau rezistori tur ieejas uz nulli ieslēgšanas brīdī? IMHO slēdzis ir lieks.
2. vadiņi izejā liekas pārāk tievi.
3. atkārtošos - maketplati varēji taisīt kārtīgāku lai pašam saprotami un vieglāk papildināt vai mainīt shēmu. Pie tam - ja nu vajadzēs, tad kā mainīsi tās diodes, kas krustām šķērsām ir zem rezistora?

----------


## Epis

šeit ir otra plates puse (man liekās kad viss ir tīri labi salodēts  :: 
Par to diožu maiņu tā īsti nepadomāju, bet ja vaidzēs mainīt tad nolodēt lielo rezistoru  ::

----------


## Vikings

Epi, ļauj minēt - plates otrās puses savienojumi veidoti no nolocītām detaļu kājām? A tagad iedomājies, ka esi ielicis brāķainu kondensatoru, kurš pēc divu dienu darba saiet uz īso. Kā tu viņu mainīsi? Jālodē viņa kājas nost no visiem pārējiem savienojumiem, kur viņas pievienotas, tad liec citu iekšā, kaut ko aizmirsti tajā mudžeklī pielodēt tad lamājies, ka neiet, varbūt atkal aizies laiks kamēr atradīsi kas nav pielodēts kā vajag. Tāpēc:
1. Iesaku detaļu kājas vispār nelocīt savādāk ar izlodēšanu būs problēmas un eksperimentu projektos bieži vien kaut kas jāpārlodē.
2. Celiņus veido no savienojot maketplates laukumiņus ar alvu. To var viegli panākt ar lodāmuru, kuram ir ieregulēta zemāka temperatūra. Mans savienošanas princips ir tāds: sākumā visus laukumiņus uz maketplates, kas paredzēti kā celiņš apalvoju ar nelielām alvas lodītēm. Tad šos laukumiņus savienoju pa diviem. Tad katrus divus pārus savienoju pa četriem. Tad savienoju visas atlikušās nesavienotās vietas. Tāds princips ir tādēļ, ka cenšoties savienot visus pēc kārtas var atvienoties iepriekšējais savienojums, jo alva vēl nav paspējusi atdzist. Iespējams par šo būs jāizveido jauns topiks ar bildēm, jo grūti to tā apskaidrot.
3. Detaļas likt krustu šķērsu arī nav labs stils, kur nu vēl vienu otrai pāri. Ja diodes saliksi paralēli vienu otrai tad paskatoties uz plati būs vieglāk uzreiz saprast ko viņas tur dara, bet ja katra savā virzienā - ej nu saproti vai tas domāts diožu tilts vai kas tas ir...
Ceru, ka noderēs.

----------


## karloslv

es šitādiem maketiem vienmēr izmantoju "trijnieka" plates, kur punkti strīpās pa 3 savienoti. praktiski izrādās, ka tas ir baigi ērti.

----------


## Epis

Beidzot ietestēju L298 (vienu H tilta pusi ar savu soļinieku, un sākumā vēru vaļā vinu H tilta pusi ar 25% PWM signālu un PWM frekvenci pamazām samazināju sāku es ar 15Khz (25% PWM) un gāju uz leju un sākumā īsti nevarēju saprast kas notiek tajos motora pinumos (jo līknēs pie 15;7,3.5Khz nekādas ampēru un voltu svārstības redzamas īsti nebīj un kad laidu frekvenci vēl zemāk tad sāku pamazām saskatīt kā tas motora pinums tur lādējās un izlādējās un tā normāli pinums (pie 15V sprieguma) uzlādējās (vismaz strāva uzkāpa uz ap 1.4A) pie 60.9hz frekvences un es saliku vairākas oscila bildes  pa kreisi ir strāvas lielums kas iet caur pinumu (provi ņēmu pirms 0.5Omu rezistora tākā 500mv = 1 ampēru) un pa labi ir spriegums kas nāk ārā no pinuma un kopā 3 frekvences izdomāju attēlot => 60hz, 120hz, ~500hz tālāk un beidzot arī dzirdēju motora skaņu (toņu maiņu atkarībā no frekvences )
pie 120Hz frekvences var labi redzēt kad pinums uzlādējās 3X ātrāk nekā izlādējās  ::  un lai to izlādes laiku palielinātu būs jāiemēģina dot pretējo strāvu tad kad sākās izlādes process (un tad vaidzētu abām līknēm būt identiskām  :: 
un tagat kad elektronika itkā iet varētu uzkodēt parasto fullstep loģiku lai motoru pagrozītu ar 25% PWM(kas strādās čopper vietā lai ierobežotu strāvas daudzumu jo pagaidām es nēsu pielodējis copmarātorus un opampus tākā lai motors neosviltu spriegumu nākās ierobežot ar parasto PWM. 
UN vēl kad testēju motoru tad L298 vispār nekarsa (sajust nevarēja) tākā tas nozīmē to kad veco L298 es būšu nosvilinājis  ::  neko darīt labi kad uzlodēju šito jauno variatnu, un 0.5omu rezistors arī nekarst  ::  (vecajam L298 rezistros arī karsa) tākā laikam beidzot viss ir kārtībā un varēs ķerties klāt pie kodēšanas  ::  
īsti nezinu kādu proci lai liek iekš fpga 32bit nios II(700-800loģikas), vai kādu no 8bit kā picoblaze (200loģikas) žēl ka ražotāji nepiedāvā nevienu 16bit fpga proci, jo tas 8bit ir pa mazu bet 32bit pa lielu, trešais variants ir mēģināt izmantot to savu paštaisīto 16bit kodolu un uztaisīt tās pāris specializētās insturkcijas (tikai tik cik vaig!).

un te viss kopā motors,FPGA plate+ L298 plate un JTAG's  ::

----------


## Epis

nupat uzrakstīju pirmo loģikas kodu kas grieza stepperi pamat Htilta ieju slēgšanās secības loģikas kodu es paņēmu no Opencores.org protams pielaboju un pieliku klāt savu čoper fiču no sākuma uzliku čoperi lai iet ar 4Khz 25% PWM un kad palaidu tad motora jauda bīj baigi švakā (ar roku varēja apstādināt!  :: ) un tad izmainīju PWM uz 50% un uzreiz oscilā pie curent sense rezistoriem varēja redzēt kad tagat caur motoru iet ap 1A un ar roku vairs apturēt neko nevarēja, pēctam es bišķi paeksperimentēju ar čoping frekvencēm.
Dīvaini bīj tas kad mērot tās ampēras oscilā redzēju kautkādus gļukus īsti nevaru izskaidrot kā tas iespējam šeit apakšā bildē sarkanā un zilā līnija attlēlo motora pinumiem cauri plūstošo strāvu un dīvaini izskatās tad kad tā strāva krītās tad ascilā var redzēt tranzistoru slēgšanās ciklus (to manu 50% čoperi) vai tā ir jābūt jo es gaidīju kad ieraudzīšu smuku līkni nevis čoper frekvenci ! 
pa šito būs jāpadomā un vēl dīvaini izskatās tas spriegums motora pinumos (tāds kroplīgs) kad motors griežās.
kad no sākuma man motors gāja ar 25%PWM tad, kad es ar rokām viņu stādīnāju novēroju Oscilā tādus kā gļukus moš tas bīj back EMI ? domāju kad nākošais ko darīšu būs ulodēšu Opampu ar 4X pastiprinājumu un comparātoru priekš mikrosoļu čopera  ::  

skatoties uz to grafiku man rodās tāda sajūta kad es kautko tur nēsu pareizi saslēdzis moš fpga Pin-planerī esu sajaucis tos A1,A2,B1,B2 vadus! bet tad jau notors noteikti kad negrieztos ja vadi būt nepareizi saslēgti!
šeit simulātora bilde (tur var redzēt šito manu 25%PWM čoperi un slēgšanās secību (tā itkā ir pareiza!). 
jeb kurā gadījumā motors baigi vibrēja!

----------


## Mosfet

Epi vai tu nevari iemācīties pielkt pie savām oscilogrammām klāt laika un  sprieguma mērogu kā to dara visi normālie cilvēki? Labi būtu ja vēl varētu salīdzināt oscl. ieejas ar izejas signālus.Nokalibrē to savu oscili līdz cik viņs velk laika bāzē.
Otrkārt palasi datu lapu par L298 ieejas līmeņiem.

----------


## Epis

šeit ir pēdējās 2 bildes (vienā bildē) ar oscila mērogu daļu ar zaļo atzīmēju proves noņemšanas ātrumu un citu svarīgu parametrus) 
manam USB oscilam ja strādā abi divi kānāli tad max ir 500Ksps un viņam itkā ir autokalibrācija (īpaši liela jēga no kalibrēšanas nav un protams kad kalibrējis oscilu es esu.
Vertikālais rādītājs oscilam stāvēja uz 200mv (un probves ātrumu var redzēt tajos lodziņos  :: 


Pirmstam tās 6 bildes ieliku vienā lai mazāk vietas aizņemtu savā imbox bilžu galerījā (moš bišķi pārcentos ar to minimizēšanu )
kautkādīgies vairs nevaru pievienot forumam bildes rāda šādu paziņojumu "The image file you tried to attach is invalid." un nākās bildes likt inbox epastā (kas aizņem vairāk laika)

----------


## Mosfet

Var taču vienkāršāk Pierakstot klāt laika bāzi ms vai mks uz iedaļu un mv vai V uz iedaļu

----------


## Epis

pagājšnedēļ galīgi nesanāca laika neko jaunu uzlodēt, bet šodien kodu ziņā ir tāds kā pavērsiens jauns jo CNC zonā manā topikam pieslēdzās vēl pāris FPGA fanāti(kuri arī domā tāpat kā es  :: ) un viens no viņiem tur ielika čupu ar Loģikas kodiem priekš motoru kontrolles (ieskaitot PID algoritmu, mikrosoļu sin,cos choperi utt. vārdsakot tik daudz kodu kad paies nedēļa kamēr visam tam cauri izbraukšu un izmēģināšu, un to visu tas dzeks ir uztaisījis uz loģikas (pat bez neviena iekšējā proča).
Es jau domāju kad tur cnc zonā es vienīgais kas kautko reāli kodē, bet izrādās kad ir arī citi + iedod gandrīz gatavu kodu  ::  
šeit forums (tur arī ir links uz kodiem http://www.cnczone.com/forums/showthrea ... 465&page=5

un vēl nesen apskatījos kad jauns mikrenēs un uzgāju kad PIC izlaidis nesen pāris jaunus 16bit PIC24HJ12 kas maksā 1.9$  un viņiem ir 10bit 1.1msps ADC + modelis ar 2 ADC konvertieriem tad kopā jau sanāk 2.2Msps  ::  un šitā cena mazumtirdzniecības lētākajai PIC24HJ ir ap 2.5$ tas ir tikpat cik maksā parastais 1msps 8bit ADC konvertieris un tad sanāk kad letāk ir nopirkt mikreni ar savu ADC nekā atsevišķi ADC convertieri , es pa šito saku tādēļ kad pagaidām es izmantošu tos comparātorus priekš Analogo signālu mērīšanas, bet skaidrs ka tad kad taisīšu jaunu plati tad šitie comparātori +DAC kā tādi aizņem dadudz vietas (+ prasa IO resursus) līdz ar to detaļu skaita samazināšanas nolūkā varētu paņemt to PIC24HJ64GP206-I/PT 4.9$ (18 adc kanāli (ir arī 32 kanālu modelis bet tur lētākais maksā 6$) + noteikti kad PIC24HJ ADC konvertieri varēs overklokot (izspiest no viņa kādus 3 - 5Msps) ar samazinātu izšķirtspēju 5-6biti  

Kāds ir mēģinājis celt pūlkstens frekvenci parastajiem ADC konvertieriem ???

Nu tā ši nedeļā ir sākusies ar jaunām idejām un domām.

----------


## Epis

taga uzlodēju Opampu TL084  + comparātoru LM339 un 74Hc595 serial-parallel convertieri priekš 2x4bit DAC lai samazinātu fpga IO līniju daudzumu ko vaig priekš tā DAC pārveidotāja lai nebūtu jātaisa jauns kontakts starp fpga plati un Motora draiveri, bildi un shēmu kā visu savienoju ielikšu kautkad rīt un tad mēģināšu dabūt tos mikrosoļus  ::

----------


## Vikings

Epi, tad tu skrien pēc ātruma, bet tagad lai ietaupītu pāris vadiņus tu liec klāt atsevišķu mikreni, kas 8x samazina ātrumu un sarežģī kodu. Nesaprotu.

----------


## Epis

viss ir kārtībā šitam 74Hc595 serial clock iet līdz 50Mhz (normāli pe 5V iet ar 20Mhz) tākā priekš 8 bitu pārveidošanas viag 8 clk signālus tad 2Mhz ātrumu dabūt varēs un es pie 74hc595 slēgšu klāt tikai 3 IO (pārējos 2 vadus pie GND un VCC un tas ietaupa 5 IO ja ir tikai viena 74Hc595 un 6IO ja izmanto vairākus (jo clock visiem būs vienāds tākā ar no 2 vadiem dabūnam 8 (6 IO ietaupās).
Es šito variantu gribēju izmēģināt jo ja man priekš visu analogo signālu detektēšanas vaidzēs  čupu ar šādiem DAC priekš 4 enkoderiem un 4 motoriem man sanāca 16DAC pārveidotāji un ja taisa normāli ap 6-8 bit izšķirtspēju tad sanāk 96-128 IO vai arī 24-32 IO.
īstanībā es gaido to brīdi kad varēšu no sava soļinieka izspiest vairāk par 300RPm (kādu 1000) tad arī varēs pareiķināt cik tad lielā ātrumā vaig tos analogos signālus pārbaudīt (un ja pietiks ar kādiem 50-100Khz tad būs jāpadomā par kādu daudzkanālu ADC (piemēram ar 1Msps un 8 kanāliem sanāk katrm kanālam 125Ksps (pielnīgi pietiek) vai arī pie paštaisītā DAC+ comparātora pielikt 8:1 MUX. 
variantu ir daudz un kurš būs īstais to varēs redzēt tad kad viss būs gatavs  :: 

Es nesen salīdzināju savu Quad dekoder Loģikas kodu un lielumu ar cnc zonā viena dalībnieka ielikto kodu un viņa kods aizņem 33 cels bet manējais tikai 14 (manējais izpildās 2 ciklos viņa 1 ciklā) un kā var redzēt tad manējais ir par 58% efektīvāks un max frekvence viņam arī būs augstāka dēļ vienkāršākas loģikas un pipline reģistriem  ::  (tādēļ arī ir 2 pūlkstens cikli,
galvenā atšķirība jau ir kodēšanas stilā viņš ielika visu kodu 1 state machine 9tādēļ arī ir 1 ciklc) bet es pa daļām visu sadalīju un katru daļu protams atsevišķi uztjūnēju tādēļ arī tāda nenormāla atšķirība.

----------


## Epis

šeit ir mana plate ar Opampu (augšējais čips), comparātoru (kreisais lejā) un Serial-parallel kur ir uzlodēti divi 4 bit rezistoru DAC (lejā pa labi) 
uzlodēju jau es šito sen bet tā arī vēl joprojām iztestējis nēsu, un nav vēl tā mikrosoļu programma uzrakstīta (līdz pusei loģika ir gatava bet kopā salikta nav)

Vispār var teikt kad es visu augusta vidu un beigas biju aizņemts komplektējot savu jauno  2 kodolu kompi un meklējot detaļas + barošanas bloku (šitas man veselu nedēļu prasīju) un tākā tagat ir 2 normāli kompji tad vaig katram internetu un šitā vietējā tīkla izveide ir baigi čakarīga (itkā abi kompji ir saslēgti (ar crossover vadu) un var failus pārsūtīt bet internets otram kompim vēl neiet līdz ar to būs vēl jārokās pa google lai viņu pislēgtu un tad varēšu atsākt nomrmāli darbu pie tās plates.

----------


## GuntisK

Plates gatavas (pats arī lieku kopā L297+L29 :: , vienīgā aizķeršanās ir pret EDS diodes L298 izejā (kkādas BYV markas). Argusā bija izbeigušās.  ::  Kurš ir licis kopā, varbūt varat ieteikt ko aizvietojošu un visur un vienmēr pieejamu?

----------


## Mosfet

Jebkuras diodes 100 v un vairāk,2-3A ar trr kam mazāka par 150ns(orģnalajā datu lappā 200ns un mazāk) pie uf5406, byw98/200 tikai ne šostkas

----------


## Epis

Nu tā es beidzot uztaisīju savu Microstep test koda bāzes kodu ar kuru varētu vadīt soļu motoru mikrosoļu režimā pat bez comparātora jo šietajā test kodā kā redzams simulātora bildē tad uz motora pinumiem tiek padots mainīgs  PWM cikla laiks kas atbilstu DAC vērtībai (priekš comparātora) kopā kods aizņem 77 Loģikas un tur ir vesela čupa ar taimeriem, compare reģistriem un tā tālāk.
 vispār es to kodu var teikt kad uzcepu un iztestēju šodien par kādām 4h, uz sava jaunā kompja ->athlon 64 2X 4400 ar 2Gb DDR II 800 atmiņu  ::  un pirmo reizi izbaudīju jaunā kompja ātrumu kad nevaidzēja gaidīt minūti kamēr notiek kompilācija un simulātocija.
Rīt plānoju kodu izmēģināt uz soļinieka, bet pirmstam vēl jāparbauda kā strādā comparātori un ADC + jāpielodē otrs comparātora kanāls pinums (to es darīšu tad kad pārliecināšos kad pirmais kanāls strādā).

----------


## Epis

šodien sāku beidzot pirmos testu bet tā arī nekur tālu netiku iestrāgu pie 74Hc595 srial to parallel convertiera kur galā ir pielodēti divi 4 bit Dac (saujiņa rezistoru) un sākumā skatījos oscilā un nesapratu kas tur par gļukiem rādās  tad ap pēcpusdienu pieleca ka 3,3V signālus tas 74Hc595 nevar normāli paņemt ja viņam barošna nāk no 5V regulātora un tad pārlodēju fpga 3,3V barošanas vadus un sāku atkal testēt un tagat itkā 74hc595 strādāja, bet kautkas nekādīgies neizdevās palaist test kodu kur abiem DAC pārveidotājiem vaidzēja iet pa soli līdz max 1111 un tad līdz 0000 un atkal uz augšu utt, bet man tur kautkā haotiski viss notika, protams es mēģināju tos signālus visādies mainīt vietā (mainīt tos bitu, bet tāpat nebīja tas ko vaidzēja un tagat man laikam pieleca kad problēma ir padodamajā Rck (reģistra pūlkstens signālā pēc kura aktivizēšanas iekšējos reģistros ierakstās shift reģistru vērtība un pēc pamācības tam signālam vaig taisīt aizturi par 1 pūlkstens ciklu jo dokumentā viena rindā bij teikts : "If both clocks are connected together, the
shift register state will always be one clock pulse ahead of the storage register" 
tādēļ laikam man tās vērtības visu laku gāja nepareizi ar novirzi 1 bits uz augšu ceru kad pēc izlabošanas rīt viss strādās un varēs pārbudīt opampus un comparātoru un tad arī slēgšu klāt motoru

----------


## Vikings

Vai tad tavai FPGA izvadu par maz vai kā? Paņem ielādē shift reģistrā datus un tad ar atsevišķu signālu ielādē store reģistru un problēma atrisināta.

----------


## Epis

kautkāda mistika ar to fpga nupat pāris minūtes atpakaļ dabūju vienu no 4bit DAC pie darba un otrs bišķi gļukus rādīja šeit oscila bilde :

un kad šito bildi saglabāju tad izdomāju paņemšu vēl vienu provi un notika brīnumi sarkanais kanāls arī sāka normāli strādāt  :: 
 protams es esu priecīgs, bet man šitādas mistikas galīgi nepatīk!! 


izrādās kad problēma bīj netikai tajā kad vaidzēja RCk signālu aizkavēt par 2 clock un + viņu vēl vaidzēja uzlikt uz falling edge flipfopa, jo kad bīj uz rising_edge tad tas DAc rādīju gļukus jo viņš to signālu piefiksē uz rising edge bet ja fpga ģenerētais rising edge signāls krīt tieši tad kad clock iet uz 1 un ar faling edge signāls krita kad clock iet uz 0 un tad 74Hc595 laikam varēja tās vērtības labāk piefiksēt. 
tagat kad esu ticis galā ar šito daļu sākšu skatīties tālāk kas notiek ar to comparātoru utt..




> Vai tad tavai FPGA izvadu par maz vai kā? Paņem ielādē shift reģistrā datus un tad ar atsevišķu signālu ielādē store reģistru un problēma atrisināta.


 gribējās iemēģināt šito serial to parallel un ja viņu izmanto tad vaig mazākus kontaktus, un kad es toreiz lodēju tad kļūdījos vadu skaitā un uzlodēju kontaktu ar 10 vadim un man vairs nav to savienotāju, varbūt rīt jāaizminās uz argusu un jānopērk vēlviens 10 vadukontakts jo tagat man vaig  L298 platei pievadīt 3,3V barošanu + vēl pāris IO priekš comparātora izejas, vai arī paņemt vēlvienu 74Hc595 un pielodēt L298 A,B,C,D enA,enB singālus pie šitā un tad moš sanāks visu saspiest 10pin kontaktā, jo man patīk kad vadu ir mazāk jo tie vadi jau tā tur ir papillo.

----------


## Vikings

Skatoties uz oscilogrammu esmu gandrīz gatavs saderēt, ka kaut kur ir sūdīgs lodējums uz MSB datu līnijas. Vienkārši MSB neaiziet līdz DAC un attiecīgi pazūd viens no līmeņiem.

----------


## Epis

Pēc tam kad es uzrakstīju to rakstu un pārbaudīju vēlreiz kā strādā plate (viņa visu laiku stāvēja ieslēgta) tad bilde kuru rādija oscils bij tā vecā (kur sarkanais negāja + gļuki ik pēc kādiem 4clock cikliem un tad es sapratu kad vaina ir tajā clock signālā abos divos gadījumos gan rising,falling tas signāls nestāv uz 1 visu pūlkstens zemo perjodu un tagat es uztaisīju clock signālam 90 grādu fāzes nobīdi un tagat gan seriālais gan Rck signāli ir 1 visu clock signāla zemo perjodu un gļuki kas pirmstm bīj pilnībā pazuda  :: , bet ar to sarkano oscila līniju tomēr ir kautkādas problēmas (tas ir 1 DAC kurš aizņem datu līnijas vadus no 0-3 bitam un es iekš fpga paminīju tos vadus par 1 bitu uz augšu un itkā ieguvu to zaga zīmējumu tikai ar 3 bit izšķirtspēju  :: , tagt man sanāk kad 1 DAC ir pilni 4biti bet otrs 3, būs jāksatās kur problēma varbūt kautko nepareizi esu salodējis.
taga es domāju kad varēšu clock frekvenci celt līdz 4Mhz tad būs 500Khz ātrs DAC ar to pietiek, jo lai radītu 90grādu nobīdi es izmantoju 2 bit counteri kas iet ar 4X lielāku pūlksteni un tad tie būs 16Mhz (oscilātora frekvence (priekš lielākas frekvences man ir slinkums to PLL čakrēt un vairāk pagaidām arī nevaig).

šeit gļukainā bilde kur var redzēt kā 74Hc595 perjodiski streiko (gļuko)

šitā ir jaunā bilde kur vairāk nekādu gļuku nav un beidzot viss strādās tabili izņemot to sarkano kur trūkst 1 bita  ::

----------


## Epis

beidzot abi 4bit DAC iet  :: 
 pie vainas bija sarkanā DAC pēdējais bits kas bija atlodējies tā kad ar acīm pamanīt to nevarēja es to pamanīju kad ar instrumentu mērīju pretestību 10K R2R reiztoram  un man tur rādija pie 100K un tad ieraudzīju kad vads kustās un lieta palika skaidra, kad ielodēju citu rezistoru tad oscilā abas dac līknes pēc test programmas bīj vienādas un iztestēju 74hc595 ar ātrumu 4Mhz un viss gāja bez nekādiem gļukiem kā tam arī vaidzētu būt.
domāju kad rīt slēgšu klāt motoru un skatīšos kas tur notiek  ::

----------


## Vikings

> Skatoties uz oscilogrammu esmu gandrīz gatavs saderēt, ka kaut kur ir sūdīgs lodējums uz MSB datu līnijas. Vienkārši MSB neaiziet līdz DAC un attiecīgi pazūd viens no līmeņiem.


 Neviens jau neko neteica, nē...  ::

----------


## Epis

Tagat testeju vienu motora pinumu un skatos oscila kautkas atkal neiet un izrādās kad tagat curent sense Opamps nestrādā  viņš dod ārā visu laiku pie 4V bet vaidzētu redzēt vērtību kas būtu 5,17X lielāka 
opampu esu slaslēdzis šekojoši un pārbaudījis viņa darbību pēc šitā linka
http://www.daycounter.com/Calculators/O ... ator.phtml
man R1=2,4K  R2-10K V1=0V  V2= curent sense rezistora V līmenis, R3 nav un R4 arī nav, bet kalkulātorā ieliku to vērtību un pēc kakuātora visam vaidzētu strādāt es vēl pie V-out pieliku 2,2K rezistoru lai bišķi to opampu noslogotu, bet nekā opamps negrib iet! 
varbūt kad opamps ir beigts! kā lai to pārbauda!
kā ir šitam TL084 opampamps var strādāt bez negatīvās barošanas padeves ja VCC- ir pie zemes ??? varbūt kad tur ir problēma!

----------


## zzz

epi daragusha, silts ieteikums -

panjem graamatinju Horovitz Hill The Art of Electronics un ciitiigi izlasi (un saproti). Ja ne visu uzreiz, tad vismaz pamatus un jo iipashi nodalju par operaaciju pastiprinaataajiem.

Bonusaa shito

http://www.analog.com/library/analogDia ... dbook.html

Un nea, datorizeetaa pokemonu paaudze, modeleeshana ar datoru nevar un neaizvietos cilveecinja pasha sajeegu un izpratni.

----------


## Epis

Man viss is saslēgts kā tajā analog pamācība http://www.analog.com/library/analogDia ... inal_R.pdf

salodēta parastākā shēma ->Figure 1-3: non-inverting opamp stage (voltage follower) un nekas nestrādā   ::  
atceros kad eksperimentēju ar fotodiodi tad izmatoju LM324 un pēc šitās shēmas viņi strādāja a štias TL084 sūds neiet ! es nupat uzlodeju vēlvienu TL084 blakus un tas arī neiet tākā es neko vairs nesaprotu itkā shēmā prblēmas bet nekas neiet!

nupat uzliku testkodā lielāku frekvenci lai motora pinums nelādējās pārāk daudz (pirmstam curent sense rezistros rādija kad viņš patērēja virs 2A un tagat ir zem 1A un intresanti tas ka motors lēnu griezās (pieslegts tikai bija 1 pinums  ::  

man liekās kad rīt jāizmin un argusu un jānopērk LM324

----------


## Epis

Tā ielodēju LM324 un uzminiet kas bīj?  protams ka viss strādāja kā nākās tātad rodās jautājums kas TL084 ir savādāks nekā LM324 jo TL084 negrib strādāt !!!!
uztaisīšu jaunu topiku par šito gadījumu, tākā varat atbildēt tur.

----------


## Epis

Šodien testēju savu soļinieka mikro soļu kodu un protams nekas negāja tā kā vaig. sākumā vaina bīj loģikā, pašā pēdējā posmā  kur tas comparātora signāls ierobežotu ampēru plūsmu izslēdzot motora pinumu un kad to loģikas daļu pareizi uzkodēju tad atklājās kad tāpat kautkas neiet it sevišķi tajā momentā kad motoram ir jāizlādējās (pēc tiem mikrosoļiem) un tur comparātors  sanāk kad visu laiku rāda kad motors ir izlēdējies, bet kad ieslēdz pinumu tad atkal kad nav ilādējies un jāslēdz ārā un tā visu laiku pa apli līdz ar to beigās sanāk kad izlādes brīdī motors nevis izlādējās bet gan uzlādējās un tagat es sapratu kāpēc notiek tāda mistika tas tādēļ kad tas curent sense rezistors novietots tā kad tur nemaz nevar redzēt pinuma izlādi līdz ar to būs laikam jāielodē tas rezistros pa vidu vienam izejas vadam, bet tad būs jātaisa diferenciālais pastiprinātājs, kas mērīs starpību starp pirms rezistora un pēc rezistora. 
Teikšu kā ir tie diferenciālie pastiprinātāji man baigi nepatīk !, jo tur parasti ir viss lielākās problēmas.

----------


## Vikings

Epi, nesparotu, nafig tu tā čakarējies, man sešfāzu motora vadībā 3A tur normāli arī nezinot kas notiek izlādes laikā... Un pietiek ar vienu LM293 komparatoru, kas dod signālu smadzenei, ka strāva tinumā ir sasniegta.
Pievienojos tiem, kas tev iesaka vairāk pievērst uzmanību pamatiem. Izproti spoles darbību, lai nesanāk iebraukt tādās auzās kā iebraucu ar savu kontrolieri.

----------


## Epis

pagaidām sanāk kad es varu motoru kontrollēt tikai tad kad H tilts ir iesleģts un pinums uzlādējās kad tiltu atslēdz tad vairs neko neredz, un līdz ar to nav vairs nekādas kontrolles pār to motoru un pinummiem + tad varēs arī redzēt to ESD efektu + pārbaudīt tos fast slow decay režimus  :: . 
un protams kad gribās dabūt beidzot tos mikrosoļus un gludu griešanos, jo tā tas motors baigi vibrē bez tiem mikrosoļiem.

----------


## Epis

uzlodēju diferenciālo Opamp shēmu un shēmā izmantoju 3 Lm324 opampus un pirmie 2 ir domāti priekš signālapadošanas (pirms viņiem ir rezistora dalītājs kas pinuma 15V pazemina apmēram 5X un tad ie iet tajā opamp buferī un pēc tam iet standart dif. shēma 
http://en.wikipedia.org/wiki/Image:Opam ... ential.svg
kur R1= 1K un Rf ir 10K (10X pastiprinājums) un attiecīgi R2 un Rg tādi paši, un kā par brīnumu viss strādāja vieīgi vaidzētu vēl lielāku pastiprinājumu jo pagaidām viņš aizgāja līdz 0,6V bet vaidzētu lai aiziet līdz 3V 
šeit oscila bildes.


un es tajā soļinieka pinumā laidu iekšā parasto full step kodu ar 50% PWM un frekvence laikam bīj samērā augsta, virs 10Khz, bet dīvaini liekās tā apakšējā bilde kur ir parādīta vidējā bilde tikai ar lielāku izšķirtspēju 100us kur nevaru saprast kādēļ tas spriegums tā krītās? 
nupat ienāca prāta viena doma kādēļ tā jo izskatās kad tas notiek tad kad H tilts maina pinuma polaritāti un tad laikam rezistors atrodās tajā daļā kas ir viss tuvāk pie zemes un kad atverās apakšējais tranzistros tad laikam tādēļ arī oscils rāda kad tā vērtība ir GND  un kad viņš aizverās tad var redzēt kā turpina plūst elektrība caur induktoru un laikam tām diodēm, līdz ar to sanāk tā kad lai nebūt tādas aklās zonas vaidzētu pielikt vēlvienu rezistoru otrā motora pinuma pusē ar diferenciālo opampu un tad būs pinla bilde. 
hautkā baigi daudz tos opampus beigās vaidzēs!

pielikums: 
tagat palaidu mikrosoļu kodu un rezultāts tāds pats kā iepriekš kad tajā aklajā zonā (kad redzams PWM) kods neiet un pinumi uzlādējās bildē pēdējais attēls. 
tad laikam jālodē otrs rezistros kas mērīs otru pinuma pusi un tad jādomā kā tos abus signālus lai savieno vienā varbūt izmantot kādu analogo slēdzi!

----------


## Mosfet

Cienijamo epi tū šac progresēt vienā lietā- iemācijies publcēt bildes ar oscilogrammām kur ir laika un sprieguma bāzes.
Iedot shēmu kur tev kas ir mērīts, citādi tas līdzinās pēc murga.

----------


## Epis

šeit ir shēma: lai ātrāk uzīmētu izgriezu H tilta attēlu no L297 dokumenta un diferenciāl pastiprinātāju no bildes un visu paintā saliku + motors iezīmēts.

par tiem grafikiem tad rūtiņu mērogi šādi visos vertikālais  ir 2V un horizontālais ir norādīts (primajiem 2viem tas ir vienāds 5ms, trešam 100us  un ceturtam 10ms.

----------


## Mosfet

Paldies par shēmu un komentāri
 Kāpēc current sense pretestību ieliki virknē ar motoru. Var darīt un to dara servo sistēmās, bet šeit ir vairāk problēmas nēka lējā esošajā variantā -pretidukcijas EDS kuru tu redzi vidēja bildē 
un citi "trokšni".Ja ir oscilim difrencālais tausts tad to var apsktīt.
Tava shēma nevar mērīt negatīvu ieejas signālu līdz ar to ir problēmas
Nav saprotama dalītāju nozīme pie tam vēl zeomīgi, kas apgrūtina tā jau opamp dzīvi( pēc ieejas strāvām) un to visu varēja realizēt uz viena op-ampa.Vispār jau dalītājus rēkina ne tikai pāe sprieguma bet arī pāc strāvas, tā par zemomīgo dalītāju .Manuprāt shēma varētu būt 6,8k ieejaē 68K atgriezeniskajā saitē bez dalītāja un bufera.

----------


## Epis

Ar šito L298 draiveri taisīšanu tālāk īsti nēsu ticis, jo ir tāds kā strupceļš, nevar īsti izdomāt ko tālāk lai dara + esu jau no šitā projekta bišķi noguris un kad redzi kad viss iet tik lēnu uz priekšu, tad kautkas ir jāmaina un jāpavlk uz priekšu kāds cits projekts kurš ir iestāvējie arī tā paša iemesla dēļ kā tagat šis un tas ir vecais CNC progas izveide projekts kur es tiku līdz RS232 komunikācijas kodam un tagat kad pēc vairāku mēnešu pārtraukuma izskatās kad viņš kautkā ātri bīdās uz priekšu, laikam tapēc kad ir uzkrājušās visādas idejas kā ko darīt un tad vienā momentā kad to visu izdara tad tezultāts ir redzams momentā un tā arī ir ar to L298 kad vaig laiku lai tās idejas pakrātu un to visu sagremotu un tad pēc kāda laika ar jaunām idejām to visu ātri pabeigut, jo īsti nevaru šito draiveri pabeigt kamēr nēsu izdomājis kas viņu vadīs?? step/dir signāli vai arī no kādiem speciāliem reģistriem, ja tie būs reģistri tad kādu interfacu viņiem likt klāt (atkarīgs pie kāda procesora tas viss būs pieslēgts kā Nios II(jāpērk licenze) vai laticemicro32(kas ir Open core) vai arī kāds 8bit kā mikro8 vai picoblaze (arī pa velti), bet varbūt uztaisīt pašam savu STATE machine minī specializēto proci, bet to ko taisīt un darīt es varēšu redzēt tikai kodēšanas processā jo nevar zināt ko īsti tur vaidzēs un cik tas viss sarežģiti būs!  
Tākā pārmaiņas pēc es tagat taisīšu visu no otra gala un ātri vai vēlu atkal atnākšu līdz šitam draiverim  ::

----------

