PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schaltung als Linienroboter tauglich?



Namenlos
20.05.2009, 15:00
Hallo Forumgemeinde,

wie der Titel schon sagt mache ich mir gerade gedanken
ob diese Schaltung und das Layout für einen Robotoer der
eine Linie verfolgt tauglich ist.

Ich habe es mir so gedacht das das Programm über den ADC
die Spannung mist und ab bestimmten grenzen den passen Motor
einfach an oder halt Ausschaltet.
Da ich mir soetwas noch nie gemacht habe wollte ich mal um
euren Rat bitten :]

Der Roboter selbst wird etwas ganz einfaches sein da es mir in erster
Linie um die Funktion selbst geht der Rest wird nach und nach geklärt.

Die Motoren sind auch nur ganz einfache weshalb ich auch nur so ein
kleines MOSFET Pärchen im SOIC Gehäuse genommen habe.


Liebe Grüße
Namenlos

Besserwessi
20.05.2009, 21:32
Bei den eingezeichenten Widerständen kann man auf die OPs noch verzichten. Für die Liniensensoren wäre es besser den Widerstand geggen GND und den CNY70 gegen Vcc zu haben. Dann könnte man mit der Refe. Spannung die Empfindlich keit noch variieren. Beim Mega8 ist das nicht Bereich, aber beim Mega88 wäre da schon einiges möglich.

Der Pin ARef gehört nicht an Vcc, sondern entweder an eine extere Ref Spannung oder einen Kondensator gegen AGND.

Die 100 Ohm an Vorwiderstand für die CNY sind mehr für recht kleine Spannungen geeignet. Wenn man 5 V als VCC hat, dann könnte man die Senderseite der CNY.. auch in Reihe schalten und so Strom, und einen Widerstand sparen.

Zu den MOSFETs sollte man noch Freilaufdioden spendieren : parallel zu den Motoren. Mit nur je einem FET kann man die Motoren nicht umpolen. Für ein einfaches Linienfolgen sollte das aber reichen. Das da Widerstände am Gate sind, ist schon mal Lobenswert. Der Wert sollte aber eher größer sein. Bei den kleinen FETs wohl eher 100 Ohm. Die Ausgänge sind auch nicht ideal gewählt. Wesser wären z.B. PB1,PB2, denn das sind Pins mit hardware PWM funktion. Das kann sehr hilfreich sein, um die Geschwindigkeit zu steuern. Die UART wäre außerdem sehr gut für Debug-zwecke zu gebrauchen. Ich würde da zu mindest am TX Pin einen Transistor hinter schalten, um ein nutzbares (wenn auch nicht ganz Normkonformes Signal) zum PC zu bekommen. Dann sollte man eventuell auch Platz für einen Quarz vorsehen, auch wenn man ihn erst man nicht bestückt.

Beim Spannungsregler solle eine Diode vom Ausgang zurück zum Eingang ran, um den Regler vor Rückwärtsspannung zu schützen. Ausßerdem sollte vor den Regler auch noch ein Elko. Als Faustregel sollte der Kondensator/Elko vor dem Regler größer sein als dahinter.
Je nach Regler müßte man den Elko dahinter auch noch anpassen. Gerade die Lowdrop Regler brauchen da oft relativ große Werte (z.B. 22 µF).

uwegw
20.05.2009, 23:30
Ein Tipp: wenn man noch genügend Pins am AVR frei hat, sollte man darüber die IR-Dioden im CNY schaltbar machen. Damit kann man dann sehr gut Störungen durch Umgebungshelligkeit ausgleichen. Man misst einmal mit und einmal ohne IR-Beleuchtung, und bildet die Differenz. So ist die Umgebungshelligkeit egal, solange sie nicht so groß ist, dass der Fototransistor voll durchsteuert.

Namenlos
21.05.2009, 01:52
Vielen Dank für eure Antworten endlich mal Leute
dir mich unterstützen.

Halten wir fest:

- Widerstände an den Reflexoptokopplerverändern

- OpAmp kann weg

- Widerstände an den Fets erhöhen

- AREF an VCC... mache ich normalerweise nicht aber diesmal
wollte ich das so machen das ich fande das es so am besten
zu realiesieren wäre ( nehme normalerweise einen TL431)

- Diode am 7805.. kann nicht schaden! *Hab ich aber noch nie gemacht*

- Freilaufdioden kommen an den Motoren direkt!

- Elko kommt noch! Den habe ich aber noch nicht drauf gemacht.

- Elko auf der Rückseite brauch zum Beispiel der LM2940, warum
brauchen die eigentlich so einen großen Kondensator?
Ultra Low Drop Regler brauchen sogar noch größere.

-Das mit den Optokoppler Schaltbar machen klingt gut da muss ich mir aber gedanken machen wie man das Programmtechnisch realiesiert.
Die Optokoppler werde ich an der Eingangseite hängen damit ich den Regler nicht belasten muss das wird vieles vereinfachen.
2 Widerstände und 2 Transistoren im SOT223 sind schnell und passen untergebracht.

-An den UART hab ich eigentlich nicht gedacht da ich den normalerweise
bisher noch gar nicht wirklich genutzt habe.Werde ich dann
auch mit einbringen.

-An einer anderen Pinbelegung zwecks Hardware PWM zum Regeln der
Geschwindigkeit hab ich auch nicht vor.
Es wäre schön es so zu realiesieren nur mir ist das einfach zu viel.
Wenn ich das wirklich rein Hobby mäßig machen würde dann hätte
ich da kein Problem mit nur ich fühle mich eher als Zweck ausgenutzt
und da ist mir diese viele Feinarbeit nicht wert.

Das Problem für mich ist das das für die Schule im Rahmen eines Projektes ist und ich der einzige bin der etwas macht.
Ich muss einfach alles machen weil der Rest zu nichts taugt oder
einfach faul ist und der Lehrer scheint auch nicht so wirklich lust
zu haben da etwas zu machen. Ich habe noch nie etwas in dieser
Richtung gemacht da sich meine Projekte eher auf einfache
Analoge Schaltungen,Regelungen beschränkt haben ( Stromsenke,Netzteile... )
kleine Spaßprojekte halt etwas was man als Hobbybastler gerne macht.
Bis Montag sollte ich den Plan, das Layout und die Teileliste fertig
haben weil sonst da gar nichts zu stande kommt.
Es ist schon verwunderlich das einer Mit SMD Bauteilen umgeht
und es im Plan so hapert da ich normalerweise SMD Bauteile
für meine Sachen benutze.

Irgendwie auch ein mehr oder weniger trauriger Hintergrund aber ich
zieh das durch.

Liebe Grüße
Namenlos

Besserwessi
21.05.2009, 12:06
Die IR LEDs der Optokoppler kann man in Serie schalten. Das spart Strom und man braucht nur einen Transistor. Wenn die Eingangspannung nicht zu hoch ist, sollte ein Regler im TO92 genug Strom liefern können. Der µC braucht rund 1 mA bei 1 MHz. Die IR Dioden sollten mit etwa 20 mA auskommen (das kann man dann direkt vom µC schalten). Der Vorwiderstand wäre dann etwa 100-120 Ohm bei den 2 IR LEDs in Reihe. Wenn man mehr Strom will, ggf auch 2 Pins mit seperaten Widerständen.


Die verbindung Aref an VCC ist nur störend, selbst frei lassen ist besser. Wenn man Vcc als Referenz haben will, macht man das in Software und stellt so intern eine Verbindung her. Dann kann man auch die interne Referenz nehmen. Besser ein Kondensator von Aref nach AGND.

Die Lowdrop Regler brauchen oft so große Elkos, damit der Regler nicht schwingt. Bei diesen Reglern wird die Bandbreite durch den Elko am Ausgang festgelegt und die darf nicht zu hoch werden sonst schwingt der Regler.

Eine Geschwindigkeitsregelung wird je nach Motoren nötig sein damit man der Linie auch wirklich folgen kann. Die Programmierung wird dadurch nicht unbedingt schwerer. Das geht zur not auch in Software, aber Hardware PWM ist deutlich einfacher und der Aufwand die richtigen Pins zu nehmen ist nicht so groß.

Die UART kann vor allem hilfreich sein um den Liniensensor direkt auszulesen. Ohne die Möglichkeit kann es deutlich schwerer werden das Programm zu testen und zu optimieren. Es würde auch reichen nur die PINs Rx,Tx, GND und ggf. Vcc auf einen kleinen Stecker zu geben, die Pegelanpassung könnte man dann extern haben. Die Pins für die UART sollte man sich aber nicht unnötig blockieren.

Für einen ersten Test würde ich die Schaltung auch eher auf einer Lochrasterplatine machen. Für ein Einzelstück lohnt es weniger einer Platine zu ätzen, schon gar nicht 2 seitig. Die Schaltung sollte man auch 1 Seitig hinkriegen, mit 2-3 Drahtbrücken.
Ich würde dabei lieber die µC als DIP Version, mit Sockel nehmen. An SMD Widerstände kann man sich schnell gewöhnen.

Namenlos
21.05.2009, 14:37
So sieht der neue Plan und das neue Layout aus. :)

Ein einzelstück wird das nicht davon wirds hinterher mehrere
geben. Ok das ist auch ein bisschen blöd von mir aber seid
den man mit richtigen Platinen Layouts arbeitet möchte man
irgendwie Lochrasterplatinen meiden, und da ich soweiso alles
alleine mache bestehe ich auf einer geätzen Platine.

- AREF geht jetzt mit einen Kondensator gegen GND

Ich dachte das es bei den ATMEGA8 nur die interne 2.56V
Referenz gibt ich wusste aber nicht das man auch eine Verbindung zu
VCC Schalten kann.

- Die IR LEDs werden von einen 2ten IRF geschaltet.
- Pinheader für UART ist jetzt auch vorhanden.

Das Programm dafür zu schreiben also zumindest die
Hauptstruktur wird einfach da ich die meisten Sachen
aus anderen Programmen von mir einfach übernehmen kann.

Sorry das ich die Bilder Extern angehangen habe aber anders
ging das nicht irgendwie, Dateigröße und das Formant stimmt eigentlich.

Layout:
http://www3.pic-upload.de/21.05.09/enpa9.png
Plan:
http://www3.pic-upload.de/21.05.09/5vhqnt.png

Liebe Grüße
Namenlos

Besserwessi
21.05.2009, 17:13
Die CNY70 können maximal 50 mA vertragen. Der Sereinwiderstand von 100 Ohm ist damit zu niedrieg, wenn die Vin mehr als ca. 6 V berägt. Bei nur 6 V muß der Regler ein Lowdrop Typ sein un braucht vermutlich mehr Elko Kapazität und kann eventeull auch keinen Tantalelko vertragen.

Es geht aber auch schon ganz gut mit 20 mA. Vermutlich wird man auch die LEDs nicht unabhängig schalten müssen. Dann wäre eine Serienschaltung und die Steuerung direkt über einen Pin möglich. Mit 2 Pins wären auch 40 mA drin.


Die Schaltung sieht nicht so kompliziert aus, das man eine 2 Seitige Platine braucht, wenn man ein paar wenige Drahtbrücken erlaubt. Je nachdem wie die Platine gefertigt werden soll, sind die Vias unter dem µC kleine gute Idee. Die Kondensatoren gäbe es auch in der Bauform 0805, also etwas kleiner, die lassen sich immnoch gut von Hand löten.

Die CNY70, die Wannenstecker usw. lassen sich nur schwer Löten, wenn die Leiterbahn von oben kommt. Das geht nur bei Bohrungen die auch gleichzeitig Vias sind.

Die Vias für Masse, zwischen µC und Masse sind recht dicht am Chip. Das läßt sich eventuell nicht mehr gut löten.

Namenlos
21.05.2009, 22:26
Ich werd nochmal das komplette Platinenlayout überarbeiten.
Ich melde mich morgen wieder :]

Liebe Grüße
Namenlos

Namenlos
23.05.2009, 00:30
So wie versprochen :]
IR LEDs durch den µc abschaltbar.
Wenn man sich einmal das Datenblatt anschaut und sich
grob gedanken macht wie alles stehen kann merkt man
das es auch viel einfacher geht.

Was kann man jetzt noch besser machen? Oder meint
Ihr reicht das schon so?

Platine:
http://www3.pic-upload.de/23.05.09/cnj2aq.png

Plan:
http://www3.pic-upload.de/23.05.09/vrwfm.png

Sorry nochmals für den Externen Uploader... O:)

Liebe Grüße
Namenlos

uwegw
23.05.2009, 00:46
Wenn du die SMDs auf die Unterseite packst, kommst du wohl noch mit einer einseitigen Platine + ein paar Brücken hin.

Die Platzierung der Liniensensoren solltest du noch mal überdenken. Für eine möglichst universelle Platine wäre es von Vorteil, die Sensoren auf eine getrennte Platine zu packen. Dann kann man leichter einen anderen Abstand zwischen den Sensoren realisieren. Und zwei Sensoren sind recht wenig, das reicht kaum für ein wirklich schnelle Regelung aus. Du solltest als Option für späteren Ausbau Anschlussmöglichkeiten für alle acht ADC-Kanäle vorsehen.

Wie sieht der Rest des Konzeptes aus? Wie groß wird der Roboter, wie schnell, wie die Stromversorgung? Auf welcher Linienbreite soll er fahren können?

Namenlos
23.05.2009, 13:26
Habe ich vergessen zu erwähnen die Sensoren sollen verkabelt werden
deswegen ist die Position egal.

Wie der Rest aussieht... kleine Alustande 2 Motoren dran und
fertig, mir gehts erstmal darum das er auch die Linie abfahren
kann :] Wie breit die Linie ist..5 cm vielleicht so genau weiß
ich das gar nicht.
Als erstes werde ich noch 2 weitere ADC's belegen dann brauch ich
noch gleichzeitig 2 weitere Ports für die IR Led's.

Ihr müsst euch vorstellen das das für die Schule ist da ist diese
Schaltung eigentlich total übertrieben da würde es vlt
sogar eine einfache Transistorschaltung oder eine kleine Schaltung
mit einen Operationsverstärker tun.

Liebe Grüße
Namenlos

Besserwessi
23.05.2009, 17:03
Die IR LEDs aus den CNY70 kann man in Reihe schalten. Die brauchen nur etwa 1-1.2 V. Da bleiben also auch bei 2 in Reihe noch gut 2,5 V für den Vorwiderstand. Als Pins zur Steuerung der LEDs sollte man nicht gerade die ISP Pins nehmen, sonst wird die Porgrammierung eventuell nicht gehen (hängt vom Programmer ab). Eventeuell noch 2 weitere Sensoren vorzusehen ist sicher auch keine schlechte Idee, man muß die ja nicht gleich bestücken. Vor allem wenn man 4 LEDs zu versorgen hat sollte man jeweils 2 in Reihe schalten, dann kann man sich ein dauerndes Umschalten der LEDs eventuell noch sparen.

Die Massseleitung zu den Kondensatoren am Quarz ist so ziehmlich am schlechtesten Punkt angeschlossen, das kann Probleme geben.

Die Freilaufdioden sollte man eventuell doch auf der Platine vorsehen. Das sollte weniger Störungen Verursachen. Passende SMD Pads direkt an den Schraubanschlüssen sollten kein Problem sein.



Den Linienfolger rein mit analoger Schaltung hinzukreigen wäre wohl auch möglich, aber das einstellen der Regelparameter könnte einiges an probieren benötigen.

Namenlos
10.06.2009, 16:19
Hier die Platine :arrow:
http://www.pic-upload.de/view-2295024/PICT0026.jpg.html


Das Programm habe ich mir so vorgestellt:
Die beiden Reflexoptokoppler für eine Seite über den ADC
auswerten, Werte aufaddieren, IR Licht ausschalten,
Messung wiederholen, Highbyte vom Ergebnis vergleichen
und Motot entsprechend setzen.
Zwischendurch ein paar Sachen per UART ausgeben.
Meint Ihr kann das so funktionieren?

Liebe Grüße
Namenlos