Mesa 7i96 - ochrana P1
Čaute,
sepsal jsem dva způsoby jak ochránit konektor P1 na Mesa kartě.
https://zz912.webnode.cz/ochrana-p1/
První způsob je použití rozšiřující Mesa karty, což je docela drahé a navíc k tomu není převodní kabel 25-ti pin na 50ti pin, takže stejně člověk u toho musí přemýšlet (a to dneska bolí).
Druhý způsob je potřeba dobastlit, což se mi taky nelíbí.
Vlastní plošňák se mi vyrábět nechce.
Nevíte o něčem, co bych jen koupil za slušný peníz a zadrátoval? Nemusí to být přímo galvanické oddělení.
sepsal jsem dva způsoby jak ochránit konektor P1 na Mesa kartě.
https://zz912.webnode.cz/ochrana-p1/
První způsob je použití rozšiřující Mesa karty, což je docela drahé a navíc k tomu není převodní kabel 25-ti pin na 50ti pin, takže stejně člověk u toho musí přemýšlet (a to dneska bolí).
Druhý způsob je potřeba dobastlit, což se mi taky nelíbí.
Vlastní plošňák se mi vyrábět nechce.
Nevíte o něčem, co bych jen koupil za slušný peníz a zadrátoval? Nemusí to být přímo galvanické oddělení.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Pár poznámek.
Mesa 7i96 má i na pinech "holých" konektorů předřazenou ochranu. Platí to nejen pro 7i96, ale snad pro všechny nebo skoro všechny Mesy.
Je tam velmi chytře zapojené pole FET tranzistorů, které umožňují obousměrný provoz, ale současně limitují napětí, které jde na piny FPGA, na 3.3V, Proto je možné používat tyto vstupní piny například přímo na 5V-logice, i když hradlové pole by při napětí na vstupu nad 4V odešlo.
Je to (podle mě) jedna z chytře vymyšlených věcí.
Obecně ty Mesa karty navrhoval někdo, kdo skutečně studoval elektroniku a ne gender studies. Klobouk dolů.
Pozor! Ta ochrana se dá na většině karet jumperem vypnout. Tak si ji někdo omylem neznefunkční.
Ty optronové moduly jsou teda divné. Divně zapojené, divně fungující, a s navíc pak s divně dobastlenou úpravou.
Fotky na tom Tvém webu jsou hodně špatně čitelné. Ale jestli to luštím správně, tak na výstupu optronu má v kladné větvi připojený odpor 3k. Je to teda taková divná hodnota mimo řadu, no ale proč ne. Hlavně ale proč ho tam strkali.
Pokud je to skutečně přímo na tom modulu takhle zapojeno, tak je ten modul určený aby fungoval jako výstup typu PNP, neboli source.
Není to moc zvykem, že by se obecný optronový oddělovač takto dedikoval pro konkrétní zapojení, ale možné to samozřejmě je (i když trochu nesmyslné).
Takže by se zřejmě dalo předpokládat, že by mohla existovat i nějaká jeho jiná varianta.
To, že jsi odpor proklemoval, je (podle mě) správné řešení.
Analogové optrony (což je i tento případ) jsou rozdělené do kategorií podle proudového převodního poměru. Tj. jaký proud na výstupu dají při definovaném proudu na vstupu. Asi nejběžněji se používá kategorie 'C', tedy označení xx817C. Ta má přenosový poměr 200-400%. Takže při proudu vstupní diodou třeba 10mA by výstupem mohlo téct 20-40mA.
I optrony s nejnižším přenosovým poměrem začínají na 50%. Tedy při 10mA na vstupu by jím teklo až 5mA na výstupu.
Proč to píšu: máš tam uvedeno, že vstupem optronu Ti teče velký proud, kde LEDka na vstupu už vypaluje oči a topí. Ale přesto tam podle Tvých slov neteče výstupem dost velký proud na to, aby přetáhl nějaký pull-up 4.7k. To je opravdu divné.
No a proč jsem drze napsal (promiň), že je tam divně dobastlená úprava: zvednutí vstupního proudu na nějakou šílenou hodnotu sice zafungovalo, ale dobře to není. Jednak ten optron brzo odejde. Ale hlavně je třeba především přijít na to, kde je problém. Je to jaky bys měl přidřená ložiska nebo zataženou brzdu, a problém vyřešil tím, že prostě víc šlápneš na plyn, abys to překonal.
A navíc pokud jsi to zapojil tak, jak jsi namaloval, tak jsi navíc kompletně zrušil galvanické oddělení, kvůli kterému tam ten optron má smysl. Pokud takto propojíš země navzájem, tak pak už skoro pozbývá smysl tam cpát optron. Pak se to dá vyřešit snadněji nějakým levným integráčem nebo dokonce jen odporovým děličem.
Takže bych v první fázi prohlídl optron, co je na něm napsané.
A pak s ním trochu polaboroval. Pustil mu do vstupu definovaný proud, výstup připojil natvrdo mezi +5V a zem, a změřil, co tím výstupním tranzistorem poteče. A podle toho pak řešil dál.
A když tam chceš mít nějaký ten bočník k LED, co sis tam doletoval, tak ho aspoň zapoj na vstupní zem a ne na výstupní. I když máš třeba momentálně modul zapojený tak, že jsi země jumperem propojil.
Mesa 7i96 má i na pinech "holých" konektorů předřazenou ochranu. Platí to nejen pro 7i96, ale snad pro všechny nebo skoro všechny Mesy.
Je tam velmi chytře zapojené pole FET tranzistorů, které umožňují obousměrný provoz, ale současně limitují napětí, které jde na piny FPGA, na 3.3V, Proto je možné používat tyto vstupní piny například přímo na 5V-logice, i když hradlové pole by při napětí na vstupu nad 4V odešlo.
Je to (podle mě) jedna z chytře vymyšlených věcí.
Obecně ty Mesa karty navrhoval někdo, kdo skutečně studoval elektroniku a ne gender studies. Klobouk dolů.
Pozor! Ta ochrana se dá na většině karet jumperem vypnout. Tak si ji někdo omylem neznefunkční.
Ty optronové moduly jsou teda divné. Divně zapojené, divně fungující, a s navíc pak s divně dobastlenou úpravou.
Fotky na tom Tvém webu jsou hodně špatně čitelné. Ale jestli to luštím správně, tak na výstupu optronu má v kladné větvi připojený odpor 3k. Je to teda taková divná hodnota mimo řadu, no ale proč ne. Hlavně ale proč ho tam strkali.
Pokud je to skutečně přímo na tom modulu takhle zapojeno, tak je ten modul určený aby fungoval jako výstup typu PNP, neboli source.
Není to moc zvykem, že by se obecný optronový oddělovač takto dedikoval pro konkrétní zapojení, ale možné to samozřejmě je (i když trochu nesmyslné).
Takže by se zřejmě dalo předpokládat, že by mohla existovat i nějaká jeho jiná varianta.
To, že jsi odpor proklemoval, je (podle mě) správné řešení.
Analogové optrony (což je i tento případ) jsou rozdělené do kategorií podle proudového převodního poměru. Tj. jaký proud na výstupu dají při definovaném proudu na vstupu. Asi nejběžněji se používá kategorie 'C', tedy označení xx817C. Ta má přenosový poměr 200-400%. Takže při proudu vstupní diodou třeba 10mA by výstupem mohlo téct 20-40mA.
I optrony s nejnižším přenosovým poměrem začínají na 50%. Tedy při 10mA na vstupu by jím teklo až 5mA na výstupu.
Proč to píšu: máš tam uvedeno, že vstupem optronu Ti teče velký proud, kde LEDka na vstupu už vypaluje oči a topí. Ale přesto tam podle Tvých slov neteče výstupem dost velký proud na to, aby přetáhl nějaký pull-up 4.7k. To je opravdu divné.
No a proč jsem drze napsal (promiň), že je tam divně dobastlená úprava: zvednutí vstupního proudu na nějakou šílenou hodnotu sice zafungovalo, ale dobře to není. Jednak ten optron brzo odejde. Ale hlavně je třeba především přijít na to, kde je problém. Je to jaky bys měl přidřená ložiska nebo zataženou brzdu, a problém vyřešil tím, že prostě víc šlápneš na plyn, abys to překonal.
A navíc pokud jsi to zapojil tak, jak jsi namaloval, tak jsi navíc kompletně zrušil galvanické oddělení, kvůli kterému tam ten optron má smysl. Pokud takto propojíš země navzájem, tak pak už skoro pozbývá smysl tam cpát optron. Pak se to dá vyřešit snadněji nějakým levným integráčem nebo dokonce jen odporovým děličem.
Takže bych v první fázi prohlídl optron, co je na něm napsané.
A pak s ním trochu polaboroval. Pustil mu do vstupu definovaný proud, výstup připojil natvrdo mezi +5V a zem, a změřil, co tím výstupním tranzistorem poteče. A podle toho pak řešil dál.
A když tam chceš mít nějaký ten bočník k LED, co sis tam doletoval, tak ho aspoň zapoj na vstupní zem a ne na výstupní. I když máš třeba momentálně modul zapojený tak, že jsi země jumperem propojil.
Ja som to riesil podobne, na mesa strane som rezistor dal prec a prepojil, na druhej strane mam 2k2 rezistor a funguje to na 5v logiku, Musim tam dat ale mensi, lebo pri 4.7V uz to nie je spolahlive. Prud som nemeral
To Gekonko: Mohl bych te poprosit, jestli by si byl ochotny zmerit proud na diodě optočlenu a napětí na strsně Mesy? Moje konkrétní Mesa považuje za logickou nulu i 1.5 Voltu.
To Mex: diky za podněty pro přemýšlení. Ještě nèco zkusím zmèřit a dám vědět
To Mex: diky za podněty pro přemýšlení. Ještě nèco zkusím zmèřit a dám vědět
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Noooo, tak mi to nedalo, nahodil jsem mašinu a udělal jsem pokus. Vstupní pin jsem spojil přes ampérmetr se zemí a naměřil jsem 15mA, což by odpovídalo PULL UP 0k333 a né 4k7.
Chová se to stejně jak při spuštěném LCNC, tak i při vypnutém.
Něco je tedy špatně, ale co?
Chová se to stejně jak při spuštěném LCNC, tak i při vypnutém.
Něco je tedy špatně, ale co?
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Ovšem nic tomu nenasvědčuje:
Nenapadá Tě, co ještě zkontrolovat?
Kód: Vybrat vše
zdenek@CNC:~$ mesaflash --device 7i96 --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I96
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: PWM
There are 1 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 4 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 1 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: SSR
There are 1 of SSR in configuration
Version: 0
Registers: 2
BaseAddress: 7D00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for TB3 -> 7I96_0
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
TB3-1 0 IOPort None
TB3-2 1 IOPort None
TB3-3 2 IOPort None
TB3-4 3 IOPort None
TB3-5 4 IOPort None
TB3-6 5 IOPort None
TB3-7 6 IOPort None
TB3-8 7 IOPort None
TB3-9 8 IOPort None
TB3-10 9 IOPort None
TB3-11 10 IOPort None
TB3-13,14 11 IOPort SSR 0 Out-00 (Out)
TB3-15,16 12 IOPort SSR 0 Out-01 (Out)
TB3-17,18 13 IOPort SSR 0 Out-02 (Out)
TB3-19,20 14 IOPort SSR 0 Out-03 (Out)
TB3-21,22 15 IOPort SSR 0 Out-04 (Out)
TB3-23,24 16 IOPort SSR 0 Out-05 (Out)
IO Connections for TB1/TB2 -> 7I96_1
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
TB1-2,3 17 IOPort StepGen 0 Step/Table1 (Out)
TB1-4,5 18 IOPort StepGen 0 Dir/Table2 (Out)
TB1-8,9 19 IOPort StepGen 1 Step/Table1 (Out)
TB1-10,11 20 IOPort StepGen 1 Dir/Table2 (Out)
TB1-14,15 21 IOPort StepGen 2 Step/Table1 (Out)
TB1-16,17 22 IOPort StepGen 2 Dir/Table2 (Out)
TB1-20,21 23 IOPort StepGen 3 Step/Table1 (Out)
TB1-22,23 24 IOPort StepGen 3 Dir/Table2 (Out)
TB2-2,3 25 IOPort PWM 0 PWM (Out)
TB2-4,5 26 IOPort PWM 0 Dir (Out)
TB2-7,8 27 IOPort QCount 0 Quad-A (In)
TB2-10,11 28 IOPort QCount 0 Quad-B (In)
TB2-13,14 29 IOPort QCount 0 Quad-IDX (In)
TB2-16,17 30 IOPort SSerial 0 RXData0 (In)
TB2-18,19 31 IOPort SSerial 0 TXData0 (Out)
Internal-TXEn 32 IOPort SSerial 0 TXEn0 (Out)
Internal 33 IOPort SSR 0 AC Ref (Out)
IO Connections for P1 -> 7I96_2
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
P1-01/DB25-01 34 IOPort None
P1-02/DB25-14 35 IOPort None
P1-03/DB25-02 36 IOPort None
P1-04/DB25-15 37 IOPort None
P1-05/DB25-03 38 IOPort None
P1-06/DB25-16 39 IOPort None
P1-07/DB25-04 40 IOPort None
P1-08/DB25-17 41 IOPort None
P1-09/DB25-05 42 IOPort None
P1-11/DB25-06 43 IOPort None
P1-13/DB25-07 44 IOPort None
P1-15/DB25-08 45 IOPort None
P1-17/DB25-09 46 IOPort None
P1-19/DB25-10 47 IOPort None
P1-21/DB25-11 48 IOPort None
P1-23/DB25-12 49 IOPort None
P1-25/DB25-13 50 IOPort None
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Vypadá to, že s PCW najdeme chybu. Potřebuje v práci něco prověřit.
https://forum.linuxcnc.org/27-driver-bo ... ood#252429
https://forum.linuxcnc.org/27-driver-bo ... ood#252429
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Jo, je tam chyba.
Je tam odpor 300R.
Je to ale na opačné straně konektoru, než to máš na těch Tvých obrázcích. Je to pin 13/25 (podle toho, jestli se konektor čísluje normálně nebo podle čísel pinů na Canonu).
Je pěkné, žes na to narazil. A je zajímavé, že na to ještě nikdo nepřišel, když pin 13 je na LPT defaultně vstupní.
Tak buď to lidi nepoužívají, nebo to použili jako výstup a FPGA to prostě přepralo.
Nebo možná mají všichni tak silné oddělovací desky, že to taky přepraly.
Tak nažhavit páječku a odpor vyměnit za 4k7 v pouzdře 0603. Tohle je opravdu nesmyslná hodnota.
Je fajn, žes to odhalil a zveřejnil.
Je tam odpor 300R.
Je to ale na opačné straně konektoru, než to máš na těch Tvých obrázcích. Je to pin 13/25 (podle toho, jestli se konektor čísluje normálně nebo podle čísel pinů na Canonu).
Je pěkné, žes na to narazil. A je zajímavé, že na to ještě nikdo nepřišel, když pin 13 je na LPT defaultně vstupní.
Tak buď to lidi nepoužívají, nebo to použili jako výstup a FPGA to prostě přepralo.
Nebo možná mají všichni tak silné oddělovací desky, že to taky přepraly.
Tak nažhavit páječku a odpor vyměnit za 4k7 v pouzdře 0603. Tohle je opravdu nesmyslná hodnota.
Je fajn, žes to odhalil a zveřejnil.
Docela mě některé Tvé hlášky v mém životě pozitivní ovlivňují.
1) Chybělo mi, že si se nezmínil že jsem pechfógl. Měl jsem dvě karty 7i96 a 7i96s. tudíž celkem 34 GPIO pinů a já si vybral na měření jen ten jediný špatný. Ovšem už to možná u mě bereš jako samozřejmost a nepřekvapuje Tě to.
2) Kdybych nastavil výstupní pin na output a pak ho stahoval ke GND, "tak bych šel k zrcadlu a naliskal si"
3) A nejčastější Tvoje hláška, kterou používám nejen v elektrosvětě je "Duchové neexistují". Tahle hláška mě drží nad vodou, když se všechno se*e.
Jinak je to tenhle pin: A rezistor R38:
1) Chybělo mi, že si se nezmínil že jsem pechfógl. Měl jsem dvě karty 7i96 a 7i96s. tudíž celkem 34 GPIO pinů a já si vybral na měření jen ten jediný špatný. Ovšem už to možná u mě bereš jako samozřejmost a nepřekvapuje Tě to.
2) Kdybych nastavil výstupní pin na output a pak ho stahoval ke GND, "tak bych šel k zrcadlu a naliskal si"
3) A nejčastější Tvoje hláška, kterou používám nejen v elektrosvětě je "Duchové neexistují". Tahle hláška mě drží nad vodou, když se všechno se*e.
Jinak je to tenhle pin: A rezistor R38:
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Co myslíte, že PCW chtěl říci tímto?
Jinak jsem upravil stránku na svých webovkách ať tam nejsou zavádějící informace. Takže pokud čtete toto vlákno až teď, tak Vám nebudou některé věci dávat smysl. původně jsem měl na stránkách popsán způsob, jak přeprat rezistor R38.
Dokážete to přeložit z technické odborné angličtiny do amatérské češtiny?OK its R38
It looks like it was a deliberate change to allow better operation with G540 drives (that need more high drive on the charge pump signal = DB25 pin16 =GPIO50)
I will fix the documentation
Jinak jsem upravil stránku na svých webovkách ať tam nejsou zavádějící informace. Takže pokud čtete toto vlákno až teď, tak Vám nebudou některé věci dávat smysl. původně jsem měl na stránkách popsán způsob, jak přeprat rezistor R38.
Naposledy upravil(a) zz912 dne 21. 9. 2022, 7:04, celkem upraveno 1 x.
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Podla guglu gecko g540 drivery maju moznost pouzit vyuzit watchdog timer (charge pump), kedy z riadiaceho systemu pozielas 10kHz pulzy do tohto driveru, a vies tym padom sledovat "vytuhnutie" NC.zz912 píše: ↑21. 9. 2022, 6:40 Co myslíte, že PCW chtěl říci tímto?Dokážete to přeložit z technické odborné angličtiny do amatérské češtiny?OK its R38
It looks like it was a deliberate change to allow better operation with G540 drives (that need more high drive on the charge pump signal = DB25 pin16 =GPIO50)
I will fix the documentation
Predpokladam, ze 10kHz signal z mesy by bez tak nizkeho odporu nebol pre gecko driver citatelny.