Drehgeber mit Bascom auslesen und PWM regeln Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
Autor |
Drehgeber mit Bascom auslesen und PWM regeln Suche nach: pwm (3628) |
|
|
|
|
BID = 469469
ElektroNicki Inventar
     
Beiträge: 6424 Wohnort: Ugobangowangohousen
|
|
@drecksack:
hast du den encoder richtig angeschlossen? (nur beachten, wenns noch nicht funktioniert),
ich könnte mir da vorstellen dass ein tasteranklemm mit masse vertauscht ist.....
naja, zu dem trafo:
nimm doch zwei brückengleichrichter, zwei spannungsregler mit dem kondensatorgedöns (letzteres lass ich immer weg, bis jetzt ist nix schlimmes passiert...)und zwei dioden.
+ vom ersten spannungsregler ---------|>|---|
............................................|------ ausgang
+ vom zweiten spannungsregler---------|>|---|
die masse-anklemms schalteste einfach zusammen.......
_________________
[ Diese Nachricht wurde geändert von: ElektroNicki am 5 Nov 2007 15:12 ] |
|
BID = 469528
PhyMaLehrer Schriftsteller
    
Beiträge: 911 Wohnort: Leipzig
|
|
Da will ich doch auch gleich noch etwas zum Thema Encoder loswerden.
Ich hatte doch weiter oben geschrieben, daß ich das Programmbeispiel aus der Hilfe ausprobiert habe, wo die Anzeige über die serielle Schnittstelle an den Computer zurück geschickt wird. Dort hat das Programm ja gut funktioniert. - Jetzt muß ich dazu sagen: Dann, wenn man "gesittet" am Knopf dreht, also nicht übermäßig schnell.
In deinem Programm mit dem LCD hattest du ja noch extra Wartezeiten eingebaut und auch der BASCOM-Befehl "LCD" arbeitet intern mit einer bestimmten Wartezeit. (Ich weiß nicht, wie lang die ist, aber sicher steht das irgendwo.) Der LCD-Anschluß, der mitteilt, wenn die Aktion "schreibe auf die Anzeige" fertig ist, wird vom Programm nämlich nicht ausgewertet. Stattdessen wird eine "angemessene" Zeit gewartet, bis die Aktion mit Sicherheit vollbracht ist.
Wahrscheinlich sind diese Wartezeiten Schuld an der Fehlfunktion.
Mir war ja nun klar geworden, welche Funktion das Byte "Ergebnis" hat. Es speichert den Zustand des Drehgebers nach dem letzten Drehschritt. Damit kann der µC ermitteln, in welche Richtung der nächste Drehschritt erfolgt. Wenn nun aber, bedingt durch irgendwelche Wartezeiten, bei schnellem Drehen weitere Schritte ausgeführt wurden, von denen der µC nichts mitbekommen hat und das Byte "Ergebnis" so nicht mehr stimmt, wird auch die Ermittlung der nächsten Richtungsinformation womöglich falsch sein. - Auch wenn ich in obigem gut funktionierenden Fall sehr schnell gedreht habe, traten Fehler auf.
Daß es aber prinzipiell gehen muß, zeigt z. B. meine elektronische Heizungssteuerung. Einzustellende Werte werden auch dort über einen Drehgeber eingegeben. Diese Einstellung arbeitet etwas gemächlich, wenn ich dort aber zu schnell am Rad drehe, passiert eben nichts (und schon gar nichts Falsches). Erst, wenn ich wieder mit zulässiger Geschwindigkeit drehe, laufen die Zahlen weiter... |
|
BID = 469668
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Dann ist das Programm dafür vermutlich auch mit einem sinnvollen Kode geschrieben und nicht mit einer Funktion wie dieser... In Assembler habe ich das auch immer ordentlich hinbekommen, ohne viele Resourcen zu verbrauchen. Einfach ein paar hundert mal pro Sekunde nen Timer-Interrupt ausgeführt und vier Werte verglichen. Das geht eigentlich sehr schnell und belastet die CPU kaum.
Man kann sowas auch komplett logisch mit D-FFs lösen. Habe die Schalung jedoch nicht mehr im Kopf.
Nichtsdestrotrotz, Bascom nimmt einem eben viel Arbeit ab, dafür hat es eben ein paar kleine Schönheitsfehler, die man sicherlich auch mit verschiedenen Einstellungen beheben kann.
Schöne Grüße
_________________
|
BID = 470454
Drecksack Gesprächig
  
Beiträge: 154
|
Der Timer von Microcontroller net, den ich mit dem Trafo nachgebaut habe , läuft schon. BZW befor er lief, habe ich 8 (wirkich 8, eher mehr) stunden nach dem Fehler gesucht, warum ich keinen Kontrast am LCD herbekomme...Habe erst gedacht,der Trafo sei zu schwach.
Dann habe ich einen noch einen kleinen Fehler gefunden (hatte aber nix mit dem LCD zu tun) und dann, nach stunden des suchens, habe ich den Fehler gefunden.
Ich hab nicht gewußt, daß ich die Spannung die ich gleichgerichtet habe noch durch einen elko puffern muß. Hat auch keiner erwähnt....Naja, auf jeden fall bin ich jetzt schlauer und das teil funktioniert echt super. Vielen dank nochmal.
Wenn ich mir jetzt entlich mal nen neuen Atmega bestelle, dann kann ich endlich wieder anfangen, mein Buch durchzuackern. Habe nur momentan Nachtschicht und bin sehr erledigt. Aber bald geht es wieder weiter.
Bis dann jungs
Der Drecksack
|
BID = 470461
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Hallo,
Zitat :
|
Ich hab nicht gewußt, daß ich die Spannung die ich gleichgerichtet habe noch durch einen elko puffern muß. Hat auch keiner erwähnt....
|
Doch, hatte ich:
Zitat :
|
Muß ich nach dem Gleichrichten die spannung noch durch nen elko puffern oder wie ist das?
|
->
Zudem hättest du dich schon vorher darüber informieren sollen bzw. hättest nochmals nachfragen können, was ich mit dem "Ja klar - ... " meinte, wobei ich davon ausging, dass du das auch ließt, was ich schreibe.
_________________
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 11 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst © x sparkkelsputz Besucher : 185467226 Heute : 7 Gestern : 9398 Online : 412 15.9.2025 0:01 5 Besucher in den letzten 60 Sekunden alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0668048858643
|