PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Estes Programm mit Bascom (PWM)



minium :)
08.10.2006, 11:42
Hi,
ich möchte jetzt mein erstes Bascom Programm schreiben, ich will mit einem einfachen anfangen, einfach nur eEingang und Ausgang festlegen, funktioniert das oder muss ich irgendwas besonderes beachten ?

Viele Grüße

coCo
08.10.2006, 12:46
https://www.roboternetz.de/wissen/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen

https://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht

Alles was du wissen musst ist dort erklärt.

MfG

Jon
08.10.2006, 12:52
Schau mal Hier nach:
https://www.roboternetz.de/wissen/index.php/Bascom
Da wird eigendlich alles wichtige genannt.

jon

minium :)
08.10.2006, 14:12
So habe jetzt ein Programm geschrieben, compiliert und jetzt habe ich eine Hex datei, aber was für ein Programm brauche ich um die Hex Datei auf meinen Controler zu laden ?

Viele Grüße

PicNick
08.10.2006, 14:19
Nochmals:
https://www.roboternetz.de/wissen/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen

Und pass' auf die FUSES auf !!!!!!

minium :)
08.10.2006, 18:08
Ok, wie muss mein Programm heisen das mein Roboter einfach nur geradeaus fährt ?
Ich habe jetzt das hier, einfach nur die PWM steuerung:

$regfile = "m8def.dat"
$crystal = 16000000

Config Pinb.1 = Output
Config Pinb.2 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do
Compare1a = 2
Compare1b = 6

Loop

End

Muss ich jetzt nur noch die Anderen Anschlüsse meines Motortreiber auf High und Low setzen ? Oder was muss ich noch machen ?

Viele Grüße

minium :)
08.10.2006, 18:33
Also habe es jatzt mal so geschrieben (mit High und Low):

$regfile = "m8def.dat"
$crystal = 16000000

Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinc.0 = Output
Config Pinc.1 = Output
Config Pinc.2 = Output
Config Pinc.3 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do
Compare1a = 2
Compare1b = 6
Portc.0 = 1
Portc.1 = 0
Portc.2 = 1
Portc.3 = 0


Loop

End

Funktioniert diese Programm ?

Viele Grüße

Jon
08.10.2006, 19:10
Dein zweites Programm sollte soweit stimmen.
Nur, dass er warscheinlich nicht ganz geradeaus fährt, sondern etwas schief, da du zwei unterschiedliche PWM Angaben hast.
Wenn überhaup, weil die Spannung am Motortreiber für die Motoren etwas niedrig sein dürfte. Probiere einfach mal verschiedene PWM-Werten.

jon

minium :)
08.10.2006, 19:34
Hi,
die Spannung ist nicht niedrig, 7,3V, also für mein Roboter, der Brauch nämlich für die Motoren unter 1V.
Aber ich glaube das Programm läuft garnicht, weil das mit Print also das Hallo World Prog. auch niicht funkt. Stecke jetzt mal dan Controler vom Asuro rein.
Mal schauen ob es dann finktioniert.

Viele Grüße

coCo
08.10.2006, 20:23
Für das Hallo-World Programm brauchst du einen seriellen Anschluss, Also noch eine Verbindung zum Computer. Die hast du glaub ich aber nicht, wenn ich mich richtig erinnere.
Du solltest versuchen den PWM Wert zu erhöhen. Auf z.B. 1000. (so hab ich das, könnte aber sein dass es bei Bascom bissle anders is als bei C)

MfG

minium :)
08.10.2006, 20:33
Ich habe doch einen ISP stecker, reicht der nicht ?

Viele Grüße

coCo
08.10.2006, 20:43
Nein, mit dem ISP stecker kannst du nur Programmieren. Damit du Daten auf dem PC ausgeben kannst, brauchst du noch ein Kabel mit RS232 Schnittstelle und ein IC MAX232.

Jon
09.10.2006, 09:11
Du solltest versuchen den PWM Wert zu erhöhen. Auf z.B. 1000. (so hab ich das, könnte aber sein dass es bei Bascom bissle anders is als bei C)
Der PWM-Wert darf bei BASCOM zwischen 255 und 0 liegen.
Bei höheren Werdten fängt er an von vorne zu zählen (Variable überfüllt).

jon

minium :)
09.10.2006, 13:38
Ok, wie müsste es dann heisen das es weniger V sind (ca.0.5V)?
So:
Compare1a = 250
Compare1b = 5

oder so:
Compare1a = 5
Compare1b = 250

oder noch anderster ?
Oder gibt es einen Dreisatz oder so was wie man es sich ausrechnen kann ?

Viele Grüße und vielen Dank

Jon
09.10.2006, 14:23
Wann genau die Spannung 0,5Volt erreicht kann ich nicht sagen.
Eine möglichkeit die Spannung zu errechnen habe ich auch noch niergends gesehen. Ich würde es einfach über Experimente in Erfahrung bringen. Eventuell kannst du auch einen Grafen mit
Volt an den Motoren --> PWM-Wert

jon

minium :)
09.10.2006, 15:17
Der PWM-Wert darf bei BASCOM zwischen 255 und 0 liegen.
Bei höheren Werdten fängt er an von vorne zu zählen (Variable überfüllt).

jon


kann das sein das du 256 meinst ?
Das mit dem Graphen mache ich jetzt.

Viele Grüße

minium :)
09.10.2006, 17:55
Hi,
ich habe jetzt schon sehr viele Progs geschrieben, aber nie kommt etwas mit ca.0,5 - 1 V raus es kommen immer welche mit ca. von 6 bis 7 V raus, was mache ich falsch ?

Viele Grüße

coCo
09.10.2006, 19:17
Der PWM-Wert darf bei BASCOM zwischen 255 und 0 liegen.
Bei höheren Werdten fängt er an von vorne zu zählen (Variable überfüllt).

jon


kann das sein das du 256 meinst ?
Das mit dem Graphen mache ich jetzt.

Viele Grüße

es sind 2 hoch 8 möglichkeiten -> 256 möglichkeiten, 0-255 die null wird mitgezählt

MfG

minium :)
09.10.2006, 19:28
ok,
ich habe jetzt schon sehr viele Progs geschrieben, aber nie kommt etwas mit ca.0,5 - 1 V raus es kommen immer welche mit ca. von 6 bis 7 V raus, was mache ich falsch ?
Welche Zahlen müssten es sein also wie müsste es heisen ?

Viele Grüße

chr-mt
09.10.2006, 20:55
Hi,

Der PWM-Wert darf bei BASCOM zwischen 255 und 0 liegen.
Aber nur, wenn 8 Bit PWM verwendet wird, oder ?

Gruß
Christopher

minium :)
10.10.2006, 17:54
Hi,
also ich könnte noch so viele Programme schreiben und ich komme nicht auf
0,5 -1 V :cry:
Ich brauche irgendeine andere Schaltung, weiß einer welche oder was ich brauche oder wie es sonst lösbar ist das ich auf ca.0,5-1V komme ?
Also Widerstände nicht, da diese ja ihre Werte bei Erwährmung ändern.

Viele Grüße

coCo
10.10.2006, 20:06
Wieso brauchst du denn 0,5 - 1 V?

womb@t
10.10.2006, 21:49
Wie wird die Spannung gemessen? Bei PWM könnte es sein dass dein Spannungsmesser durch die Frequenz verwirrt wird, versuche mal die Spannung mit einem Elko zu stabilisieren

minium :)
11.10.2006, 14:04
Also die O,5-1V brauche ich für meine Minimotoren, mehr halten die denke ich nicht aus.

Viele Grüße

Jon
11.10.2006, 17:13
Verwendest du Motoren, die normalerweise an eine Solarzelle kommen?

Kannst höchstens mal probieren, ob du deine Eingangsspannung für die Motoren mit einem Spannungswandler auf 3,3Volt oder 5Volt runtersetzt.

jon

minium :)
11.10.2006, 17:25
HI,
nein das sind ganz normale motoren, hier in meiner HP (siehe Signatur)ist es beschrieben, ich habe bei Ebay einen mini Panzer gekauft, den dann auseinander genommen sodass nur noch Fahrgestell, Motoren und Ketten darin waren. Der Panzer wurde mit einem Mini Akku angetrieben, der hatte 1,2V und deswegen denke ich daas die Motoren keine 7V vertragen.

Viele Grüße