Show Posts
Pages: 1 2 [3] 4 5 ... 12
31  Using Arduino / General Electronics / Re: The right parts to make my project smaller.... on: August 22, 2014, 12:21:42 pm
I don't understand why I can't ask a simple, generic, general question about a part without giving up my entire project. the details I did get into in my original post were only given to be conversational but whatever. I figured it out.

Of course, to the person asking the question it always seems easy and obvious. "Just tell me the part number I need to use!".

If you were to read your post without the knowledge you have, you would see a specific question was asked, which is impossible to answer without more detail.

In general, these forums are some of the friendliest and most helpful I've seen. "Newbies" don't usually get ragged on for ego reasons, it is invariably because more detail is required to give a sensible answer to the question.

I hope your friend gave you good advice. But forums work best as a two way thing, help others and they will help you.
32  Products / Arduino Due / Re: Is the Due fast enough for BLDC commutation? on: August 22, 2014, 11:58:35 am
There is a sliding scale of difficulty here.

Quote
Is the Due fast enough for BLDC commutation?

In general, yes. If you can do 9000 RPM with an 8bit AVR, 10kRPM should be easily achievable, and you can probably afford to be a bit loose with your coding.
http://www.instructables.com/id/BLDC-Motor-Control-with-Arduino-salvaged-HD-motor/

Quote
My question is: Is the Arduino Due able to do the above process in 6.25 micro seconds?

This I think is starting to push the limits, depending on how much calculation is performed, you can quickly eat up 5us and have not much left over.

If motor control was the only function, then it should still be doable, but you may need to do some optimizations and use whatever hardware assist is available. Will need to be interrupt driven.

Quote
check for that flag in main loop before any other processor intensive tasks (like lcd display, PID calculations etc.)

This is where you will probably run into difficulties. if you have the CPU 80% dedicated to driving the motor, the rest of the tasks have to be low-priority background stuff. There is no low-overhead way to assign priority to real-time tasks other than with interrupts.

With the right architecture, and some careful coding, you might be able to squeeze everything in. I would consider having a chip dedicated to motor control, and another for UI type functions.

Even with a detailed spec, it's not possible to give a definitive answer. The only way to find out for sure is to prototype it. If you write some representative control code and measure how much CPU it takes, you can get an idea how much is spare.
33  Using Arduino / Microcontrollers / Re: Replacing Arduino Due Chip (ATSAM3X8E) on: August 21, 2014, 12:59:28 pm
Ah, well I would at least use a SMT hot air station with the right nozzle - http://www.pcb-soldering.co.uk/smd-rework-stations-1/aoyue-850a-smd-rework-station.html, http://www.pcb-soldering.co.uk/hot-air-gun-nozzles/aoyue-1126-air-nozzle-qfp-type-14-x-14mm.html.

For better results, a preheater and a stand are useful. It still takes some practice, and given the cost, you might consider it not worth it.

I have heard that people do rework with a cheap paint stripper hot air gun and a homemade nozzle from metal sheet, but I haven't tried it. 

I have discovered it is quite easy to set fire to a PCB though smiley-sad
34  Using Arduino / General Electronics / Re: The right parts to make my project smaller.... on: August 21, 2014, 12:42:59 pm
I reached out to an old high school buddy who I haven't talked to in years, gave him the same explanation I posted here and he rattled off half a dozen parts I could check out on mouser.com.

What parts did he recommend?

I have been using BSS84 as a general-purpose device for low power switching.
35  Development / Other Software Development / Re: Programming for newbies? on: August 20, 2014, 07:07:36 pm
It is difficult to recommend C(++) to someone who has newer really programmed and does not want to start now. But many people know about PLCs , relays and so on. They still hope to do some basic functions, like delays and comparisons. For those who need it using microprocessors should be as easy as it gets.

I've seen Labview systems in production sites and they are horrible. Expensive and unmaintainable.

To be honest, I think it is the worst way to teach programming. You would never be able to run anything like on that on an Arduino anyway.




36  Development / Other Hardware Development / Re: Trademark issues with using Arduino Leonardo bootloader on: August 20, 2014, 06:51:38 pm
A while back, I've obtained a block of Product IDs from FTDI at no charge. I think it would be very advantageous to both Arduino LLC and small makers/vendors/hobbyists to have a similar option available.
FTDI have some useful stuff! I've been wondering how they apparently flout the rules.

I think FTDI must have permission to do this from USB-IF, and I think that the reason is that the USB stack is a USB certified implementation fixed in the FTDI device. The user can alter some config info, but the functionality of the USB is fixed, so it will always be a CDC device for example.

In the case of software stacks used by microcontrollers, the developer can write their own stack, or alter stack provided by the manufacturer. So even if the manufacturer has done a USB qualification, it cannot be passed on to developers, because it is not guaranteed to be unaltered.

We tried to get a block of PIDs from Atmel to use with their VID, but they weren't interested. Some manufacturers allow use of their VID for development and test purposes, but not for product release.

Therefore I think no USB Vendor will officially be able to supply blocks of PIDs to their customers for use in real products, unless USB-IF change their policy.

I think the only way it will change is if some Open group takes an interest and lobbies USB-IF to make some sort of arrangement. The problem is that USB-IF get money from member fees - they've no incentive to let people sell USB products without paying fees. Of course, every company will try to get free PIDs and avoid the fees, then USB-IF have to do loads of vetting to see if the applicant is an accredited student, non-profit etc.

The OpenMoko project have decided to publish and be damned - they are allowing FOSS projects to register PIDs on the VID they acquired from OpenMoko. http://wiki.openmoko.org/wiki/USB_Product_IDs

Still not much help for small businesses trying to a commercial product though. I've seen people say you can get PIDs from vendors, FTDI is the only company actually doing it. All the others I've found are unapproved by USB-IF.
37  Development / Other Hardware Development / Re: Trademark issues with using Arduino Leonardo bootloader on: August 20, 2014, 01:11:00 pm
Good question, I'd like to know the answer too! The issue was discussed a lot but seems to have been left dangling.

The USB VID/PID situation is frankly a mess, but this is entirely the fault of the USB-IF, and nothing to do with Arduino.

Officially according to the USB-IF a VID owner must not sub-license PIDs. Some vendors turn a blind eye. FTDI allow users to reprogram the manufacturer name, but use the FTDI VID/PID. As long as it works like a compatible FTDI device, no one will complain.

It seems that the Microsoft driver certification process does not check the submitter has a right to the USB VID, there are several cases of ID collisions with Atmel products, where the vendor has used Atmel's VID and PID from demo code.

The USB-IF are pretty powerless when it comes to enforcement, you can't protect a number allocation. They can send nasty letters and strike you off the member's list, but if you release products using an illicit VID, they can't reallocate it to another member, so that VID effectively becomes an unofficial allocation.

However, you could get sued if you use the USB-IF trademarks on an unapproved product (although the trident logo does not seem to be trademarked).

Anyway, the options for small vendors/hobbyists are limited. If you use an unofficial VID/PID allocation, there is no guarantee it will be unique, but may work for most purposes, even getting a driver into the Windows driver database.

If you want to go the official route, there is no option other than to integrate an FTDI product, with the limitations that entails, or purchase a vendor ID.

38  Using Arduino / Microcontrollers / Re: existentialist question: why arduino leonardo Takes that name? on: August 20, 2014, 12:28:54 pm
According to Google Research, Leonardo is the 8th ranked boy's name in Italy, so there are probably nearly 1 million Italians called Leonardo. I am quite sure no disrespect was intended to Leonardo Da Vinci!

If it had been developed in the UK, it may well have been called the Arduino Steven.
39  Using Arduino / Microcontrollers / Re: Replacing Arduino Due Chip (ATSAM3X8E) on: August 20, 2014, 12:17:45 pm
The good news is that the SAM3X8E in the Due already has a factory bootloader in ROM, so you can just replace the chip for a brand new one.

Physically removing the chip is not so easy, but I guess if you are making boards you may also have a decent SMT rework station to remove the chip.
40  Using Arduino / Project Guidance / Re: which arduino to use ,suggestion for clock / calendar on: August 20, 2014, 12:05:12 pm
That display uses quite a few pins for the interface (~18), which would take up most of the pins on an Uno, and leave a few for a I2C connection to a real time clock chip.

If you added an external shift register, you could make the overall footprint smaller and use a Nano/Micro/Mini, but an Uno should be small enough even for a 3.5" bay, and would be simpler to build.

Handling an extra display should be quite easy, it just needs one more pin for chip select.
41  Products / Arduino Due / Re: Arduino DUE How to Direrct Port Access? on: August 20, 2014, 02:42:42 am
So I have a row of 4 pins that I want to send a WORD to, how would I go about setting the data for that to be sent to the 4 pins,

they would be PORT C  slot 2,3,4,5 so easy to send the word to but how would I set the data to send?

eg, b1001 to PORT C 2,3,4 and 5

Something like :
Code:
uint8t data;

data = 0b1001;

REG_PIOC_CODR = 0x0F << 2;
REG_PIOC_SODR = data << 2;
42  Using Arduino / Programming Questions / Re: How can I control Timing of Serial.write ?? on: August 19, 2014, 01:47:53 pm
Give us a break here ...

I didn't mean "similar" in such a literal way. I was just trying to show how the function works in the context of other functions.

I had assumed readers would look for the elements that are relevant, not the ones that are irrelevant.

Yeah, the thing is there are no relevant elements in the sample you referred to. Sending data is not a problem, the problem is knowing when the data has been transmitted in order to disable the 485 transceiver.
43  Development / Other Software Development / Re: Programming for newbies? on: August 19, 2014, 01:39:56 pm
Programming microcontrollers in LabView - now that would give me nightmares!

For a beginner who never wants a career in embedded programming, then a tool like LabView might be easy way to program. Not LabView itself obviously, because even the student edition is $100s.

For a beginner who does want a career in embedded software, the Arduino IDE is actually a good place to start, it is a lot like professional tools.
44  Development / Other Hardware Development / Re: IS ARDUINO IDE SUPPORT SPANSION FM4 ARM PROCESSOR on: August 19, 2014, 01:22:44 pm
Try the Keil or IAR IDEs. They often have free code-limited versions, not as easy to use as Arduino ecosystem of course.

The Teensy 3.1 is a Cortex M4 and supported in Arduino, that might be a better starting point. Freescale have a good range of ARM chips and reasonable support.

I would love to have a full size M4 board supported in Arduino!
45  Development / Other Hardware Development / Re: Shield for programming Uno over RS485 signal lines on: August 19, 2014, 01:13:14 pm
Ah, I thought it might be related to power saving. The CPU could drive the transmit enable so it is only enabled when transmitting, which perhaps is the "conventional" way to do it. So the real benefit is saving power and saving an IO pin on the controller.

Also it allows the standard serial driver to be used. As long as the rise times are ok, it's a useful trick. We use Modbus over half-duplex 485 at work, I might suggest it to the hardware guys smiley
Pages: 1 2 [3] 4 5 ... 12