-
So nun hab ich mich ans Programieren gemacht. Die Hinderniserkennung funktioniert prima, er kann ohne Hilfe, und ohne anstoßen durchs Zimmer Fahren. Doch bei der Linienvervolgung gibt es Probleme: Der Roboter erkennt zwar die Linie und "lenkt" auch, doch er hört nicht mehr auf, obwohl ich eine Loop Until Schleife hab
(Ls1: Liniesensor links Ls2 Liniensensor mitte und Ls3 Liniensensor rechts)
Code:
Sub Linie()
Config Porta = Input
Porta.3 = 1
Porta.4 = 1
Porta.5 = 1
Local Ls1 As Word
Local Ls2 As Word
Local Ls3 As Word
Print "Linienverfolgung"
Do
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Pwm1a = 370
Pwm1b = 370
Waitms 100
Ls1 = Getadc(3)
Ls2 = Getadc(4)
Ls3 = Getadc(5)
If Ls1 > 500 Then
Do
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Pwm1a = 0
Pwm1b = 400
Waitms 100
Loop Until Ls2 > 500
End If
If Ls3 > 500 Then
Do
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Pwm1a = 400
Pwm1b = 0
Waitms 1000
Loop Until Ls2 > 500
End If
Loop
Außerdem möchte ich die Messwerte Auf den Computer übertragen, Am besten mit Bascom und Visual Basic. Zur Übertragung möchte ich RS232 nutzen, ich hab zwei EasyRadio Module und das RN-Funk board, Übertragung klappt, aber das Programieren scheint sich schwieriger zu Gestalten, Ich wäre dankbar für jede Hilfe.
-
@Raoul4 : nein, zwei parallel geschaltete 9V-Blöcke entladen sich natürlich NICHT gegenseitig !
Was Du mit Deinem Amperemeter gemessen hast, ist ein Ausgleichsstrom, der zwischen den Batterien fliesst, wenn sie eine unterschiedliche Spannungslage haben. Das kommt aber nur im Messfall vor, wenn die beiden parallel geschaltet sind und bleiben, fließt zwischen ihnen kein Strom. Es empfiehlt sich aber immer, Batterien gleicher Spannungslage zu verwenden, um den kurzzeitigen Ausgleich noch weiter zu unterbinden. Das gilt auch für Batterien in Reihe, damit alle den gleichen Innenwiderstand haben und somit kein Bottleneck entsteht.
-
Der Ausgleichstrom zwischen zwei parallel geschalteten Batterien stellt eine Entladung der energiereicheren Batterie dar. Gemeinerweise wird die andere davon aber nur ganz geringfügig voller.
Batterien sollte man möglichst nicht parallel schalten.
Gruß Hartmut
-
Moin Hartmut. Sorry, aber das ist teilweise Unfug.
Siehe meine vorangegangene Mail !
Es spricht überhaupt nichts dagegen, identische Batterien parallel zu schalten. Wie ich bereits schrieb, fließt der Ausgleichsstrom nur solange, bis alle parallelen Batterien die selbe Spannungslage/Potential haben.
In der Praxis bedeutet das : zwei neue Batterien auspacken, parallel anschließen und bis zum Ende ihrer Lebenszeit wird der Verlust durch Ausgleichsströme nahe Null liegen.
-
Genau, wie schon vorher erwähnt entsteht das Problem nur, wenn man eine volle und eine leere Batterie zusammenschaltet. Wenn man die Batterien zusammen lädt und entlädt, sollte es wohl kaum Probleme geben. Nur wenn man eben eine neue Batterie kauft und noch eine alte irgendwo liegen hat und "hurra, ich hab 2 Batterien" das Zeug reinsteckt...
-
So heut hab ich wieder mal ein bisschen geproggt.
So kann der Roboter sich jetzt auch an einer Linie entlang fahren, außerdem, ist mir dabei eine Idee gekommen, dass der Roboter nun auch in einem mit einer schwarzen Linie gekenzeichnetem Kreis "Eingesperrt" werden kann.
Hier habe ich noch die Videos des Roboters, beim Linienverfolgen, und beim "dumm durch den Kreis fahren"
http://people.freenet.de/martin.failenschmid/Linie.wmv
http://people.freenet.de/martin.fail...Einsperren.wmv
-
Hi
so nachdem es in meiner neuen Schule nun einigermaßen geordnet läuft habe ich vor meinen Roboter ein bisschen aufzurüsten.
ich habe mir schon letztes jahr eine Funkkamera vom pollin geholt und bin damit auch zufrieden, doch nun möchte ich ihn "fernsteuern" d.h. ich möchte, das ich ihn von einem anderen Atmel aus steuern will. also eine RS232 Verbindung zwischen zwei AVR´s. Leider habe ich im Forum und im netz nichts konkretes gefunden, wie ich bits per Rs232 senden und empfangen kann.
vielen dank für eure hilfe
mfg
mafa
-
Suche mal bei der Bascomhilfe nach SERIN und SEROUT. Da wird beschrieben, wie du ganze strings empfangen und senden kannst.
Vielleicht helfen dir da auch meine Codes hier weiter.
jon
-
Hi jon
vielen dank für deinen Code nur eine Verständnisfragem, deine Fernsteuerung ist auch über rs232 und ohne Interupts? ich dachte, die muss ich beim epfangenden µC immer haben.
außerdem noch eine frage gibts die bascom hilfe auch auf deutsch?
mfg
mafa