Jump to content

borg

Administrators
  • Gesamte Inhalte

    3.592
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    58

Alle erstellten Inhalte von borg

  1. Der Bootloader steht bei den sam3s Mikrocontroller in einem "read-only" Bereich, den kann man nicht löschen. Er ist also definitiv noch da. Hast du schon versucht beim anstecken des USB Steckers den Erase Knopf zu drücken (um sicher zu gehen das er auch wirklich im Bootloader ist)?
  2. Jo, ich meinte wenn du ein Gehäuse mit Hutschiene hast, kannst du mit der Hutschienenbefestigung Bricks im Gehäuse auf der Hutschiene befestigen .
  3. Der Servo Test rotiert im Prinzip alle Funktionen durch: Position anfahren, Position anfahren mit niedriger Geschwindigkeit, Position anfahren mit niedriger Beschleunigung, Position Stückweise anfahren und Alle Werte zufällig setzen.
  4. Also der Code für die SPI Slave Kommunikation ist unmodifiziert? Dann verstehe ich das nicht, warum sollte sich der Code auf einmal anders verhalten . Die __disable_irq(); und__enable_irq(); schalten Interrupts aus/an, das ist richtig.
  5. https://www.tinkerforge.com/de/shop/bricklets/ptc-bricklet.html https://www.tinkerforge.com/de/shop/temperature-sensor-pt100-3-wire.html Einen 2-Adrigen Pt100 Temperaturfühler der ein Stück günstiger (~5€) als der 3-Adrige ist wird es auch in kürze geben.
  6. Wir werden einen günstigen 2-Adrigen und 3-Adrigen Pt100 im Shop haben (die 2-Adrigen sind noch nicht hier, also vermutlich erst nur der 3-Adrige). So richtig gute Sensoren (Klasse 1/3 B oder sowas) werden wir nicht im Shop haben, die sind dafür einfach zu Anwendungsspezifisch.
  7. PTC Bricklet dürfte spätestens nächste Woche im Shop sein . Vielleicht sogar noch diese Woche.
  8. Hehe, das ist blöd gelaufen. Wir wollten das schon am Mittwoch in den Shop stellen, aber dann ist uns aufgefallen das in die Hutschienenhalter keine 3mm Platten passen, Uuuuups. Dann haben wir erst noch 2mm PMMA bestellt und dann festgestellt das die 2mm Platten auch besser als Montageplatten geeignet sind (wegen den Schrauben, siehe oben) .
  9. Thats impressive, no idea how that works. I doubt that the stepper motors would be that silent if driven with Stepper Bricks. But that thing costs 300€ with VAT : http://granitedevices.mycashflow.fi/product/2/versatile-servo-drive-vsd-xe
  10. You may get a tolerable low volume while it is running in micro stepping mode. But as soon as the stepper motor is standing still and there is still power on it (i.e. it holds the position with force and is not free-wheeling) there will be high pitched noises. I don't think there is anything one can do about that.
  11. borg

    Brick auf Hutschiene

    Hat ein bisschen gedauert, aber den Hutschienenhalter gibt es jetzt bei uns im Shop (https://www.tinkerforge.com/de/shop/rail-mounting-kit.html) :
  12. Oh! Wir hätten da etwas neues im Shop (https://www.tinkerforge.com/de/shop/rail-mounting-kit.html) :
  13. Es gibt jetzt Montageplatten im Shop! http://www.tinkerforge.com/de/blog/2013/7/1/montageplatte-und-hutschienenbefestigung Wir haben jetzt einen Ofen und Utensilien hier mit denen wir tempern können. Wir sind für die Montageplatten aber auf 2mm Acryl umgestiegen, damit man mit den normalen Schrauben der Befestigungskits die Montageplatten-Verbinder anbringen kann. Die 2mm Platten sind mehr als bruchfest genug für die Montageplatten, zusätzlich verformen sie sich kaum. Dadurch brauchen wir jetzt gar nicht mehr tempern .
  14. Du meinst ganz am Anfang beim starten? Das ist OK. Damit überprüfen wir ob und wie viele Stack-Teilnehmer vorhanden sind. Die Frage bleibt im Prinzip: Macht dein CAN/LIN-Bus Code irgendwas, was den Slave davon abhält rechtzeitig zu antworten? Funkt ein Interrupt dazwischen o.ä.? Wenn der SPI-Slave Interrupt getriggert wird und einfach durchläuft ohne unterbrochen zu werden und du verwendest unseren Code für die SPI Slave Kommunikation muss es funktionieren. Ich sehe kein Grund warum das nicht gehen sollte .
  15. Ah, dann würde ich mal versuchen SEL auf gnd zu legen und i2cget -y 1 0x48 0 i2cget -y 1 0x48 1 aufzurufen um die beiden Byte auszulesen.
  16. Es gibt eine neue Stepper Brick Firmware Version, die könntest du mal testen. Vielleicht hast du ein Stack-Reset-Problem, da könnte die neue Firmware helfen. Um das mit 100%iger Sicherheit zu testen könntest du einmal alle Bricks einzeln per USB anschließen über einen USB Hub oder so (nur zum testen). In dem Fall kann dieses Problem nicht auftreten (hat Batti ja auch schon vorgeschlagen).
  17. Firmwares: DC Brick 2.0.2, IMU Brick 2.0.3, Servo Brick 2.0.4, Stepper Brick 2.0.4 Use tick_task to detect usb connect/disconnect instead of interrupt. This allows to ignore glitches that come back through the diode to the USB detect pin. This feature was already implemented in the Master Brick and is now moved to the bricklib. Thus it is no default behavior for all Bricks. Download Firmwares: DC Brick, IMU Brick, Servo Brick, Stepper Brick
  18. Firmwares: DC Brick 2.0.2, IMU Brick 2.0.3, Servo Brick 2.0.4, Stepper Brick 2.0.4 Nutze tick_task um USB connect/disconnect zu detektieren (anstatt Interrupt). Dadurch können kurze Spannungsspitzen die über die Diode zurück auf den USB-Detect Pin laufen abgefangen werden. Dieses Feature war im Master Brick schon implementiert, wurde jetzt in die bricklib verschoben und ist damit jetzt Standardvorgehen für alle Bricks. Download Firmwares: DC Brick, IMU Brick, Servo Brick, Stepper Brick
  19. Loeti hat prinzipiell recht. Viele PC Netzteile brauchen eine Grundlast auf der 5V Schiene damit die anderen Schienen funktionieren: http://www.elektronik-tipps.de/archiv/pc-netzteil-als-spannungsquelle-verwenden/ Ein Datenblatt zum SSR den wir auf dem IQR verwendeten findest du hier: http://www.clare.com/home/pdfs.nsf/www/CPC1020N.pdf/$file/CPC1020N.pdf Ich sehe nicht warum 12V-Verbraucher Probleme machen sollten .
  20. Do you have the newest bricklib checkout? I comittet a bugfix for GCC 4.7.X recently: https://github.com/Tinkerforge/bricklib/commit/b557ecdcd4d18110605dd78d33cce1bca8846687 GCC 4.7.X has a bug with regards to long-calls (which are needed on arm if you call a function that is executed in RAM). Do you have the Debug Brick? If you have, you could try to make a printf before and after the "uid_get_uid32" call (in init.c). If you get the first print and not the second, you have this bug.
  21. Ich kenne i2cget nicht und mir ist nicht ganz klar was du mit 0x48 und 0x50 machst. Auf jeden Fall ändert sich die Adresse des I2C Teilnehmers nicht, solange du nicht änderst was an SEL angeschlossen ist. Was hast du denn beim Breakout Bricklet an SEL angeschlossen, GND, 3.3V, SDA oder SCL? Im Datenblatt sind die Adressen in Table 12 beschrieben: Wenn du SEL auf GND legst, möchtest du von I2C Adresse 1001000 und Register Adresse 0 zwei 8 Bit Werte auslesen. Von außen drauf geguckt sieht es so aus als würdest du je 1 Byte von I2C-Adresse 0x48 und 0x50 lesen. Das wäre nicht sinnvoll.
  22. Für die Werte 0x18 und 0xff komme ich auch auf 24,9°C, ja: >>> ((((0x18 << | 0xff)) >> 4)/16.0 24.9375 Wobei da vermutlich irgendwas noch nicht stimmt wenn der letzte Wert immer 0xFF ist. Steigt die Temperatur denn wenn du mit dem Finger auf den Sensor packst? Ein Reset sollte auch nicht notwendig sein, ist bei der Temperature Bricklet Firmware nicht implementiert.
  23. "<<" ist eine bitweise Verschiebung. "|" und "&" sind bitweise Oder und Und. Alle drei erklärt hier: http://de.wikipedia.org/wiki/Bitweiser_Operator Ansonsten ist nur noch eine Multiplikation und eine Division im Quellcode. Sprachunabhängig ist die Temperatur-Repräsentation im Datenblatt beschrieben, Seite 6 und 7.
  24. Schwer zu sagen was da passiert. Hast du einen Logic Analyzer da? Mein vorgehen hier wäre jetzt die SPI-Kommunikation einmal komplett aufzunehmen, um zu gucken wo genau etwas schief geht. Optimalerweise würdest du für das Debuggen noch ein paar zusätzliche GPIO Pinne nutzen um anzuzeigen wann CAN/LIN-Bus Kommunikation beginnt/endet etc. Damit kannst du dann gucken ob es dort Überschneidungen gibt o.ä. die zu Problemen führen!
  25. Zusammenkopiert aus dem Quellcode (ungetestet): #define TEMP_SCALE_MUL 100 #define TEMP_SCALE_DIV 16 int16_t two_complement_12_to_16(const int16_t value) { if(value & (1 << 11)) { return value | 0xF000; } return value; } uint16_t value = (first8bit << | second8bit; uint16_t result = two_complement_12_to_16(value >> 4)*TEMP_SCALE_MUL/TEMP_SCALE_DIV; In "result" sollten am Ende 100stel Grad stehen.
×
×
  • Neu erstellen...