PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nachteile beim Roboterbau?



wz
01.11.2003, 11:50
Hallo, ich hab selbst einen ATmega8 und würde gerne wissen, ob die AVRs irgendwelche mir unbekannten Nachteile für roboter haben. Ich sehe fast immer nur BasicStamps (anscheinend ist das ein PIC mit Platine) oder C-Controls, die mir aber 1. viel viel teurer und 2. langsamer vorkommen! Warum also so wenig AVRs?

Henrik
01.11.2003, 14:25
Ich bin kein Experte für Roboter, aber ich nehme an, dass man auf diese fertigen Systeme zurückgreift, wenn keine zu hohen Anforderungen gestellt werden. Es ist einfacher auf ein bestehendes System zurückzugreifen und es zu modifizieren, als etwas neues zu entwickeln.
Man hat eine fertige Hardware, die funktioniert und einen Grundstock an Software.
Dafür ist die Basic-Unit teuer, im Vergleich zu AVRs sehr langsam und, wie ich meine, nicht so vielseitig einsetzbar.
Ein optimiertes System, wie man es mit einem AVR schaffen kann, wird immer das leistungsfähigere sein. Es fragt sich nur, in wieweit man dieses System für andere Roboter reprogrammieren kann. Spezialisierung hat immer ihre Vor- und Nachteile.
Die AVRs haben insofern einen Nachteil, dass du dich auch ein bischen um ihre äussere Beschaltung kümmern musst und sie etwas anders zu programmieren sind. Wenn du C magst, dann nimm den AVR, aber es gibt auch einen guten Basic-Compiler (ich habe nie mit Basic gearbeitet).
Der AVR ist leistungsfähiger als C-Cont., da C-Cont. mit einem Interpreter arbeitet. Du programmierst hier nicht den Controller, sondern schreibst eine Befehlsliste in das EEPROM, welche von dem Interp. (eine Art Betriebssystem) gelesen und ausgeführt wird.

Henrik

MrNiemand
01.11.2003, 14:54
naja der Nachteil ist halt einen AVR kann man angeblich schwerer programmieren!!! aber wenn man den dreh mal raus hat is es voll easy!

vorteile sind halt sau billig und zimelich schnell!!!

wizzard
01.11.2003, 18:08
Aber mit meinem Atmel kann ich 1000x mehr machen, eben weil ICH völlig freie Hand habe. Und schwierig fand ichs am anfang auch net besonders.

Also seht ihr da auch keinen vernünftigen grund, sich ne c-contrtol zu kaufen? (NIE würd ich soviel geld dafür ausgeben!)

Henrik
01.11.2003, 18:59
Meine, private, Meinung:
Finger weg von C-Controll. Als ehemaliger Jufo-Mensch (bin mit 21 zu alt) betreute ich mal eine SchüEX-Gruppe. Da ging es darum, Zeiten in Bereich von ca. 2-8 ms zu messen. Einer von denen konnte mit C-Controll umgehen. Also erster Versuch für die Kleinen: Zeiten messen mit C-Controll. Pustekuchen! C-Controll misst keine Zeiten unter 20 ms :evil: ! Also mussten wir auf die Pics umsteigen, was auch einigermassen geklappt hat. C-Controll ist wahrsch. nur für langsame Entwicklungsaufbauten gut. Ich kann mir auch nicht vorstellen, dass jemand so eine teure Einheit, die meiner Meinung nach keine wirklichen Vorzüge gegenüber einem gescheiten AVR-Mega hat, irgendwo dauerhaft einbaut. Dafür sind die einfach zu teuer. "Normale" Controller sind nicht nur billiger und kleiner, sie sind i.d.R. auch leistungsfähiger, da kein bremsender Interpreter vorhanden ist.

Henrik

Frank
01.11.2003, 23:11
Ganz so übel ist die C-Control nicht. Also für den Einstieg und auch für so manche Anwendung die einfach schnell vonstatten gehen muß kann ich die nur empfehlen. Man kauft halt das Teil und kann es noch am gleichen Tag nutzen! An die AVR würde ich mich erst nach ein paar Erfolgserlebnissen ran tasten.
Die Geschwindigkeit der C-Control ist für die meißten Sachen ausreichend. Ganz kurze Zeiten unter 20ms lassen sich in der Tat schwierig messen, da sist sicher ein Manko. Aber man muß es in vielen Anwendungen ja auch nicht.
Ein großes Plus ist die wirklich kinderleichte Programmiersprache. Ein ganz einfaches Programm das einen Roboter im Kreis fahren läßt würde z.B. so aussehen:



'Roboter1.bas
' (C) www.roboternetz.de 2003

define SpannungPeripherie port[1]
define Motoren port[2]
define RichtungLinkerMotor port[3]
define RichtungRechterMotor port[4]
define SchrittLinkerMotor port[5]
define SchrittRechterMotor port[6]

define FahrStrecke WORD 'Fahrstrecke in cm
define i WORD
define n WORD
define p WORD

'Konstanten
define VOR 0 'Vorwärts
define ZURUECK 1 'Vorwärts


beep 100,20,0

SpannungPeripherie=on
SchrittRechterMotor =on
SchrittLinkerMotor =on

motoren=on





FahrStrecke = 200 ' 2m
gosub Vorwaerts

gosub rechtsdrehung


FahrStrecke =50 ' 2m
gosub Vorwaerts

gosub rechtsdrehung

goto weiter

motoren=off
SpannungPeripherie=off
end



RichtungLinkerMotor=Zurueck
RichtungRechterMotor=Vor

for i=1 to 588
pulse SchrittLinkerMotor
pulse SchrittRechterMotor
gosub pause
next
return


RichtungLinkerMotor=Vor
RichtungRechterMotor=Zurueck

for i=1 to 588
pulse SchrittLinkerMotor
pulse SchrittRechterMotor
gosub pause
next
return


RichtungLinkerMotor=VOR
RichtungRechterMotor=VOR
n=(FahrStrecke*25)
for i=1 to n
pulse SchrittLinkerMotor
pulse SchrittRechterMotor
' if i<200 then pause 1 else gosub pause
' if i<200 then pause 1
next
return


RichtungLinkerMotor=Zurueck
RichtungRechterMotor=Zurueck
n=(FahrStrecke*25)
for i=1 to n
pulse SchrittLinkerMotor
pulse SchrittRechterMotor
next
return



return

wizzard
02.11.2003, 09:32
Na ja, Assembler ist auch nicht grade sooo schwierig bei Standard-Aufgaben, und im AVRStudio kann man seinen Code simulieren, um ihn zu testen.
Aber wenn die CControl 50€ kostet, und ein ATmega8 nur 5€, und sogar mehr Funktionen hat, dann seh ich da keinen Sinn.

Und zu den Timings:
Ich benutz den AVR auch zum Ansteuern meiner Servos, für PWM etc. Da brauch man schon ne schnelle CPU! Sonst wäre wieder extra-Hardware fällig...

Nobody
02.11.2003, 09:39
Na aber man braucht doch noch einige Kleinteile! Lötzinn, Platine, Fassungen, Buchsen, LED, Taster, Widerstände etc. Ehe man sich verguckt kommt da auch was zusammen. Und da man gewöhnlich immer etwas mehr bestellt wird´s dann meißt sogar teurer :wink: Oder?

Im übrigen kann man die Programme bei der C-Control auch simmulieren lassen - in der Standard Entwicklungsumgebung

wizzard
02.11.2003, 09:56
Für alle Elektronikteile (Stromversorgung, Programmieradapter, Taster etc.) hab ich 20€ bezahlt. Die meisten Teile haben mit dem eigentlichen Proz. nichts zu tun (Sensoren, Aktoren etc.), die brauch man auch bei ner CControl. Programmieradapter muss man nur ein mal bauen, der fällt also auch noch raus...

Martin
04.11.2003, 14:55
Hallo!

Auch ich möchte meinen Senf dazugeben. Ich kenne die C-Control nur von Erzählungen.
Ich glaube sie ist für Anfänger gut geeignet, da man zu Beginn nichts Herumlöten muss. Aber ich glaube nach einigen Programmierversuchen sehnt man sich nach mehr, da die Ressourcen schnell knapp werden.

Für Leute, die selbst Schaltungen aufbauen wollen und am Anfang stehen ist die C-Control nicht geeignet, da das System bereits fertig ist. Anfänger sind sowieso etwas ängstlich, was den Neubau betrifft und werden wahrscheindlich zur C-Control nichts Zusätzliches entwerfen, da ein Fehler in der eigenen Schaltung eine defekte C-Control nachsich ziehen könnte.
Wenn ein billiger AVR mal draufgeht ist die Sache nicht so schlimm.

Ich habe vorher mal mit 8051ers gearbeitet, aber ich finde, dass die Atmels viel benutzerfreundlicher sind. Ich programmiere nur unter C (Codevision AVR) .
http://www.hpinfotech.ro/

Ach ja.
Bei den AVRS ist das mit dem Programmieren ganz einfach. Es gibt da tolle Homepages, die wirklich keine Fragen offen lassen. Und wenn es trotzdem noch Fragen geben sollte, kann man sich ja an den entsprechenden Autor wenden:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
http://www.avr-asm-tutorial.net/avr_de/beginner/index.html
http://www.avrfreaks.net/


Am besten ist es zu Beginn das Ganze auf einem Steckbrett aufzubauen. Danach testet man, ob die Programmier-Verbindung zum PC funktioniert. Ist das geschafft, dann versucht man ein erstes Testprogramm zu schreiben, welches ein Led z.B. aufleuchten lässt.
Es zahlt sich auch aus die Datenblätter etwas durchzuarbeiten!!!

Tschüss
Martin

wizzard
04.11.2003, 18:18
wir sollten einen "Links"-Thread machen :)

Eine Ergänzung von mir:
www.avrbeginners.net => Hiernach hab ich alles kapiert :)

Frank
04.11.2003, 20:44
Ja finde es gut das ihr ein paar interessante Seiten hier nennt. Ich werde mir demnächst, wenn sich einige Beiträge angesammelt haben, mal die mühe machen und alle genannten Links sowie einige andere noch mal extra auf einer Unterseite thematisch geordnet auflisten. Denke das hilft allen.
Also weiter so :D

wizzard
06.11.2003, 13:10
Na dann darf auch www.atmel.com nicht fehlen ;)
Und www.mikrocontroller.net ...