Voltage translation woes - TXS0108E

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 เม.ย. 2023
  • Voltage translation was working in the previous hardware iteration and then I decided to improve it by using a specialized chip. Here's what happened :)
    Previous iteration of hardware - github.com/kachurovskiy/espina
    New hardware for github.com/kachurovskiy/nanoels/
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 41

  • @elektron2kim666
    @elektron2kim666 4 หลายเดือนก่อน +1

    It makes sense on data lines. Was hidden to me until recently, but looking into something to build it, we find ways around it. I was also mind blown about amplifier buffers.

  • @michaellinahan7740
    @michaellinahan7740 ปีที่แล้ว

    Maxim, I tried to use one of these on a Due based project since I was replacing a Mega (faster sampling) but like you I ran into issues and eventually gave up on the project as I didn't have enough experience to decide if it was my mistake or the boards capability. Good luck I hope that you solve the issue as I am waiting for a 2 axis version of your project.

  • @GoPaintman
    @GoPaintman ปีที่แล้ว

    As others have said that TXS chip is often sold as a general purpose level shifter. I believe that because of this (myself included), most people will try to use this in an application where some current needs to be drawn, or the signal is very sensitive to line capacitance.
    The optocouplers in the driver needs some current, and I don’t think that the TXS chip you’re using in that configuration can supply the current needed.
    I went with an SN74AHCT125N. It’s unidirectional, but for transmitting out step, direction and enable pulses it will work.

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      I went with a bunch of transistors - github.com/kachurovskiy/nanoels/blob/main/h4/h4-20230429.pdf page 5 - so far all good :) It's bidirectional and no stock shortages.

  • @arp_catchall
    @arp_catchall 4 หลายเดือนก่อน

    Tried to use this chip on I2C bus. Nothing but issues, gave up. The fet setup works just like in your case.

  • @dimsum5567
    @dimsum5567 ปีที่แล้ว +1

    Using bi-directional level shifter here is a waste of money. I am lazy to look up the datasheet but you are most likely observing output pin switching into receive state (from output state), and it is looking like 1/2 of voltage. I think stepper drivers can be driven by an open collector transistor.

  • @ferrumignis
    @ferrumignis ปีที่แล้ว

    Those TI bidirectional voltage translators are very troublesome IME, I would never recommend using them. The automatic bidirectional action works by eating into the logic level noise margins by a significant amount. At the input you have to pull it much closer to 0v than regular LVTTL or CMOS levels would require (I think ~0.15v) and also very close to the reference voltage to get a logic 1. At the output it will only get to within about 0.4V of ground.

  • @user-oh8pi5wy7k
    @user-oh8pi5wy7k ปีที่แล้ว

    Доброго. Всегда слежу за Вашими выпусками- отлично, спокойно и по делу. Но, туговато(очень)у меня с иностранным языком. Так понимаю это электронная гитара на две оси?
    С Уважением.

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      Да, следующая версия NanoEls. Спасибо!

    • @user-oh8pi5wy7k
      @user-oh8pi5wy7k ปีที่แล้ว

      Максим, опишите функционал для таких как я.
      Эх, добавить бы джойстик!

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      @@user-oh8pi5wy7k через пару лет я сдамся и добавлю джойстик везде просто чтобы перестали спрашивать 😄 Функционал пока не реализован так что не хочу загадывать 😀 Надеюсь скоро смогу показать!

    • @user-oh8pi5wy7k
      @user-oh8pi5wy7k ปีที่แล้ว

      Жду с нетерпением.🤝

    • @Valery_1954
      @Valery_1954 11 หลายเดือนก่อน

      пользователь-oh8pi5wy7k,
      Включите субтитры и затем перевод на свой язык.

  • @HM-Projects
    @HM-Projects ปีที่แล้ว

    Replace them from ones bought off Digi-Key. I've used these before, never had issues like this. Also most stepper drivers have optocouplers on input that should work fine on 3.3v, have you tried directly driving them ? Usually high speed optocouplers on DIR and PUL, regular one on ENA. All of them should activate around 2.5-2.7v

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว +1

      I agree there might be some issue with LCSC components but it doesn't make sense for me to tinker with them further since I need a reliable source of ready-to-ship boards and it's clear that there's high risk of shenanigans in the JLCPCB+TXS0108E route. It will probably work directly as you said but www.omc-stepperonline.com/download/CL57T.pdf page 6 says 4.5-5v 🤷‍♀

    • @HM-Projects
      @HM-Projects ปีที่แล้ว

      @@MaximKachurovskiy I've used cl57y v4.0 with 3.3v logic levels 🤷‍♂️

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว +2

      @@HM-Projects sure, I'd do that on a project at home but selling stuff that's obviously out of spec is another thing. I also want to allow using those lines as general purpose digital inputs and driving 5V straight to ESP32 is out of spec as well.

    • @HM-Projects
      @HM-Projects ปีที่แล้ว

      @@MaximKachurovskiy I usually treat stepperonline datasheets with some healthy skepticism, pull the units apart first time and look at the components to work out the actual specs. Same with anything from China, especially checking earth connections on mains connected equipment.

  • @0000Vlad0000
    @0000Vlad0000 8 หลายเดือนก่อน

    Be careful with the insulating pads. A velostat can come to you. It has low resistance.

  • @cosminnci
    @cosminnci ปีที่แล้ว

    Is the pink foam you place the board on an esd foam ?

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      Maybe, this is what JLCPCB ships their assembled boards in.

    • @cosminnci
      @cosminnci ปีที่แล้ว +2

      @@MaximKachurovskiy What I mean is that it has dissipative / conductive properties, you should try to use something that is isolator when powering the board.

  • @EdwardKrapovnitsky
    @EdwardKrapovnitsky ปีที่แล้ว

    Максим, я вижу OE (10-я нога) у тебя подтягивается к земле, но не вижу что её подтягивает к 3,3В во время работы. А если её не подтянуть к 3,3В, выход будет отключен (в режиме высокого внутреннего сопротивления) и на осцилографе без нагрузки как раз может быть то, что наблюдается у тебя. Эд.

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว +1

      ОЕ подтягивается на 3.3 с помощью пина ESP32 который выставляется HIGH после запуска. Без этого не работало бы вообще ничего.

    • @EdwardKrapovnitsky
      @EdwardKrapovnitsky ปีที่แล้ว

      @@MaximKachurovskiy Хорошо.

  • @azinfidel6461
    @azinfidel6461 ปีที่แล้ว

    The only thing that comes to mind is to purchase a few of the I c's from A trusted source To see if You get an improvement

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      In the datasheet application notes it says "Handsets • Smartphones • Tablets • Desktop PCs" so I guess it's just not made for this kind of applications 🤷‍♀

  • @prashkd7684
    @prashkd7684 ปีที่แล้ว

    try removing the pull down resistor and tying up OE permanently to high. bad resistor sizing could be the cause.

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      I think that resistor size was recommended by the datasheet, 5.1k

  • @mnus2016
    @mnus2016 ปีที่แล้ว

    Not a good idea to use logic level shifter in first place to control stepper driver. Technically speaking stepper drivers controls by current, not by voltage: + and - terminal goes directly to optocoupler and current 10-20 mA needed to activate it(deepens on model). Often to make life easier stepper drivers also includes current limited resistor for optocoupler to allow direct 5V control, but current still should be maintained as per datasheet. Classic bi-directional level shifter with MOSFET and couple resistors can provide voltage, but current limited by pull-up resistor. It works for you? My CL57T Ver 4.0 works from 3.3 volts directly from STM32 output just fine. But it doesn't mean you should relay on experiment data, not on datasheet.
    My suggestion: use NPN transistor(like BC547). Connect EN+, DIR+, STEP+ to 5 volts, connect collector of transistors to EN-, DIR-, STEP-, connect emitter of transistors to ground and connect base of transistors to control lines from ESP via resistor(check datasheet for base current). You also can use MOSFET if you like.

    • @HM-Projects
      @HM-Projects ปีที่แล้ว

      Excellent point I missed tx0108 is not going to be able to source 20ma per port, another thing to take into account is switching frequency if you're using any level translator. You can use an output buffer that can operate at the switching frequency you need, since you only need unidirectional level translation.

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      Thank you both, your feedback is why I keep making these videos 😃 Very good note on current, I didn't think of that much but I think I'm already using the approach recommended by @MNUS - electronics.stackexchange.com/questions/661842/bi-directional-voltage-translation-with-esd-and-emi-protection - toggling the EN- DIR- STEP- while having 10mA of current available on the plus lines (once I adjust my resistor value 🤫).

    • @HM-Projects
      @HM-Projects ปีที่แล้ว

      @@MaximKachurovskiy yeah might be able to use a high speed logic gate optocoupler to do both (logic level + EMC isolation), need to do a parametric search on digikey. A lot of line driver equipment have the exact same requirements.

    • @HM-Projects
      @HM-Projects ปีที่แล้ว

      @@MaximKachurovskiy Take a look at 74AC125

    • @mnus2016
      @mnus2016 ปีที่แล้ว

      @@MaximKachurovskiy that works too, but keep in mind that when you set 0 on output, you will have around 10 mA current trough pull up resistor to ground via MCU pin. Check how much current it can handle, especially combined. Also at 5V and 10 mA there will be 50 mW heat dissipation on that resistor. 805 resistor has 100 mW power rating, 603 has 62.5 mW power rating. Still fit, but...
      Also if you plan to use those pins as inputs, connected device should be able to handle 10 mA current on output when it set it low.
      Best solution to keep inputs and outputs separate.

  • @azinfidel6461
    @azinfidel6461 ปีที่แล้ว

    Or Un soldier And pull up those pins and test them at the IC

  • @0924kumki
    @0924kumki ปีที่แล้ว

    dear dir is cool thing that you make can your unit can read DRO as well if can will be willy cool thank you

    • @MaximKachurovskiy
      @MaximKachurovskiy  ปีที่แล้ว

      Dear friend, hardware-wise adding DROs is possible even today in A1 or A2 but in software it won't be easy.

    • @0924kumki
      @0924kumki ปีที่แล้ว

      @@MaximKachurovskiy thank you will be great if is possible and will be very easy to use if can and thank you for you answer and if can I willy to have one as well

    • @0924kumki
      @0924kumki ปีที่แล้ว

      @@MaximKachurovskiy and only the DRO sender and the function that you put into the control will be litter more easy maybe thank you.