Git Product home page Git Product logo

Comments (18)

jonnew avatar jonnew commented on August 24, 2024

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

Hi John,

Thanks a lot for the quick reply! The device has been in our lab for a bit. I'd have to ask around when/were it was bought, but it's not self-built. I have the same problem with two different cyclopses. I have a BNC with two separate leads attached and measure the voltage between the two with a voltmeter (see image below). The other ends of the cables go into the GND and Digital output pin of an arduino, respectively. The voltage is zero at baseline, rises to 5V when the pulse is given by the arduino but then stays at 2.9 and the cyclops can't be triggered anymore. With the resistor attached as shown on the photo, the voltage will settle back to zero after the pulse and the cyclops can be triggered repeatedly. Unfortunately I found no config where this would work with a 3.3V input pulse, mostly because that seems to leave only a very narrow range for resistors that would do the trick.

Photo Jul 19 2023, 8 46 05 PM

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

The other ends are attached to the GND and Digital out pin of another Arduino (Due). However, I tried other 3.3V and 5V pulse generators instead and I get the same problem. The TRIG input on the cyclops will hold the 3V voltage even when the pulse generator is disconnected altogether, so it's unlikely to come from the input device. Also, when I attach the same input cable to the SIGNAL IN port on the cyclops, the voltage will go to zero when the input coming from the cables is set to zero.

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

To the best of my knowledge no (I 'inherited' the device). How would I re-upload the default firmware?

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

Also, just to clarify: Does 'firmware' in this case mean the cyclops.h c++ library that's embedded in the teensy scripts or is there another piece of firmware that lives outside of that?

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

Unfortunately, that doesn't fix the issue. I just re-downloaded the entire library from github and re-uploaded the 'trigger pulse' example script, but I still get the same result. It doesn't make any sense to me, but it seems that somehow in this example the pin on the teensy stays high once it's triggered which prevents it from accepting further input until it's externally zeroed out...

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

OK. Sorry to hear that. At the end of the day, this is a copper trace connected to a pin on a micro controller. If that pin is programmed to be an input and is getting stuck at a voltage, then something seems like its wrong with the teensy. Perhaps an overvoltage condition of some sort occurred? These pins are 5V tolerant though.

You could get another Teensy 3.2 and replace the one thats in there if you want to see if that fixes your issue.

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

No problem - I'm still somewhat optimistic we can figure this out. It's weird because the same problems comes up on three different cyclopses (just tried a third one) which are otherwise working fine. I was thinking to make some low-level tests with the built-in teensy to see if I can pin down the problem.

Is there a layout in the documentation that shows which pins of the teensy are connected to which in/outputs/actuators on the cyclops board and chassis? Maybe I'm blind but somehow I couldn't find it in the (otherwise excellent) manual. Thanks again for your help!

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

...JK. Found it (cyclops_schematic.pdf).

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

Closing for now. If you find a bug that somehow has to do with the device, let me know but I don't see it at this point.

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

It's not a problem of your device directly, but others had issues with the pullup resistors of the teensy, too.
https://forum.pjrc.com/threads/46709-Teensy-3-2-INPUT_PULLUP-Problems-with-Pushbutton
It also does not have built-in pull-down resistors, so it is likely necessary to attach one externally as shown in the image, otherwise the pin floats like it did for me. I checked and the problem is also present with a bare-bone code that only reads from the digital pin without using any of the cyclops libraries, so it is a hardware issue (of the teensy itself).

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

...Oook - finally got it to work. The issue with the pull-down resistor is really only an issue if the other end of the cable isn't (functionally) connected to anything - e.g. with a mechanical switch or something of that sort. With the Arduino on the input side, the problem only arises if you fail to declare the triggering input from the other device as an output (I'm an idiot...) once you do, the problem is solved. Leaving this here just in case it's useful to anybody else.

from cyclops.

ThomasHainmueller avatar ThomasHainmueller commented on August 24, 2024

Also, thank you again Jon for your input and bearing with me while figuring this out.

from cyclops.

jonnew avatar jonnew commented on August 24, 2024

Yeah as you are getting at, if you are driving the pin with a low output impedance source, like a function generator or the output pin on another microcontroller, then the pull down/up state of that pin should not matter.

Glad you figured it out, you're not an idiot, have a good day.

from cyclops.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.