Autor |
Drehgeber mit Bascom auslesen und PWM regeln Suche nach: pwm (3628) |
|
|
|
|
BID = 466503
PhyMaLehrer Schriftsteller
    
Beiträge: 911 Wohnort: Leipzig
|
|
Ich habe da mal noch etwas Interessantes gefunden. Das beseitigt zwar den Fehler mit dem LCD (noch) nicht, erhellt aber das Dunkel um das "Ergebnis" des Befehls ENCODER etwas. Auf dieser Seite
http://www.roboternetz.de/wissen/in.....CODER
haben kluge Leute etwas zu reassemblierten BASCOM-Befehlen geschrieben. Unter Punkt 7 geht es um den Encoder. Ich habe nicht versucht, das Assembler-Programm zu verstehen, aber da steht zu der Ergebnis-Variablen:
Zitat :
| "Result" sollte man in Ruhe lassen oder nur lesen, es wird immer gebraucht, um den aktuellen Zustand der A / B Pins für den nächsten Check zu speichern.
Und noch ein Tip: Beim ersten Aufruf kommt in den meisten Fällen was Falsches raus, da ja noch kein gültiger "alter" Wert existiert. Also alle Encoder ersteinmal nur abfragen, aber nix zählen. Ab dann stimmt die Sache erst wirklich. |
In dem Encoder-Beispiel in der Hilfe heißt es
Zitat :
| 'we have dimmed a byte because we need to maintain the state of the encoder |
"Wir haben ein Byte definiert, weil wir den Zustand des Encoders erhalten (im Sinne von beibehalten) müssen."
(Ich hatte das nicht richtig verstanden, da ich "maintain" nur im Sinne von "warten, instandhalten" kannte.)
Nun ist es klar. Die beiden Schalter im Drehgeber schalten ja zeitlich versetzt und aus der zeitlichen Abfolge, die bei Rechts- und Linksdrehung verschieden ist, erkennt der µC die Drehrichtung. Wenn ich zu drehen aufhöre, haben die beiden Schalter irgendeine Stellung inne:
A offen, B offen
A offen, B geschlossen
A geschlossen, B offen
A geschlossen, B geschlossen
Der jeweilige Zustand dieser Schalter (dargestellt durch eine Zahl von 0 bis 3!!) muß gemerkt werden, um bei der nächsten Drehung den Ausgangspunkt zu kennen. Das leuchtet mir ein!
So, nun wäre noch die Sache mit dem LCD zu klären...
[ Diese Nachricht wurde geändert von: PhyMaLehrer am 25 Okt 2007 14:18 ] |
|
BID = 466505
cholertinu Inventar
     
Beiträge: 3754 Wohnort: CH
|
|
Zum Erfassen von Drehgebern gibt es hier noch ein paar Informationen:
http://www.mikrocontroller.net/articles/Drehgeber
Es geht da zwar v.a. um VHDL, die Problematik ist aber sehr ähnlich.
Speziell zu beachten: "Warum Sparvarianten nicht gut sind" |
|
BID = 466575
Drecksack Gesprächig
  
Beiträge: 154
|
Supi LInks, nur komm ich damit noch nicht so ganz klar.Wie gesagt. Ich fang jetzt erst mal an in basic meine Ersten erfahrungen zu sammeln. Dann, wenn ich nicht weiter weiß melde ich mich. Dann könnt ihr mir ja noch ein paar tips geben.
DANKE
Der Drecksack
|
BID = 466619
Drecksack Gesprächig
  
Beiträge: 154
|
Andere Frage.
Ich habe ein Fertiges Assambler projekt gefunden,daß ich gerne auf meine Avr brennen würde. Nur mag mein Bascom keine Assambler Programme brennen (hex datei, oder ich bin zu doof)
Dann habe ich mir avr studio runtergeladen. Da hab ich keinen Brenner dafür oder wie könnte ich das machen?
Der Drecksack
|
BID = 466666
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Welchen Brenner hast du denn?
avr-dude,
ponyprog2000,
tausend andere
gibt es da.
Vorausgesetzt, der Assemblerkode ist schon 100% fertig und wird für den richtigen (!!!) AVR assembliert. Der Assembler übersetzt dann die einzelnen Instruktionen 1:1 in Maschinenkode, und der wiederrum liegt dann in der Hex-Datei vor. Die muss nun gebrannt werden, und kann von Programmen wie ponyprog und avr-dude gelesen werden.
_________________
|
BID = 466722
PhyMaLehrer Schriftsteller
    
Beiträge: 911 Wohnort: Leipzig
|
Zitat :
| Nur mag mein Bascom keine Assambler Programme brennen (hex datei, oder ich bin zu doof)
|
Ich habe das zwar selber noch nicht gemacht, aber versuch mal in BASCOM wie gewöhnlich den Programmer zu starten, dann
Buffer -> Load from file
Bei "Dateityp" wähle "Intel HEX", suche dann deine gewünschte Datei, klicke "Öffnen" und dann müßte die zu brennende Datei in der Anzeige im Puffer erscheinen. Brennen dann wie gewöhnlich...
|
BID = 466766
Drecksack Gesprächig
  
Beiträge: 154
|
Super, PhymaLehrer. Du bist der Beste.
Ihr anderen Natürlch auch.
Ich habe im Mikrokontroller Net einen LCD-Gesteuerten Belichtungtimer gefunden und ihn mal aufgebaut. Der funzt super klasse. Mein Problem war nur noch das brennen. Jetzt funzt es aber.
VIEEEELEN dank
By the way...Schönes We euch allen
Der Drecksack
|
BID = 466773
Drecksack Gesprächig
  
Beiträge: 154
|
Wenn ihr mir noch ein paar kleine fragen beantworten könntet, dann stünde meiner fertigstellung des Timers nichts mehr im wege.
Der atmega steuert dann ein relais an. Das kann ich warscheinlich nicht über den Atmega ansteuern. Was bräuchte ich da für einen Transitor und was für einen Vorwiderstand? (bitte mir helfen, ich würde es mit eurer hilfe gerne selber berechnen, weiß nur nicht wie das geht)
Und was für einen Trafo (reichelt bestellnummer) bräuche ich, um die Schaltung mit spannung zu versorgen? Richte ich die danach nur mit einem Gleichrichter gleich oder wie ist das?
Der Drecksack
|
BID = 466777
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Bekannt sollte das Ohmsche Gesetzt sein, dann klappt das mit der Berechnung auch. Ein kleiner Tipp: Nimm' nen Transistor. Der hat eine Stromverstärkung Β der Strom durchs Relais ist gegeben durch den Spuelenwiderstand und die Betriebsspannung des Relais'.
Also, wieviel kleiner muss der Strom der Basis-Emitter-Strecke sein, damit der gewünschte Strom noch durchs Relais fließen kann? Vorsichthalber einen höheren Strom durchs Relais annehmen, damit der Transistor sicher schaltet.
Mit einem Basisvorwiderstand stellst du dann den Strom der Basis ein. Den Widerstand errechnest du ebenfalls mit dem Ohmschen Gesetz.
Als Verstärkungsfaktor &Beta nimmst du mal so 100, oder lieber 80, viele Kleinsignaltransistoren können zwar mehr, aber wir wollen auf Nummer sicher gehen.
Ein NPN-Transistor ist hier das Mittel der Wahl, man könnte es sicherlich auch mit FETs machen, aber wir wollen nicht gleich übertreiben.
_________________
|
BID = 466784
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Damit kannst du den Vorwiderstand ausrechnen
Edit: Wobei bei U Basis noch 0.7V abzuziehen sind.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 26 Okt 2007 14:08 ]
[ Diese Nachricht wurde geändert von: DonComi am 26 Okt 2007 14:10 ]
|
BID = 466788
Drecksack Gesprächig
  
Beiträge: 154
|
Also
Daten Relais
12V, 380 OHm, und errechnete 32mA stromaufnahme
Ich gehe von einer ausgangsspannung Atmega8 von 5 V aus. ( ich werde ihn mit 5V versorgen 7805...)
Wenn der Steuerstrom 80 mal kleiner sein muß als 32 mA komme ich auf 32mA/80 = 0.4 mA (kann das sein?!?)
Als Transistor nehme ich einen BC 547B
Steuerspannung Transistor :
R= u/I
R= 5V/0.4mA
R= 12,5 (Ohm oder kOhm?!)
kann das sein?
Kann ich für das Ganze meinen Printtravo mit 2 X 12 V und jeweils 5VA nehmen oder ist der zu klein dimensioniert
|
BID = 466790
Drecksack Gesprächig
  
Beiträge: 154
|
mit deiner Formel
R basis= (380x 4,7 x 80) (4,3 wegen 0,7v minus und 80 wegen dem
------------- (dem Verstärkungsfaktor den du gesagt
12 (hast
R basis= 10893,3
R basis= 11k Ohm gerundet (gibt es ja in der e24 baureihe)
Stimmt das alles so?
|
BID = 466810
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Stimmt alles so,
Dabei haben wir den gleichen Weg genommen, nur habe ich alles in eine Formel geschmissen.
Du kannst also nen Widerstand um 10kΩ nehmen. Dabei schadet auch nicht, wenn der Strom durch die Basis geringfügig abweicht. (nach oben)
Emitter kommt auf Masse, Basis über Vorwiderstand auf den Ausgang des AVRs, Relais kommt an Kollektor und an VCC und eine Freilaufdiode parallel zum Relais.
Edit:
Man setzt als nichtmathematiker in die Formeln immer schön die Einheiten mit ein, außer natürlich bei β, da β dimensionslos ist.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 26 Okt 2007 15:57 ]
|
BID = 466814
Drecksack Gesprächig
  
Beiträge: 154
|
Vielen dank für die Hilfe.
Stimmt, die Freilaufdiode, beinahe vergessen
Mal ne andere Frage. Ich suche schon dauernd (bis meine heißerwartete Elektronikfiebel entlich kommt) Irgend eine informationsquelle, welche diode Welchen strom aushält.
Ich nehme immer die 1n4148. Aber es gibt ja auch noch andere. Wo kann ich nachlesen, welche diode welchen strom aushält?
Edit.
Reicht mein Trafo wie oben beschrieben für die Schaltung aus?
[ Diese Nachricht wurde geändert von: Drecksack am 26 Okt 2007 16:06 ]
|
BID = 466820
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Im entsprechenden Datenblatt.
Bzw. um an die Bauteilbezeichnungen ranzukommen ist meine erste Quelle der Händler.
Zudem gibt es sicherlich Listen mit Überblick über Baureihen etc., aber sowas habe ich nicht da.
Edit:
Anstatt immer neue Fragen zu stellen, rechne es mal aus, ob dein Trafo das schafft. Dazu errechnest du erstmal die Leistung, die deine Schaltung umsetzt und die Leistung, die dein Trafo liefert. Natürlich sollte eine gewisse Reserve draufgerechnet werden.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 26 Okt 2007 16:09 ]
|