Oké dus dan kan ik met mijn servo's stapjes van 1 graden maken. Dat betekend dus dat ik dan met dat ic wat ik heb gekozen grofweg 180 stapjes kan maken (volledige uitslag van de server).

of heb ik dit mis?

in dat geval kies ik voor dit ic. 180 stappen lijken mij namelijk ruim voldoende voor mijn hexapodje. (bijkomend voordeel, mocht het me niet bevallen, dan heb ik over een paar maanden weer wat te doen). Ik heb het schema nu af inclusief de servo's via i2c (met het genoemde ic).

Nu dus alleen nog een voeding erop, en dan heb ik hoop ik voor de zomer mijn hardware zover af :)

De i2c lijnen dienen omhoog getrokken te worden via een weerstand (10k) naar vcc..

ik heb nog nooit gewerkt met spi, is er hierbij nog iets waaraan ik moet denken?

groet,

bart

Buiten dat I2C een wat complexer protocol is dan SPI en dus andere aansturing nodig heeft: niet echt.

Voor hogere snelheden (>100khz) worden meestal lagere weerstanden aangeraden. Ik gebruik meestal 2.2k voor 400khz. 1k en 4.7k zijn een andere veel gebruikte waardes. Als je een scope hebt kun je het effect van verschillende waardes wel goed zien.

Een scoop heb ik helaas zo 1,2,3 niet bij de hand.

@bram

aha, dus de waarde van de gekozen weerstand is afhankelijk van de gewenste snelheid op de bus.

Wat me nog niet duidelijk is, of ik de I2C bus nou aan de 3.3Volt moet hangen, of aan de 5Volt.

Hoe groter de weerstand hoe langerzamer hij de bus weer omhoog kan trekken. Als dat te langzaam is voor de snelheid van de bus dan heb je een probleem. Dat zie je wel duidelijk terug in dat artikel.

Voltage hangt helemaal af van de devices die je eraan hangt. Voor I2C zelf maakt het niet uit, dat kan in principe op elk voltage werken (zolang er maar 2 niveau's zijn, ground & Vdd). Als je zowel 3.3V als 5V devices hebt zul je er iets tussen moeten hangen dat de voltages aanpast (logic level converter). Nadeel van I2C is dan weer dat de data-lijn bidirectioneel is, waardoor je geen 'simpele' logic level converter kan gebruiken. Is genoeg over te vinden met Google.

De mbed is een 3.3 volt device en de twee chips om de servo's mee aan te sturen zijn 5 volt. Dan zal ik dus het één of ander moeten omvormen. Ik ga googlen :)

Formeel bestaat I2C niet voor 3.3V. Het logic level voor de '1' is te hoog.
Daarom hebben veel chips tegenwoordig een aangepaste spec zodat ze het toch doen op 3V logic high level. Maar laat je dus niet verrassen door alles op 3V3 te zetten onder het mom: dat werkt wel!