Forum: Mikrocontroller und Digitale Elektronik C-Programmierung


von Manouchehr A. (mafkar)


Lesenswert?

Hi,
hab ein Projekt, in dem ich mit C-Code(PWM-Erzeugung) zuerst einen 
einzigen Servomotor(HSR-8498HB von Fa. HiTec) von 
Robonova-I(HiTec-Roboter) ansteuern aber extern d. h. mit eigenem 
µC(Evaluationsboard MCBXC88x von d. Fa Keil mit dem 8-bit Prozessor XC 
888 von d. Fa. Infinion) und nicht mit µC von dem Roboter! Hat einer von 
euch irgengdwelche Idee oder ähnlichen C-Code?

mfg
manouch

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> irgengdwelche Idee

Ideen zur Vorgehensweise, wie man das Thema überhaupt gestemmt bekommt?

von CaH (Gast)


Lesenswert?

Irgendwie verstehe ich die Problemstellung nicht . Komplette und 
richtige deutsche Sätze würden das Verständnis erleichtern.

von NEMESIS (Gast)


Lesenswert?

Vorsicht Anfänger

Hat nicht der MicroController des Robotters eine Bibliotek für eben 
diesen?
Also musste für den anderen Controller natürlich eine andere Bibliotek 
einbinden, die Befehle sind aber wohl weitestgehend einheitlich 
(zumindest wenn die Controller einem Hersteller entspringen) also 
XC888.h oder sowas...
http://www.keil.com/dd/docs/c51/infineon/xc888.h

Ich rat einfach mal auf Verdacht, korrigiere mich wenn ich falsch liege:
Du sollst eine Motorsteuerung für einen Servomotor(HSR-8498HB) durch 
eine selbstgebastelte ersetzten !
Dein Evaluationsboard hast du von deinem Lehrer bekommen, damit du den 
XC
888 Programmieren kannst, und wenn du glück hast sind auch schon 
steckanschlüsse für eine Schaltung daran.

Oft hilft das Datenblatt
http://www.keil.com/dd/docs/datashts/infineon/xc88xclm_ds_v1_1.pdf
z.B. weil dort Vddp = 3V3 oder 5V I/O Port supply (Pins7, 17, 43/
7, 25, 55)
Der Motor bekommt eine Andere Versorgungsspannung 6-7,4V
Wenn das soweit in Handware Vorhanden ist musste glaub ich nur nich den 
PWM Kanal verbinden mit dem PWM anschluss des Servos der hat 
PWM-Interface (RC Standard) Also Ist die Neutrale Position nicht null 
sondern 90° und der Schwenkwinkel +-90° (wird durch das PWM signal 
vorgegeben) musste mal schauen ob deine 5V vom Controller am Motor 
reichen um als High zu gelten aber ich denk schon und ob evtl eine 
maximalspannung angegeben ist...
Irgendwo gibts dazu auch ein datenblatt, da bin ich sicher...

>ähnlichen C-Code?
Das ist jetzt schon sehr speziell ^^ Da du keinen Code angehängt hast 
weiß doch jetzt niemand ähnlich zu was???
Aber keine angst hier gibt es ein wie ich finde ganz tolles und sehr 
gelungenes Tutorial (bis auf ein paar kleinigkeiten)
GCC hab ich noch nicht gelesen bin selber erst noch im AVR-Tutorial mit 
Assembler unterwegs....
Aber hier
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#PWM_.28Pulsweitenmodulation.29
wären die Grundlagen erklärt...

So den rest deiner Hausaufgaben kannste dann hoffentlich alleine 
schaffen.

von Manouchehr A. (mafkar)


Lesenswert?

Zuerst danke dir, dass du mir geantwortet hast, Sorry ich weiß, dass 
meine Deutschsprache nicht gut ist aber trotzdem erkläre ich es 
nochmal(koprimiert).
Also ich mache meine Dipl. Arbeit und als die Vorbereitung muß ich einen 
einzigen Servomotor eines Roboters mit einem C-Code ansteuern d. h. mit 
einem PWM-Impuls, der auch im Code generiert wird, die Servoposition 
(Drehwinkel 0° bis 180°) ändern. Übrigens darf ich nur einen 
Portpin(P4_0) von meinem µC als den gleichzeitigen Aus-, bzw. Eingang 
verwenden(bi direktionale Kommunikation). Wenn ich auf die richtige 
Richtung komme erst dann geht, s los mit der Hauptaufgabe d. h. die 
Ansteuerung des rechten Arm vom Roboter(bestehend aus 3 Servos!!)...

LG
manouch

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> einzigen Servomotor eines Roboters
Meinst du z.B. einen AC-Synchronservo (also sowas: 
http://www.dierking-antriebe.de/ac-servomotoren.html), oder einen 
schnöden kleinen Modellbauservo (sowas: 
http://www.modellbau-wiki.de/wiki/Servo)?

Das erstere hat schon einen Anspruch, der zweite ist simpel...

von doc (Gast)


Lesenswert?

>HSR-8498HB
Scheint mir wie ein Modellbauservo angesteuert zu werden.

Ganz dick steht da unten auf der Hitec Seite übrigens:

>ACHTUNG: Jetzt neue Firmwareversion V1.10 - Ansteuerung direkt über >PC-COMport 
möglich!

Das man mit sowas ein Diplom bekommt... ich hätte DOCH studieren sollen 
:-)

von doc (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

doc schrieb:
>>HSR-8498HB
> Scheint mir wie ein Modellbauservo angesteuert zu werden.

Eher nein.

Laut
http://www.servocity.com/html/hsr-8498hb_hmi_robot_servo.html

  RS-232C Daisy Chain Interface up to 128 servos

D.h. die Dinger haben eine Serielle Schnittstelle.
Datenblatt besorgen. Servo an den PC anhängen. Hyperterminal starten und 
mal mit dem Teil rumspielen, was man ihm (laut Datenblatt) so senden 
muss, damit das Servo reagiert.

> Das man mit sowas ein Diplom bekommt... ich hätte DOCH studieren sollen
> :-)

Wenn alle studieren würden, wer würde dann noch die Fragen der 
Dimplomanden hier im Forum beantworten?

von doc (Gast)


Lesenswert?

Das Servo kann beides und zusätzlich noch ein propietäres Protokoll 
namens "HMI".

Kluges Teil. Schade, daß es nicht auch noch Kaffee kocht.

von Ulli (Gast)


Lesenswert?

>> Kluges Teil. Schade, daß es nicht auch noch Kaffee kocht.

Viel schlimmer ist doch wohl, dass das Teil klüger ist als der Diplomand 
...

Laut seinem Post vom "Datum: 03.12.2009 14:51" soll er das Ding ganz 
normal mit Impulslängen füttern. Da muss er sich sein Diplom aber hart 
erarbeien, denn das haben vor ihm erst ca. 5000 andere auch getan ;-)

Übrigens ist das Teil ein ganz normaler "Digitaler Servo". Hersteller 
wie Graupner, Multiplex, ... haben solche Servos auch im Angebot. Nur 
haben die eigene Programmiergeräte dafür, mit welchen z.B. die 
Steuerkurven verändert werden können.
Ob die ein selbst gebasteltes Interface haben oder ob es nicht doch auch 
einfach nur RS232 ist weiss ich allerdings nicht.

Wo kommen denn all die Servos her? Wahrscheinlich gibt es doch eh nur 3 
Hersteller weltweit. Weiss das jemand ?

MfG
Ulli

von P. S. (Gast)


Lesenswert?

Ulli schrieb:

> Wo kommen denn all die Servos her? Wahrscheinlich gibt es doch eh nur 3
> Hersteller weltweit. Weiss das jemand ?

Hitec ist einer, GWS ist auch einer. Den Dritten kenne ich nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Kluges Teil. Schade, daß es nicht auch noch Kaffee kocht.
Blockier doch einfach mal die Welle und leg den vollen Strom an. Dann 
kannst du sicher auch Kaffee drauf kochen  ;-)

von doc (Gast)


Lesenswert?

Kein Wunder, daß das Ding so schlau ist.
Da ist schließlich ein Mega8 drin :-))

http://robosavvy.com/Builders/i-Bot/HSR8498HB%20Servo.pdf

von doc (Gast)


Lesenswert?

Wieviele Servos das sind, spielt fast keine Rolle.
Der Servokram müßte hier irgendwo auch in der Codesammlung rumfliegen, 
das ist wirklich einfach.
Den Brauchst du aber garnicht, da du rs232 verwenden kannst.

Falle es dich interessiert:

Ich habe mit 16 oder 17 schon 8 Servos über den "Userport" eines C64 
gesteuert. In Assembler.

von doc (Gast)


Lesenswert?

Heh, wieso ist grade der Beitrag auf den ich mich bezog, verschwunden.
egal.

von Kappo (Gast)


Lesenswert?

Ich muss sagen, dass du deine Diplomarbeit nicht aus dem Netz holen 
solltest, sondern Forschen und Selbstmachen ist angesagt.
Wie bereits Ulli gesagt hat, haben ca. 5000 Leute vor dir es gemacht.Ich 
denke, dass du deinem Prof sehr leid getan hast, so eine einfache Arbeit 
als Dipl. Arbeit zu bekommen.
Dann kann auch nicht so schwer sein. Also Ärme hoch und mach es selbst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.