• Scam Alert. Members are reminded to NOT send money to buy anything. Don't buy things remote and have it shipped - go get it yourself, pay in person, and take your equipment with you. Scammers have burned people on this forum. Urgency, secrecy, excuses, selling for friend, newish members, FUD, are RED FLAGS. A video conference call is not adequate assurance. Face to face interactions are required. Please report suspicions to the forum admins. Stay Safe - anyone can get scammed.
  • Several Regions have held meetups already, but others are being planned or are evaluating the interest. The Calgary Area Meetup is set for Saturday July 12th at 10am. The signup thread is here! Arbutus has also explored interest in a Fraser Valley meetup but it seems members either missed his thread or had other plans. Let him know if you are interested in a meetup later in the year by posting here! Slowpoke is trying to pull together an Ottawa area meetup later this summer. No date has been selected yet, so let him know if you are interested here! We are not aware of any other meetups being planned this year. If you are interested in doing something in your area, let everyone know and make it happen! Meetups are a great way to make new machining friends and get hands on help in your area. Don’t be shy, sign up and come, or plan your own meetup!

Troubleshooting help - CNC control signals?

Arbutus

Ultra Member
Premium Member
I have two MCUs, a Teensy 4.0 and a Teensy 4.1. Both run at the same 600MHz (!) speed.
T4.0 generates a signal to control a stepper motor (Pulse+/Direction+). T4.1 receives that signal and synchronizes another stepper to pulse its motor once per N pulses received.

Observing the output signal at the T4.0 cable connection, I see on the scope that the output signal is almost perfectly square (at 5ns).

Observing the received signal at the T4.1 cable connection, the scope shows a ringing effect. It is extremely brief, but because the T4.1 is so fast, when it is monitoring the input pin, it sees dozens of transitions. So instead of one pulse it responds to many. My 'synchronized' motors are both doing a solo dance.

The cable between the MCUs is a 4 conductor 24ga shielded cable typically used for CNC machines, about 5 ft long. The connectors are GX-16, grounded and connected to the shield at both ends. I accept that the ringing is the natural state for this type of cable (could be longer or shorter, I suppose) but tuning the cable isn't going to solve the problem.

At the T4.1 inputs, there is a 1K pulldown resistor.

Its looking like I might need to add HF filtering on the receiving pins. Or is there an active circuit that might be appropriate? 74xx buffer/inverter perhaps?

I'm mostly bald already. But this is making it worse! Any ideas?

SignalNoise.jpg
 
With a small ferrite choke at the T4.1 inputs, the ringing signal disappears. Secondly, there is a Schmidt trigger option for the ISR pin which is on by default when using pinMode(pin, INPUT_PULLUP); Turning this off, slows the response just enough to avoid the false triggering. See, that wasn't so hard. :)
 
With a small ferrite choke at the T4.1 inputs, the ringing signal disappears. Secondly, there is a Schmidt trigger option for the ISR pin which is on by default when using pinMode(pin, INPUT_PULLUP); Turning this off, slows the response just enough to avoid the false triggering. See, that wasn't so hard. :)
...... Maybe, but I seem to speak a different language when it comes to electronics, so, yeah, for me, that seems pretty hard. o_O
Well done. :cool:
 
Back
Top