PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Controllerboard RN-Mega8



sulu
28.06.2006, 15:05
Hi
ich bins mal wieder. Hab da auf Robotikhardware.de ein cooles Board dentdeckt.( http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=11 )Ist jetzt nur die Frage was bedeutet Bausatz?
Ich stelle mir das so vor, dass alle Teile dabei sind, und das man nur noch die elektronischen Bauteile auf die vorgeätzte Platine löten muss, oder?

2.Frage:
da steht ja, dass 16Servos ansteuerbar sind. KAnn ich garnet glauben. Überlastet das net den Mega 8?


Danke

franzl
28.06.2006, 18:00
hallo
zu frage 1 ja es werden alle bauteile mitgeliefert und die fertig geätzte platiene. man muss dann hald nach plan löten (kein problem).
zu frage 2 kann ich nicht genau beantworten ich hatte erst 8 Servos gleichzeitig in Betrieb (funktionierte einwandfrei). daher denke ich dass
es eigentlich auch mit 20 funktionieren müsste.
mfg franzl

franzl
28.06.2006, 18:00
entschuldige ich meinte natürlich 16 Servos

sulu
28.06.2006, 18:13
Daraus schließe ich das du diese Board schon hast.
Und bei der programmierung sprocht man einfach wie gehabt den Port der jeweiligen Servos an, oder?

linux_80
28.06.2006, 20:39
Hallo,

der Mega8 wird besteimmt nicht überlastet, wenn dann der Spannungsregler, der nur für 2A ausgelegt ist, der wird schon bei einem Servo warm.

Evtl. eine extra Spannungsversorgung für die Servos aufbauen, damit auch die Spannungsspitzen, die ein Servo erzeugt, nicht den AVR durcheinanderbringt.

sulu
29.06.2006, 07:20
Hi
ich bau an den Spannungsregler einfach ne Kühlrippe vom Pc.
Aber es könnte schlimmsten Falls der Spannungsregler abrauchen oder auch noch mehr?

sulu
07.07.2006, 08:19
So hab jetzt mein Board bekommen. Bin auch schon fast fertig mit dem Löten. Ich hab jetzt noch n paar Fragen. AlsO:
1.Wie löte ich den quarz ein? In die beiden äußeren Löcher von Q oder anders?
2.Wie genau muss ich die 2Spindeltrimmer einstellen? Das hab ich irgendwie noch net gerafft
(https://www.roboternetz.de/wissen/index.php/Bild:RNMega8Best%C3%BCckungsplan.gif)

so das wars glaube schon

Vielen Dank

Frank
07.07.2006, 08:43
Hi,

ergänzend möchte ich erst nochmals sagen das der Spannungsregler nicht abruachen kann. Diese haben einen Kurzschluss und Überhitzungschutz. Wenn er an die Grenze kommt regelt er automatisch runter. Dennoch Kühlung ist natürlich bei Servobetrieb sinnvoll. Allerdings 16 wird man an einem Spannungsregler nicht gleichzeitig betrieben können.

zu deiner 2 Frage:
Ich weiss nicht genau welchen Spindeltrimmer du meinst. R2 wird so eingestellt, das der Kontrast auf einem eventuell angeschlossenen LCD optimal ist.
Wichtiger ist UREF. Hier sollte man mit Messgerät an einem Pin von JREF und GND messen das die Spannung zwischen 2,5 und 5V liegt. Sie muss mit dem Spindeltrimmer regelbar sein sonst hast du eventuel dein Messgerät am falschen Pin von JREF.

Hier im Wiki findest du die Anleitung übrigens auch:
https://www.roboternetz.de/wissen/index.php/RN-Mega8

sulu
07.07.2006, 08:48
Achso.
vielen Dank
Aber wie funktioniert das mit dem Quarz? Einfach die beiden außeren Pinne benutzen(egal wie rum)?

Frank
07.07.2006, 08:56
Achso.
vielen Dank
Aber wie funktioniert das mit dem Quarz? Einfach die beiden außeren Pinne benutzen(egal wie rum)?

Sorry, hatte ich vergessen. Ja die beiden äußeren PIN´s für den Quarz. Die passen vom Abstand genau. Beim einlöten sicherheitshalber darauf achten das Quarz 1 - 2 mm Abstand von Platine hat, sollte keine Leiterbahnen berühren. Wie rum ist egal

Es sind drei Pins damit man wahlweise auch einfach eine 3 polige Buchsenleiste einlöten kann (falls man hat). Dann könnte man verschiedene Quarze einstecken und auswechseln.

sulu
07.07.2006, 09:00
ok danke
Und wie auf dem Bild zu erkennen ist(https://www.roboternetz.de/wissen/index.php/Bild:RNMega8Best%C3%BCckungsplan.gif) alle roten umrandungen bei den Jumpern mit einem Brücke versehen,nicht wahr?

Frank
07.07.2006, 09:03
Ja, den JPREF aber nur wenn du den Spindeltrimmer JREF wie oben beschrieben, richtig eingestellt hast. Ansonsten lass ihn erstmal weg. Wenn man die Spannung dort richtig eingestellt hat brauch man ihn eigentlich auch nicht stecken.

So, nu muss ich erstmal was arbeiten. Bis denn
ruß Frank

sulu
07.07.2006, 11:06
Hi
ich bins nochmal. Also ich habjetzt alles oweit fertig und mal laufen lassen. Aber leider funzt das Demoprogramm nicht wie es soll. Bascom erkennt den Controller, aber LAuflicht Blinkt einfach kurz wild umsich und die Sirene geht ein paar mal aus und iweder an. Auch wenn ich einen Servo anschließezuckt der nur.

Kann mir wer sagen was das sein könnte?

Danke

pebisoft
07.07.2006, 14:41
kalte lötstellen, bauteile vertauscht(widerstände), platine beschädigt, spannungsquelle...., programmierfehler usw...

Frank
07.07.2006, 14:56
Platinenfehler sind ausgeschlossen weil bei RN-Platinen elektronisch alle Bahnen in der Produktion schon durchgemessen werden. Die anderen Dinge sind alle denkbar, jedoch würde ich hier erstmal nicht an Hardwarefehler denken, es klingt ja alles schon recht gut.

Hast du die Fusebits korrekt eingestellt? JTAG muss ausgeschaltet werden. Quarz aktiviert?
Blinken dann die Led´s t noch nicht in der richtigen Reihenfolge, kann es sein das du ein Demo erwischt hast das noch nicht an die neue Belegung der LED-Balken angepasst ist. Die LED-Balken waren in den Vorgängerversionen anders belegt.
Du kannst das auch selbst überprüfen indem du Bascom programm mit dem Diagramm (da sind LED Ports gut sichtbar) vergleichst. Als Nebeneffekt lernt man gleich was dazu.

Ein Servo war ja glaub im Demo garnicht programmiert, somit geht der ja auch noch nicht.

franzl
07.07.2006, 15:18
hallo sulu,
ich denke auch dass du die fusebits noch nicht richtig eingestellt hast.
mfg franzl

linux_80
07.07.2006, 19:50
Dann kommts noch drauf an welchen Quarz Du gesteckt hast, es sind ja zwei dabei, wenn das Demo für 16MHz programmiert ist, und Du den 7,3MHz drin hast, passt das mit der Frequenz des Tones und der LaufLED-Geschwindigkeit Nicht !

Der Quarz wird normalerweise nicht direkt eingelötet, sondern gesteckt, die 3 Pins sind doch im Bausatz mit dabei.

sulu
07.07.2006, 20:45
Hi
hab jetzt alles nochmal üerprüft. Aber Jtag kann ich nicht finden. Bei mir ist nur folgendes:

Thorsten
07.07.2006, 21:38
Aber Jtag kann ich nicht finden.
Gut, ein Mega8 hat auch keins.
Vieleicht läuft nur der Interne Oszillator, steht zumindest im Screenshot,
kenne aber das Programm nicht.
Aber sonst weiß ich auch nicht weiter.

Thorsten

linux_80
07.07.2006, 23:46
Ich hab Fusebit A987 eingestellt auf 1111:1111 external XTAL
dann wird der Quarz verwendet.
Nach dem ändern, mit "Write FS" die Daten in den Controller zurückschreiben, gleich danach ist die Einstellung aktiv, und der M8 läuft mit den MHz die der Quarz hat !

Diese Info aber trotzdem ohne Gewähr ;-) , denn wenn der falsche Wert bei A987 eingestellt und geschrieben wird, ist der Controller erstmal nicht mehr ansprechbar !

sulu
08.07.2006, 10:58
ändert sich dies nochmal, oder ist der dann hin,der Controller?

linux_80
08.07.2006, 11:09
Kaputt ist er nicht, nur nicht ansprechbar,
wie oft hier zu lesen, wird statt ext. XTAL auf ext. RC-Oszillator gestellt, und das ist der verkehrte !
Um ihn wieder zum leben zu erwecken braucht man dann eben einen RC-Oszilator !

Aber wenn man ausgeschlafen ist O:) , und genau hinschaut beim Fusebits umstellen, dann haut das auch hin mit dem umzustellen auf ext. XTAL
;-)

simon_751
08.07.2006, 11:56
Hi
ich habe auch so n Board gelötet. Und geau diesen Fehler gestern gamacht. Ich dost. Was genau muss ich jetzt machen?

sulu
08.07.2006, 18:24
Ja genau
Was ist ein Rc Oszilator?

linux_80
08.07.2006, 20:27
Hallo,
wenns ein Oszillator sein soll, dann wird gerne so einer genommen:
http://www.conrad.de/goto.php?artikel=158070
Den Ausgang davon klemmt man an XTAL1 vom AVR.
Da Du aber ohne Fehler zu machen die Fusebits umstellst, brauchst Du das nicht ;-)

simon_751
09.07.2006, 09:43
Hi
ich habe aber diesen Fehler gemacht. ABer wäre es nicht genauso teuer, wenn man sich direkt einen neuen Controller kauft.
(http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=79_80&products_id=30)

franzl
09.07.2006, 10:13
hallo,
ihr könnt den mega8 auch durch einen takt eines anderen miktokontrollers retten. einfach einen pin in einer endlosschleife invertieren und dann an Xtal1. dann die richtigen fusebits einstellen und
schon funktioniert er wieder.
mfg franzl

Frank
10.07.2006, 11:14
Anmerkung noch.
In deinem letzten Bild sind die Fusebits noch auf INTERNEN RC-Oszillator gestellt.
Wenn das noch immer der Fall ist, dann ist noch alles ok, dann wird der COntroller intern mit 1 Mhz getaktet und die Fusebits müssen sich auch noch verstellen lassen.
Bei Bascom kann man es sich leicht merken: Um auf den Quarz zu schalten muss man die unterste Einstellung im Pulldown-Feld nehmen.

sulu
20.07.2006, 18:23
So ich hab jetzt den Controller wieder hingekriegt.
Immer noch die gleichen Symtome.(ziloses abspulen von Routinen) Sag mir doch bitte nochmal einer zum mitschreiben(step by step) was nuun zu tun ist/umzustellenb ist bei den Fusebits.
(Auch immer noch gleiches Bild bei den Fusebits wie im screenshot)

Vielen dank

Danke

Frank
20.07.2006, 21:04
Es ist doch wirklich schon oft beschrieben worden. Hier findest Du ein Bild:
https://www.roboternetz.de/wissen/index.php/RN-Board_FAQ-Seite

Wie schon oben beschrieben:


Bei Bascom kann man es sich leicht merken: Um auf den Quarz zu schalten muss man die unterste Einstellung im Pulldown-Feld nehmen.

https://www.roboternetz.de/bilder/bascom/bascomquarz550_f.gif

Damit meinte ich die unterste Einstellung bei der Quarzauswahl (hier im Bild bei A987)

Das Bild ist zwar für den Mega32, aber die Quarzeinstellung ist beim Mega8 nahezu identisch. Aber wenn Du im Programm $crystal = 16000000 durch $crystal = 1000000 ersetzt, dann kannst du auch erstmal ohne Fusebitänderung mit 1 Mhz arbeiten. Da geht auch alles.

plusminus
20.07.2006, 21:17
Mal ne dumme Frage: Bedeutet 16 Mhz gegenüber 1 Mhz auch 16x Geschwindigkeit ?

Frank
21.07.2006, 01:23
Genau so ist es!

plusminus
21.07.2006, 01:30
Mich laust der Affe, das ist ja verrückt :P

simon_751
21.07.2006, 09:22
Hi
ich habs jetzt auch wieder hingekriegt. Das Programm(mit Sirene , Lauflicht, etc. funktioniert. Nnur mien programmierter Servo zuckelt nur.
Ich schließe daruas, dass die Ports noch nicht ansprechbar sind, woran liegt das. (Jtag gibts ja beim Mega 8 nicht)

plusminus
21.07.2006, 10:43
Du hast zwar nicht geschrieben, was du genau mit dem servo angestellt hast, aber: Ein Servo wird über ein PWM-Signal angesteuert (Das kommt über das letzte kabel, neben Vcc und GND zum Servo...

Mal ein Quote aus dem RN-Wissen:

An die PWM-Leitung wird ein pulsweitenmoduliertes Signal angeschlossen. Die Repetition-Period(Periode) entspricht bei den meisten Modellen 20ms. Innerhalb/zu Beginn dieser 20ms wird ein Puls erwartet, der sich zwischen 1ms und 2ms bewegt, wobei diese Werte jeweils den Endlagen des Servos entsprechen. D.h. 1ms ist ganz links und 2ms ist ganz rechts(Einige Sevos haben in diesem Wertebereich jedoch nicht die volle Bewegungsfreiheit ausgenutzt, die Werte, bei denen der Servo ganz links/rechts ist können auch unter 1ms/über 2ms liegen). 1,5ms würde demnach die Mittelstellung bedeuten. Aufgrund der Pulslänge lässt sich also eine direkte Aussage über die Position des Servos treffen. Der Motor sorgt dann intern mithilfe des Potis dafür, dass die Position gehalten wird.

Frank
21.07.2006, 10:51
Ich denke schon das die Ports funktionieren. Wird sicherlich programmierfehler sein. Vielleicht postest du mal code und Anschlussbeschreibung.
Bei JTAG hab ich mich vertan, Mega8 hat natürlich keinen. Somit musst du nur irgendwann Quarz aktivieren wenn du volle Power brauchst.

simon_751
21.07.2006, 11:12
Hier ist der code


$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800

Dim A As Word
Dim B As Word
Dim C As Word
Config Servos = 3 , Servo1 = Portd.6 , Servo2 = Portd.7 , Servo3 = Portb.0 , Reload = 20
Config Pinb.0 = Output
Config Pind.6 = Output
Config Pind.7 = Output
A Alias Servo(1)
B Alias Servo(2)
C Alias Servo(3)
Enable Interrupts
Do
A = 100
B = 100
C = 100
Waitms 1000
A = 150
B = 150
C = 150
Waitms 1000
Loop

PcVirus
21.07.2006, 14:22
Du musst für Alias keine Variable vorher erstellen.
Das $baud brauchst du auch nicht, weil du nichts über RS232 ausgeben willst.
Dann versuch nochmal die Servo werte runterzustellen.
Und wenn mich nicht alles täuscht, heißt es nicht Config pinb.0 = output
sondern Config portb.0 = output
Also ungefähr so:


$regfile = "m8def.dat"
$crystal = 1000000
Config Servos = 3 , Servo1 = Portd.6 , Servo2 = Portd.7 , Servo3 = Portb.0 , Reload = 20
Config Portb.0 = Output
Config Pord.6 = Output
Config Pord.7 = Output
A Alias Servo(1)
B Alias Servo(2)
C Alias Servo(3)
Enable Interrupts
Do
A = 50
B = 50
C = 50
Waitms 1000
A = 150
B = 150
C = 150
Waitms 1000
Loop

MFG PcVirus

linux_80
21.07.2006, 18:51
Hallo simon_751,

läuft der AVR auch mit 1MHz ?
dann würd ich sagen der Reloadwert ist zu gross, sollte max. 10 sein, und je mehr Servos definiert werden immer kleiner, damit so einigermassen die 20ms passen.
Probiers erstmal mit 10, evtl. aber doch mit 8.
Ansonsten mit dem Code vom PcVirus weitermachen !

simon_751
22.07.2006, 10:52
So
ich hab jetzt heruasgefunden, dass auch die Ausgänge funktionieren.(also if pinc.0=1 then ...)
Das geht also. Er kann nur keine Servos bewegen. Die zucken nur ganz kurz wenn ich sie anschleiße. Daher vermute ich er kann kein Pwn Signal ausgeben.
Wodran kann das liegen?

sulu
23.07.2006, 09:56
HI
ja das "Demo"Programm läuft jetzt auch bei mir. Allerdings die Servos machen genau das sekbe wie bei dir:
Ichts(bzw. nur eichtes Zucken am Anfang)
Wodran kann das liegen, dass da kein Pwm Signal ankommt?

linux_80
23.07.2006, 11:09
Moin moin,

Wodran kann das liegen, dass da kein Pwm Signal ankommt?

Wie kommt ihr drauf, das da kein PWM-Signal rauskommt ?
Kann man eigentlich nur mit einem Oszi sicher sagen, denn ein Multimeter wird nicht ganz so schnell sein, es flackert evtl. etwas.

Habt ihr meine Tipps von einem Post von oben schon angeguckt, mit Reloadwert und so, denn mit 20 kommt man nicht sehr weit.

sulu
23.07.2006, 18:01
Hi
vielleicht leigts an den 1Mhz mit der der MEga8 hier laüft. Vielleicht ist das zu lahm?

SMB-Soft
01.12.2006, 00:22
Hallo zusammen,
ich habe das Board jetzt auch nach zwei Stunden fertig gelötet, und teilw. die gleichen Probleme wie die Kollegen vorher.
Wildes Blinken der LED. Liegt das jetzt an der Demo-Software oder and den Quarzeinstellungen. Ich habe bis jetzt weder das eine noch das ander untersucht, mache ich morgen.
Die RS232 Schnittstelle liefert keine Daten zum PC. Auf was muss ich hier achten?
Zusätzlich habe ich noch das Problem dass ich nicht weiss wierum der Lautsprecher eingelötet werden soll. Auf der Platine ist ein Plussymbol aber auf dem Lautsprecher nicht.

Kann mir jemand helfen ?
Gruss
Stefan

SMB-Soft
01.12.2006, 00:23
Hallo zusammen,
ich habe das Board jetzt auch nach zwei Stunden fertig gelötet, und teilw. die gleichen Probleme wie die Kollegen vorher.
Wildes Blinken der LED. Liegt das jetzt an der Demo-Software oder and den Quarzeinstellungen. Ich habe bis jetzt weder das eine noch das ander untersucht, mache ich morgen.
Die RS232 Schnittstelle liefert keine Daten zum PC. Auf was muss ich hier achten?
Zusätzlich habe ich noch das Problem dass ich nicht weiss wierum der Lautsprecher eingelötet werden soll. Auf der Platine ist ein Plussymbol aber auf dem Lautsprecher nicht.

Kann mir jemand helfen ?
Gruss
Stefan