PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Autsch RN-Motor I2C 1.2 tut nicht



lr130lipi
29.01.2005, 17:58
Autsch RNMotor tut nicht

Hallo,

habe mir so für'n Anfang RN-Control 1.4 Mega32 (Bausatz), RN-Motor 1.2 (I2C-Fertigmodul),
zwei Minebea Schrittmotoren und div. Kleinzeug bei www.robotikhardware.de zugelegt.

RN-Control aufgebaut, alles gecheckt, 3xJumper (uref, umot und umess) gesteckt,
DIP-Schalter alles "On" und eingeschaltet.
Danach "RNCONTROLTESTMEGA32.HEX" auf Mega32 übertragen, danach die FuseBit's lt. Anleitung
eingestellt.
super hat alles geklappt...
Nun habe ich den RN-Motor mit dem I2C-Kabel an den RN-Control angeschlossen.
Die Minebea Schrittmotoren wie folgt angeschlossen:
Motor Links Klemme 10 = braun
Motor Links Klemme 20 = orange
Motor Links Klemme 30 = rosa
Motor Links Klemme 40 = gelb

(weißes und schwarzes Kabel vom Motor nicht angeschlossen)
Zwei Elkos an Motortreiber gelötet

Dann auf RN-Control Flash löschen und "RNCONTROL_MOTORSCHRITT_I2CTEST.HEX" drauf
gepackt, 3xJumper (uref, umot und umess) gesteckt, DIP-Schalter alles "Off" und
eingeschaltet.
Taster 1 und dann Taster 2 und der Motor dreht nur wenige Umdrehungen (recht kraftlos),
oder beim nächsten Versuch tut sich nicht's,
oder die LED auf RN-Motor blinkt kurz und leuchtet dann dauernd
(auch bei verschiedenen Betriebsspannungen 9V bis 14V aus Labornetzteil)
Habe auch die Wicklungen vom Schrittmotor an der Klemme getauscht, aber der Fehler
bleibt irgendwie.

Habe auch das "RNCONTROL_MOTORSCHRITT_I2CTEST.bas" auf nur "Motor ein" reduziert,
immer noch gleicher Efekt Traurig

Kann mir einer einen Tip geben ?

Frank
29.01.2005, 18:46
Hat Netzgerät genügend Power, 1 bis 2 A wären schon gut.
Demoprogramm möglichst nicht kürzen, denn alleine der Einschaltbefehl reicht ja nicht um Motoren in Bewegung zu bringen.
Achte auch darauf das die Tastenabrage richtig funktioniert, manchmal muss man die Select Case Abfrage ein wenig anpassen da die Demo-Programme Teils auf einem Board mit geringfügig anderen Widerständen geschrieben wurden.
Am besten mal RS232 Kabel an RN-Motor anschließen und die Rückmeldungen von RN-Motor überwachen. Das geht auch bei dem I2C RN-Motorboard.

Aber wie gesagt, die leuchtende LED deutet darauf hin das deine Spannung zusammenbricht und nicht mehr ausreicht.

PS. Die zusätzlichen Kondensatoren sind eigentlich nur bei größeren Motoren notwendig. Aber stören natürlich auch bei kleineren Motoren nicht.

lr130lipi
30.01.2005, 13:56
Hallo Frank,
vielen Dank für die schnelle Antwort. Habe gleich versucht Deine Hinweise umzusetzen. Hier das Ergebnis:

Netzteil kann 3,5A liefern und ging bei meinen Versuchen nicht in die Strombegrenzung. Damit das sicher ist, habe ich auch die Versuche mit einer fetten 12V-Batterie durchgeführt -> jeweils das gleiche Problem.
Die Tastenabfrage scheint OK zu sein
1. Quittungston kommt
2. die Rückmeldungen von RN-Motor über die RS232 schaut auch ganz gut aus:

RN-Motor ST I2C- Firmware 1.6b (c) robotikhardware.de

Referenzspannung = 2.5
SlaveId = Hex 56
Linker Motor Drehrichtung: 0
Linker Motor maximaler Strom : 0.09999996
Linker Motor Geschwindigkeit:5
Linker Motor PWM-Vorgabe im Stillstand:0
Linker Motor aktueller PWM-Wert :0

Rechter Motor Drehrichtung: 0
Rechter Motor maximaler Strom : 0.09999996
Rechter Motor Geschwindigkeit:5
Rechter Motor PWM-Vorgabe im Stillstand:0
Rechter Motor aktueller PWM-Wert :0
Motor:0 Max. Strom:0.199999984 Max-ADC=41
OK
Motor:0 ein
OK
Motor:0 endlos ein
-> hier kann man sehr schön sehen was eigendlich gemacht werden soll ;-)


Aber:
Der Stepper dreht sich nur ein wenig
oder garnicht
oder die LED auf RN-Motor brennt dauernd
oder ....
Habe auch die Wicklungen gedreht, sowie auch mit der Mittelanzapfung
(weißes und schwarzes Kabel lt. der Anleitung) experimentiert:
Stepper knurrt, Stepper zuckt, Stepper dreht sich nicht, Stepper dreht sich nur ein paar Sekunden je nach Anschlusskombination.

Netzteil habe ich auf 12V/ 3.5A eingestellt.

Gruß
Frank (lr130lipi)


OK

Frank
30.01.2005, 16:29
Also 1 bis 2 A sollten für die Motoren schon reichen, Batterie musst du daher nicht unbedingt extra nehmen.

Motor ist richtig wenn er von links nach rechts so angeschlossen ist:
braun
orange
rosa
gelb
Das gilt von hinten gesehen, wobei die 4polige Motorklemme für den linken Motor dann rechts ist!

Ansonsten sollte eigentlich alles gehen, hab´s eben nochmal mit dem neuen Bascom Compiler getestet (allerdings Vollversion).
Die Firmware 1.6 ist mit 1.6b identisch. Allerdings ist 1,6b mit dem neuen Bascom-Compiler entwickelt und noch ganz neu.
Da gabs bei der Umstellung des Compilers noch eine Sache die übersehen wurde, das kann dazu führen das die Schritteanzahl nicht richtig abgerufen werden kann (nur bei I2C Board 1,6b), ansonst geht alles auch bei 1.6b. Bei der noch neueren Firmware 1.6c, siehe erste Doku-Zeilen in dem neuen Ansteuerprogramm für RN-Control, geht auch das mit dem Schritteabruf wieder unter dem neuen Compiler.

Dieses Beispiel- Ansteuerprogramm ist auf dem neuen Bascom Compiler für rn-control getestet worden:



'################################################# ##
'Schrittmotoransteuerung mit RN-Control und
'Ansteuerungsboard RN-MOTOR über I2C
'
' Achtung:
' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet
' Nur ältere Bascom Versionen benötigen eine neue Libary
' https://www.roboternetz.de/phpBB2/viewtopic.php?t=694&start=22
'
' Die Firmware von I2C-RN-Motor sollte 1.6c oder 1.6 oder darüber lauten,
' Haben Sie noch ältere Firmware im Board, dann eine Mail mit Kundennummer
' und Anschrift an support@robotikhardware.de senden. Man erhält
' dann gratis ein Firmwareupdate als HEX File. Ist ein ISP-Kabel
' vorhanden, kann dieses einfach in RN-Motor eingespielt werden
' Dir Firmware Versionsnummer der RS232 Version sind unabhängig und können anders lauten
'
'
'Aufgabe:
' Dieses Testprogramm beschreibt die Motorboard I2C-Funktionen
' und legt einige der Befehle auf die 5 Tasten

' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet
' Taste 1: Stellt für den linken Motor den Motorstrom auf 200mA ein und schaltet Motor danach ein
' Taste 2: Lässt den linken Motor endlos drehen
' Taste 3: Fragt der bereits ausgeführten Motorschritte des linken Motors vom Board ab und
' berechnet daraus Umdrehungen und Fahrtstrecke
' Daten werden über RS232 angezeigt
' Taste 4: Ändert die Geschwindigkeit des linken Motors mit jedem Tastendruck
''Taste 5: Schaltet den linken Motor wieder aus

'

'Autor: Frank
'Weitere Beispiele und Beschreibung der Hardware
'in der Anleitung zu RN-Motor
'Anleitung findet man unter http://www.Roboternetz.de im Download Bereich
'oder www.robotikhardware.de
'Weitere Beispiele sind im Roboternetz gerne willkommen!
'################################################# #############



Declare Function Tastenabfrage() As Byte
Declare Sub Aendereslaveid()

'$regfile = "m16def.dat"
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32

'Befehle im Schrittmotorbetrieb
'K ist eine Kennungsnummer die bei RN-Motor immer 10 ist, danach folgt Befehlscode und notwendige Parameter
'Es müssen immer 5 Bytes übertragen werden, auch wenn weniger Parameter ausreichen

'k 1 x y Motor maximaler Strom x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Y = (Milliampere / 10)
' Beispiel : Y = 150 Bedeutet 1,5A Oder Y = 20 Bedeutet 200ma
'k 2 y Referenzspannung des Controllers (normal 2.5 und muss nicht geändert werden)
' Beispiel: y=241 bedeutet 2,41 V
'k 3 x Motor stopp (Haltespannung bleibt ein) x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Stopp
'k 4 x y Motor Drehrichtung x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren y=0=Links rum y=1 rechts rum
'k 5 x yl yh Motor genau y Schritte bewegen x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
'y wird in High und Low Byte übertragen
'k 6 x Motor endlose Schritte bewegen bis Stop Befehl kommt x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren

'k 7 x Motor einen einzigen Schritt bewegen x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
'k 8 x y Motor Schrittgeschwindigkeit x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Y = 1 bis 255
'k 9 x Motor ganz ausschalten x=0 Linker Motor x=1 Rechte Motor x2= Alle Motoren Stopp

'k 10 x Motor ein und init x=0 Linker Motor x=1 Rechte Motor

'k 11 Konfiguration und Testwerte werden über RS232 ausgegeben

'k 12 Sleep Mode

'k 13 x Motor selektieren

'k 14 x x=0 Vollschrittmodus x=1 Halbschrittmodus
'k 15 99 99 x Slave ID zwischen Hex 50 und Hex 70 ändern (erst ab RN-Motor Firmware 1.1 möglich)


Const Befehl_maxstrom = 1
Const Befehl_referenzspannung = 2
Const Befehl_stop = 3
Const Befehl_drehrichtung = 4
Const Befehl_schrittanzahl_drehen = 5
Const Befehl_endlos_drehen = 6
Const Befehl_einzigen_schritt = 7
Const Befehl_geschwindigkeit = 8
Const Befehl_ausschalten = 9
Const Befehl_einschalten = 10
Const Befehl_konfiguration_zeigen = 11
Const Befehl_sleep_modus = 12
Const Befehl_motor_selektieren = 13
Const Befehl_schrittmotormodus = 14

Const Motor_links = 0
Const Motor_rechts = 1

Const I2crnmotorslaveadr = &H56 'I2C SlaveAdresse von RN-Motor Erweiterung
Const I2crnmotorsreadlaveadr = &H57 'I2C SlaveAdresse von RN-Motor Erweiterung
'Achtung, wenn das Motor-Board überhaupt nicht reagiert, dann könnte dieses eine andere Slave
'Adresse besitzen. Im Zweifel schließen Sie das Motorboard an die RS232 vom PC an und
'drücken Sie die RESET-Taste am Motorboard.Dann kann die Slave ID über ein
'Terminalprogramm angezeigt werden

Dim I2cdaten(6) As Byte 'Array um Befehlsfolge auszunehmen
Dim Lowbyte As Byte
Dim Highbyte As Byte
Dim Schritte As Long
Dim Temp As Byte
Dim Ltemp As Long
Dim Umdrehungen As Single
Dim Fahrstrecke As Word

Dim Geschwindigkeit As Byte

Dim I As Integer
Dim N As Integer
Dim Ton As Integer

$crystal = 16000000 'Quarzfrequenz
$baud = 9600

Config Scl = Portc.0 'Ports fuer IIC-Bus
Config Sda = Portc.1

Geschwindigkeit = 250
I2cinit



Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung
Config Pina.7 = Input 'Für Tastenabfrage
Porta.7 = 1 'Pullup Widerstand ein
Dim Taste As Byte





I = 0
Sound Portd.7 , 400 , 450 'BEEP
Sound Portd.7 , 400 , 250 'BEEP
Sound Portd.7 , 400 , 450 'BEEP
Print
Print "**** RN-CONTROL V1.4 *****"
Print "Demoprogramm um Zusatzkarte RN-Motor im Schrittmotormodus zu testen"
Print
Do
Taste = Tastenabfrage()
If Taste <> 0 Then

Select Case Taste
Case 1
'Motorstrom auf 200mA begrenzen
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_maxstrom 'Befehlscode
I2cdaten(3) = Motor_links '1 Parameter
I2cdaten(4) = 200 / 10 '2 Parameter (hier Milliampere /10 in diesem Fall wird 200mA eingestellt)
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)
I2cstop

'Halbschrittmodus
' I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
' I2cdaten(2) = Befehl_schrittmotormodus 'Befehlscode
' I2cdaten(3) = 1 'Beide Motoren Halbschrittmodus
' I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)


'Motor einschalten
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_einschalten 'Befehlscode
I2cdaten(3) = Motor_links '1 Parameter
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)



Case 2
'Motor endlos drehen
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_endlos_drehen 'Befehlscode
I2cdaten(3) = Motor_links '1 Parameter
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)


Case 3
'Motor für Datenabruf anwählen
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_motor_selektieren 'Befehlscode
I2cdaten(3) = 0 '1 Parameter
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)
I2cstop
Waitms 1
'Schritte abrufen und Umdrehungen und Fahrtstrecke berechnen und über RS232 anzeigen
I2cstart
I2cwbyte I2crnmotorsreadlaveadr
I2crbyte Temp , Ack
Schritte = Temp
I2crbyte Temp , Ack
Ltemp = Temp * 256
Schritte = Schritte + Ltemp
I2crbyte Temp , Ack
Ltemp = Temp * 65536
Schritte = Schritte + Ltemp
I2crbyte Temp , Nack
Ltemp = Temp * 16777216
Schritte = Schritte + Ltemp
I2cstop
Print "Schrittanzahl:" ; Schritte
Umdrehungen = Schritte / 200 'Wenn Schrittwinkel 1,8 Grad beträgt dann durch 200 teilen
Print "Umdrehungen: " ; Umdrehungen
'Umfang des rades mal Umdrehungen ergibt Fahrtstrecke
'Umfang berechnet sich auch U=3.14 * Druchmesser
'In dem Beispiel nehmen wir ein 10 cm Rad am Roboter an
Fahrstrecke = Umdrehungen * 31.4
Print "Der Roboter ist " ; Fahrstrecke ; " cm gefahren "

Case 4
'Geschwindigkeit ändern
If Geschwindigkeit > 40 Then
Geschwindigkeit = Geschwindigkeit - 20
Else
Geschwindigkeit = Geschwindigkeit - 1
End If
Print "Geschwindigkeitsstufe: " ; Geschwindigkeit
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_geschwindigkeit 'Befehlscode
I2cdaten(3) = Motor_links '1 Parameter
I2cdaten(4) = Geschwindigkeit '2 Parameter (hier Milliampere /10 in diesem Fall wird 200mA eingestellt)
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)
I2cstop

Case 5
'Motor ausschalten
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = Befehl_ausschalten 'Befehlscode
I2cdaten(3) = Motor_links '1 Parameter
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)
I2cstop


End Select
Sound Portd.7 , 400 , 500 'BEEP
End If

Waitms 100
Loop

End




' Diese Unterfunktion fragt die Tastatur am analogen Port ab
' Sollte beim betätigen einer Taste kein Quittungston kommen, dann
' muss die die Tastenabfrage (Select Case Anweisung in Funktion )
' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in
' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen
' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen

Function Tastenabfrage() As Byte
Local Ws As Word


Tastenabfrage = 0
Ton = 600
Start Adc
Ws = Getadc(7)
' Print "ws= " ; Ws
If Ws < 1010 Then
Select Case Ws
Case 400 To 455
Tastenabfrage = 1
Ton = 550
Case 335 To 380
Tastenabfrage = 2
Ton = 500
Case 250 To 305
Tastenabfrage = 3
Ton = 450
Case 180 To 220
Tastenabfrage = 4
Ton = 400
Case 100 To 130
Tastenabfrage = 5
Ton = 350
End Select
Sound Portd.7 , 400 , Ton 'BEEP
End If

End Function



'Diese Funktion kann genutzt werden um die SlaveID von RN-Motor
'zu aendern. Dies ist allerdings erst in der neusten Firmware
'von RN-Motor möglich. Bei älteren Versionen müsste Controller gewechselt
'werden. Die Aktuelle Version und Slave ID wird über
'RS232 von RN-Motor bei RESET ausgegeben
Sub Aendereslaveid()
I2cdaten(1) = 10 'Kennung muss bei RN-Motor immer 10 sein
I2cdaten(2) = 15
I2cdaten(3) = 99 '1 Parameter Sicherheitskennung
I2cdaten(4) = 99 '2 Parameter Sicherheitskennung
I2cdaten(5) = &H58 'Hier neue Slave ID Eintragen
I2csend I2crnmotorslaveadr , I2cdaten(1) , 5 'Befehl wird gesendet (es müssen immer 5 Bytes gesendet werden, auch wenn weniger Parameter notwendig sind)
End Sub


Sollte das nicht klappen, dann stimmt etwas mit dem Board oder mit dem Motor nicht. Eventuell kannst du mal anderen Motor nehmen.
Prüf auch nochmal ob du die Kondensatoren auch wirklich richtig angelötet hast!
Ansonsten schick am besten Board und Motor mal zur Prüfung an robotikhardware.

Gruß Frank

lr130lipi
30.01.2005, 18:31
Hallo Frank,

deine Betreuung ist ja wirklich super!

Nebenbei:
Stimmt dann die Doku zum RN-Motor?

lt. der Doku kommt an Klemme 1 für den Minebea-Stepper
das braune Kabel

Eigentlich egal...
habe den Stepper wie vorgeschlagen angeschlossen...
Löst leider das Problem nicht :-(

Den Beispiel-Code kann ich nicht wg. meiner BASCOM-Demo
laden.

Habe das Problem auch mit zwei Sanyo-Stepper (gerade getestet).

Die Elkos sind richtig "gepolt" angebracht.

Nach fast drei "Schlaflosen-Nächten", werde ich dir das Board
schicken.

Vielen Dank

Frank
30.01.2005, 18:43
Ich helfe gern, auch wenn es manchmal aus Zeitmangel etwas dauern kann.

Die Reihenfolge de rKabel bestimmt nur die Drehrichtung, wenn er falsch rum dreht, dann einfach umkehren. Ich hab´s gerade nicht im Kopf ob das in Doku richtig war oder das oben genannte. Aber drehen muss er sich in beiden Fällen.

Du kannst im übrigen das Demo auch compilieren. Aufgrund unserer Anregungen hat ja der Bascom Entwickler die 4K Demo herausgebracht. Da gab´s nur noch ein Bug, siehe https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=56757#56757
Also damit lohnt sich noch ein Versuch

Wenn du nicht weiterkommst, da schick Board ein, reicht gewöhnlich wenn du es als Päckchen frankierst. Vielleicht hast du tatsächlich ein Montagsboard erwischt.

Gruß frank

lr130lipi
31.01.2005, 06:47
Deine Demo konnte ich nach dem BASCOM-Patch tatsächlich compilieren.
Hat aber mein Problem nicht lösen können.
Was aber aufgefallen ist:
1. Der Stepper lies sich öfters zum Bewegen animieren.
2. Der Stepper lief dann ein paar Sekunden länger
?????

Frank
31.01.2005, 11:56
Also das klingt mir sehr merkwürdig, fällt mir leider garnix zu ein.
Wenn der Motor anläuft muss er sich auch endlos drehen - irgendwo ist da bei dir der Wurm drin.

Du kannst eigentlich nur noch Kabel testen und dafür sorgen das Kabel nicht unbedingt direkt neben einer Störquelle liegt. Aber gewöhnlich ist das ziemlich unempfindlich.

lr130lipi
31.01.2005, 13:08
das I2C-Kabel ist ca. 12cm lang und die 10pol-Buchsen sitzen sauber drauf. Über RN-Motor-RS232 schaut die I2C-Kommunikation ja eigentlich super aus.
Werde dir meinen kleinen Aufbau (RN-Control, RN-Motor, I2C-Kabel und den Minebea-Stepper) zuschicken.

lr130lipi
31.01.2005, 13:20
Ach noch eine Frage:

Zu meinem Problem passt ja irgendwie dieser Beitrag:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=5333

(so vom Fehlerbild denke ich )

ACU
31.01.2005, 18:50
Ich habe im CC2 Net Forum was zum RN-Motor I²C gelesen.
Ich will es aber weder dementieren noch bestätigen, aber vielleicht hilft es dir bei deinen Problemen:
http://www.cc2net.de/Foren/CC2Net_Forum/lesen.php?eintrag=9596
Schau mal, ob dir das hilft (Pausen einfügen).


MfG ACU

Frank
31.01.2005, 19:40
Die Anmerkungen im CC II Forum sind völliger Unsinn, da hat wohl einer nicht ganz genau die I2C Richtlinien studiert.
RN-Motor ist 100% I2c konform, also nicht durch sollche Beiträge verwirren lassen.
Das Problem liegt dort eindeutig bei den CC2 I2C Routinen die offenbar nicht ganz ausgereift sind. Nach der I2C Norm darf der Slave die Taktleitung auf Low ziehen um den Master zu zwingen zu warten bis der Befehl ausgeführt wurde. Der Master muss also stets die Taktleitung überwachen. Würden die I2C Routinen korrekt sein, dann wäre
ein Sleep zwischen jedem Byte nicht notwendig. Ein eindeutiger Bug bei den CC II Routinen.
Im übrigen nutzt auch RN-Motor dien Hardware I2C Bus der Atmel Controller, auch das wurde dort falsch beschrieben.

Aber das hat alles nicht mit dem geschilderten Fehler zu tun, das sind Dinge die nur CC II Software betreffen!
Ich würde schon sagen schick es ein und lass es austauschen, dann gehts garantiert bestens.

Gruß Frank

lr130lipi
31.01.2005, 20:09
Animiert durch diesen Beitrag:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=5333

Habe ich noch einmal geforscht ;-)

Dein Beispielprog von oben und Achtung:

Stepper dreht sich endlos (hurra) bei exakt einer Spg. von 8,2V
am NT. Dabei zieht der ges. Aufbau (RN-Control, RN-Motor und ein Minebea-Stepper) 360mA.

Aber... und jetzt kommt's:

Spg. am NT langsam hochgedreht, dann geht der Stepper im Endlosbetrieb
bei U=9,87V aus und das RN-Board zieht dann 65omA.
Bei dieser engestellten Spg. am NT und erfolgtem Reset auf RN-Motor
fangen dann die Probleme an.
Somit hatte ich auch die Probleme auch mit meiner fetten 12V-Batterie.
Habe die Leitung vom NT gekürzt -> keine Verbesserung
Habe ein anderes NT (HF-Fest) benutzt -> keine Verbesseung
Habe Leitung vom Netzteil durch Ferritkern (einige Windungen) gewickelt -> keine Verbesserung

Frage an Frank:

Gibt es im Bereich der Motortreiber-IC's ein Problem?
Ist das Layout für den PWM-Betrieb OK (sorry... vielleicht eine dumme Frage)?
Sind die Elkos für die Modifikation ausreichend (Kapazität)?

Wie bekomme ich RN-Motor mit dem angegebenen Spg.-Bereich zum laufen?

Frank
31.01.2005, 20:47
Da stimmt was nicht! Wenn du die Kondensatoren richtig angelötet hast darf genau das nicht vorkommen. Im Test liefen sogar 2A Motoren mit Spannungen bis über 20V selbst mit kleineren Kondensator problemlos.

Auch bei vielen anderenUsern wird RN.Motor mit stärkeren Motoren eingesetzt. Im übrigen laufen die kleinen Motoren, sogar ohne diese Kondensatoren..

Irgendwas ist da am Board oder Firmware kaputt, da hilft das ganze experimentieren nicht viel - solange du es noch nicht zerlegst kannst du´s noch austauschen. Mehr kann ich dir da per Ferndiagnose momentan nicht helfen und anbieten

Gruß Frank

lr130lipi
12.02.2005, 14:18
Hurra tut wieder ;-))

jetzt kann es mit Vollgas losgehen ...
vielen Dank Frank