PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter / Roboter Projekt mit PIC?



Noy
26.10.2011, 15:19
Einfache Frage :)

Gibt es hier im Forum bereits einen Roboter oder ein Roboter Projekt das mit PIC's arbeitet?

Habe nun mit PIC's angefangen und würde mich gern an einen kleinen, günstigen Roboter wagen, aber irgendwie sind alle in dem Projekt Vorstellungsordner mit AVR's.

PICture
26.10.2011, 15:41
Hallo!


Gibt es hier im Forum bereits einen Roboter oder ein Roboter Projekt das mit PIC's arbeitet?

Der "Roboter" ist eigentlich mein geplannter "Spielzeug" der noch lange nicht fertig wird: https://www.roboternetz.de/community/threads/48052-Mein-Kunsttier-(BEAM)-mit-Elektronik?p=528391&viewfull=1#post528391 . Eigentlich jeder Roboter kann genauso, wie mit einem AVR, mit einem PIC gesteuert werden, wenn alle seine Funktionen schon genau z.B. in Programmablaufdiagramm (PAD) festgelegt sind. Wenn man nur an Programmieren eines µCs interessiert ist, wäre ein fertiger Robby z.B. ASURO empfehlenswert, wobei nur AVR durch PIC ersetzt wird. Wenn man aber billig und unbeschränkt anfangen möchte, finde ich das optimal: http://such001.reichelt.de/index.html?;ACTION=444;LA=444;GROUPID=993;PROFID=3 644;SEARCH=ARX-CH09;SID=11TgHBaH8AAAIAAEmYO0w386f49ddc5fad48930d5 c9f5e9647b2e . ;)

Noy
26.10.2011, 16:45
:D

wollte ich gerade fragen was von dem Dingen zu halten ist, allerdings von Conrad weil da kann ich mal eben vorbeifahren (Versandkosten)

Allerdings ist es ein wenig anders als der Asuro Unterbau. Hat das Nachteile oder ist das hier genauso gut? Oder besser den RP6 Unterbau?

Beim Asuro sind jede Menge sachen bei die ich nicht brauche. Habe ziemlich vieles, bis auf Sensoren, bei Pollin vor kurzem bestellt. Und halt PICkit3 und nen PIC18LF4553 und dsPIC30F4011.
Hätte auch schon einen Spannungswandler auf 5V inklusive Beschaltung (LM2576) für die Steuerung. Und eine Motor Treiber Platine allerdings mit einem L298N. Da wäre nun meine Frage reicht das Akku Pack für meine Spannungsregler? Der LM2576 braucht wohl mindestens 8V Input und bei dem L298N bin ich mir nicht ganz sicher.

Die nächste Frage, wäre es sinnvoller das : Arexx Ultraschall-Satz für ARX-03 ARX-ULT10 zu kaufen oder eher die Bauteile einzeln (sofern es die gibt) (meine was wäre günstiger und verträgt das Fertige dingen überhaupt 5V?)

Und noch eine Sache:
Was hat es mit diesen Aufklebern auf den Zahnrädern beim Asuro auf sich? Braucht man das und wenn ja wie funktioniert es und was für Bauteile bräuchte ich dafür (sind ja anscheined nicht bei dem losen Unterbau bei)?


Zu guter letzt:
https://www.roboternetz.de/community/threads/55303-Hilfe-bei-Roboter-Motoren-Wahl

Da hatte ich schonmal angefragt aber es kommt nichts mehr. Wäre der Unterbau geeignet oder wird er zu schwer? Nachteil wäre keine Motoren dafür und noch keine Ahnung woher die Versorgung kommen soll. Daher würde ich mit dem Asuro Unterbau billiger hinkommen oder?


EDIT: Habe ganz Vergessen das ich ja den PIC18 als LF Version hab der läuft ja schon mit 2V :) bleibt also nur noch der Motortreiber der wie ich gerade sehe nur mit 5V läuft -.-

PICture
26.10.2011, 16:54
Ich kann leider keine deine Fragen beantworten, da sie nix mit PIC's zu tun haben. Deshalb würde ich dir empfehlen deine Fragen in entsprechenden Unterforen zu stellen. ;)

oderlachs
26.10.2011, 19:07
Ich habe diesen Arexx Ultraschall-(Bau)Satz , na ja ausser den bauelementen ist ja nur eine Lpl mit Lötpunkten dabe, d.h. Du musst mit verz. CU Draht die Leiterbahnen Löten...Hätte da eigendlich ne fertige Lpl. erwartet. Die orgin. Leiterplatten(für ARV) für einen Asuro auch passend für das Fahrchassis von Reichelt kann man preisgünstig bei ELV, wie auch Achsen Räder..usw. bestellen.
Mit PIC's hantiere ich zwar auch umher...aber stecke da noch ganz in den Kinderschuhen, als um da aus der "Schatzkiste plaudern" zu können in Sachen Pic-Robot.

Gerhard

Noy
26.10.2011, 19:25
Hier da du dich ja anscheined gut mit PIC's auskennst.
Ich würde gern für den Asuro Clone den dsPIC30F4011 benutzen wegen den 6 PWM Channels und so denke der is für sowas besser geeignet auch später für Sensoren und so als der PIC18F4553.
Wollte den dsPic deswegen mal auf mein BreadBoard stecken um mir den schonmal bissel anzuschaun (habe bisher nur mit dem kleinen rumprobiert.). Was ich nun für ein Problem habe ist folgendes der dsPic hat gesonderte AVss und AVdd Pins. Habe im Datenblatt gelesen das die für die Versorgung des Analogteils da sind und immer angeschlossen sein müssen. Meine Frage ist nun kann ich die ganz normal mit 5V wie an Vss und GND wie an Vdd verbinden?

Sonst ist beim PICKIT3 wie gehabt oder Vdd Vss PGD PGC und MCLR PGM bruach ich nicht oder (hab den PIN auch net gefunden , genauso wie Vpp nicht aber hoffe das is der MCLR PIN)


EDIT:

Wozu sind die Files libp30F4011-coff.a und libp30F4011-elf.a und p30F4011.inc include file da?

Und noch diverse andere Header /MPLAB30C/support/generic/h/ ?

RoboHolIC
27.10.2011, 22:59
... den dsPIC30F4011 benutzen wegen den 6 PWM Channels ...
Wenn du wirklich 6x PWM brauchst, solltest du dich nochmals vergewissern; m.W. hat der 4011'er 4 unabhängige PWM oder 2x3 paarweise gekoppelte PWM zwecks High/Lowsideansteuerung und Zwangspause zwischen high und low einer Halbbrücke zur Vermeidung von Querströmen.


... der dsPic hat gesonderte AVss und AVdd Pins. Habe im Datenblatt gelesen das die für die Versorgung des Analogteils da sind und immer angeschlossen sein müssen. Meine Frage ist nun kann ich die ganz normal mit 5V wie an Vss und GND wie an Vdd verbinden? ...
Ja, laut Datenblatt müssen die mit GND und Vdd verbunden sein. Wenn man die ADC-Genauigkeit ausreizen will, sollte man (?AVss und?) AVdd tunlichst mit LC-Netzwerk filtern, um die Störungen des digitalen Controllerteils vom ADC fern zu halten; das Datenblatt zeigt, wie. Je nach Anwendung und Genauigkeitsanforderung kann man sich die Filterung eventuell auch sparen.

PGM hab ich beim 4011 (zwar nicht vermisst, aber) auch noch nicht gefunden; und Vpp war schon immer Vpp/MCLR.

Noy
29.10.2011, 09:18
Nein ich brauche keine 6 richtigen PWM's der hat 2x3 das weiß ich aber mein aderer den ich hier hab hat nur 1 PWM von daher wirds der 4011. Mit PWM wäre 1x Motor Rechts 1xMotor Links und 1x Servo. Von daher passt der 4011.

Noy
20.11.2011, 23:10
So bisher sind meine ersten Bauteile eingetroffen und ich habe einen Teil der Platine bzw. des Schaltplans gezeichnet. Habe nun dazu ein paar Fragen.
Da ich es auch bei Mikrocontroller.net eingestellt habe werde ich mal den Link posten:

http://www.mikrocontroller.net/topic/236579#new

Könnt mir natürlich auch gerne hier Antworten, ich schau bei beiden Täglich mal rein!

Soll ich vielleicht noch einen Thread mit Link in dem Elektronik Unterforum machen? Fals ihr PIC'ler mir nicht weiterhelfen könnt?

Thoralf
22.11.2011, 13:17
Ich baue viel mit PIC. Guck mal hier nach "Tarzan" (mein Kletterroboter). Kannst auch nach CLIBOT googlen oder youtube gucken.

Zu deinen PWMs: wozu brauchst du soviele Kanäle?
Wenn du Modelbauservos oder Fahrtregler nutzt, mußt du lediglich mit dem TMR0 einen 20ms-Interrupt erzeugen. In der Interr.routine werden je Servo nacheinander 10 Warteschleifen (t=1...2ms) gestartet. in der jeweiligen Wartezeit wird ein Port-Bit = 1 gesetzt, etwa so:

- Start 20ms-Interrupt

- PORTB.0=1 ' Servo1
- delay0 (1...2ms)
- PORTB.0=0

- PORTB.1=1 ' Servo2
- delay0 (1...2ms)
- PORTB.1=0

- PORTB.2=1 ' Servo3
- delay0 (1...2ms)
- PORTB.2=0

......usw.

das kann fast jeder PIC

Noy
28.11.2011, 00:26
So,
ich nach dem Aufbau der Schaltung auf einem BreadBoard (etwas abgeändert) wollte ich nun ein wenig mit dem dsPIC30F4011 anfangen.

Bin gerade dabei die Config Bits zu setzten. Da es in der Hilfe leider nciht mehr alles drin gibt wie beim PIC18 les ich gerade das Programming Referenz für die dsPIC30.

Nun meine Frage:

Da steht für den Oszillator kann ich wie beim PIC18 den HS auswählen (hab einen 12MHz Quarz dran) aber anscheined geht es bei dem dsPIC30F4011 nicht mit PLL bei dem HS oder seh ich das Falsch? Wie kann ich den dsPIC denn dann auf seine 30MIPS bringen?

Oder besser nen 4MHz Quarz (XT) und dann mit PLL?
Oder einfach den internen Fast RC Quarz? (Würde mir auch Platz auf dem Arexx CH9 sparen.. oder ich bau eh ne Eurokarte Oben drauf mit größeren Abstandshaltern.)
Soll wie schon oben gesagt ein Asuro Clone werden.

Noy
28.11.2011, 19:15
Also,

dies wäre nun meine Fertige Platine. Bitte schaut mal drüber!

2067620677

Die ganzen SFH300 FA sollen praktisch Berührungslose Schalter sein die
Anzeigen wenn der Asuro Clone fast irgendwo gegen fährt.
Die eine Version der Schaltung ist mit einstellbarem Komparator die
andere ohne. Bei der ohne würde ich mit den A/D Eingängen die Spannung
messen und dann je nachdem welche Spannung anliegt (müsste noch die
Widerstände an den SFH300 FA ändern damit bei jedem eine andere Spannung
abfällt) soll der Asuro Clone dann erkennen wo er bald gegenfährt (also
Platinen Kante: wo?)

Bei der anderen Version geht es nicht. Weiß noch nicht welche Version
besser wäre.

Das nächste wäre ich würde gerne überall wo die Jumper sitzten gerne
irgendwie die Zuleitungen über den Asuro Clone steuern (Um nicht
benötigte Komponnenten zwecks Stromsparens auszuschalten). Was müsste
ich dort einbauen? Und geht dies mit NPN / PNP Transistoren oder brauche
ich FET's?

Sind die belegungen an dem PIC soweit ok? Oder hab ich mir einen PIN
verbaut den man für etwas anderes besser nehmen könnte (meine die Sonder
Belegungen)

Die 2 mal SFH300 bei der Roten LOW Current LED sollen ein Liniensensor
werden. Soll ich dort auch eine Komparator Schaltung zwischen schalten
oder geht es so besser / bzw reicht dies?


Sollte ich einen Externen Quarz verwenden oder reicht der interne Fast RC
des PIC?


Und nun die letzte Frage:

Wo / Wie stell ich Eagle ein damit ich mit dem Lochraster Routen kann?
Also das er nichts Mitert und nur 90° Ecken macht.

RoboHolIC
29.11.2011, 20:48
Hallo Noy.


Wo / Wie stell ich Eagle ein damit ich mit dem Lochraster Routen kann?
Also das er nichts Mitert und nur 90° Ecken macht.

Dafür gibt es in beiden Ansichten (SCH und BRD) in der "Parameterleiste" eine Wahlmöglichkeit analog zu Linienstärke, Farbe(Layer) etc. Man wäht dort (glaubich) den Radius, 0 heißt dann sinnvollerweise eckig.


Sollte ich einen Externen Quarz verwenden oder reicht der interne Fast RC
des PIC?

Wie kann ich den dsPIC denn dann auf seine 30MIPS bringen?
Es geht sowohl mit FRC als auch mit externem Quarz. Im Datenblatt steht, daß als externe Quarze 4..10MHz möglich sind; die Datenblattberichtigung korrigiert sich dann aber auf 5..10 MHz für stabilen PLL-Betrieb (Hast du neben dem Datenblatt auch die Silicon Errata und Data Sheet Corrections/Clarifications entdeckt/zur Kenntnis genommen? Die sind bei der dsPIC30F-Familie schon recht umfänglich, die Chance, in eine Falle zu tappen ist recht groß!)

Im Übrigen reicht der PLL-taugliche Quarz-Bereich nur bis 10 MHz und wird mit Oszillatoreinstellung XT bezeichnet.
HS wird nur für Quarze 10..25MHz verwendet und ist nicht mit PLL kombinierbar. Das alles steht aber auch ausführlich unter System Integration/ Oscillator Configurations im Datenblatt.

Welche Taktquelle du verwendest, ist von der Genauigkeitsanforderung abhängig. PLL verursacht einen Jitter in der Größenordnung 1%; FRC hat eine Grundgenauigkeit von etwa 1 oder 2%, dazu noch den PLL-Jitter. Alle Werte max. über den vollen Spannungs- und Temperaturbereich; unter Wohnbedingungen vermutlich deutlich besser.

Noy
29.11.2011, 21:01
Vielen Dank,


also das heißt mit meinem 12MHz Quarz gibts kein PLL und ich bekomme den nicht über 12MHz.
Anderrum reicht mein 4MHz Quarz nicht für stabilen PLL Betrieb.... zwischen 5...10MHz habe ich leider keinen Quarz also werde ich wohl erstmal mit dem internen Arbeiten und mir die Möglichkeit für den externen auf der Platine offen halten.

Danke auch für den Hinweis auf die Errata, habe ncoh in keine rein geschaut. Hatte gehofft das die das Haupt dingen immer schön aktualisieren.

Genauigkeit ist glaube ich bei dem Asuro Clone nicht so wichtig. Für später hat die RFM12 einen eigenen Quarz und für Kommunikation zwischen 2 PIC reicht es hoffentlich auch.

RoboHolIC
03.12.2011, 01:43
Hallo Noy.

Ich habe gerade eben (nein, kein Scherz) gesehen, daß die Oszillatorkonfiguration und die entsprechend möglichen Kombinationen aus Taktquelle und -frequenz noch etwas komplexer sind, als ich das bisher aus der Übersichtsseite des jeweiligen Device Datasheet herausgelesen hatte.
Details hierzu in den Kapiteln 7.1 und folgende im dsPIC30F Family Reference Manual (DS70046x), Stichwort " Oscillator System VERSION".

pinsel120866
03.12.2011, 07:27
Hallo,

mich interessiert dieser Hexa: http://www.hexapod-kit.com/en/home.html

Das Board trägt einen Pic18F452. Kann ich diesen Prozessor auch mit BASCOM proggen?

Noy
03.12.2011, 15:48
Oja der Hexa sieht schön aus aber leider ist die Meschanik schon sehr teuer für das bisschen Plastik.

Hat nicht jemand hier im Forum einen REPRAP der das gegen Materialkosten + kleine Aufwands Entschädigung nachdrucken könnte??

Könntet ihr euch mal meine Eagle Probleme und die Schaltung anschauen mittlerweile sind alle Teile da und ich würde den gern bald aufbauen.

Achja gibt es das RP6 Chassi einzeln bzw mit Encoder noch dabei irgendwo zu kaufen??

pinsel120866
03.12.2011, 17:04
Das Chassis kriegst du unter Anderem hier: http://www.conrad.de/ce/de/product/191152/FAHRGESTELL-ROBBY-RP5-ROBOTER/SHOP_AREA_37371&promotionareaSearchDetail=005

Noy
03.12.2011, 17:23
Das beim C hab ich schon gesehen aber das ist das RP5 chassis und ohne Encoder :-( ich suche halt ein mechanisch komplettes chassis was ich mir zu weihnachten wünschen könnte. Habe bei dangerous prototyping noch was relativ interessantes gefunden. Mein erster bot wird ja mit dem arexx ch09 gebaut hätte dann gern ein etwas größeres wo ich 1- 2 gestapeltee eurokarten als platine nutzen kann. Oder aber ein günstiges lauf/flug chassis wo dann mehr mit regelstrecken ist. Nur ist halt alles direkt teurer.

RoboHolIC
04.12.2011, 00:48
. . . mal meine Eagle Probleme und die Schaltung anschauen . . .

Probleme:
Das mit dem MITER hat funktioniert ???

Schaltungsteile unter Strom setzen:
Wenn jeweils einige Zehntel-Volt verloren gehen dürfen, geht das mit pnp-Transistoren auf der Highside, selbe Vcc wie Controller vorausgesetzt.
Oder man schaltet nur die Senderstrompfade direkt vom Akku mit npn-Transistoren gegen GND. Das reduziert die Verluste am Spannungsregler.
Die Strompfade der Empfänger bleiben ungeschaltet an der Vcc des Controllers. Sie verbrauchen gemessen am 4011er bei 30MIPS keine relevanten Ströme.

Schmitt-Trigger für Opto-Sensoren:
Jeder normale Port oder INTx-Eingang am 4011er ist als Schmitt-Trigger ausgeführt. Den Schaltpunkt kann man mit dem Arbeitswiderstand des Empfängers einstellen und hat dann seitens des Controllers auch eine Hysterese - es sei denn, man will ausdrücklich keine Hysterese, dafür aber erhöhten SW- bzw. Rechenaufwand treiben.

Mehr kann ich zum Schaltplan nicht sagen; in der vorliegenden Form kann ich ihn nur in den groben Zügen entziffern. Ist er für dich besser erkennbar?

Noy
04.12.2011, 02:47
Hey,
vielen Dank schonmal für die ersten Hinweise.

Zu 1. Das mit dem Mitern konnte ich noch nicht ausprobieren da ich ein paar Fehler im Schaltplan habe.(Die Probleme sind in dem unten angehängten Link in dem Forum beschrieben und auch mit größerem Bild und auch ein Zoombares Bild des Schaltplanes ist dort gepostet.(auf die Pfeile unten in der Ecke drücken)

Zu 2. Werde am Montag meinen Schaltplan dann noch einmal abändern und versuchen die Schaltungsteile Schaltbar zu machen.Und ich werde den PIC wohl auch nicht auf 30MIPS laufen lassen ist einfach überflüssig für die paar Sachen die der Asuro Clone können soll.

Zu 3. Werde wohl nur die 2 Odometrie Sensoren über OP's nutzen für die Abstandssensoren werde ich es mit den verschiedenen Widerständen für verschiedene Spannungen probieren um so über die A/D des PIC's herausfinden zu können welcher der Sensoren das Signal gibt.

Außerdem habe ich nun noch ein Kleines Matlab Projekt nebenher für eine Vorlesung zu machen und überlege ob ich es nicht direkt noch an den PIC mit dranbau. Dafür müsste ich nur ein Mikro an einem A/D Eingang noch anschließen.

Da wäre aber nun die Frage welche von den anderen momentan dort angeschlossenen Schaltungsteile kann ich von dort weglegen? Da ja auf den selben PIN's auch die Signale für externe Interrupts ankommen müssen.

Also ich meine welche meiner Schaltungsteile müssen Interrupts später bei der Programmierung erzeugen können? Die Abstandssensoren sollten es wohl können. Für Odometrie weiß ich es nicht ob ich dort Interrupts für brauche. Und für den Liniensensor weiß ich es auch nicht.

Naja wie gesagt hier:

http://www.mikrocontroller.net/topic/239003#new

gibt es größere Bilder und eine Beschreibung meines Eagle Problems.

Noy
05.12.2011, 21:33
SOOOO,

hier wäre meine fast Finale Version meines Asuro Clones.

Da ich nun festgestellt habe das ich auf dem Chassi des AREXX CH09 überhaupt nicht für alles Platz habe werde ich wohl bis auf die Sensoren alles auf eine Eurokarte bauen und diese dann über Abstandshalter Huckepack auf das Chassi setzten.(Muss nur noch passende Abstandshalter finden, und hoffen das es nicht zu schwer wird dadurch.

Das einzige was nun noch fehlt wäre halt eventuell ein Micro wobei ich das erstmal weglasse. Und eine RFM12 Platine. Weiß aber leider nicht wie ich die genau mit welchem PIN des PIC verbinden muss habe keine Ahnung von SPI. Meine Überlegung wäre außerdem von dem RFM12 den 10MHz Quarz als Hauptquarz zu nutzen, er würde PLL unterstützen und es wäre der richtige Takt für die RFM12.Brauche ich auch diesn Interrupt Pin an der RFM12?


Da mein Schaltplan zu Groß ist zum Hochladen, hier das Bild in der Dropbox:

http://dl.dropbox.com/u/41631856/Asuro_Clone_FIN.png

Noy
08.12.2011, 21:55
Ich habe ein kleines Problem:

Also für meinen Roboter müsste ich das PWM2H und das PWM1H und das PWM3H signal beim dsPIC30F4011 als PWM benutzen aber ich müsste gleichzeitig jeweils die PWM 1/2/3 L und das PWM Fault PIN als normale I/O Ports benutzen damit ich beim L293D die Input Ports richtig ansteuern kann (habe sonst fast keine PIN`s mehr frei). Geht das in diesem Independent Mode der PWM? Und wenn ja auf was setzte ich am besten die Config Bits für die PWM beim start?

RoboHolIC
10.12.2011, 22:24
Ein gezielter Griff (via Inhaltsverzeichnis) in das Device Data Sheet des 4011; das Ganze hat eine Minute gedauert und ich weiß jetzt, daß Motor PWM Override möglich ist und wie man es anstellt: Kapitel 15.10 PWM Output Override

Ich will nicht pampig werden, weil ich es ja selbst noch nicht wußte (und auch nicht erwartet hätte). Allerdings frage ich mich doch, warum das andere für dich raussuchen müssen. Liegt es an der Datenblattsprache?

Noy
10.12.2011, 22:41
Nein, also nicht weil es englisch ist sondern eher weil es mit fachwörtern teils ist. Aber zu einem noch größeren teil weil es mein erster 16Bit Pic ist und auch fast mein erster Versuch mit Pic im allgemeinen bis auf Led's auf Knopfdruck blinken lassen habe ich noch nichts gemacht.Auch keine PWM ich habe die Sachen im Datenblatt mir mal durchgelesen aber ich möchte mich einfach hier Versichern das ich es halbwegs richtig verstanden habe.Bevor ich da was falsch mache und etwas kaputt geht.Deswegen poste ich ja auch meinen Schaltplan hier.Habe da zb schon einen Fehler gefunden (ansteuerungs l293d ) sind halt meine ersten Bastelversuche. (Ist mit dem Handy geschrieben deswegen leider etwas unsauber geschrieben!)