Forum: Mikrocontroller und Digitale Elektronik Magnete ansteuern mit AT90CAN128


von Matthias X. (hc89muc)


Lesenswert?

Moin,

ich bin ein ziemlicher Neuling, deswegen seit mir bitte nicht böse, dass 
die eine oder andere Frage bzw. Aussage für euch etwas blöd erscheinen 
mag:

Ich möchte mit meinem AT90CAN128 ein CAN Signal empfangen 
(Tachogeschwindigkeit), in eine bestimmte Frequenz umrechnen (der 
Geschwindigkeit entsprechend,simple Berechnung) und über eine 
Sinusspannung zwei Magnete ansteuern. CAN-Bus und Berechnung klappen 
super, nur jetzt was die "Ausgabe" angeht hänge ich ein wenig:
Ich habe nach meiner Recherche zwei (oder vll auch nur eine?) 
Möglichkeiten gefunden: via PWM oder den DA Wandler des AT90 benutzen.

Von PWM habe ich leider sehr sehr wenig Ahnung, deshalb wollte ich es 
über den DAC probieren:
Idee ist, dass dieser mit einer Sinustabelle gefüttert wird (Werte von 
0V bis 5V, sinusförmig natürlich,Tabelle besteht derzeit aus 16 Werten) 
und diese dann mittels einer FOR-Schleife nacheinander ab"gefahren" 
werden.
Über die Zeit, wie lange ein Wert gehalten wird, lässt sich die Frequenz 
(die berechnet wurde,benötigter Frequenzbereich: 30 Hz- 750 Hz) 
einstellen.

Meine Fragen sind nun:
1) Was haltet ihr von diesem Ansatz?
2)Wie würde denn genau die Zeile lauten, um einen solchen Sinuswert an 
den DAC zu senden? z.B. an PF1
3) Habe mich bereits im programmiern des DAC versucht und euch den 
Code-Ausschnitt mal angehängt, vll sticht jemandem der Fehler (ich glaub 
eher dass es mehrere sind) ins Auge:
1
void DAC_init()
2
{
3
ADCSRA |= (1 << ADEN)| (1 << ADATE);//DAC aktivieren
4
ADMUX |= (1 << MUX4:0);//MUX4-0 auf 1 setzen
5
DIDR0=0xff;
6
DDRF =0xff; //PF als Ausgang
7
};
8
9
void ausgabe_magnet (int f)
10
{
11
  int x;
12
  for(x=0;x<16;x++)
13
  {
14
    ???=sinus_tabelle[i]; //nächsten Wert aus Sinustabelle holen
15
    _delay_ms(Wartewert);
16
  }
17
};

PS: Schutzschaltung für den Ausgang des AT (gegen ein Aufschwingen der 
Magnete) und die nötige Stromversorgung der Magnete habe ich mich schon 
gekümmert.
Sollte ich etwas vergessen haben, bitte ich um Nachsicht.

Vielen Dank schon mal im Vorraus!

MFG HC89MUC

: Verschoben durch Moderator
von Julian W. (julian-w) Benutzerseite


Lesenswert?

falsches Forum...

von holger (Gast)


Lesenswert?

>deshalb wollte ich es über den DAC probieren:

Der AT90CAN128 hat keinen DAC.

von Rudolph (Gast)


Lesenswert?

Der 90CAN hat zwei 16-Bit Timer die jeweils 3 PWM Signale erzeugen 
können.
Da hängt man vorzugsweise einen Low-Side Schalter dran weil die Dinger 
von vornherein auf induktive Lasten ausgelegt sind.

Und dann wird nicht die Frequenz variert sonder das Tastverhältnis.

Aber wofür überhaupt?
Sollen die Magnete an der Geldbörse ziehen?
Um ein Gefühl dafür zu vermitteln das eine höhere Geschwindigkeit auch 
mehr kostet? :-)

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.