FeatherHard

Heb je een goed idee of ben je net met bouwen gestart? Laat het ons zien!

Moderator: Moderators

stef
Berichten: 1058
Lid geworden op: zo dec 04, 2005 2:09 pm
Locatie: aalsmeer, nederland
Contacteer:

Bericht door stef »

A-men schreef:
En wat zou mijn publiek nu liefst hebben dat ik eerst doe :
A) De code uitleggen/documenteren
B) De hardware van de controller opbouwen/documenteren.

Jan
B
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

De bouw

Je neemt een gaatjesplaat met kopereilandjes, één eilandje per gaatje.
Daaruit zaag je een vierkant stuk van 18 X 18 gaatjes. Dat gaat het best door met een metaalzaag te zagen in een lijn gaatjes. Als je dat vierkant plaatje hebt uitgezaagd schuur je net zo lang de kanten glad (met schuurpapier op het houtblokje) tot de kuiltjes van de gaatjes waardoor je gezaagd hebt niet meer zichtbaar zijn.
Met een houtboor boor je in het tweede gaatje van elke rand in elke hoek een gaatje van 3 mm. Het resultaat is dat je dan een printplaatje hebt dat er langs onder als volgt uit ziet.

Afbeelding

Elk van die gaatjes gaan we gebruiken om een schroefverbinding voor een aansluitdraad te maken. Daarvoor gebruik ik 3 mm koperen schroefjes. Je schroeft een dergelijk schroefje in elk van de 3-mm gaten. Voor de esthetiek zorg je ervoor dat elke moer mooi gelijk staat. Soldeer de moer vast op de print. Gebruik daarvoor een stevige soldeerbout (40 tot 60 W). Zorg ervoor dat je alleen soldeertin langs de buitenkant van de moer aanbrengt en dat het soldeer goed vloeit. Je wil dat er veel eilandjes zijn die de moer vasthouden en dat de ganse oppervlakte van die eilandjes met soldeer bedekt zijn. Het resultaat ziet er dan zo uit.

Afbeelding

Langs de bovenkant heb je nu een schroefverbinding. Die ziet er dan zo uit.

Afbeelding

Het is gebruikelijk en aan te raden om op een printplaat eerst de laagste onderdelen te plaatsen (de onderdelen die het minste hoogte hebben) en de onderdelen die het best bestand zijn tegen de hitte van de soldeerbout. We starten daarom met het aanbrengen van de draadbruggen. Ideaal doe je dat met 1mm verzilverde koperdraad. Bij mij was die op vandaar dat er hier wat dunnere (0,5mm) draad is gebruikt. Met de stromen die wij gaan gebruiken is het zeker aan te raden om weldegelijk 1mm draad te gebruiken.
De draadbruggen komen hier te zitten :

Afbeelding

De volgende onderdelen zijn de weerstanden, de 0,1 µF condensatoren, de 0,3 µF condensator, de schakelaar, de RC aansluiting (een 3 pin header), de IC voetjes, de diodes, de spanningsregelaars en de 860 µF ELCO.
Dit is het schema voor de bovenkant met alle componenten erop.
Bij de 7809 staan de 3 pootjes op één rij (en dat is anders op de foto hieronder maar dat heb ik pas na de foto aangepast). Bij de 7805 staat het middelste pootje één gaatje naar boven.

Afbeelding

Hier een detail foto van de montage van de diodes en de condensator tussen de pootjes voor de HIP4082.

Afbeelding

Voor het overige denk ik dat de figuur en de foto’s duidelijk maken hoe het moet.
Als je dan nog de IC’s in hun voetjes duwt ziet het geheel er zo uit.

Afbeelding

Tot zover de beschrijving van de bovenkant.
Morgen de onderkant.

Groetjes
Jan
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

Bouw Deel II

Nu komt het echte soldeerambacht aan bod.
Soldeer aan de onderkant de FET’s.
Daarna leg je de ”printbanen” De figuur hieronder toont aan hoe de verbindingen aan de onderkant moeten gelegd worden. De rode lijnen zijn op de eilandjes gesoldeerd, de blauwe draden zijn extra draadjes.
Als laatste stap soldeer je de weerstanden en de condensator op zijn plaats.

Afbeelding

Als je dat allemaal gedaan hebt zou je controller er langs de onderdkant ongeveer als volgt moeten uitzien.

Afbeelding

Rest ons nog het aansluiten van de koelvin.
Ik heb hier wat overdreven en een blok gefreesd van 110 X 39 X 12 mm. Ideaal zou een aluminium lat zijn van 85 X 50 X 3 mm.
Je legt de controller op de koelvin en tekent de gaatjes af waar de vijsjes moeten komen.
Met een puntslag geef je precies aan waar de boor het gaatje boort.
Je boort het gaatje met een 2,5 mm boor als je schroefdraad in het gaatje gaat trekken, met een 3 mm boor als je het vijsje dwars door de koelvin zal plaatsen.
De FET’s moeten geïsoleerd geplaatst worden.
Dan ziet de controller er uiteindelijk zo uit.

Afbeelding

De aansluitingen bovenaan de print zijn de aansluitingen voor de motor.
Links onderaan is de massa (min-pool) rechts onderdaan de PLUS.
De RC aansluiting van links naar rechts : Massa, 5V, RC-signal.

De 5V op de RC is een uitgang ! sluit daar dus geen ontvanger op ana die al voeding heeft. Als je ontvanger voeding heeft haal dan de 5V aansluiting van de connector.

Voila,

Als je hier een geprogrammeerde ATtiny85 is steekt heb je een werkende controller.

Groetjes
Jan

Gewijzigd door Leo-rcc om de fotos goed te linken. De figuur bottom all lukte me ook niet.
Dank u Leo. Werkt nu de eerste figuur ook bij iedereen ?
Laatst gewijzigd door A-men op vr mar 21, 2008 3:49 pm, 1 keer totaal gewijzigd.
stef
Berichten: 1058
Lid geworden op: zo dec 04, 2005 2:09 pm
Locatie: aalsmeer, nederland
Contacteer:

Bericht door stef »

wat voor programmer gebruik jij voor het flashen van je avr's ?

of kan jij zo ook programeren en op sturen?

stef
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

Ik gebruik een AVR ISP mkII. Die werkt prima.
Heb wel eerst wat gesukkeld met de installatie. Je mag ZEKER NIET EERST AANSLUTEN... je MOET eerst speciale USB driver software laden.

Jan
Blade
Berichten: 222
Lid geworden op: ma nov 08, 2004 8:51 pm

Bericht door Blade »

Even voor de zekerheid,

Afbeelding

Dit plaatje is 1:1 ?

Want dan kan ik het gebruiken om er een CAD tekening van te maken, en kan ik het plaatje thuis CNC frezen :)
Building in progress 10%
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

De afmetingen van de printplaat zijn zoals hieronder opgegeven voor de kleine vierkante printplaatjes. (
Daar had je vanzelf op terecht gekomen als je vertrok van uit een gaatjesplaat. De aftand tussen de gaatjes is 0,1 inch.)

Afbeelding

Groetjes
Jan
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

Ik heb deze basis schakeling al gebruikt voor een controller waarin ik een ATtiny24 microcontroller gebruikte.
Vandaag hoop ik deze code om te zetten naar de hier gebruikte ATtiny85.

Bij het omzetten van de code van de ATtiny24 naar de ATtiny85 heb ik net vastgesteld dat we de weerstand bij S1 ook kunnen weglaten. Die kunnen we vervangen door de interne pull-up weerstanden in de AVR.

Ik gebruik deze weerstanden trouwens ook om de niet gebruikte pinnen van de AVR een mooi gedefinieerd niveau te geven.

Groetjes
Jan
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

Ik heb vandaag de laatse testen gedaan met de simple controller software.
Ik heb voor de testen gebruik gemaakt van een wat meer didactisch opgebouwde printplaat (maar het schema is identiek aan wat hierboven staat).
Het heeft dus duidelijk wat meer tijd gekost dan ik gehoopt had (het porten van de code voor ATtiny24 naar ATtiny85). Dat komt omdat de ATtiny 85 geen 16bit timer heeft en de registers dan ook anders noemen en anders werken. EN
Omdat er in de oorspronkelijke code ook wat inperfecties zaten die ik er nu ook maar ineens heb uitgehaald.

De code gaat in grote lijnen als volgt :

Code: Selecteer alles

Initialiseer alle IO poorten
Initialiseer de registers
Kijk of we in programming mode zitten (is de PRGM toets ingedrukt)
Als dat zo is
    meet een lange reeks RC pulsen
    maak het gemiddelde
    bewaar dat gemiddelde in de EEPROM als Neutrale stand
    biep de motor één keer
    wacht tot de PRGM-knop opniew wordt ingedrukt
    meet een lange reeks RC pulsen
    maak het gemiddelde
    bewaar dat gemiddelde in de EEPROM als Maximale stand
    biep de motor twee keer
    wacht tot de PRGM-knop opniew wordt ingedrukt
    meet een lange reeks RC pulsen
    maak het gemiddelde
    bewaar dat gemiddelde in de EEPROM als Minimale stand
    biep de motor drie keer
    Eindeloze loop (om te voorkomen dat de controller start met de zender op maximum achteruit)
Einde_als

Lees uit de EEPROM de waardes voor Neutraal, Maximum en Minimum.

Ga na of er een degelijk RC signaal binnen komt (minstens 10 goede pulsen op een rij)

Initialiseer de watchdog timer (dat is de Fail save)
Initialiseer de registers voor het meten van de RC puls op basis van pin change interrupt (de vorige metingen zijn wachtloop gebaseerd)
eindeloze loop (het eigenlijke hoofdprogramma doet niets)

De interrupt routine
Als het het begin van een RC puls is
     Start de timer
als het het einde van een RC puls is
     Stop de timer
     ga na of het een deglijke RC puls is (niet te groot niet te klein)
     als het een degelijke puls is
        bereken de variatie met de vorige puls
        als die varietie te groot is beperk de variatie
        als de richting omkeert stop de motor tot de volgende puls (=20ms)
        anders bereken de PWM signalen en zet ze op de juiste pinnen
einde interrupt routine
Is er eigenlijk wel iemand die in de werking van de code is geïnteresseerd en zo ja... wil die meer detail dan wat ik hierboven heb omschreven ?

Het zou niet veel moeite kosten om de ongebruikte IO-poort aan te sluiten op een NTC weerstand en zo de temperatuur van de koelvin te lezen. Dan zou je als je dat wil ook de controller kunnen stil leggen als dat koellichaam te warm wordt.
Voorlopig ga ik dat niet voorzien. Ik denk dat ik de controller in 5 minuten nooit zo heet krijg dat het een probleem wordt voor de FET's.

Groetjes
Jan
stef
Berichten: 1058
Lid geworden op: zo dec 04, 2005 2:09 pm
Locatie: aalsmeer, nederland
Contacteer:

Bericht door stef »

ik heb gisteren ook de draad weer op gepakt met me avr programmer. maar met welk programma flash jij je avrs?
en welk programma schrijf je je programma's ? avrstudio?

stef
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

Ik schrijf mijn programmas vandaag in C in Studio 4.
Ik flash het programma vanuit studio 4 naar de controller.
Ik heb ook wel aardig wat in assebler gedaan ook in studio 4.
Om in C te kunnen werken in studio 4 gebruik in WINAVR.

Om dat alles te kunnen is de volgorde van installatie belangrijk.
Eerst WINAVR
Dan Studio 4
Dan de USB driver voor de programmer
Dan de rest van de software die meegeleverd is met de programmer
Dan de programmer en de C configureren in Studio 4

Het kost wat moeite... maar het eindresultaat is een heel aangename werkomgeving... schrijven in C, compileren met een druk op één knop, simmuleren in de emulator met één druk op de knop, laden in de microcontroler met één druk op de knop.
En zo een compile flash -cycle is 10 seconden hooguit.

Groetjes,
Jan
Gebruikersavatar
iiyama87
Berichten: 649
Lid geworden op: wo sep 15, 2004 2:40 pm
Locatie: Bij bergen op zoom
Contacteer:

Bericht door iiyama87 »

Graag wil ik dat keer maken in MPLAB maar heb daar nu helaas geen tijd voor om daaraan te werken. Maar als je met de tijd me keer ermee kunt helpen zou fijn zijn.
Gebruikersavatar
A-men
Berichten: 195
Lid geworden op: di sep 30, 2003 10:35 pm
Locatie: Vilvoorde België

Bericht door A-men »

MPLAB heb ik uitsluitend met assembler gebruikt.
Maar MPLAB gebruiken om een controller te programmeren daar is echt geen hulp bij nodig (denk ik)... SW installeren, serial cable aansluiten voeding insteken, een controller in de ZIP socket steken, de juiste controller aangeven in MPLAB...en flashen maar...

Als je de MPLAB en een portable mee brengt op één of ander event dan wil ik het graag nog eens kijken of we hem samen aan het flahsen krijgen.

Groetjes
Jan
Gebruikersavatar
iiyama87
Berichten: 649
Lid geworden op: wo sep 15, 2004 2:40 pm
Locatie: Bij bergen op zoom
Contacteer:

Bericht door iiyama87 »

Het flashen gaat goed, alleen de code in asm maken is het probleem.
Althans probleem, ik weet dat er in de pic16f818 opties zitten die ik kan gebruiken om r/c uit te lezen alleen heb daar nog niet uitgebreid naar gekeken.
Gebruikersavatar
Henning
Berichten: 618
Lid geworden op: do aug 07, 2003 12:03 am

Bericht door Henning »

Leuk ding Amen!

Zie veel dingen terug komen :D Ben tegenwoordig ook een stuk wijzer geworden met pic proggen etc etc (ik kan het nu wel wat meer zelf ;)) en zal vast ook nog wel weer een veel te dikke controller willen bouwen.

Maar heb de stroommeet-shunt nooit binnengekregen :(

Leuk project om dit allemaal uit te leggen! Succes!

tr. www.makepcb.com kun je heel cheap prints bestellen...