Forum: Mikrocontroller und Digitale Elektronik Umdrehung zählen und Aktion durchführen


von Ralph M. (revolt3c)


Lesenswert?

hi @ all,

ich bin in dem gebiet noch ziemlich neu und habe schon die ersten 
tutorials gemacht. besitze das myavrmultiprog usb board mit dem atmega8 
von conrad.

ich möchte an meinem motorrad über einen reedkontakt einen controller 
ansteuern. sprich je radumdrehung = 1 signal. nach 50000x signalen 
sollte der controller einen ausgang für ca 5sek ansteuern. danach wieder 
von vorne.
hab da was mit interrupts gelesen komme aber noch nicht ganz weiter.

könnt ihr mir ein gutes tutorial zeigen oder einen tipp geben wie ich 
das auch als anfänger schnellstmöglich realisieren könnte?

gruss ralph

von Otto (Gast)


Lesenswert?

Hallo Ralph,

wenn das mal nichts mit einer Kettenschmierung zu tun hat.....

Als Link könnte Dir: 
http://www.mikrocontroller.net/articles/Fahrradcomputer helfen.

Evtl. ist für ein Moped ein Hall-Sensor besser geeignet, als ein 
Reed-Schalter.

Worüber Du Dir Gedanken machen musst, ist der störsichere Aufbau:

- Stromversorgung
- Sensoreingangsbeschaltung
- Ausgangsstufe

Gruss Otto

von Albert D. (albert32)


Lesenswert?


von Ralph M. (revolt3c)


Lesenswert?

Genau es handelt sich hierbei um ne Kettenschmierung, werde mich mal 
durch die Links arbeiten.

Danke

Gruss

Ralph

von D'n'D (Gast)


Lesenswert?

Schau dir mal den PCF 8583 an ... RTC bzw Counter ...... hält mit einer 
CR2032 und 2 BAT43 etwa 14 Monate!

Die (Re-) aktion auf 50k dann von MCU ausführen lassen.

von Gast4 (Gast)


Lesenswert?

Frueher gabs fuer sowas einen simplen Wartungsplan.
eine Umdrehung ~ 2m * 50000 = 100 km
Immer wenn hinten am Kilometerzaehler eine 00 erschienen ist, ist das 
faellig.

Gast4

von derTurmvon (Gast)


Lesenswert?

das war vor PISA.

von Wolli (Gast)


Lesenswert?


von Ralph M. (revolt3c)


Lesenswert?

Ja den kenn ich schon, daher ja die Idee es selber zu machen :P

Was haltet ihr davon:
1
;Reset and Interrupt vector             ;VNr.  Beschreibung
2
  rjmp  main  ;1   POWER ON RESET
3
  rjmp  takt  ;2   Int0-Interrupt (ext. Impuls)
4
  reti    ;3   Int1-Interrupt
5
  reti    ;4   TC2 Compare Match
6
  reti    ;5   TC2 Overflow
7
  reti    ;6   TC1 Capture
8
  reti    ;7   TC1 Compare Match A
9
  reti    ;8   TC1 Compare Match B
10
  reti    ;9   TC1 Overflow
11
  reti    ;10  TC0 Overflow
12
  reti    ;11  SPI, STC Serial Transfer Complete
13
  reti    ;12  UART Rx Complete
14
  reti    ;13  UART Data Register Empty
15
  reti    ;14  UART Tx Complete
16
  reti    ;15  ADC Conversion Complete
17
  reti    ;16  EEPROM Ready
18
  reti    ;17  Analog Comparator
19
  reti    ;18  TWI (I²C) Serial Interface
20
  reti    ;19  Store Program Memory Ready
21
;------------------------------------------------------------------------
22
;Start, Power ON, Reset
23
main:  ldi  r16,lo8(RAMEND)
24
  out  SPL,r16
25
  ldi  r16,hi8(RAMEND)
26
  out  SPH,r16
27
  ldi  r16,0b00000011
28
  in  r17,MCUCR
29
  or  r17,r16
30
  out  MCUCR,r17  ;ext.Interrupt mit Steigender Flanke auslösen
31
  ldi  r16,0b01000000
32
  out  GICR,r16
33
  ldi  r17,0  ;innerer Zähler (bis 250)
34
  ldi  r18,0  ;äußerer Zähler (bis 200)
35
  sei
36
;------------------------------------------------------------------------
37
mainloop:  wdr    ;endlosschleife
38
39
  rjmp  mainloop
40
;------------------------------------------------------------------------
41
takt:  ldi  r16,0b11111111
42
  dec  r17
43
  cp  r16,r17
44
  breq  outloop  ;wenn innerer Zähler = 255  springen
45
  reti
46
47
48
outloop:  ldi  r17,0
49
  ldi  r16,0b11001000
50
  dec  r18
51
  cp  r18,r16  ;wenn äußerer Zähler = 200 springen
52
  breq  aktion
53
  reti
54
55
aktion:  "Fehlt noch"

R17 zählt bis 250 und springt wieder auf 0. R18 inkrementiert immer wenn 
R17 voll ist. Wenn R18 bei 200 liegt soll die Aktion durchgeführt 
werden.
Sprich 250x200 = 50000 Signale vom Reedschalter, entspricht ca. 50km.

Könnte das so klappen?

Gruss Ralph

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
Noch kein Account? Hier anmelden.