teensy 3.5 help reqired

Status
Not open for further replies.

sjromp

New member
Hi there, I'm working on a project that uses twenty servos, ( 8 quarter scale and 12 regular sized servos)
and will also read input from 4 myoware muscle sensors, and 4 quicc flex sensors that utilize i2c sensors. I know
that it can only actively use three of the i2c sensors, but will it be able to work all of the other sensors?
thank you for your aid, I appreciate it.
 
T_3.5 has 3 independent i2c bus interface points. But if the devices at hand have adjustable addresses they can be placed on the same bus and addressed uniquely.

Two of those i2c busses share the 20 PWM pins. Not sure how the 4 muscle sensors need to be connected?
 
The i2cs can be daisy chained together as they do have individual addresses possible, and the muscle sensors require an analog connection to read voltages from a person's natural electrical voltage. Thank you for helping me out with this, as some of this I had not considered myself and I appreciate the insight you had in regards to this.
 
Also, you may want to figure out whether how you would power all of those servos. I suspect it may be better to farm out the servos to separate boards that handles power (and power them with more power than a simple USB connection). I've played with Adafruit's i2c servo controller briefly that has 16 or 8 ports (with i2c you can use multiple boards on the same i2c line):

Pololu has a more independent servo controller (Maestro) that allows you to download code and program it independently. You can control it via serial output, but you would probably need to use a level shifter between the pololu controller and the Teensy, as the Pololu unit specifies 5v:
 
Hi MichealM, I was going to run this with a soldered breadboard, thank you for the suggestions on managing the servos, these
are much cleaner to use than trying to run them all directly from the board.
Are there easy to use guides to learn proper setup for the 16 servo board, and
can I use two of those on the teensy?


I should be able to get away with this 5v, 60 amp power supply
https://www.amazon.com/MEAN-WELL-LRS-350-5-Single-Switchable/dp/B07MJLTVFP
am i right in this assumption?

the servos themselves are either 1.2 amp for the 12 small servos, and 4 amps max for the large servos. (46.4 amps for the servos by themselves)

I spoke with a friend and i intend to run the myoware sensors and i2c sensors to a raspberry pi wirelessly linked between the teensy and raspberry pi,
if i can.( this was my original idea but wasn't sure if i would be able to in time.
 
Hi MichealM, I was going to run this with a soldered breadboard, thank you for the suggestions on managing the servos, these
are much cleaner to use than trying to run them all directly from the board.
Are there easy to use guides to learn proper setup for the 16 servo board, and
can I use two of those on the teensy?

Well Adafruit has a basic tutorial:

If you search the Adafruit learning site, there may be more advanced tutorials.

In theory, you can chain up to 62 boards together. Each board has solder jumpers that you would need to close one or more jumpers on the secondary board so that the board has a different i2c address.

On Teensy systems (any arm system typically), you need to have pull-up resistors between the SCL pin and VCC (3.3v) and another between the SDA pin and VCC. On a 3.3v, 2.2k is the typical minimum for pull-up resistor. According to the schematic, there are two 10k pull-up resistors on the board. You only need one set of pull-up resistors on the entire i2c bus, so you might not need to add specific ones for the Teensy. Before you try to run the servo, and after you hook up the board(s), run the Wire -> Scanner example program. If the program hangs, it is a symptom that you need to add explicit pull-up resistors. If it doesn't find the board, that likely means you need to investigate the wiring. Try each board separately, and then in combination. Note, on the board, you need to hook up both power from the Teensy to VCC and power to run the servos to V+.

It is recommended to use the terminal block to provide servo power, since that is protected against connecting the wires backwards. If you don't use the terminal block, you want to connect the ground from the servo power supply to the Teensy ground. I tend to prefer not to use the terminal block that is provided to such boards since I've had cases where the wire came out. Inside I tend to wire such boards with a female 5.5mm x 2.1mm standard power port, and use a male power port from the power supply (many power supplies come with a male plug like that):

For multiple boards, you could supply a single power connection to the first board, and for the other boards, connect the OE enable pin and V+ pin along with the 4 pins for i2c (VCC, Ground, SCL, SDA). Or you could use two power connections for each board, and don't connect the V+ pins. It may depend on how much power all of the servos draw. For that you probably need somebody else's opinion, since I'm mostly a software guy that only connects a few micro servos that can be powered from the USB power connection.

In terms of the Pi, there are variants of the board to run directly from the Raspberry Pi:

I should be able to get away with this 5v, 60 amp power supply
https://www.amazon.com/MEAN-WELL-LRS-350-5-Single-Switchable/dp/B07MJLTVFP
am i right in this assumption?
I dunno, somebody else would need to weigh in on the power requirements. I thought a lot of servos preferred 6v instead of 5v.

the servos themselves are either 1.2 amp for the 12 small servos, and 4 amps max for the large servos. (46.4 amps for the servos by themselves)

I spoke with a friend and i intend to run the myoware sensors and i2c sensors to a raspberry pi wirelessly linked between the teensy and raspberry pi,
if i can.( this was my original idea but wasn't sure if i would be able to in time.
One logical problem with wireless and using lots of i2c sensors, is whether things will work with the various delays imposed by the system. I2c is a somewhat slow bus. It is much faster than human reaction speeds, but if you are polling n sensors and have to do while transmitting the results elsewhere, it may mean you have to do a lot of special programming to speed things up.
 
Status
Not open for further replies.
Back
Top