Guten abend, ich baue zur zeit einen Mobilen Roboter der später auch noch einer linie folgen soll. Ich programmiere mit assembler, verwende den atmega 48 (plus den l293d, für die motoren) und das AVR studio 4. Als Basis habe ich den ARX- CH 09 verwendet. Der schaltplan für die motoren befindet sich im anhang. Zur zeit verusche ich per pwm das ding zum laufen zu bekommen, da es nicht einmal geradeausfahren kann, da die motoren nicht 100% baugleich sind, denke ich. Nun habe ich schonmal ein programm geschrieben. Ich komme jedoch leider nun nicht mehr weiter, da ich noch rellativ neu bin. Mein bisheriges Programm, ebenfalls im Anhang. Für das verfolgen der linie später, habe ich mir gedacht, dass ich zwei phototransistoren verwende. Wie ich das jedoch programmieren möchte, habe ich mir noch keine gedanken gemacht. ich würde mich über hilfe jeglicher art sehr freuen. Liebe Grüße Tobias
Tobias Erb schrieb: > Für das verfolgen der linie später, habe ich mir gedacht, dass ich zwei > phototransistoren verwende. Wie ich das jedoch programmieren möchte, > habe ich mir noch keine gedanken gemacht. Der in meinen Augen einfachste Weg bei Panzerantrieb ist der: (ein Sensor in der Mitte vor der gedachten Radachse, links und rechts angetrieben) Endlosschleife: wenn Sensor schwarz rechts aus links vorwärts wenn Sensor weiß links aus rechts vorwärts :-)
ja so ähnlich hab ichs mir auch überlegt. aber erstmal muss ich das ding zum laufen brigen... keine ne idee zum programm?
Das Programm kommt mir aber sehr bekannt vor :-) Nicht alles, aber weite Teile davon. Ich kann jetzt nicht mehr sagen, ob ich damals den Fehler gemacht hab, oder ob du bei der Übernahme einen Fehler gemacht hast (und ich will mir jetzt das Original auch nicht suchen), aber vergleich mal die Kommentierung mit dem tatsächlich programmierten
1 | ; |
2 | ; Timer 1 einstellen |
3 | ; |
4 | ; Modus 14: |
5 | ; Fast PWM, Top von ICR1 |
6 | ; |
7 | ; WGM13 WGM12 WGM11 WGM10 |
8 | ; 1 1 1 0 |
9 | ; |
10 | ; Timer Vorteiler: 256 |
11 | ; CS12 CS11 CS10 |
12 | ; 1 0 0 |
13 | ; |
14 | ; Steuerung des Ausgangsport: Set at BOTTOM, Clear at match |
15 | ; COM1A1 COM1A0 |
16 | ; 1 0 |
17 | ; |
18 | |
19 | ldi temp1, (1<<COM1A1) | (1<<COM1B1) | (1<<WGM10) | (1<<WGM11) |
20 | sts TCCR1A, temp1 |
21 | |
22 | ldi temp1, (1<<WGM13) | (1<<WGM12) | (1<<CS11) |
23 | sts TCCR1B, temp1 |
Welche WGM Bits werden gesetzt und welche sollten nach Kommentar gesetzt sein. Und dann vergleichst du mal mit dem Datenblatt, was dieser Fehler eigentlich bewirkt hat.
ich habs eilweise von nem nem kumpel, aber dachte der hats selber gemacht. der fehler war ganz einfach, habe : .def temp2 = r18 .def temp3 = r19 vergessen. jetz sagt mit mein avr 4 dass kein fehler mehr vorhanden is, rührt sich aber imer noch nix :(
Tobias Erb schrieb: > ich habs eilweise von nem nem kumpel, aber dachte der hats selber > gemacht. > der fehler war ganz einfach, habe : > .def temp2 = r18 > .def temp3 = r19 > vergessen. Wenn du Syntaxfehler in deiner Anfrage nicht als solche kennzeichnest, bist du selber schuld, wenn kein Mensch danach sucht. Normalerweise gehen wir davon aus, dass ein Code fehlerfrei assemblierbar/compilierbar ist, solange der Fragesteller nichts anderes in der Anfrage erwähnt (und in solchen Fällen kommt dann sofort die Rückfrage: Wie lautet die Fehlermeldung) > > jetz sagt mit mein avr 4 dass kein fehler mehr vorhanden is, rührt sich > aber imer noch nix :( womit wir wieder bei meinem Einwand wären.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
