Archiv verlassen und diese Seite im Standarddesign anzeigen : Controllerboard RN-Mega8
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
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
entschuldige ich meinte natürlich 16 Servos
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.
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?
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
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
Achso.
vielen Dank
Aber wie funktioniert das mit dem Quarz? Einfach die beiden außeren Pinne benutzen(egal wie rum)?
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.
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?
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
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...
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.
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.
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 !
ä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?
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)
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
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.
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
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 ?
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.
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
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?
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.
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.