PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ideen sind gefragt



patti16
12.06.2008, 15:59
Hallo Leute,

bräuchte ein paar Ideen:

ich bräuchte an einem Controller:

2x Drehzahl Problem
1x Spannungsmessung kein Problem
1x Schalter kein Problem
1x Display kein Problem
1x Erkennung ob kupplung geschaltet Kein Problem


so jetzt die Frage:

Wie tue ich am besten die Drehzahl messen, ich meine ich habe INt0 und INT1 das Problem fängt aber schon mit den Timern an, zu mal wenn ich messen kann stopp er mir das Display.

oder kann man die einfach im gleich timer laufen lassen?? sind aber zwei verschiedene Drehzahlen

Habt ihr eine Idee bzw einen Vorschlag??

Ich benutze einen Atmega 48.


gruß
paddy

Vitis
12.06.2008, 16:28
also ... du kannst verscheiden an das Problem
Drehzahl dran gehen. entweder Du gibst ne Zeitpasis
und zählst die in dieser Zeit eingehenden Impulse hoch
oder Du misst die Zeit zwischen 2 Impulsen.
Die Ints kannste auf rising oder falling einstellen,
dann werden nur bei den entsprechenden Flanken
Ints ausgelöst.
z.B. Bei Int0 startest Du den Timer und setzt ein Flag
, bei der nächsten Flanke, fragst Du ob Flag gesetzt, wenn ja,
lies Timer aus und resette Timer. Der Timerwert ist dann äquivalent
zur Drehzahl.
Andere Variante ist, Du hängst den Drehzahlimpuls auf nen
Zähleingang von nem Timer und konfigurierst den Timer als
Counter. Dann fragste alle 1/2 1 2 Sekunden ab was der Zählerstand
ist und setzt den Timer zurück. Per Multiplikation (am Besten Teilung
von 1, 1/2, 1/4, 1/8, 1/16 etc. sec verwenden, dann kann Multiplikation
durch schnelles shiften ersetzt werden) ergibt sich dann die Drehzahl.

patti16
12.06.2008, 16:38
ja das Problem ist aber zum Beispiel das ich das ganze von Robotikhardware verwende Qausi das Programm.... und dies kann ich leider nur über Timer1 laufen lassen, das heißt ein Signal schonmal nicht zwei.

Habt ihr vielleicht ne Idee wie ich aus einem AD bzw Zwei AD Ports ... rising Falling bekommen kann?

dann hätte ich das Problem wahrscheinlich nicht oder?

wie machen die anderen das wenn sie zwei radencoder haben? und ihre motoren steuern.

wenn ich das Problem behoben habe wäre es sau cool dann kann ich die Hardware bauen.

python_rocks
12.06.2008, 18:18
Habt ihr vielleicht ne Idee wie ich aus einem AD bzw Zwei AD Ports ... rising Falling bekommen kann?
Hallo patti16!

Da ich jetzt nicht weiß was du mit AD meinst (ADC oder AC), habe ich *zwei* Links für dich. Der AC könnte Interrupts bei steigender oder fallender Flanke auslösen.

- http://halvar.at/elektronik/kleiner_bascom_avr_kurs/037_adc_mit_getadc/
- http://halvar.at/elektronik/kleiner_bascom_avr_kurs/038_analog_comparator/

Vielleicht ist da eine Antwort für dich mit dabei. Ich konnte deinen Ausführungen leider nicht ganz folgen.

Das Messen einer Frequenz ist mit dem Timer1 kein Problem und kann fast ganz im Hintergrund passieren. Der kann bei einer Flanke den Timer "Capturen" und einen Interrupt auslösen. Aber irgendwie ist mir nicht ganz klar geworden, ob du den Timer1 noch nutzen kannst oder nicht.

mfg
Gerold
:-)