PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schafft das ein AVR?



LLiinnuuxx
25.01.2008, 16:37
Hi zusammen,

Der AVR soll:
- Einen Motor steuern (PWM + L298N)
- einen Pegelwechesel an einem IO aufzeichnen *

* Wechsel zwischen hellem dunklem Untergrund (gestreiftes Papier) zum ermitteln der Geschwindigkeit. Brauche möglichst viele Messungen pro Meter. Bei einer Geschwindigkeit von bis zu 10 evtl auch nur 5 m/s.

Wieviele Wechsel kann ein AVR pro Sekund bemerken? Stellt das erzeugen des PWM.Signals ein problem dar(wird dadurch die auswertung des Eingangs langsamer)?
__________________________________________________ _____

Der komplette Versuch soll mit dem PC gesteuert werden. Die Wechsel am Eingang des AVR müssen daher direkt an den PC übertragen werden[ist die Kommunikation AVR -> PC schnell genug?]. Auch soll über den PC die Geschwindigkeit/Richtung des Motors gesteuert werden. Die Daten müssen direkt an den PC übertragen werden, da er auch andere Daten des Versuches erfasst und diese im Zusammenhang mit der Geschwindigkeit (durch PC berechnet) aufgenommen werden sollen.

Was brauche ich um so eine Schaltung zu bauen?
- AVR Controller
- H-Bridge
- MAX232

- Kabel, Widerstände, Kondensatoren....
(habe ich was vergessen)?

Wenn das ganze machbar ist werde ich mich hier nochmal mit einem Konkreten Schaltplan melden! :-D

Ich würde mich über eure Einschätzung des machbaren / nicht machbaren freuen. Falls man das ganze evtl auch einfacher lösen kann immer her mit den Ideen.


LLiiinnuuxx

Besserwessi
25.01.2008, 17:25
Das PWM Signal kann in Hardware erzeigt werden und verlangsamt dadurch den Rest nicht. Die Streifenerkennung bzw. das Zählen könnte man per Interrupt oder ggf. Input Capture machen. Dabei sind maximal etwa 100-500 kHz drin. Bei 10m/s wären das 10-50 Linien pro mm, also wohl genug. Allerdings muss man mit den Daten ja auch noch etwas machen. Wenn es nur darum geht die Linien zu Zählen gibt es auch noch einen externen Zahlereingang.

Die Kommunikation mit dem PC könnte das Nadelöhr werden. Die Serielle Schnittstelle könnte bei passendem Quarz theoretisch bis ca. 2000 kBaud gehen, da muss man aber klären was der PC da unterstützt. Bis etwa 250 kBaud sollte mit den meisten PCs gehen. Bei hohen Datenraten (>125 kbaud) reicht der MAX232 nicht mehr aus. Eventuell müßte man einen Teil der Auswertung auf den AVR verlegen um weniger Daten zum PC zu senden. Bei Hohen datenraten wird man einen wirklich passenden Quarz brauchen, vermutlich einen mit so einer krummen Frequenz.

LLiinnuuxx
25.01.2008, 18:25
Danke also die anzahl an strichen würde wohl reichen ...

also mir reichen eigtl 1500 Hz würde dass dann zum Pc übertragen werden können ... ohne "tausende" an womöglich teueren Spezialbauteilen?

ansonsten müsst ich zu jedem Signalwechsel einen Timerwert speicher der zu Beginn der Session mit dem PC abgeglichen wird, sodass die AVR dann alle Wechsel am Eingang+Zeit speichert .... das müsste doch möglich sein oder?

Am liebste wäre es mir wenn der PC die Daten möglichst genau zeitgleich mit der eigtlichen Überfaht der Streifen bekommt. So können online bereits Ergebnisse angezeigt werden.


DANKE LLiinnuuxx

LLiinnuuxx
25.01.2008, 18:32
^^ habe gerade gesehen das die Antwort quasi im vorherigen Post steht ...
<125kbaud sollte also gehen ... das reicht ja dann für mich ...


theoretisch könnte ich also sogar mehrere solcher signale abfragen oder wieviele Interrupt hat ein normaler AVR (nix SMD) habe mich noch nicht auf ein bestimmtes Modell festgelegt.

Kann ich einen Gleichstrommotor mit PWM und einer H-Brücke bereits vor und zurück laufen lassen oder brauche ich noch ein Umpolrelais? oder gibts da was edeleres?

askazo
25.01.2008, 18:39
Schau mal in diesen Link (https://www.roboternetz.de/wissen/index.php/Getriebemotoren_Ansteuerung) im Wiki, da steht alle süber Motorenansteuerung drin. Die sinnvollste Lösung ist m.E. die Variante mir dem L293, wenn Du mit einem Motorstrom von 600mA auskommst.

Gruß,
askazo

LLiinnuuxx
25.01.2008, 18:43
ne werde 1,8 A benötigen sprich den L298 nutzen müssen ...

werde mir mal anschauen ob die erwähnte möglichkeit mit diesem geht aber danke schonmal :-p

LLiinnuuxx
25.01.2008, 18:48
wenn ichs richtig verstanden habe geht es auch mit dem grossen Bruder Input 1,2 für Richtung, Enable A für PWM oder?


wofür sind den die ganzen Dioden im Schaltplan?

python_rocks
25.01.2008, 19:02
Du meinst wahrscheinlich die Freilaufdioden: https://www.roboternetz.de/wissen/index.php/Diode#Freilaufdiode

mfg
Gerold
:-)

Besserwessi
25.01.2008, 20:37
Die Zahl der Pins die per Interrupt geprüft werden können hängt vom modell ab. Einiger neuere z.b. Mega88 können dazu fast jeden Pin benutzten, also bis etwa 20. Sonst sollten das etwa 2-4 sein. Bei mehreren Kanälen muss man dann aber wohl die Zeit mit Messen und rüberschicken.

LLiinnuuxx
25.01.2008, 20:39
ich würde eh maximal 2 eingänge brauchen aber wer weiß in Zukunft :-D

suche mir gerade zusammen was ich dann alles bei Reichelt zu bestellen habe ...

LLiinnuuxx
26.01.2008, 15:36
Wie muss eine Schaltung aussehen, damit ich einen CMY70 richtig auswerten kann?

Habe mir gedacht einen LM311 zunehmen aber was brauche ich dann noch?
Gibts vllt irgendwo einen Beispielschaltplan habe bisher nichts gefunden.

LLiinnuuxx
26.01.2008, 15:49
Geht das mit dem LM311 auch so: er wird sogar im Text erwähnt!

http://www.kreatives-chaos.com/images/119.png
http://www.kreatives-chaos.com/artikel/liniensensor-mit-cny70

Besserwessi
26.01.2008, 19:30
Für einen Sensor kann man den im Atmel integrierten Komperator nehmen. Das Ergebnis kann dann intern die ICP-Funktion auslösen.

LLiinnuuxx
27.01.2008, 01:06
danke ...
werde mich dann erstmal damit auseinandersetzen habe jetzt erstmal nen groben Überblick was so geht und was ich brauche.