Liste der Anhänge anzeigen (Anzahl: 1)
Probleme mit PWM und L298N (RN-Control Board)
Hab mir für meinen Kettenbot eine Motoransteuerung mit dem L298N aufgebaut.verwendet hab ich die Schaltung aus dem Wiki mit den 8 dioden.Allerdings tritt bei der Ansteuerung, egal mit welcher PWM-Frequenz folgendes Problem auf: egal welchen wert ich für die geschwindigkeit eingebe ich bekomm nur 2V am motor heraus bei 12V Versorgungsspannung.Außerdem wird der l298 nach ca einer minute ziemlich heiß.
Ich bin mir ziemlich sicher dass es nicht an der software liegt da ich an den pwm ausgängen des µC ja die richtigen werte messe. z.B. 2,47V für halbe geschwindigkeit.Deswegen müsste ja der Fehler bei der L298 Schaltung liegen, aber auch dort habe ich nichts entdecken können.
Kann es sein das bei der Schaltung aus dem Wiki irgendwas fehlt (ich denk da an Kondensatoren) ?
Die motoren haben bei meinen messungen nie mehr als 0,8 A /motor gezogen also sollte der l298n ja ausreichen.Bin momentan sehr planlos was der Fehler sein könnte.
bei den motoren ist noch ein dünnes Kabel mit einigen Kondensatoren angelötet (soll wohl zur Entstörung dienen).Dieses kabel hab ich derweil nicht angelötet.Denke aber nicht dass das so viel ausmacht.
hier mal mein programm in c:
main.c
Code:
#include <avr/io.h>
#include "pwmlib.h"
int main(void)
{
PWMinit();
changespeed(256,256,FORWARD,FORWARD);
for(;;)
return 0;
}
pwmlib.h
Code:
#define LEFT_HIGH OCR1AH
#define LEFT_LOW OCR1AL
#define RIGHT_HIGH OCR1BH
#define RIGHT_LOW OCR1BL
#define FORWARD 1
#define BACKWARD 0
#define BRAKE 2
void PWMinit(void);
void changespeed(unsigned int,unsigned int,char,char);
void PWMinit ()
{
TCCR1A|=(1<<WGM11) | (1<<COM1A1) | (1<<COM1B1) ;
TCCR1B|=(1<<WGM12) | (1<<CS10 ) | (1<<CS11);
DDRD|=(1<<DDD4)|(1<<DDD5);
DDRB|=(1<<DDB0)|(1<<DDB1);
DDRC|=(1<<DDC6)|(1<<DDC7);
//DDRB = _BV(DDB0) | _BV(DDB1);
//DDRC = _BV(DDC6) | _BV(DDC7);
}
void changespeed(unsigned int speedleft,unsigned int speedright,char dir_right,char dir_left)
{
if(speedleft>511)speedleft=511; if(speedright>511)speedright=511;
if(speedleft<0 )speedleft=0 ; if(speedright<0 )speedright=0 ;
if(dir_right==0) {PORTB|=(0<<PB0)|(1<<PB1);} if(dir_right==1) {PORTB|=(1<<PB0)|(0<<PB1);} if(dir_right==2) {PORTB|=(0<<PB0)|(0<<PB1);} else {}
if(dir_left==0) {PORTC|=(0<<PC6)|(1<<PC7);} if(dir_left ==1) {PORTC|=(1<<PC6)|(0<<PC7);} if(dir_left ==2) {PORTC|=(0<<PC6)|(0<<PC7);} else {}
LEFT_HIGH = speedleft/256 ;
LEFT_LOW = speedleft%256 ;
RIGHT_HIGH = speedright/256 ;
RIGHT_LOW = speedright%256 ;
}
Liste der Anhänge anzeigen (Anzahl: 1)
könnte daran liegen, dass kondensatoren fehlen:
Liste der Anhänge anzeigen (Anzahl: 1)
heute ist mein oszi endlich geliefert worden. Hier mal ein bild des signals.
Es ist deutlich zu erkennen, dass die fallenden flanken nicht schnell genug sind (Schräge). Durch was entsteht sowas ? Durch zu langsame Dioden ? fehlende Kondensatoren ?
Jedenfalls ist deutlich zu erkennen das die Software keine Fehler hat, sowohl das tastverhältnis als auch die Frequenz stimmen.
edit: mein Netzgerät ist auf jedenfall stark genug da sind schon viel leistungshungrigere Schaltungen dran gelaufen.
Liste der Anhänge anzeigen (Anzahl: 1)
jo sry ich hätt wirklich ein paar genauere angaben machen können. Es ist das Signal das direkt an den motoren anliegt also an den ausgängen der motoransteuerung. f=4kHz Umax ist 9v. Die Messung ist aber ohne Motor dran da der leider nur piepst und sich fast gar ned bewegt.
Der Motor ist aus dem Kettenfahrzeug also der war schon dabei, es wurde nur mit einem 6v-akku versorgt also wird der motor auch nur für 6v ausgelegt sein. hat ca.3cm durchmesser.
Liste der Anhänge anzeigen (Anzahl: 1)
hier noch ein foto vielleicht kann ja der eine oder andere was drauf erkennen, für mich sieht es aus als wäre da irgendwo eine kapazität die die e-funktion rein bringt.Wüßte allerdings nicht wo diese "Störkapazität" herkommen sollte.
Wenn jemand eine idee hat, nur her damit ich bin für jeden Vorschlag dankbar!
übrigens: ich hab mir einen neuen l298n bestellt da ich irgendwie den verdacht hab das ich ihn irgendwann bei meinen versuchen abgefackelt hab, sonst fällt mir einfach nix mehr ein.
foto:
Liste der Anhänge anzeigen (Anzahl: 1)
hier das foto, vielleicht fällt ja jemanden was ein
edit: das war jetzt bei 250 Hz, beim obigen bild waren es 2 kHz