Malý CNC sústruh/brúska

fotky našich strojů, aneb co máme doma
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

3. 4. 2016, 6:34

Tak už sa hýbe:
A.jpg
tu je VIDEO

Vydáva to nejaké čudné zvuky, potrebuje to namazať :) :) :)

Ešte zistiť načo je Decay a Stop Current a ako nastaviť, možnože to trochu pomôže aspoň tomu zvukovému prejavu.
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

3. 4. 2016, 11:11

Nó, to je fakt divnej zvuk. Máš tam teď nějakej mikrokrok? A Decay byl jak, na 100%? A napájecí napětí? Čim generuješ pulzy?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

5. 4. 2016, 1:46

Thomeeque píše:Nó, to je fakt divnej zvuk. Máš tam teď nějakej mikrokrok? A Decay byl jak, na 100%? A napájecí napětí? Čim generuješ pulzy?
Decay bol 100%, ale ak som to zmenil, tak tam nebola nejaká "počuteľná" zmena.
Jediná zmena bola, ak som zmenil Stop current z 50% na 20%, tak motory pri zastavení (niekedy) pištia.

Bez záťaže tie motory idú perfektne, a už som si myslel, že jednoducho nestíhajú... Ale po bádaní som zistil, že to pravdepodobne pištia tie hliníkové spojky.

A ešte skúsim 24V, či sa to nejako nezlepší.

Ináč, ten zvuk mi nevadí, robí to len pri vyšších rýchlostiach a tie sa moc používať nebudú. A ani to nestráca kroky.
A skúsim zmeniť ten program na riadenie, tak idem ešte laborovať :)
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

9. 4. 2016, 12:33

Takže tie čudné zvuky som odhalil - z nejakého dôvodu som si myslel, že driver má max. vstupné frekvencie rádovo MHz, ale je to max 20 (resp. 15) kHz. Púšťal som tam pulzy rádovo jednotky mikrosekúnd...
Otázka je ten Decay a Stop current, ako to nastaviť. Nejako sa mi nezdá, že by sa pri rôznom nastavení niečo viditeľne zmenilo. Nechám 100% a 50%?
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

9. 4. 2016, 1:12

To jako že jsi změnil zvuk motoru jen tím, že jsi natáhl délky pulzů (bez změny frekvence pulzů)?
To teda musím schválně vyzkoušet, byla by to pořádná školácká chyba návrhářů toho chipu.
Jinak TB6560 zvládne rozhodně víc než těch 15 kHz. V tom datasheetu je to trochu nešikovně napsané, spousta parametrů se tam vztahuje na kapacitu časovacího kondezátoru 330pF, ale v praxi se většinou používá výrazně rychlejší časování s kondezátorem 100pF. I ty levné moduly z eBay/Ali tam mají osazený 100pF.
Decay by ti zvuk motoru měl změnit, většinou se to sluchem dost liší.
Proud při zastavení motoru bys při jízdě pro změnu sluchem neměl poznat, resp. poznáš jen případné větší nebo menší pískání při stojící ose.
Ten chip TB6560 je takový mix digitálního a analogového návrhu, takže není tak citlivý na přesné hranice časování, jako jsou přísně synchronní kompletně digitální některé novější chipy.
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

9. 4. 2016, 1:28

Mex píše:To jako že jsi změnil zvuk motoru jen tím, že jsi natáhl délky pulzů (bez změny frekvence pulzů)?
No asi je to tak :) https://youtu.be/FeXnkXi9eow Ale možno mám nejaké "čudné" drivre...
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

9. 4. 2016, 3:56

WatchManiac píše:Takže tie čudné zvuky som odhalil - z nejakého dôvodu som si myslel, že driver má max. vstupné frekvencie rádovo MHz, ale je to max 20 (resp. 15) kHz. Púšťal som tam pulzy rádovo jednotky mikrosekúnd...
Ještě jednou se zkusím zeptat, čím že to generuješ pulzy? Má to nějaký rampy?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

9. 4. 2016, 4:01

Thomeeque píše: Ještě jednou se zkusím zeptat, čím že to generuješ pulzy? Má to nějaký rampy?
Týmto http://www.c-n-c.cz/viewtopic.php?f=113&t=20220 ale asi už v 10. verzii... Rampy tam nie sú.

Prvýkrát som otázku prehliadol :)
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

13. 4. 2016, 3:17

Tak konečne dokončené a hlavne funkčné DRO (*), a to je vlastne hlavný dôvod, prečo vlastné riadenie cez MCU.
Na spodok appky ešte pojdu údaje o otáčkach hlavného/supportového vretena, teplota...
Vo finále to bude na win tablete, nie na PC.
1.jpg
Dal som spraviť už aj krycie mechy, snáď cez víkend nahodím. Teraz už len dorobiť supportovú dosku + držiak na nôž a bude prvá špona...
----------------------
(*) no k tej funkčnosti - je to napísané vo VB.net a je tam ešte jeden problém, s ktorým si neviem rady. Je tu niekto, kto sa vyzná v VB? Že by mi poradil ako vymazať serial buffer?
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
HonzaCh
Příspěvky: 289
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

13. 4. 2016, 5:58

Podle MSDN by na to IMHO měly sloužit metody DiscardInBuffer() pro přijatá data a DiscardOutBuffer() pro odesílaná (obojí myšleno jako metoda instance třídy System.IO.Ports.SerialPort), ale nejsem příslušník VB, tak mi nevěř 100%.

HTH,
H.
Uživatelský avatar
Thomeeque
Příspěvky: 8913
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

13. 4. 2016, 8:53

WatchManiac píše:Dal som spraviť už aj krycie mechy, snáď cez víkend nahodím. Teraz už len dorobiť supportovú dosku + držiak na nôž a bude prvá špona...
Fakt? Ty jsi meanwhile tajně vyřešil to vřeteno? :)
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

13. 4. 2016, 9:05

Thomeeque píše:Fakt? Ty jsi meanwhile tajně vyřešil to vřeteno? :)
Ale kdeže, ani zďaleka... :( Dám tam zatiaľ to moje na proxxonovú hriadeľku, niekde som to tu aj odfotil, alebo mám jedného nepoužívaneho kressa, tak možno to. Len chcem skúsiť, ako to funguje (a či vôbec)
Ináč, veľmi sa mi pozdával ten nápad s trubkou z tlmiča, možno to skúsim tak. Mám v honde servise odložené nejaké vymlátené tlmiče, tak to pôjdem čeknúť.
A ak bude vnútorný priemer tlmičovej trubky vyhovovať na nejaké ložisko s vnútorným otvorom 8mm, tak skúsim niečo zosmoliť. Chcel by som tam dať tiež proxxon hriadeľku, tá má 8...
Ale ako hovorím, najprv musím overiť či pozdĺžny/priečny posuv vôbec funguje, a ako je to presné...
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

13. 4. 2016, 9:15

HonzaCh píše:Podle MSDN by na to IMHO měly sloužit metody DiscardInBuffer() pro přijatá data a DiscardOutBuffer() pro odesílaná (obojí myšleno jako metoda instance třídy System.IO.Ports.SerialPort), ale nejsem příslušník VB, tak mi nevěř 100%.

HTH,
H.
Jo, dík moc... Toto mám zmáknuté, akurát implementácia do kódu tak trochu zaostáva :) :) Keď buffer nechám, tak za cca 10 sekúnd to zmrzne (je tam 250000 baud), a keď ho vyprázdnim cez DiscardInBuffer, tak sa to zase seká, korektne fungje len prvá časť splitnutého reťazca...
Potreboval by som to na nejakú podmienku, že cca každých 5sek sa vyprázdni. A to neviem jak... Idem študovať :)
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
HonzaCh
Příspěvky: 289
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

13. 4. 2016, 11:29

WatchManiac píše:Jo, dík moc... Toto mám zmáknuté, akurát implementácia do kódu tak trochu zaostáva :) :) Keď buffer nechám, tak za cca 10 sekúnd to zmrzne (je tam 250000 baud), a keď ho vyprázdnim cez DiscardInBuffer, tak sa to zase seká, korektne fungje len prvá časť splitnutého reťazca...
Potreboval by som to na nejakú podmienku, že cca každých 5sek sa vyprázdni. A to neviem jak... Idem študovať :)
Tak to nějak nechápu. Asi budeš muset pustit víc info.

Když bych ta data nechtěl, tak bych je tam ani nehrnul, natožpak rychlostí 250k. Jestli jo (chtěl), no tak je holt musím taky dostatečně rychle číst a zpracovat.

Možná Ti napoví příklad přímo ve VB, který si otevře port, založí samostatné vlákno ("proces") pro čtení z portu, který běží "souběžně" s "hlavním" (co čte řádky z klávesnice) a co přijde z portu, to vypíše na konzolu... Klidně můžeš udělat čtení, které s přijatými daty nebude dělat nic, jen je zapomene.

Discard to smázne víceméně náhodně; co je zrovna v bufferu, to zahodí, uprostřed "řádku" (sériový port nic takového nezná, to až...řekněme pro jednoduchost až ten softwarový objekt [třída SerialPort]). Pokud těch dat máš moc a chceš něco zahazovat tím Discard-em, musíš proto nějak implementovat resynchronizaci...třeba zahodit i první následující řádek, protože pravděpodobně bude neúplný.

Jinak 5s × 250kbps je už docela hromada dat, nedivím se, že se to po 10s "ucpe"…

Sice můžeš vzít třeba timer, nastavit ho na 5000ms a při jeho tiku provést DIscard, ale jak píšu, nevím, k čemu by to bylo dobré, asi nepotřebuješ jen vyprazdňovat z Rx buffer (jinak bys nenapsal to o sekání a splitnutém řetězci).

H.
Uživatelský avatar
WatchManiac
Příspěvky: 522
Registrován: 23. 1. 2010, 12:56
Bydliště: Bernolákovo
Kontaktovat uživatele:

14. 4. 2016, 7:10

Pustím víc info :)

najprv som to mal takto (dva záznamy len):

Kód: Vybrat vše

 Dim str As String = sp.ReadLine()

        If str.Contains("A") Then
        strPolohaX = str.Replace("A", "")
        polohaX = (strPolohaX)
        polohaXtb.Invoke(New UpdatePolohaXDelegate(AddressOf UpdatePolohaX), PolohaX)
        Invoke(myDelegatePolohaX, polohaX)      'zobrazí hodnotu v textboxe1
        End If

        If str.Contains("B") Then
        strPosuvX = str.Replace("B", "")
        posuvX = (strPosuvX)
        posuvXtb.Invoke(New UpdatePosuvXDelegate(AddressOf UpdatePosuvX), posuvX)
        Invoke(myDelegatePosuvX, posuvX)            'zobrazí hodnotu v textboxe2
        End If
to funguje, ale zachvíľu sa zahltí buffer/spomalí sa zobrazovanie na displeji

Keď skúsim toto:

Kód: Vybrat vše

Dim str As String = sp.ReadLine()

        Dim polohaX As String = str.Substring(0, 6)
        polohaXtb.Invoke(New UpdatePolohaXDelegate(AddressOf UpdatePolohaX), polohaX)
        Invoke(myDelegatePolohaX, polohaX)

        Dim posuvX As String = str.Substring(6, 6)
        posuvXtb.Invoke(New UpdatePosuvXDelegate(AddressOf UpdatePosuvX), posuvX)
        Invoke(myDelegatePosuvX, posuvX)
tak to zahlási chybu, nemá (správne???) dáta pri ďalšom loope

Takisto keď tam dám ten DiscardInBuffer()

Z arduina ide: A00.00B00.00\n

Za každú radu budem vďačný. :)
„Když něčemu věnuješ dostatek času, budeš v tom mistr. Pokud nejsi blb.“
Obrázekwatchmania.skObrázekAmateur WatchmakingObrázekYouTube kanál
Odpovědět

Zpět na „naše mašinky“